Skip to main content

Crate truce_rack_au3

Crate truce_rack_au3 

Source
Expand description

AU v3 (Audio Unit App Extension) host for the truce-rack framework. macOS / iOS only.

§How v3 differs from v2

AU v3 plugins ship as sandboxed App Extensions discovered via NSExtension rather than as dylibs in /Library/Audio/Plug-Ins/Components. The host communicates with the extension over XPC inside the per-plugin sandbox. From the audio-rendering perspective, once an AudioComponentInstance is in hand the interface is identical to AU v2 — so truce-rack-au3’s scanner filters the same AudioComponentFindNext walk by the kAudioComponentFlag_IsV3AudioUnit flag, and AuPlugin from truce-rack-au is re-used to hold the resulting handle.

§Status

Scanning is implemented. Loading is forwarded to truce-rack-au’s [truce_rack_au::AuScanner::load], which currently scaffolds the instance but leaves the AU v3 specific async instantiation (AudioComponentInstantiate with a completion block) as a TODO. v3 plugins flagged kAudioComponentFlag_RequiresAsyncInstantiation will fail synchronous load until that lands.