• 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: Connecting AU's without an AUGraph
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Connecting AU's without an AUGraph


  • Subject: Re: Connecting AU's without an AUGraph
  • From: Kurt Revis <email@hidden>
  • Date: Thu, 19 Sep 2002 12:03:06 -0700

On Thursday, September 19, 2002, at 10:54 AM, Luke Bellandi wrote:

Try thinking of as if the function is saying

1) pre-render: "I will call you to work on the following data. Make
preparations you need to."
2) render: "I am calling you to work on the following data. Render
it."
3) post-render: "I have finished working with the following data, and here
are the results. Do any clean-up you need to." (since AudioBufferList
*ioData will have the post-process data in it)


Oh I see, when you say input proc, you mean a render function, but one that
isn't concerned with the data it gets (i.e., it's not *processing* ioData,
it's *writing into* it.

Right. I mean an input callback that's been set on an AU via kAudioUnitProperty_SetRenderCallback. I guess I was taking the words "render function" to mean the function that got called inside the AU's implementation, which was not what you meant.

Anyway, it's not the typedef that bothers me. It's the fact that the comments for all 3 uses, plus calling AudioUnitRender(), are all mixed together in the header and in the new documentation (au_render.html). And the most important use--providing audio to the AU--is barely mentioned, whereas the less important/more advanced pre- and post-render notifications get a lot of space.

(The documentation for kAudioUnitProperty_SetRenderCallback in au_properties.html says that the callback will be provided buffers to fill in. Why isn't this mentioned with everything else in au_render.html?)

All of this stuff can be teased apart, but it takes a while, and it doesn't have to be so hard. I'd like to see something like this (except much better):

"So you want to provide audio data to an AU. We call this a 'render function'. Use SetAudioUnitProperty with kAudioUnitProperty_SetRenderCallback to tell the AU to call your function when it needs audio data.
When you implement your render function, here's what the arguments will be. Ignore the value of ioActionFlags. You will be given a buffer of data to fill in."

Repeat for the other 2 cases.

Maybe someone should write a book on CoreAudio :)

--
Kurt Revis
email@hidden
_______________________________________________
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.

References: 
 >Re: Connecting AU's without an AUGraph (From: Luke Bellandi <email@hidden>)

  • Prev by Date: Re: Connecting AU's without an AUGraph
  • Next by Date: Re: AudioFile.h and FSRef??
  • Previous by thread: Re: Connecting AU's without an AUGraph
  • Next by thread: Re: Playing 2 or more audio data simultaneously
  • Index(es):
    • Date
    • Thread