Re: CoreAudio Documentation
Re: CoreAudio Documentation
- Subject: Re: CoreAudio Documentation
- From: Urs Heckmann <email@hidden>
- Date: Thu, 11 Sep 2003 10:08:02 +0200
Am Donnerstag, 11.09.03, um 05:28 Uhr (Europe/Berlin) schrieb James
Coker:
On Wednesday, September 10, 2003, at 11:38 AM, Marc Poirier wrote:
The meaning of element and scope in every context:
This I would say is the #1 major source of confusion. Actually,
before
defining this in every context, there needs to be a good general
description of the function and purpose of scopes and elements
somewhere
in the AU docs. As it is, these are things that show up everywhere,
but
the purposes are very nebulous.
I totally agree here. Once I realized that elements were used to
create busses of channels, it made a lot of other things clearer. I
don't have many problems with the scope parameter, but the
element-as-bus thing doesn't seem to be mentioned anywhere.
I think Marc's other recommendations are good ones also,
but this one was a big issue for me.
Jim
Yeah.
I got a respond from a host developer who said, they would offer
multi-bus support if there was any AU doing it right. He told me,
allthough they pretend to have multiple busses, they just don't return
valid information.
I suspect that most AUs just set up an arbitrary number of Output
Busses (2-8), depending on the number of channels they support in Bus
0!!!
a constructor like this:
myAU:: myAU(AudioUnit component) : MusicDeviceBase(component, 0, 1)
should be sufficient for most MusicDevices that have 1-N channel output
on Bus 0.
With currently available hosts (at least last time I checked 8-), none
of the Elements in AU constructor should ever need to exceed 1. (Unless
you use GroupScope Elements for your own needs)
Of course, we need a better implementation of the ChannelInfo mechanism
which currently can't distinguish between Busses. - Which, of course,
could be easily changed in the BaseClasses.
I'm sure that the Multi-Bus desaster (da big void) we currently have
vanishes by
- explanation of Bus/Element link
- UInt32 myAU::SupportedNumChannels(const AUChannelInfo** pasInfo,
AudioUnitElement inElement );
where obviously the ChannelInfo pairs correspond to the Elements of
both InputScope and OutputScope. Hence inElement is the number of the
Bus.
I hope I don't tell rubbish here. Coffee is slow today.
Cheers,
;) Urs
_______________________________________________
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.