• 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
Rendering AU's in offline situations
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Rendering AU's in offline situations


  • Subject: Rendering AU's in offline situations
  • From: William Stewart <email@hidden>
  • Date: Thu, 20 Nov 2003 18:33:38 -0800

Most synth and effect style of AU's are written to operate within real time contexts.

In some usage scenarios - Logic's "Freeze Track" functionality and Jeremy Sagan's recent discussion of exporting to a file for example - this semantic needs to be adjusted.

As an example - the DLS Synth currently has two features that really shouldn't be "on" when rendering in a non-real time (lets call this Offline Rendering). One is disk streaming, where the disk streaming timing is based around the semantic of an AU rendering in a real-time situation. The other is the application of note-dropping, which relies on an estimation of time passed with no preemption, etc.

To accommodate this scenario we've decided to introduce a new property:
kAudioUnitProperty_OfflineRender = 37,

The property is set in Global Scope, its value is a UInt32 (0 or 1) and is both read/write

When set to 1, the AU is expected to set itself in state where it can render in an offline situation (thus for the DLS Synth we'd turn off disk streaming if it was on, and *not* do note-dropping if that were on)

When set back to 0, the AU is expected to restore any previous settings it had changed to go into the offline case (if these haven't been changed in the interim of course).

Whilst offline rendering can change some state within an AU that a user may set, we *don't* expect that state change to be reflected to the user - thus for the DLS synth, "disk streaming" would still be considered to be on (even though we temporarily turn it off), and when the AU's render state is reset, disk streaming would again be active.

The default value of this property is 0 (ie. OfflineRendering is off).

We'd considered other approaches, but given that this might involve a considerable state change in the AU, decided that an explicit property setting was the appropriate methodology to apply.

If host apps or AU's want to use/implement this property now they can using the constant as defined above (which will appear in the AudioUnitProperties.h file in the next Developer Tools release's version of this header).

Thanks

Bill

-- 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
________________________________________________________________________ __
_______________________________________________
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.
  • Prev by Date: Apple's _DLSSynth and status= 0xB0 with data1 = 91 to 95
  • Next by Date: MusicDevice mono/stereo
  • Previous by thread: Re: Apple's _DLSSynth and status= 0xB0 with data1 = 91 to 95
  • Next by thread: MusicDevice mono/stereo
  • Index(es):
    • Date
    • Thread