diff options
author | David Robillard <d@drobilla.net> | 2011-03-07 05:34:19 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-03-07 05:34:19 +0000 |
commit | a7d7fae434dc32e6787dfe54d1c30e0bccc660bd (patch) | |
tree | 74c46b462b3541e05d58b0219531a6aef1bd946a /src/shared | |
parent | 3dddff18969b94438bc44b8d3d3c769b9ffc0a1b (diff) | |
download | ingen-a7d7fae434dc32e6787dfe54d1c30e0bccc660bd.tar.gz ingen-a7d7fae434dc32e6787dfe54d1c30e0bccc660bd.tar.bz2 ingen-a7d7fae434dc32e6787dfe54d1c30e0bccc660bd.zip |
Apply LV2 UI MIDI event fix from Lars Luthman (ticket #651) with minor changes.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3048 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/LV2URIMap.cpp | 22 | ||||
-rw-r--r-- | src/shared/LV2URIMap.hpp | 4 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/shared/LV2URIMap.cpp b/src/shared/LV2URIMap.cpp index 768982d0..d72739df 100644 --- a/src/shared/LV2URIMap.cpp +++ b/src/shared/LV2URIMap.cpp @@ -170,6 +170,28 @@ LV2URIMap::id_to_uri(const char* map, } +std::pair<bool, uint32_t> +LV2URIMap::event_to_global(uint16_t event_id) const +{ + EventToGlobal::const_iterator i = _event_to_global.find(event_id); + if (i == _event_to_global.end()) { + return std::make_pair(false, uint32_t(0)); + } + return std::make_pair(true, i->second); +} + + +std::pair<bool, uint16_t> +LV2URIMap::global_to_event(uint32_t global_id) const +{ + GlobalToEvent::const_iterator i = _global_to_event.find(global_id); + if (i == _global_to_event.end()) { + return std::make_pair(false, uint16_t(0)); + } + return std::make_pair(true, i->second); +} + + uint32_t LV2URIMap::uri_map_uri_to_id(LV2_URI_Map_Callback_Data callback_data, const char* map, diff --git a/src/shared/LV2URIMap.hpp b/src/shared/LV2URIMap.hpp index fe98bbc3..20957a6a 100644 --- a/src/shared/LV2URIMap.hpp +++ b/src/shared/LV2URIMap.hpp @@ -19,6 +19,7 @@ #define INGEN_SHARED_LV2URIMAP_HPP #include <map> +#include <utility> #include <boost/utility.hpp> @@ -59,6 +60,9 @@ public: virtual uint32_t uri_to_id(const char* map, const char* uri); virtual const char* id_to_uri(const char* map, uint32_t id); + std::pair<bool, uint32_t> event_to_global(uint16_t event_id) const; + std::pair<bool, uint16_t> global_to_event(uint32_t global_id) const; + private: static uint32_t uri_map_uri_to_id(LV2_URI_Map_Callback_Data callback_data, const char* map, |