Re: Quick question on configuring an AU for a certain channel config
Re: Quick question on configuring an AU for a certain channel config
- Subject: Re: Quick question on configuring an AU for a certain channel config
- From: William Stewart <email@hidden>
- Date: Wed, 5 Dec 2007 11:13:17 -0800
On Dec 4, 2007, at 11:34 PM, tahome izwah wrote:
Thanks, I found out that I had to override SupportedNumChannels().
This info was very difficult to find, the documentation keeps telling
me about kAudioUnitProperty_SupportedNumChannels but how on earth was
I to find out where to set this property... there really should be
some how-to file that tells you (1) if you want to set the number of
supported channels you should do this and that... This is so
frustrating because Leopard doesn't install the documentation where
the readme says it should be, and the templates don't work right,
either... :-(
Firstly - a tip.
If you want to find out about the support for a particular property,
then do a search for the property ID
(kAudioUnitProperty_SupportedNumChannels in this case) in AUBase.cpp
You'll find that where there is support for this here, the property
will be used in the Dispatch methods for at least GetPropertyInfo and
GetProperty - and you can see how this will dispatch (if supported) to
virtual methods, etc...
Second - please file a bug report about anything that you see that
doesn't seem right to you. Ideally we like to see one report per
issue, but I'm more than happy to break apart reports if we need to.
We generally like developers to file reports because it gives the
ability to both track the issue and for the issue not to be lost.
Email is a good release valve, but it isn't going to lead to the issue
being addressed. http://bugreporter.apple.com. I'm also sorry that
this stuff isn't easier; we do what we can to fix the issues when they
are reported.
Now I am left wondering how I declare two of the 4 input channels to
be a side chain. Any ideas or pointers to relevant documentation on
the Apple web site? I managed to download the "Audio Unit Programming
Guide" but it doesn't cover how to set up a side chain in an AU...
:-((
The AU spec defines things as buses - where a bus is a bundle of
channels. So, in your case you probably actually want a 2 channel
input (main audio in) and a second 2 channel input (side chain) - if
you have a look in the constructor for AUBase you'll see that it
declares 1 input bus and 1 output bus - you probably want 2 input
buses (so you can pass this up) to AUBase from your constructor.
Channel configs publish channel capabilities for each bus (but there's
no way to distinguish capabilities for different buses) - so if you
can do mono and stereo input, you have to support this for every input
bus you publish.
So, from your notes below, it seems like what you want is:
2 input buses - these can only be stereo
1 output bus - it can be mono or stereo
so you would publish your channel capabilities as:
{ {2, 2}, { 2, 1 } }
The AU spec doc does describe some of this, and we're also finalising
a document to describe the whole channel capabilities for AUs, which
should be available shortly
Thanks
Bill
Thanks again for all your help.
--th
2007/12/5, William Stewart <email@hidden>:
the channel config property. You publish the configurations you can
support (I'm not sure what are typos in your example below) - but:
On Dec 4, 2007, at 7:36 AM, tahome izwah wrote:
Hi all,
I have a quick question and couldn't find the answer in any of the
AU
documentation... I'm sure it is covered somewhere...
In my AU I need to set the supported number of input channels vs.
the
number of output channels. For example, I'd like to have 4 input
channels and 2 output channels, or 2 input channels and 2 output
channels, or 2 input channels and 2 output channels.
The data from all the channels need to be present in the process
function at the same time (either in separate buffers or
interlaced).
What is the best (read easiest) way to tell the AU host that my AU
accepts a 4-2, 2-1 and 2-2 channel config?
{ {4, 2}, {2, 1}, {2, 2}}
This doesn't seem to be
covered in the documentation, and on 10.5 the ReadMe file at
/Developer/Examples/CoreAudio/ReadMe.rtf refers to a directory
/Developer/Examples/CoreAudio/Documentation that doesn't
exist... :-(
Thanks
--th
_______________________________________________
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
_______________________________________________
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
_______________________________________________
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