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(a)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