Re: Channels and frames
Re: Channels and frames
- Subject: Re: Channels and frames
- From: "john smith" <email@hidden>
- Date: Wed, 26 Oct 2005 12:39:28 +0200
Bill,
Thanks for your mail.
A: Tell the host my channel configuration (for instance mono -> stereo,
stereo -> stereo, no inputs -> 8 stereo outputs, etc. etc.). The "no
inputs" part can wait a bit if it's complicated, at this point I'm
concentrating on effect plug-ins.
I'm not sure what you are trying to tell the host.
I'm trying to tell my host what channel configurations my plug-in support.
For instance, maybe the plugin is a mono plugin (mono->mono) only. Or maybe
it is a stereo plug-in. Or maybe it can do mono->mono and stereo->stereo,
but is not able to do mono->stereo (if AU supports that at all).
Later on I'll need things like 0 inputs can 16 outputs (configured as 8
stereo), but for simplicity I decided to leave that out for now, and
concentrate on what I consider to be the 3 major situations for effect
plug-ins:
mono->mono
mono->stereo
stereo->stereo
AUs have a default format - this is the format of each of the input and
output elements that they have when they are created. auval prints this
out for each AU.
I have no idea what you're talking about, sorry. Formats? My process call is
always receiving floats, right? (when you say "format", I think thinking bit
depth and the like).
In the AUBase implementation, the format is set on these input and output
elements using the Get and Set StreamFormat APIs of these element classes
The SupportedNumChannels property is used to tell a host what channel
capabilities your AU has - this is described in some detail in the
IOConfigurations document.
Maybe too much detail, because honestly I didn't get any of it.
The host parses this information and then uses it to guide its
configuration choices that it presents to the user for this AU (can it do
mono-stereo for instance).
If you look at the implementatation of AUEffectBase::Initialise you will
see how this property interacts with the formats on the different input
and output bus(es) - In this call, the aim is for the AU to validate that
it is being initialised to a set of channel counts that are legal (i.e.
that it is able to deal with).
Looking at that, it seems like I should override
AUBase::SupportedNumChannels(...)?
Unfortunately this doesn't seem to be documented.
The property is documented though, but then we're back to the documentation
I didn't understand.
Can you explain to me, in simple terms, what is needed to support the 3
configurations I mention above? Surely it can't be that complicated.
Thanks,
Michael Olsen
KeyToSound / PhonoXone
auval is a tool that will try to stress test this implementation/ feature.
You could run this tool with either the SampleEffect or the
DebugDispatcher AUs from the SDK to see exactly what it does...
Bill
Thanks,
Michael Olsen
KeyToSound / PhonoXone
_________________________________________________________________
Don't just search. Find. Check out the new MSN Search! http://
search.msn.com/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________ __
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________ __
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden