truce-rack-au 1.1.4

AU v2 host implementation for the truce-rack audio-plugin framework (Apple platforms)
Documentation

truce-rack-au

crates.io docs.rs

Audio Unit v2 host implementation for the truce-rack audio plugin framework. Apple-only. Pure-Rust on top of the objc2 ecosystem (objc2-audio-toolbox, objc2-core-audio-types) — no C++ wrapper, no bridging header. Implements scan, load (both AudioComponentInstanceNew and the async AudioComponentInstantiate for v3-flagged components), audio + MIDI processing, and the AUv2 Cocoa view behind the format-agnostic truce-rack-core traits.

Host transport from ProcessContext::transport is exposed through the AU host callbacks (kAudioUnitProperty_HostCallbacks — beat/tempo, musical-time, and transport-state procs), which the AU queries during AudioUnitRender for tempo, time signature, bar position, and play / record / cycle state.

Usage

[target.'cfg(target_vendor = "apple")'.dependencies]
truce-rack-core = "1.0"
truce-rack-au = "1.0"
use truce_rack_core::scanner::PluginScanner;
use truce_rack_au::AuScanner;

let plugins = AuScanner::new().scan()?;
for info in &plugins {
    println!("{info}");
}

See also

The truce-rack workspace ships sibling wrapper crates for CLAP, VST3, AU v3, LV2, plus a standalone runner.

License

MIT or Apache-2.0, at your option.