On Fri, Aug 14, 2009 at 04:54:57PM -0400, David Robillard wrote:
The only thing I can think of that would make it
hairier is if, say, the
plugin could only support multiples of some number of channels. Is this
necessary where the upper limit is infinity? Are there any more complex
requirements that are reasonable? I can't think of any, this seems way
beyond reasonable to me.
I don't see ATM any reason to put restrictions on N (apart from some
reasonable maximum). One thing I can imagine is that the internal
processing would be in groups of 4 channels to exploit SSE. But even
in that case the interface could be 1,2, or 3 less.
On the other hand, this makes a case for using an interleaved format,
and for rounding up the number of _physical_ channels if the number
of _logical_ channels is not a multiple of four. In other words the
host would just provide some dummy channels allowing the plugin to
use groups of four without having to copy on input an output.
Just a silly idea, but I'm considering exactly that for the internal
organisation of an app I'm working on. But then there are also the
graphical CPUs today, again changing the picture.
Ciao,
--
FA
Io lo dico sempre: l'Italia รจ troppo stretta e lunga.