• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: renderprocs - some simple questions
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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
References: 
 >renderprocs - some simple questions (From: Andrew Wulf <email@hidden>)
 >Re: renderprocs - some simple questions (From: William Stewart <email@hidden>)
 >Re: renderprocs - some simple questions (From: "Andrew wulf" <email@hidden>)

  • Prev by Date: Re: Leopard xcode 3, and audio-unit compile error.
  • Next by Date: Re: kAudioUnitProperty_PresentationLatency supported in LogicPro 7.2 and/or 8?
  • Previous by thread: Re: renderprocs - some simple questions
  • Next by thread: kAudioFileGlobalInfo_AvailableStreamDescriptionsForFormat returns ASBDs with mChannelsPerFrame != 0?
  • Index(es):
    • Date
    • Thread