gstreamer/ext/lv2
Stefan Sauer 1c83ce7a96 lv2: add registry caching
Use the plugin_cache extra data to avoid introspecting over and over again.
2016-05-15 14:47:22 -07:00
..
calf-lv2-port-groups.patch Add swh and calf LV2 port group patches. 2009-09-17 09:46:48 +03:00
gstlv2.c lv2: add registry caching 2016-05-15 14:47:22 -07:00
gstlv2.h lv2: add registry caching 2016-05-15 14:47:22 -07:00
gstlv2filter.c lv2: add registry caching 2016-05-15 14:47:22 -07:00
gstlv2source.c lv2: add registry caching 2016-05-15 14:47:22 -07:00
gstlv2utils.c lv2: add registry caching 2016-05-15 14:47:22 -07:00
gstlv2utils.h lv2: add registry caching 2016-05-15 14:47:22 -07:00
Makefile.am lv2: add a source plugin 2016-05-13 11:54:08 -07:00
README lv2: add registry caching 2016-05-15 14:47:22 -07:00
swh-lv2-port-groups.patch Add swh and calf LV2 port group patches. 2009-09-17 09:46:48 +03:00

Gst-LV2 Quickstart

Dependencies:

Lilv 0.6.6 <http://drobilla.net/software/lilv/>


Features:

The plugin wrapper support the following plugin features:
http://lv2plug.in/ns/lv2core
http://lv2plug.in/ns/ext/port-groups

and these host features:
http://lv2plug.in/ns/ext/log
http://lv2plug.in/ns/ext/urid

Example Pipeline:

Requires swh-lv2 <http://plugin.org.uk/releases/>

gst-launch-1.0 -v filesrc location=/usr/share/sounds/login.wav ! wavparse ! audioconvert ! plugin-org-uk-swh-plugins-djFlanger ! audioconvert ! autoaudiosink
(A longer wav will be a better example)

gst-launch-1.0 plugin-org-uk-swh-plugins-analogueOsc num-buffers=100 wave=1 ! wavenc ! filesink location="/tmp/lv2.wav"

Requires calf <http://calf.sourceforge.net/>

GST_DEBUG="*:2,lv2:5"
gst-launch-1.0 calf-sourceforge-net-plugins-Monosynth event-in="C-3" ! autoaudiosink
gst-launch-1.0 calf-sourceforge-net-plugins-Monosynth event-in="C-3" name=ms ! autoaudiosink ms. ! fakesink
gst-launch-1.0 calf-sourceforge-net-plugins-Organ event-in="C-3" name=s ! interleave name=i ! autoaudiosink s. ! i.


TODO
* support http://lv2plug.in/ns/lv2core/#CVPort
  - these ports need a buffer with the property value
  - we should sync, then fill the buffer and connect the port
* support presets
* support more host features
  GST_DEBUG="lv2:4" GST_DEBUG_FILE=/tmp/gst.log gst-inspect lv2
  grep -o "needs host feature: .*$" /tmp/gst.log  | sort | uniq -c | sort -n

* samples sources:
  http://svn.drobilla.net/lad/trunk/lilv/utils/lv2info.c
  http://svn.drobilla.net/lad/trunk/jalv/src/jalv.c