[LAD] LADSPA plugins in ardour

David Robillard dave at drobilla.net
Sun Aug 9 20:39:01 UTC 2009


On Sun, 2009-08-09 at 21:52 +0200, Fons Adriaensen wrote:
> On Sun, Aug 09, 2009 at 03:05:16PM -0400, David Robillard wrote:
> 
> > On Sun, 2009-08-09 at 13:52 -0400, Paul Davis wrote:
> > > On Sun, Aug 9, 2009 at 11:22 AM, Fons Adriaensen<fons at kokkinizita.net> wrote:
> > > > Hello all,
> > > 
> > > wrong maiing list, really. but continuing on ...
> > > 
> > > > I have an ardour mixer strip with 4 input and 2 outputs,
> > > > and insert (post-fader) a plugin which has 4 inputs (A,B,C,D)
> > > > and two outputs (X,Y).
> > > >
> > > > The signals at the output of the strip seem to be
> > > > X + C + D and Y + C + D instead of X and Y.
> > > >
> > > > Is this 'documented behaviour', and if yes what
> > > > purpose does it serve ?
> > > 
> > > its certainly not documented, but not much is. it doesn't serve any
> > > purpose other than being one of the several approaches one could take
> > > with this somewhat unusual (but certainly not wrong) i/o
> > > configuration. basically, ardour has the concept of "data streams"
> > > within the signal processing route. imagine the situation *without*
> > > the plugin for a moment: what happens to the "extra" data streams C &
> > > D that don't obviously map to the outputs? executive decision: add
> > > them to the outputs (and do it badly, by adding C *and* D to both
> > > outputs, just for good measure). add the plugin to the situation ....
> > > presumably ardour should know that there are now really just two data
> > > streams post-plugin and that nothing needs to be done. but it appears
> > > that it doesn't discover this, and this may be intentional but more
> > > likely is just a bug.
> > 
> > This behaviour will be manually configurable (and smarter by default) in
> > 3.0, FWIW.  Particularly with (LV2) plugins that give more useful
> > information about what ports represent.
> 
> Any workarounds today ?

You could maybe make a send or insert and wire something up in jack?

> AFAICS, even LV2 would need an 'extensions' to say if it makes sense
> or not to replicate a plugin (yes for EQ or delay, very probably no
> in most other cases).

The port groups extension lets a plugin say things like "these two
outputs are a stereo pair associated with this particular mono input",
or "this port is a sidechain of this other port", etc.  A big problem
with this stuff with LADSPA is that "3 audio outputs" is pretty much
impossible to make sense of (or even 2... the only reason anything
multi-channel works at all is apps make undocumented assumptions).  What
ports are what, and what other ports they may correspond to, is all the
information you really need.

That said, yeah, replication for anything beyond 1 in 1 out is pretty
unlikely to make sense regardless; unless someone is using 4 outputs as
2 stereo pairs or something like that.  Ideally we'll get to the point
where the user can specify they are doing so, so the automatic logic has
more to work with.  It's a bit of a weird thing to do anyway, though...

I don't think it makes sense to say whether "replicating a plugin" makes
sense or not, in general.  Not the plugin's problem, in any case, the
plugin should just describe what it's I/O is.  How clever the host wants
to be given that information is the host's problem (and depends on quite
a bit of host specific stuff)

Cheers,

-dr





More information about the Linux-audio-dev mailing list