Re: bus count and channel info confusion
Re: bus count and channel info confusion
- Subject: Re: bus count and channel info confusion
- From: Pavol Markovic <email@hidden>
- Date: Fri, 23 Jul 2004 22:19:54 +0200
On 23.7.2004, at 21:25, William Stewart wrote:
On 21/07/2004, at 11:54 AM, Pavol Markovic wrote:
On 21.7.2004, at 19:34, Stefan Gretscher wrote:
Am 20.07.2004 um 20:44 schrieb Pavol Markovic:
Example:
AU has 1 stereo and 6 mono outs.
It creates 7 buses.
On first bus it allows to set 2-8 channels via StreamFormat
property (this is for logic workaround, but NOT the right way)
On others it allows to set only 1 channel per element/bus
(Currently only the first bus with 8 channels are used in Logic;
all 7 buses with mono/stereo channels are used in Live 4 and maybe
later in others.)
Thanks for the clarification, I agree with your suggestion.
Additionally the AU checks the AudioChannelsLayout property, as it
expects the newer hosts with multibus/multichannel ability will
also check this. This is not needed for hosts that don't support
more channels then two per bus, as these will never try set more
then two channels per bus.
So you mean that if the host sets bus 1 to 8 outputs and does not
specify an AudioChannelsLayout, the AU will know that it's bad old
Logic-style. This sounds very reasonable to me as setting 8 outputs
without setting AudioChannelsLayout is something that "nice" hosts
shouldn't do from how I understand it.
Yes, exactly.
Well, except that this is making an assumption that is not always true.
For example. Lets say that I have an effect that can be set to any num
channels in to out as long as they are the same (this is the default
for most effects).
Now, I have a 6 channel stream.. Somewhere above my effect that stream
has some kind of surround/spatial characteristic. But the effect
doesn't know about this - it just takes 6 channels in and outputs 6
channels.
It does NOT support the AudioChannelLayout property. It doesn't need
to because it is just processing channels with no implications to if
of where those channels are spatially.
Therefore, we've specified that support of the ACL is optional and
should only be supported by those AU's that are doing something based
on spatial locations. So, our MatrixReverb supports this, as when it
generates a 4 or 5 channel output it does so based on the presumed
spatial location of those channels (as described by its ACL).
I guess you could argue that an AU Instrument is generating audio and
typically not processing it, so if it is outputting more than 2
channels it is likely to be doing so with some spatiality assumed. But
I'm loathe to make this a rule...
It was not meant as the rule, but a "silent agreement" between host and
plugin devs on solving present multiout instruments problem. I'd be
happy to drop this way anytime, but it's not possible, unless we
provide two separate binaries - one for Logic and one for the others -
which is the worse scenario.
PM
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.