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.