diff options
-rw-r--r-- | include/ingen/shared/URIs.hpp | 5 | ||||
-rw-r--r-- | src/shared/URIs.cpp | 128 | ||||
-rw-r--r-- | src/shared/World.cpp | 2 |
3 files changed, 68 insertions, 67 deletions
diff --git a/include/ingen/shared/URIs.hpp b/include/ingen/shared/URIs.hpp index 27f875fc..b3d8d301 100644 --- a/include/ingen/shared/URIs.hpp +++ b/include/ingen/shared/URIs.hpp @@ -20,6 +20,7 @@ #include <boost/utility.hpp> +#include "ingen/shared/LV2URIMap.hpp" #include "raul/URI.hpp" namespace Raul { @@ -31,10 +32,10 @@ namespace Shared { class URIs : public boost::noncopyable { public: - URIs(Raul::Forge& forge); + URIs(Raul::Forge& forge, LV2URIMap* map); struct Quark : public Raul::URI { - Quark(const char* str); + Quark(LV2URIMap* map, const char* str); uint32_t id; }; diff --git a/src/shared/URIs.cpp b/src/shared/URIs.cpp index 1b65f698..3e9c0637 100644 --- a/src/shared/URIs.cpp +++ b/src/shared/URIs.cpp @@ -36,9 +36,9 @@ using namespace Raul; namespace Ingen { namespace Shared { -URIs::Quark::Quark(const char* c_str) +URIs::Quark::Quark(LV2URIMap* map, const char* c_str) : Raul::URI(c_str) - , id(g_quark_from_string(c_str)) + , id(map->map_uri(c_str)) { } @@ -47,69 +47,69 @@ URIs::Quark::Quark(const char* c_str) #define NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#" #define NS_RDFS "http://www.w3.org/2000/01/rdf-schema#" -URIs::URIs(Raul::Forge& f) +URIs::URIs(Raul::Forge& f, LV2URIMap* map) : forge(f) - , atom_Bool (LV2_ATOM__Bool) - , atom_Float (LV2_ATOM__Float) - , atom_Int32 (LV2_ATOM__Int32) - , atom_MessagePort (LV2_ATOM__MessagePort) - , atom_String (LV2_ATOM__String) - , atom_ValuePort (LV2_ATOM__ValuePort) - , atom_Vector (LV2_ATOM__Vector) - , atom_eventTransfer (LV2_ATOM__eventTransfer) - , atom_supports (LV2_ATOM__supports) - , ctx_audioContext (NS_CTX "audioContext") - , ctx_context (NS_CTX "context") - , ctx_messageContext (NS_CTX "messageContext") - , cv_CVPort ("http://lv2plug.in/ns/ext/cv-port#CVPort") - , doap_name ("http://usefulinc.com/ns/doap#name") - , ev_EventPort ("http://lv2plug.in/ns/ext/event#EventPort") - , ingen_Internal (NS_INGEN "Internal") - , ingen_Node (NS_INGEN "Node") - , ingen_Patch (NS_INGEN "Patch") - , ingen_Port (NS_INGEN "Port") - , ingen_broadcast (NS_INGEN "broadcast") - , ingen_controlBinding (NS_INGEN "controlBinding") - , ingen_document (NS_INGEN "document") - , ingen_enabled (NS_INGEN "enabled") - , ingen_engine (NS_INGEN "engine") - , ingen_nil (NS_INGEN "nil") - , ingen_node (NS_INGEN "node") - , ingen_polyphonic (NS_INGEN "polyphonic") - , ingen_polyphony (NS_INGEN "polyphony") - , ingen_sampleRate (NS_INGEN "sampleRate") - , ingen_selected (NS_INGEN "selected") - , ingen_value (NS_INGEN "value") - , ingen_canvasX (NS_INGEN "canvasX") - , ingen_canvasY (NS_INGEN "canvasY") - , lv2_AudioPort (LV2_CORE__AudioPort) - , lv2_ControlPort (LV2_CORE__ControlPort) - , lv2_InputPort (LV2_CORE__InputPort) - , lv2_OutputPort (LV2_CORE__OutputPort) - , lv2_Plugin (LV2_CORE__Plugin) - , lv2_connectionOptional(LV2_CORE__connectionOptional) - , lv2_default (LV2_CORE__default) - , lv2_index (LV2_CORE__index) - , lv2_integer (LV2_CORE__integer) - , lv2_maximum (LV2_CORE__maximum) - , lv2_minimum (LV2_CORE__minimum) - , lv2_name (LV2_CORE__name) - , lv2_portProperty (LV2_CORE__portProperty) - , lv2_sampleRate (LV2_CORE__sampleRate) - , lv2_symbol (LV2_CORE__symbol) - , lv2_toggled (LV2_CORE__toggled) - , midi_Bender (LV2_MIDI__Bender) - , midi_ChannelPressure (LV2_MIDI__ChannelPressure) - , midi_Controller (LV2_MIDI__Controller) - , midi_MidiEvent (LV2_MIDI__MidiEvent) - , midi_NoteOn (LV2_MIDI__NoteOn) - , midi_controllerNumber (LV2_MIDI__controllerNumber) - , midi_noteNumber (LV2_MIDI__noteNumber) - , rdf_instanceOf (NS_RDF "instanceOf") - , rdf_type (NS_RDF "type") - , rdfs_seeAlso (NS_RDFS "seeAlso") - , ui_Events ("http://lv2plug.in/ns/extensions/ui#Events") - , wildcard (NS_INGEN "wildcard") + , atom_Bool (map, LV2_ATOM__Bool) + , atom_Float (map, LV2_ATOM__Float) + , atom_Int32 (map, LV2_ATOM__Int32) + , atom_MessagePort (map, LV2_ATOM__MessagePort) + , atom_String (map, LV2_ATOM__String) + , atom_ValuePort (map, LV2_ATOM__ValuePort) + , atom_Vector (map, LV2_ATOM__Vector) + , atom_eventTransfer (map, LV2_ATOM__eventTransfer) + , atom_supports (map, LV2_ATOM__supports) + , ctx_audioContext (map, NS_CTX "audioContext") + , ctx_context (map, NS_CTX "context") + , ctx_messageContext (map, NS_CTX "messageContext") + , cv_CVPort (map, "http://lv2plug.in/ns/ext/cv-port#CVPort") + , doap_name (map, "http://usefulinc.com/ns/doap#name") + , ev_EventPort (map, "http://lv2plug.in/ns/ext/event#EventPort") + , ingen_Internal (map, NS_INGEN "Internal") + , ingen_Node (map, NS_INGEN "Node") + , ingen_Patch (map, NS_INGEN "Patch") + , ingen_Port (map, NS_INGEN "Port") + , ingen_broadcast (map, NS_INGEN "broadcast") + , ingen_controlBinding (map, NS_INGEN "controlBinding") + , ingen_document (map, NS_INGEN "document") + , ingen_enabled (map, NS_INGEN "enabled") + , ingen_engine (map, NS_INGEN "engine") + , ingen_nil (map, NS_INGEN "nil") + , ingen_node (map, NS_INGEN "node") + , ingen_polyphonic (map, NS_INGEN "polyphonic") + , ingen_polyphony (map, NS_INGEN "polyphony") + , ingen_sampleRate (map, NS_INGEN "sampleRate") + , ingen_selected (map, NS_INGEN "selected") + , ingen_value (map, NS_INGEN "value") + , ingen_canvasX (map, NS_INGEN "canvasX") + , ingen_canvasY (map, NS_INGEN "canvasY") + , lv2_AudioPort (map, LV2_CORE__AudioPort) + , lv2_ControlPort (map, LV2_CORE__ControlPort) + , lv2_InputPort (map, LV2_CORE__InputPort) + , lv2_OutputPort (map, LV2_CORE__OutputPort) + , lv2_Plugin (map, LV2_CORE__Plugin) + , lv2_connectionOptional(map, LV2_CORE__connectionOptional) + , lv2_default (map, LV2_CORE__default) + , lv2_index (map, LV2_CORE__index) + , lv2_integer (map, LV2_CORE__integer) + , lv2_maximum (map, LV2_CORE__maximum) + , lv2_minimum (map, LV2_CORE__minimum) + , lv2_name (map, LV2_CORE__name) + , lv2_portProperty (map, LV2_CORE__portProperty) + , lv2_sampleRate (map, LV2_CORE__sampleRate) + , lv2_symbol (map, LV2_CORE__symbol) + , lv2_toggled (map, LV2_CORE__toggled) + , midi_Bender (map, LV2_MIDI__Bender) + , midi_ChannelPressure (map, LV2_MIDI__ChannelPressure) + , midi_Controller (map, LV2_MIDI__Controller) + , midi_MidiEvent (map, LV2_MIDI__MidiEvent) + , midi_NoteOn (map, LV2_MIDI__NoteOn) + , midi_controllerNumber (map, LV2_MIDI__controllerNumber) + , midi_noteNumber (map, LV2_MIDI__noteNumber) + , rdf_instanceOf (map, NS_RDF "instanceOf") + , rdf_type (map, NS_RDF "type") + , rdfs_seeAlso (map, NS_RDFS "seeAlso") + , ui_Events (map, "http://lv2plug.in/ns/extensions/ui#Events") + , wildcard (map, NS_INGEN "wildcard") { } diff --git a/src/shared/World.cpp b/src/shared/World.cpp index 140dd688..fe5e025c 100644 --- a/src/shared/World.cpp +++ b/src/shared/World.cpp @@ -111,7 +111,7 @@ public: , forge(new Raul::Forge()) , rdf_world(new Sord::World()) , lv2_uri_map(new Ingen::Shared::LV2URIMap(map, unmap)) - , uris(new Shared::URIs(*forge)) + , uris(new Shared::URIs(*forge, lv2_uri_map.get())) , lilv_world(lilv_world_new()) { lv2_features = new Ingen::Shared::LV2Features(); |