From f5890ca723139636cc7c64d79f46e30780f59a25 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Wed, 17 Apr 2019 11:37:08 +0200 Subject: Added ttlgen dynamic ttl manifest generator the LV2 plugin. --- plugin/Makefile.am | 12 +++- plugin/drumgizmo.ttl | 175 --------------------------------------------- plugin/drumgizmo_lv2.sym | 3 +- plugin/drumgizmo_plugin.cc | 12 +++- plugin/drumgizmo_plugin.h | 2 + plugin/manifest.ttl | 7 -- plugin/plugingizmo | 2 +- 7 files changed, 27 insertions(+), 186 deletions(-) delete mode 100644 plugin/drumgizmo.ttl delete mode 100644 plugin/manifest.ttl (limited to 'plugin') 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 -# -# 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: . -@prefix foaf: . -@prefix lv2: . -@prefix atom: . -@prefix ui: . -@prefix state: . -@prefix pprops: . -@prefix lv2: . -@prefix rdfs: . -@prefix idpy: . - - - a ui:X11UI ; - lv2:requiredFeature ui:resize ; - lv2:extensionData ui:resize ; - lv2:requiredFeature ui:idleInterface ; - lv2:extensionData ui:idleInterface ; - lv2:requiredFeature ; - ui:binary . - - - a lv2:InstrumentPlugin ; - doap:name "DrumGizmo" ; - doap:maintainer [ - foaf:name "DrumGizmo Team" ; - foaf:homepage ; - ] ; - doap:license ; - ui:ui ; - doap:license ; - lv2:optionalFeature ; - lv2:optionalFeature ; - 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 ; - lv2:portProperty ; - lv2:portProperty lv2:toggled ; - lv2:portProperty pprops:hasStrictBounds; - ] , [ - a lv2:OutputPort, lv2:ControlPort ; - lv2:designation ; - 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 ; - 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: . -@prefix rdfs: . - - - a lv2:Plugin ; - lv2:binary ; - rdfs:seeAlso . diff --git a/plugin/plugingizmo b/plugin/plugingizmo index 34bfc50..fb8588d 160000 --- a/plugin/plugingizmo +++ b/plugin/plugingizmo @@ -1 +1 @@ -Subproject commit 34bfc5046bd297311a38dace8914c51905ca9d2e +Subproject commit fb8588d8a0013b8da78b796f84ddcccf2bc9238e -- cgit v1.2.3