Re: renderprocs - some simple questions
Re: renderprocs - some simple questions
- Subject: Re: renderprocs - some simple questions
- From: William Stewart <email@hidden>
- Date: Mon, 12 Nov 2007 17:53:35 -0800
This is a notify call, not an input call.
AudioUnitAddRenderNotify adds a notification callback that will be
called before and after your AU will render. It is on the output side
of your AU (so, if you have two output buses, your notification call
will be called once for each output bus).
To provide data for an input, you need to add a render callback (which
is a property):
static AURenderCallbackStruct sRenderCallback; // you need to define
this as appropriate for your usage
AudioUnitSetProperty (myAU, kAudioUnitProperty_SetRenderCallback,
kAudioUnitScope_Input,
inputBusNumber, &sRenderCallback, sizeof(sRenderCallback));
Bill
On Nov 12, 2007, at 5:26 PM, Andrew wulf wrote:
ComponentResult AudioUnitAddRenderNotify(
AudioUnit ci,
AURenderCallback inProc,
void* inProcRefCon
)
has no place to specify an input bus. I was putting this on the
3dmixer. I never get notification on anything but bus 0.
On Nov 12, 2007 1:48 PM, William Stewart <email@hidden> wrote:
No but you have just installed your render proc on input 0 I
suspect. The
intention here is that you have to explicitly install the render
callback on
each input that you want to actually provide input for.
Bill
On Nov 10, 2007, at 2:12 PM, Andrew Wulf wrote:
I have setup
128 inputs -> 3dmixer -> defaultoutput
and installed a renderNotifyProc
(1) why is it calling my renderNotifyProc with inBusNumber=0 only ?
I set
the buscount with
UInt32 size = sizeof(UInt32);
UInt32 busCount = 128;
err = AudioUnitSetProperty ( mMixer3d,
kAudioUnitProperty_BusCount,
kAudioUnitScope_Input,
0,
&busCount,
size);
I set the bus count right before AUGraphInitialize(). Is this the
wrong
time?
I want to use the prerender notification to install the renderproc
for that
bus (if I'm ready to play that sound). I guess I'm fuzzy on when it
will
call PreRender.
(2) Once I install a renderProc, how do I signal CA that it should
stop
calling the renderproc and call the renderNotifyProc
kAudioUnitRenderAction_PostRender? Or for that matter how does it
know it
should keep calling me for that bus (if I need multiple slices)?
The documentation and examples all seem to be less than clear on
these two
questions. Most of the examples seems to be one shot sound players
(I need
for example to stop a sound when the game says to in mid render) or
openal,
which is pretty ugly as an example.
FYI all of my sounds are in the correct format and in RAM so all I
need to
do is copy in the supplied buffers.
- andrew
wwiionline.com
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
@apple.com
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