[Ardour-Dev] out-of-process plug-ins

Nedko Arnaudov nedko at arnaudov.name
Wed Jan 30 06:02:04 PST 2013

Hartmut Noack <zettberlin at linuxuse.de> writes:

> Am 29.01.2013 13:59, schrieb Paul Davis:
>> On Tue, Jan 29, 2013 at 7:55 AM, Alexandre Prokoudine <
>> alexandre.prokoudine at gmail.com> wrote:
>>> Hi,
>>> Just my stupid curiosity... Is it possible to make LADSPA/LV2/etc.
>>> plugins run in a separate process, so that any crashes would not bring
>>> Ardour on its knees? It's what Bitwig claims to do regarding VST.
>> it is possible. but as i've explained numerous time on createdigitalmusic
>> and elsewhere, this does not scale.
>> if you want to run 2 VST plugins like this, its fine. if you want
>> EQ+Compression for every track in an N-track session, its like 1 JACK
>> client per plugin, and adds notable CPU load.
> So it would be nice, to have a choice here OK?
> Such as: foo lookahead limiter never crashed on me so I run it
> in-process so I do with several others that have proven to be rock-solid.
> Now I have something like an experimental synth-beta that crashes from
> time to time. What about provide a button "Set up external plugin" that
> does as follows:
> 1.) start a new jack-client to host the plugin in question
> 2.) provide a button to access this host running the plugin from within
> Ardour
> 3.) connect the plugin to the mixer as you would do it with any given
> stand-alone (Guitarix, Zynadd etc)
> 4.) store the setup in the session-file to make sure, it is loaded next
> time.
> I think, to control/automate such a plugin from within Ardour would not
> be the most simple thing to do but anyway: is it possible?

What about designing "plugins" that can run either in-process or
out-of-process? If the multiclient app support in jack is improved, jack
can route either "plugins" or "apps". The system can be even designed so
that the plugin/app mode is switchable on the fly, without single xrun.

It is true that it is good to have bugless software, but the reality is
that bugs will always exist and the system can be made less error
prone. And most importantly, user experience may vary, so it is best to
allow (not force) user to choose whether to pay some CPU load in
exchange of better system stability.

This idea is one of the things I'd like to implement in JACK (or its

Nedko Arnaudov <GnuPG KeyID: 5D1B58ED>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 489 bytes
Desc: not available
URL: <http://lists.ardour.org/pipermail/ardour-dev-ardour.org/attachments/20130130/e9dc5022/attachment-0002.pgp>

More information about the Ardour-Dev mailing list