diff options
author | David Robillard <d@drobilla.net> | 2012-04-26 23:43:59 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-04-26 23:43:59 +0000 |
commit | 4e3a82b0de3646e74e40695d2537bb5071682318 (patch) | |
tree | a7d5acca4a40870620413ee96ecade115ac07604 | |
parent | b9de87b822a4fd61ffd4f0c899f7b8f81955c3f1 (diff) | |
download | ingen-4e3a82b0de3646e74e40695d2537bb5071682318.tar.gz ingen-4e3a82b0de3646e74e40695d2537bb5071682318.tar.bz2 ingen-4e3a82b0de3646e74e40695d2537bb5071682318.zip |
Save properties with pretty numbers so normal LV2 tools can read patches.
Fix running as a plugin.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4279 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r-- | bundles/StereoInOut.ingen/StereoInOut.ttl | 102 | ||||
-rw-r--r-- | bundles/StereoInOut.ingen/manifest.ttl | 16 | ||||
-rw-r--r-- | bundles/ingen.lv2/ingen.ttl | 5 | ||||
-rw-r--r-- | bundles/ingen.lv2/manifest.ttl | 13 | ||||
-rw-r--r-- | src/gui/ingen_gui_lv2.cpp | 2 | ||||
-rw-r--r-- | src/serialisation/Serialiser.cpp | 4 | ||||
-rw-r--r-- | wscript | 9 |
7 files changed, 145 insertions, 6 deletions
diff --git a/bundles/StereoInOut.ingen/StereoInOut.ttl b/bundles/StereoInOut.ingen/StereoInOut.ttl new file mode 100644 index 00000000..f250e7c1 --- /dev/null +++ b/bundles/StereoInOut.ingen/StereoInOut.ttl @@ -0,0 +1,102 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix atom: <http://lv2plug.in/ns/ext/atom#> . +@prefix doap: <http://usefulinc.com/ns/doap#> . +@prefix ingen: <http://drobilla.net/ns/ingen#> . +@prefix lv2: <http://lv2plug.in/ns/lv2core#> . +@prefix lv2ev: <http://lv2plug.in/ns/ext/event#> . +@prefix midi: <http://lv2plug.in/ns/ext/midi#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +<> + ingen:edge [ + ingen:head <control_out> ; + ingen:tail <control_in> + ] , [ + ingen:head <audio_out_1> ; + ingen:tail <audio_in_1> + ] , [ + ingen:head <audio_out_2> ; + ingen:tail <audio_in_2> + ] ; + ingen:polyphony 1 ; + <http://lv2plug.in/ns/extensions/ui#ui> ingen:ui ; + lv2:extensionData <http://lv2plug.in/ns/ext/state#interface> ; + lv2:port <audio_in_1> , + <audio_in_2> , + <audio_out_1> , + <audio_out_2> , + <control_in> , + <control_out> ; + lv2:symbol "StereoInOut" ; + doap:name "StereoInOut" ; + a ingen:Patch , + lv2:Plugin . + +<audio_in_1> + ingen:activity 0.0 ; + ingen:canvasX 12.0 ; + ingen:canvasY 96.69999695 ; + ingen:polyphonic false ; + lv2:index 2 ; + lv2:name "Audio In 1" ; + lv2:symbol "audio_in_1" ; + a lv2:AudioPort , + lv2:InputPort . + +<audio_in_2> + ingen:activity 0.0 ; + ingen:canvasX 12.0 ; + ingen:canvasY 12.0 ; + ingen:polyphonic false ; + lv2:index 3 ; + lv2:name "Audio In 2" ; + lv2:symbol "audio_in_2" ; + a lv2:AudioPort , + lv2:InputPort . + +<audio_out_1> + ingen:activity 0.0 ; + ingen:canvasX 12.0 ; + ingen:canvasY 96.69999695 ; + ingen:polyphonic false ; + lv2:index 4 ; + lv2:name "Audio Out 1" ; + lv2:symbol "audio_out_1" ; + a lv2:AudioPort , + lv2:OutputPort . + +<audio_out_2> + ingen:activity 0.0 ; + ingen:canvasX 12.0 ; + ingen:canvasY 12.0 ; + ingen:polyphonic false ; + lv2:index 5 ; + lv2:name "Audio Out 2" ; + lv2:symbol "audio_out_2" ; + a lv2:AudioPort , + lv2:OutputPort . + +<control_in> + ingen:canvasX 23.0 ; + ingen:canvasY 181.3999939 ; + ingen:polyphonic false ; + atom:bufferType atom:Sequence ; + lv2:index 0 ; + lv2:name "Control" ; + lv2:portProperty lv2:connectionOptional ; + lv2:symbol "control_in" ; + a atom:AtomPort , + lv2:InputPort . + +<control_out> + ingen:canvasX 148.3999939 ; + ingen:canvasY 181.3999939 ; + ingen:polyphonic false ; + atom:bufferType atom:Sequence ; + lv2:index 1 ; + lv2:name "Control" ; + lv2:symbol "control_out" ; + a atom:AtomPort , + lv2:OutputPort . diff --git a/bundles/StereoInOut.ingen/manifest.ttl b/bundles/StereoInOut.ingen/manifest.ttl new file mode 100644 index 00000000..af5bd996 --- /dev/null +++ b/bundles/StereoInOut.ingen/manifest.ttl @@ -0,0 +1,16 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix atom: <http://lv2plug.in/ns/ext/atom#> . +@prefix doap: <http://usefulinc.com/ns/doap#> . +@prefix ingen: <http://drobilla.net/ns/ingen#> . +@prefix lv2: <http://lv2plug.in/ns/lv2core#> . +@prefix lv2ev: <http://lv2plug.in/ns/ext/event#> . +@prefix midi: <http://lv2plug.in/ns/ext/midi#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +<StereoInOut.ttl> + lv2:binary <libingen_lv2.so> ; + a ingen:Patch , + lv2:Plugin ; + rdfs:seeAlso <StereoInOut.ttl> . diff --git a/bundles/ingen.lv2/ingen.ttl b/bundles/ingen.lv2/ingen.ttl index 2a1c0dce..d581e458 100644 --- a/bundles/ingen.lv2/ingen.ttl +++ b/bundles/ingen.lv2/ingen.ttl @@ -1,11 +1,12 @@ -@prefix ingen: <http://drobilla.net/ns/ingen#> . @prefix doap: <http://usefulinc.com/ns/doap#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . +@prefix ingen: <http://drobilla.net/ns/ingen#> . @prefix lv2: <http://lv2plug.in/ns/lv2core#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix ui: <http://lv2plug.in/ns/extensions/ui#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . -@prefix owl: <http://www.w3.org/2002/07/owl#> . <http://drobilla.net/drobilla#me> a foaf:Person ; diff --git a/bundles/ingen.lv2/manifest.ttl b/bundles/ingen.lv2/manifest.ttl new file mode 100644 index 00000000..ea2f62fe --- /dev/null +++ b/bundles/ingen.lv2/manifest.ttl @@ -0,0 +1,13 @@ +@prefix ingen: <http://drobilla.net/ns/ingen#> . +@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#> . + +ingen: + a owl:Ontology ; + rdfs:seeAlso <ingen.ttl> . + +ingen:PatchUIGtk2 + a ui:GtkUI ; + ui:binary <libingen_gui_lv2.so> ; + rdfs:comment "The Ingen patcher interface." . diff --git a/src/gui/ingen_gui_lv2.cpp b/src/gui/ingen_gui_lv2.cpp index 2a583d39..ae70e441 100644 --- a/src/gui/ingen_gui_lv2.cpp +++ b/src/gui/ingen_gui_lv2.cpp @@ -28,7 +28,7 @@ #include "App.hpp" #include "PatchBox.hpp" -#define INGEN_LV2_UI_URI "http://drobilla.net/ns/ingen#ui" +#define INGEN_LV2_UI_URI "http://drobilla.net/ns/ingen#PatchUIGtk2" /** A sink that writes atoms to a port via the UI extension. */ struct IngenLV2AtomSink : public Ingen::Shared::AtomSink { diff --git a/src/serialisation/Serialiser.cpp b/src/serialisation/Serialiser.cpp index c26be7be..d0d0e0d8 100644 --- a/src/serialisation/Serialiser.cpp +++ b/src/serialisation/Serialiser.cpp @@ -348,7 +348,7 @@ Serialiser::Impl::serialise_patch(SharedPtr<const Patch> patch, _model->add_statement(patch_id, Sord::URI(world, LV2_UI__ui), - Sord::URI(world, "http://drobilla.net/ns/ingen#ui")); + Sord::URI(world, "http://drobilla.net/ns/ingen#PatchUIGtk2")); const URIs& uris = *_world.uris().get(); @@ -556,6 +556,8 @@ Serialiser::Impl::serialise_properties(const GraphObject* o, (SerdStatementSink)sord_inserter_write_statement, NULL, inserter); + sratom_set_pretty_numbers(sratom, true); + typedef GraphObject::Properties::const_iterator iterator; for (iterator v = props.begin(); v != props.end(); ++v) { const Sord::URI key(_model->world(), v->first.str()); @@ -169,8 +169,13 @@ def build(bld): os.path.join(bld.env['DATADIR'], 'icons', 'hicolor', s, 'apps', 'ingen.png'), 'icons/' + s + '/ingen.png') - # Template patches/plugins bundle bld.install_files('${LV2DIR}/ingen.lv2/', - bld.path.ant_glob('ingen.lv2/*')) + bld.path.ant_glob('bundles/ingen.lv2/*')) + + for i in ['StereoInOut.ingen']: + bld.install_files('${LV2DIR}/%s/' % str(i), + bld.path.ant_glob('bundles/%s/*' % str(i))) + bld.symlink_as('${LV2DIR}/%s/libingen_lv2.so' % str(i), + bld.env['LV2DIR'] + '/ingen.lv2/libingen_lv2.so') bld.add_post_fun(autowaf.run_ldconfig) |