gstreamer/ext/lv2/README
Stefan Sauer 04a957c9b8 lv2: generate enums from scalepoints
Plugins can provide a set of named values for a control port. Ideally only those
values are set for the property. Check if all scalepoints are integers and if so
generate an enum type.
2016-05-15 22:05:43 -07:00

48 lines
1.7 KiB
Text

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/event
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
for pl in $(lv2ls); do if test "$(lv2info "$pl" | grep -A1 "Presets:" | tail -n1)" != ""; then echo "$pl"; fi; done
* 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
* example sources:
http://svn.drobilla.net/lad/trunk/lilv/utils/lv2info.c
http://svn.drobilla.net/lad/trunk/jalv/src/jalv.c