blob: 0e456db2892d6737d06fcc7ee90a028b60150aab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
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
|