[Ardour-Users] OT: Plug-in development

Paul Davis paul at linuxaudiosystems.com
Tue Nov 25 22:51:48 PST 2008

On Wed, 2008-11-26 at 00:54 -0500, Michael Dunn wrote:
> I'll check out LV2 & LADSPA, thx.
>    If there are drag'n'drop aspects, great :-)  But I'll be needing to 
> write DSP code in C. I just want to be able to concentrate as much as 
> possible on my algorithm, and as little as possible on how to hook it 
> into the plugin architecture.

if you grab the source tarball for swh-plugins, you will find that steve
harris did something to help him with that problem. he wrote 100 plugins
or so in short succession, and it became clear to him that in every
plugin there as boilerplate code and then there was the actual

his "source" gets pre-processed to add all the boilerplate, so that what
he actually has in front of him when he works on a given plugin "source"
file is just the stuff unique to that plugin.

>    I don't mind developing in Linux (though OSX would be nicer!), but 
> I must be able to compile for OSX (universal).

if you want to write plugins that work for proprietary applications on
OS X, then you cannot use any FOSS plugin APIs - i don't know of any
such apps that support any of our plugin APIs.

secondly, you should be aware that unless your DSP algorithms are
incredibly complex, the completion of a "working" plugin will probably
involve far more time on the GUI than anything else. at least, for some
definition of "working".

one of the small benefits of LADSPA (v1) is that because the plugin
*cannot* provide a GUI at all, you (the plugin author) get a GUI for
free c/o the host.

however, you might want to follow a very different path. take a look at
faust. this is a specialized language, designed explicitly for
expressing DSP algorithms very efficiently. having written your faust
code, the faust compiler converts it to C (which is often significantly
faster than anything you would ever write by hand). but it does more
than that - it will wrap your DSP algorithm up to become various kinds
of plugins (VST, AU, LADSPA and even a standalone JACK client).

if you're more interested in the algorithm than programming or GUI
development, and want incredibly fast code as a nice side effect, then
learning and using faust would make immense sense.


More information about the Ardour-Users mailing list