summaryrefslogtreecommitdiffstats
path: root/src/shared
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/LV2URIMap.cpp22
-rw-r--r--src/shared/LV2URIMap.hpp4
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,