au-sys
Rust FFI bindings for the macOS AudioUnit v2 (AUv2) C API.
This crate exposes the stable AUv2 C interface from Apple's AudioToolbox framework as idiomatic Rust FFI types, without any wrapping or abstraction layer on top.
Covered headers:
AudioToolbox/AUComponent.hAudioToolbox/AudioUnitProperties.hAudioToolbox/AudioComponent.hCoreAudioTypes/CoreAudioBaseTypes.h
Usage
Add to your Cargo.toml:
[]
= "0.1"
Scope
This crate provides:
- All AUv2 C types (
AudioBufferList,AudioStreamBasicDescription,AudioTimeStamp, etc.) - The
AudioComponentPlugInInterfacevtable struct - Property ID constants (
kAudioUnitProperty_*) - Scope and selector constants
- Parameter info types and flag constants
- Minimal CoreFoundation helpers (
cf_string_create,cf_release)
It does not provide:
- AUv3 (App Extension) bindings
- Any Objective-C or Swift interop
- A safe wrapper layer
Platform
This crate is macOS-only. All items are gated behind #[cfg(target_os = "macos")].
License
MIT