diff options
-rw-r--r-- | configure.ac | 35 | ||||
-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 |
8 files changed, 57 insertions, 189 deletions
diff --git a/configure.ac b/configure.ac index 556d3c0..43cef1c 100644 --- a/configure.ac +++ b/configure.ac @@ -219,10 +219,37 @@ AC_ARG_ENABLE([lv2], AS_IF( [test "x$enable_lv2" = "xyes"], [enable_lv2=yes - dnl ====================== - dnl Check for lv2core - dnl ====================== - PKG_CHECK_MODULES(LV2, lv2 >= 1.0) + dnl ====================== + dnl Check for lv2core + dnl ====================== + PKG_CHECK_MODULES(LV2, lv2 >= 1.0) + + dnl ====================== + dnl Check for dl library + dnl ====================== + tmp_CXXFLAGS="$CXXFLAGS" + tmp_CPPFLAGS="$CPPFLAGS" + tmp_CFLAGS="$CFLAGS" + tmp_LDFLAGS="$LDFLAGS" + tmp_LIBS="$LIBS" + CXXFLAGS="" + CPPFLAGS="" + CFLAGS="" + LDFLAGS="" + LIBS="" + AC_CHECK_HEADER(dlfcn.h, , AC_MSG_ERROR([*** dlfcn.h header file not found!])) + AC_CHECK_LIB(c, dlopen, , + AC_CHECK_LIB(dl, dlopen, , AC_MSG_ERROR([*** library conaining dlopen not found!]))) + DL_CFLAGS="$CXXFLAGS $CPPFLAGS $CFLAGS" + DL_LIBS="$LDFLAGS $LIBS" + CXXFLAGS="$tmp_CXXFLAGS" + CPPFLAGS="$tmp_CPPFLAGS" + CFLAGS="$tmp_CFLAGS" + LDFLAGS="$tmp_LDFLAGS" + LIBS="$tmp_LIBS" + AC_SUBST(DL_CFLAGS) + AC_SUBST(DL_LIBS) + AC_ARG_WITH([lv2dir], AS_HELP_STRING([--with-lv2dir=DIR], [Use DIR as the lv2 plugin directory [default=LIBDIR/lv2]]), 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 |