diff options
-rw-r--r-- | bundles/ingen.lv2/manifest.ttl | 21 | ||||
-rw-r--r-- | ingen/URIs.hpp | 2 | ||||
-rw-r--r-- | src/URIs.cpp | 2 | ||||
-rw-r--r-- | src/serialisation/Serialiser.cpp | 11 | ||||
-rw-r--r-- | wscript | 2 |
5 files changed, 24 insertions, 14 deletions
diff --git a/bundles/ingen.lv2/manifest.ttl b/bundles/ingen.lv2/manifest.ttl index b7f6163c..12d3621a 100644 --- a/bundles/ingen.lv2/manifest.ttl +++ b/bundles/ingen.lv2/manifest.ttl @@ -1,5 +1,6 @@ @prefix ingen: <http://drobilla.net/ns/ingen#> . @prefix internals: <http://drobilla.net/ns/ingen-internals#> . +@prefix lv2: <http://lv2plug.in/ns/lv2core#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix ui: <http://lv2plug.in/ns/extensions/ui#> . @@ -8,6 +9,18 @@ ingen: a owl:Ontology ; rdfs:seeAlso <ingen.ttl> . +ingen:GraphPrototype + a lv2:PluginBase ; + lv2:binary <libingen_lv2.so> ; + rdfs:comment """Template for all Ingen graphs. + +Saved Ingen graphs always set this as their lv2:prototype. When Ingen is +installed, a bundle is installed which included the Ingen LV2 binary and a +description of ingen:GraphPrototype which links to it. This way, Ingen graphs +can be loaded by LV2 hosts without including binaries or symbolic links in +saved Ingen bundles. +""" . + ingen:GraphUIGtk2 a ui:GtkUI ; ui:binary <libingen_gui_lv2.so> ; @@ -15,16 +28,16 @@ ingen:GraphUIGtk2 internals:Controller a ingen:Plugin ; - rdfs:seeAlso <internals.ttl> . + rdfs:seeAlso <internals.ttl> . internals:Trigger a ingen:Plugin ; - rdfs:seeAlso <internals.ttl> . + rdfs:seeAlso <internals.ttl> . internals:Note a ingen:Plugin ; - rdfs:seeAlso <internals.ttl> . + rdfs:seeAlso <internals.ttl> . internals:Transport a ingen:Plugin ; - rdfs:seeAlso <internals.ttl> . + rdfs:seeAlso <internals.ttl> . diff --git a/ingen/URIs.hpp b/ingen/URIs.hpp index ca41bafe..05bfc3e1 100644 --- a/ingen/URIs.hpp +++ b/ingen/URIs.hpp @@ -76,6 +76,7 @@ public: const Quark ingen_Arc; const Quark ingen_Block; const Quark ingen_Graph; + const Quark ingen_GraphPrototype; const Quark ingen_Internal; const Quark ingen_activity; const Quark ingen_arc; @@ -119,6 +120,7 @@ public: const Quark lv2_name; const Quark lv2_port; const Quark lv2_portProperty; + const Quark lv2_prototype; const Quark lv2_sampleRate; const Quark lv2_scalePoint; const Quark lv2_symbol; diff --git a/src/URIs.cpp b/src/URIs.cpp index fcb3f8d4..02e03a70 100644 --- a/src/URIs.cpp +++ b/src/URIs.cpp @@ -65,6 +65,7 @@ URIs::URIs(Forge& f, URIMap* map) , ingen_Arc (forge, map, NS_INGEN "Arc") , ingen_Block (forge, map, NS_INGEN "Block") , ingen_Graph (forge, map, NS_INGEN "Graph") + , ingen_GraphPrototype (forge, map, NS_INGEN "GraphPrototype") , ingen_Internal (forge, map, NS_INGEN "Internal") , ingen_activity (forge, map, NS_INGEN "activity") , ingen_arc (forge, map, NS_INGEN "arc") @@ -108,6 +109,7 @@ URIs::URIs(Forge& f, URIMap* map) , lv2_name (forge, map, LV2_CORE__name) , lv2_port (forge, map, LV2_CORE__port) , lv2_portProperty (forge, map, LV2_CORE__portProperty) + , lv2_prototype (forge, map, LV2_CORE__prototype) , lv2_sampleRate (forge, map, LV2_CORE__sampleRate) , lv2_scalePoint (forge, map, LV2_CORE__scalePoint) , lv2_symbol (forge, map, LV2_CORE__symbol) diff --git a/src/serialisation/Serialiser.cpp b/src/serialisation/Serialiser.cpp index 18e02df7..bbc23081 100644 --- a/src/serialisation/Serialiser.cpp +++ b/src/serialisation/Serialiser.cpp @@ -151,15 +151,8 @@ Serialiser::Impl::write_manifest(const std::string& bundle_path, Sord::URI(world, uris.rdfs_seeAlso), Sord::URI(world, filename, _base_uri)); _model->add_statement(subject, - Sord::URI(world, uris.lv2_binary), - Sord::URI(world, binary_path, _base_uri)); - - std::string lib(Glib::Module::build_path(INGEN_BUNDLE_DIR, "ingen_lv2")); - std::string link(Glib::Module::build_path(bundle_path, "ingen_lv2")); - if (symlink(lib.c_str(), link.c_str())) { - _world.log().error(fmt("Error creating link %1% => %2% (%3%\n") - % lib % link % strerror(errno)); - } + Sord::URI(world, uris.lv2_prototype), + Sord::URI(world, uris.ingen_GraphPrototype)); finish(); } @@ -48,7 +48,7 @@ def configure(conf): conf.check_python_version((2,4,0), mandatory=False) autowaf.check_pkg(conf, 'lv2', uselib_store='LV2', - atleast_version='1.6.1', mandatory=True) + atleast_version='1.6.2', mandatory=True) autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0', mandatory=True) autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', |