From f8ca7f3cf6f4a0e967eacfd2e1f9a8ae9625c015 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 14 Mar 2012 23:38:53 +0000 Subject: Use the host URI map/unmap when running as a plugin. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4058 a436a847-0d15-0410-975c-d299462d15a1 --- src/shared/World.cpp | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/shared/World.cpp') diff --git a/src/shared/World.cpp b/src/shared/World.cpp index cf21cd44..140dd688 100644 --- a/src/shared/World.cpp +++ b/src/shared/World.cpp @@ -32,6 +32,7 @@ #include "ingen/shared/runtime_paths.hpp" #include "ingen/shared/LV2Features.hpp" #include "ingen/shared/LV2URIMap.hpp" +#include "ingen/shared/URIs.hpp" #define LOG(s) s << "[Module] " @@ -98,19 +99,25 @@ ingen_load_module(const string& name) class World::Pimpl { public: - Pimpl(Raul::Configuration* conf, int& a_argc, char**& a_argv) + Pimpl(Raul::Configuration* conf, + int& a_argc, + char**& a_argv, + LV2_URID_Map* map, + LV2_URID_Unmap* unmap) : argc(a_argc) , argv(a_argv) , conf(conf) , lv2_features(NULL) , forge(new Raul::Forge()) , rdf_world(new Sord::World()) + , lv2_uri_map(new Ingen::Shared::LV2URIMap(map, unmap)) , uris(new Shared::URIs(*forge)) - , lv2_uri_map(new Ingen::Shared::LV2URIMap(*uris.get())) , lilv_world(lilv_world_new()) { lv2_features = new Ingen::Shared::LV2Features(); - lv2_features->add_feature(lv2_uri_map); + lv2_features->add_feature(lv2_uri_map->uri_map_feature()); + lv2_features->add_feature(lv2_uri_map->urid_map_feature()); + lv2_features->add_feature(lv2_uri_map->urid_unmap_feature()); lilv_world_load_all(lilv_world); // Set up RDF namespaces @@ -167,8 +174,8 @@ public: LV2Features* lv2_features; Raul::Forge* forge; Sord::World* rdf_world; - SharedPtr uris; SharedPtr lv2_uri_map; + SharedPtr uris; SharedPtr engine; SharedPtr local_engine; SharedPtr serialiser; @@ -178,8 +185,12 @@ public: std::string jack_uuid; }; -World::World(Raul::Configuration* conf, int& argc, char**& argv) - : _impl(new Pimpl(conf, argc, argv)) +World::World(Raul::Configuration* conf, + int& argc, + char**& argv, + LV2_URID_Map* map, + LV2_URID_Unmap* unmap) + : _impl(new Pimpl(conf, argc, argv, map, unmap)) { } -- cgit v1.2.1