[ardour-dev] Re: issues with plugin in/out counts

Doug McLain nostar at comcast.net
Tue Nov 23 22:29:24 PST 2004

I am replying to Paul's original post here, even though I have read thru 
most of the replies.  I'd like to say right off the bat that I agree 
heavily with Florian Schmidts concept of not hiding the complexity from 
the user.  I am going to try and provide examples of this below.

Paul Davis wrote:
> in the last few days, i've been staring down some of the problems
> people have reported when using plugins that change the number of
> active streams in a track (e.g. a 1in/2out reverb).

What if the concept of 1in/2out was ditched completely?  Then (for the 
stereo world anyway) plugins could be classed as simply single or dual 
channel plugins.  A 2/2 plugin, in essence. becomes (or it should) a 1/2 
plugin when it's 2channel input is connected to a 1 channel output, 
anyway. If the plugin was written specifically because it's effect is 
only meaningful to a mono input, then the plugin documentation  could 
explain its intentions, then leave it up to the user to obey. (the haas 
effect is an example here, as it takes a mono signal and does dynamic 
stereo seperation, implying a 1/2 scenario.  It just so happens the 
plugin used for this is TAP Stereo Echo, 2/2 plugin, since the haas 
effect isnt it's only purpose)

> my conclusion after all this work is that ardour's noble attempt to
> allow users to use plugins in the most convenient way is doomed to
> failure. for a long time, ardour has allowed a user to use a mono
> plugin in a track with stereo inputs, for example. it does this by
> replicating the mono plugin, and making the plugin GUI control both
> instances. 
> for the simple case, this works very very well and i think is a
> welcome feature.
> the problem is that it rapidly leads to untenable situations. consider
> what happens if you add a mono plugin to a track with 1 input. The
> plugin is not replicated - there is no need to. so far, so good.
> now the user wants to add a 1in/2out plugin, for example most
> reverbs. no problem still, as long as they are ordered in the same
> order as they were added.

> but now the user moves the 1in/2out plugin before the 1in/1out
> plugin. all of a sudden, 1 of the outputs of the reverb is being
> thrown away, and in addition, it becomes unclear how many active
> streams the track has: does it have 2 (the number coming out of the
> reverb) or 1 (the number coming out of the gate)? this number is
> important because it determines how many panners there are for the
> track. 

I do agree with forcing the user to match inputs to outputs.  I can 
submit that as ardour has been my introduction to audio recording, it 
has always been obvious to me that a 2 channel output cannot be capped 
by a 1 channel input.  It also seems that I have already come across 
some plugins that return an error when trying to connect a 1in plugin to 
a 2out plugin.  I shirley don't want to stick a 1/1 EQ after my Stereo 
Echo creating a wonderful haas effect for all the world to hear!  This 
seems like it would be a lot less of an issue if there were simply 1 and 
2 channel plugins, as opposed to 1/1, 1/2, 2/2, (is there a 2/1? doesnt 

> after much rumination, i conclude the following: the problem is hard
> in a deep, possibly NP-complete way. we have 2 constraints that we
> need to satisfy:
>      a) the inputs to plugin N+1 matches the outputs of plugin N
>          to avoid throwing a signal away or using an undefined
> 	 signal.

Once again, agreed, and should be day 1 stuff.


More information about the Ardour-Dev mailing list