diff options
| author | Bent Bisballe Nyeng <deva@aasimon.org> | 2019-04-17 11:37:08 +0200 | 
|---|---|---|
| committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2019-04-17 19:53:39 +0200 | 
| commit | f5890ca723139636cc7c64d79f46e30780f59a25 (patch) | |
| tree | f9d1dc99b5afa9d8925205a45a90819a4e0ada5c /plugin | |
| parent | 723343269d161b2bba7aee4597357ffc32f26f04 (diff) | |
Added ttlgen dynamic ttl manifest generator the LV2 plugin.
Diffstat (limited to 'plugin')
| -rw-r--r-- | plugin/Makefile.am | 12 | ||||
| -rw-r--r-- | plugin/drumgizmo.ttl | 175 | ||||
| -rw-r--r-- | plugin/drumgizmo_lv2.sym | 3 | ||||
| -rw-r--r-- | plugin/drumgizmo_plugin.cc | 12 | ||||
| -rw-r--r-- | plugin/drumgizmo_plugin.h | 2 | ||||
| -rw-r--r-- | plugin/manifest.ttl | 7 | ||||
| m--------- | plugin/plugingizmo | 0 | 
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 | 
