I’m developing some LV2 plugins. Using a mix of Carla and Ardour (source build alpha), and finding documentation on inline GUI is a bit sparse. It’s quite a nice tool though, that I’ll have to learn deeper. I’ve used Cubase … on AtariST and WindowsXP, plus others.
As I must attempt to sell plugins for a token minimal price (beer money), I’m using only liberal licencing libraries such as Xputty GUI.
So apart from the docs, are there any build flags to assist in “debug/analysis” of LV2 plugins?
It sadly was never accepted as official extension. I suppose the easiest is to glean from existing plugins. The ones that come with Ardour (search for render_inline in Ardour’s source tree) or LSP, drumgizmp, x42-plugins,…
As for general testing: debug builds of Ardour come with a “Dummy” audio-engine (Menu > Window > Audio/MIDI setup). That not just has some handy signal generators (noise, sine waves…), but also a “Demolition” mode, which produces NaN, inf, denormals,…
Some plugins with internal state will not recover after seeing unusual input.
–
If you edit the plugin in “Generic Mode” (no custom GUI), Ardour shows the transfer function, and CPU time profiling:
I think the “default” GUI is good enough for control, but I might make a “visualization GUI” for the plugin after audio considerations, maybe even fullscreen.
Great information I’ll look over some of it this weekend.
Ok, so after a git checkout 8.10 and adding export ARCH=$(gcc -dumpmachine) and export LV2_PATH=/usr/local/lib/$ARCH/lv2 (something to do with multiarch and cross-compilers being on the system (occasional rust and other compiles for arm64 with low memory). I get an eventual scan with an error on “unsupported port type” as CVPort is not supported. I’m not sure if it would affect anything else and there’s no option to connect to an automation. But, yes, it does load via a Carla patchbay. I think it might be a feature request.
Still nice though as the Carla patchbay (VST) “instrument” loads (it might be yabridge). I found the nice side-chaining dialog really nice, but with a second redundant automatic/manual widget.
And I found out how to do the “maker” field in the plugin list. Cool. And OSC too.