summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2019-04-17 11:37:08 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2019-04-17 19:53:39 +0200
commitf5890ca723139636cc7c64d79f46e30780f59a25 (patch)
treef9d1dc99b5afa9d8925205a45a90819a4e0ada5c /plugin
parent723343269d161b2bba7aee4597357ffc32f26f04 (diff)
Added ttlgen dynamic ttl manifest generator the LV2 plugin.
Diffstat (limited to 'plugin')
-rw-r--r--plugin/Makefile.am12
-rw-r--r--plugin/drumgizmo.ttl175
-rw-r--r--plugin/drumgizmo_lv2.sym3
-rw-r--r--plugin/drumgizmo_plugin.cc12
-rw-r--r--plugin/drumgizmo_plugin.h2
-rw-r--r--plugin/manifest.ttl7
m---------plugin/plugingizmo0
7 files changed, 26 insertions, 185 deletions
diff --git a/plugin/Makefile.am b/plugin/Makefile.am
index fcb307e..02dc5a3 100644
--- a/plugin/Makefile.am
+++ b/plugin/Makefile.am
@@ -1,4 +1,5 @@
SUBDIRS = vst
+noinst_PROGRAMS =
#######
@@ -7,7 +8,8 @@ SUBDIRS = vst
if ENABLE_LV2
lv2plugindir = @LV2DIR@/drumgizmo.lv2
lv2plugin_LTLIBRARIES = drumgizmo.la
-lv2plugin_DATA = manifest.ttl drumgizmo.ttl
+noinst_PROGRAMS += ttlgen
+lv2plugin_DATA = manifest.ttl
endif
drumgizmo_la_CXXFLAGS = -DLV2 -DLV2_PLUGIN_URI=\"http://drumgizmo.org/lv2\" \
@@ -34,6 +36,14 @@ drumgizmo_la_LIBADD = $(LV2_LIBS) \
$(top_srcdir)/plugingui/libdggui.la \
$(top_srcdir)/src/libdg.la
+ttlgen_CPPFLAGS = $(DL_CFLAGS) -I$(top_srcdir)/plugin/plugingizmo
+ttlgen_LDFLAGS = $(DL_LIBS)
+ttlgen_SOURCES = \
+ $(top_srcdir)/plugin/plugingizmo/ttlgen.cc
+
+manifest.ttl : ttlgen drumgizmo.la
+ ./ttlgen .libs/drumgizmo.so manifest.ttl
+
#######
# VST
diff --git a/plugin/drumgizmo.ttl b/plugin/drumgizmo.ttl
deleted file mode 100644
index 0e5c414..0000000
--- a/plugin/drumgizmo.ttl
+++ /dev/null
@@ -1,175 +0,0 @@
-# LV2 DrumGizmo Plugin
-# Copyright 2011 Bent Bisballe Nyeng <deva@aasimon.org>
-#
-# Permission to use, copy, modify, and/or distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-@prefix doap: <http://usefulinc.com/ns/doap#> .
-@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
-@prefix ui: <http://lv2plug.in/ns/extensions/ui#> .
-@prefix state: <http://lv2plug.in/ns/ext/state#> .
-@prefix pprops: <http://lv2plug.in/ns/ext/port-props#> .
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix idpy: <http://harrisonconsoles.com/lv2/inlinedisplay#> .
-
-<http://drumgizmo.org/lv2#ui>
- a ui:X11UI ;
- lv2:requiredFeature ui:resize ;
- lv2:extensionData ui:resize ;
- lv2:requiredFeature ui:idleInterface ;
- lv2:extensionData ui:idleInterface ;
- lv2:requiredFeature <http://lv2plug.in/ns/ext/instance-access> ;
- ui:binary <drumgizmo.so> .
-
-<http://drumgizmo.org/lv2>
- a lv2:InstrumentPlugin ;
- doap:name "DrumGizmo" ;
- doap:maintainer [
- foaf:name "DrumGizmo Team" ;
- foaf:homepage <http://www.drumgizmo.org> ;
- ] ;
- doap:license <http://usefulinc.com/doap/licenses/gpl> ;
- ui:ui <http://drumgizmo.org/lv2#ui> ;
- doap:license <http://opensource.org/licenses/gpl-3.0> ;
- lv2:optionalFeature <http://lv2plug.in/ns/ext/uri-map> ;
- lv2:optionalFeature <http://lv2plug.in/ns/ext/event> ;
- lv2:optionalFeature idpy:queue_draw ;
- lv2:extensionData state:interface ;
- lv2:port [
- a lv2:InputPort, lv2:ControlPort ;
- lv2:index 0 ;
- lv2:symbol "lv2_freewheel" ;
- lv2:name "Freewheel" ;
- lv2:default 0.0 ;
- lv2:minimum 0.0 ;
- lv2:maximum 1.0 ;
- lv2:designation <http://lv2plug.in/ns/lv2core#freeWheeling> ;
- lv2:portProperty <http://lv2plug.in/ns/lv2core#freeWheeling> ;
- lv2:portProperty lv2:toggled ;
- lv2:portProperty pprops:hasStrictBounds;
- ] , [
- a lv2:OutputPort, lv2:ControlPort ;
- lv2:designation <http://lv2plug.in/ns/lv2core#latency>;
- lv2:index 1;
- lv2:symbol "latency";
- lv2:name "Latency";
- lv2:minimum 0;
- lv2:maximum 192000;
- lv2:portProperty lv2:reportsLatency, lv2:integer;
- ] , [
- a atom:AtomPort ,
- lv2:InputPort;
- atom:bufferType atom:Sequence ;
- atom:supports <http://lv2plug.in/ns/ext/midi#MidiEvent> ;
- lv2:index 2 ;
- lv2:symbol "control" ;
- lv2:name "Control"
- ] , [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 3 ;
- lv2:symbol "out1" ;
- lv2:name "Out1"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 4 ;
- lv2:symbol "out2" ;
- lv2:name "Out2"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 5 ;
- lv2:symbol "out3" ;
- lv2:name "Out3"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 6 ;
- lv2:symbol "out4" ;
- lv2:name "Out4"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 7 ;
- lv2:symbol "out5" ;
- lv2:name "Out5"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 8 ;
- lv2:symbol "out6" ;
- lv2:name "Out6"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 9 ;
- lv2:symbol "out7" ;
- lv2:name "Out7"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 10 ;
- lv2:symbol "out8" ;
- lv2:name "Out8"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 11 ;
- lv2:symbol "out9" ;
- lv2:name "Out9"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 12 ;
- lv2:symbol "out10" ;
- lv2:name "Out10"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 13 ;
- lv2:symbol "out11" ;
- lv2:name "Out11"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 14 ;
- lv2:symbol "out12" ;
- lv2:name "Out12"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 15 ;
- lv2:symbol "out13" ;
- lv2:name "Out13"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 16 ;
- lv2:symbol "out14" ;
- lv2:name "Out14"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 17 ;
- lv2:symbol "out15" ;
- lv2:name "Out15"
- ], [
- a lv2:AudioPort ,
- lv2:OutputPort ;
- lv2:index 18 ;
- lv2:symbol "out16" ;
- lv2:name "Out16"
- ] .
diff --git a/plugin/drumgizmo_lv2.sym b/plugin/drumgizmo_lv2.sym
index d73c1c2..8926032 100644
--- a/plugin/drumgizmo_lv2.sym
+++ b/plugin/drumgizmo_lv2.sym
@@ -1,2 +1,3 @@
lv2_descriptor
-lv2ui_descriptor \ No newline at end of file
+lv2ui_descriptor
+createEffectInstance \ No newline at end of file
diff --git a/plugin/drumgizmo_plugin.cc b/plugin/drumgizmo_plugin.cc
index 40121e2..94302a1 100644
--- a/plugin/drumgizmo_plugin.cc
+++ b/plugin/drumgizmo_plugin.cc
@@ -39,7 +39,7 @@
#ifdef LV2
// Entry point for lv2 plugin instantiation.
-PluginLV2* createEffectInstance()
+PG_EXPORT PluginLV2* createEffectInstance()
{
return new DrumGizmoPlugin();
}
@@ -118,6 +118,11 @@ std::string DrumGizmoPlugin::getId()
return "DrumGizmo";
}
+std::string DrumGizmoPlugin::getURI()
+{
+ return "http://drumgizmo.org";
+}
+
std::string DrumGizmoPlugin::getEffectName()
{
return "DrumGizmo";
@@ -133,6 +138,11 @@ std::string DrumGizmoPlugin::getProductString()
return "DrumGizmo";
}
+std::string DrumGizmoPlugin::getHomepage()
+{
+ return "https://www.drumgizmo.org";
+}
+
PluginCategory DrumGizmoPlugin::getPluginCategory()
{
return PluginCategory::Synth;
diff --git a/plugin/drumgizmo_plugin.h b/plugin/drumgizmo_plugin.h
index 106614f..b422430 100644
--- a/plugin/drumgizmo_plugin.h
+++ b/plugin/drumgizmo_plugin.h
@@ -77,9 +77,11 @@ public:
// Functions used to set VST plugin information
std::string getId() override;
+ std::string getURI() override;
std::string getEffectName() override;
std::string getVendorString() override;
std::string getProductString() override;
+ std::string getHomepage() override;
PluginCategory getPluginCategory() override;
void process(size_t pos,
diff --git a/plugin/manifest.ttl b/plugin/manifest.ttl
deleted file mode 100644
index 65a8953..0000000
--- a/plugin/manifest.ttl
+++ /dev/null
@@ -1,7 +0,0 @@
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://drumgizmo.org/lv2>
- a lv2:Plugin ;
- lv2:binary <drumgizmo.so> ;
- rdfs:seeAlso <drumgizmo.ttl> .
diff --git a/plugin/plugingizmo b/plugin/plugingizmo
-Subproject 34bfc5046bd297311a38dace8914c51905ca9d2
+Subproject fb8588d8a0013b8da78b796f84ddcccf2bc9238