X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fevent_type_map.h;h=feddc4596849b729b4727809a1d9e98d47add7f0;hb=022818b4a796f52c0a91eea42e65aec0bc7bed43;hp=4d7180c028b73f242d304e6931990e77064e0d05;hpb=03f188cc8b17edc7c727f62b22b4577a2fdbfbe8;p=ardour.git diff --git a/libs/ardour/ardour/event_type_map.h b/libs/ardour/ardour/event_type_map.h index 4d7180c028..feddc45968 100644 --- a/libs/ardour/ardour/event_type_map.h +++ b/libs/ardour/ardour/event_type_map.h @@ -21,17 +21,28 @@ #ifndef __ardour_event_type_map_h__ #define __ardour_event_type_map_h__ +#include #include +#include namespace ARDOUR { +/** This is the interface Ardour provides to Evoral about what + * parameter and event types/ranges/names etc. to use. + */ class EventTypeMap : public Evoral::TypeMap { public: bool type_is_midi(uint32_t type) const; uint8_t parameter_midi_type(const Evoral::Parameter& param) const; uint32_t midi_event_type(uint8_t status) const; + Evoral::ControlList::InterpolationStyle interpolation_of(const Evoral::Parameter& param); - bool is_integer(const Evoral::Parameter& param) const; + bool is_integer(const Evoral::Parameter& param) const; + Evoral::Parameter new_parameter(uint32_t type, uint8_t channel=0, uint32_t id=0) const; + Evoral::Parameter new_parameter(const std::string& str) const; + std::string to_symbol(const Evoral::Parameter& param) const; + + bool is_midi_parameter(const Evoral::Parameter& param); static EventTypeMap& instance() { return event_type_map; } @@ -39,6 +50,10 @@ private: static EventTypeMap event_type_map; }; +enum InternalEventType { + LoopEventType = 1000 +}; + } // namespace ARDOUR #endif /* __ardour_event_type_map_h__ */