diff options
author | David Robillard <d@drobilla.net> | 2008-05-19 23:52:44 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-05-19 23:52:44 +0000 |
commit | 239825b92b1d4c79ebd67cb3766355bf8e699bc7 (patch) | |
tree | 1f18e56760afcd0fbe201161ca0e7262d6c54124 /src/libs/engine/LV2Info.hpp | |
parent | f9eba59332ee7e45ffbfebcd0ce79e8e0cfd9ec4 (diff) | |
download | ingen-239825b92b1d4c79ebd67cb3766355bf8e699bc7.tar.gz ingen-239825b92b1d4c79ebd67cb3766355bf8e699bc7.tar.bz2 ingen-239825b92b1d4c79ebd67cb3766355bf8e699bc7.zip |
Better global (engine/client) LV2 feature sharing.
Provide URI map extension to plugin UIs.
git-svn-id: http://svn.drobilla.net/lad/ingen@1217 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/LV2Info.hpp')
-rw-r--r-- | src/libs/engine/LV2Info.hpp | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/src/libs/engine/LV2Info.hpp b/src/libs/engine/LV2Info.hpp index 09865784..1fff0b92 100644 --- a/src/libs/engine/LV2Info.hpp +++ b/src/libs/engine/LV2Info.hpp @@ -27,18 +27,19 @@ #include <string> #include <slv2/slv2.h> #include "module/global.hpp" +#include "module/World.hpp" +#include "shared/LV2URIMap.hpp" #include "lv2/uri_map/lv2_uri_map.h" #include "lv2/event/lv2_event.h" - namespace Ingen { /** Stuff that may need to be passed to an LV2 plugin (i.e. LV2 features). */ -class LV2Info { +class LV2Info : public Shared::LV2URIMap { public: - LV2Info(SLV2World world); + LV2Info(Ingen::Shared::World* world); ~LV2Info(); SLV2Value input_class; @@ -47,23 +48,13 @@ public: SLV2Value audio_class; SLV2Value event_class; - LV2_Feature uri_map_feature; - LV2_URI_Map_Feature uri_map_feature_data; - LV2_Feature event_feature; - LV2_Event_Feature event_feature_data; - - typedef std::map<std::string, uint32_t> URIMap; - URIMap uri_map; - uint32_t next_uri_id; - - static uint32_t uri_map_uri_to_id(LV2_URI_Map_Callback_Data callback_data, - const char* map, - const char* uri); - static uint32_t event_ref(LV2_Event_Callback_Data callback_data, LV2_Event* event); - LV2_Feature** lv2_features; + LV2_Feature** lv2_features() const { return _world->lv2_features->lv2_features(); } + +private: + Ingen::Shared::World* _world; }; |