summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-14 23:53:47 +0000
committerDavid Robillard <d@drobilla.net>2012-03-14 23:53:47 +0000
commit8fc92b0e098133cd8b09acbae99c52b458a2868e (patch)
treeacf49f7334824a8fc2733a9ca8be2ef7a6100a58
parent618fbe7ad843aed738942b6e5bd87000bb11b53c (diff)
downloadingen-8fc92b0e098133cd8b09acbae99c52b458a2868e.tar.gz
ingen-8fc92b0e098133cd8b09acbae99c52b458a2868e.tar.bz2
ingen-8fc92b0e098133cd8b09acbae99c52b458a2868e.zip
Consistently map all URIs with the URI map.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4060 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--include/ingen/shared/URIs.hpp5
-rw-r--r--src/shared/URIs.cpp128
-rw-r--r--src/shared/World.cpp2
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();