au-sys 0.1.1

Rust FFI bindings for the macOS AudioUnit v2 (AUv2) C API
Documentation
  • Coverage
  • 100%
    1 out of 1 items documented0 out of 0 items with examples
  • Size
  • Source code size: 30.9 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.74 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 39s Average build duration of successful builds.
  • all releases: 38s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • lnswlrd/au-sys
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • lnswlrd

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.h
  • AudioToolbox/AudioUnitProperties.h
  • AudioToolbox/AudioComponent.h
  • CoreAudioTypes/CoreAudioBaseTypes.h

Usage

Add to your Cargo.toml:

[target.'cfg(target_os = "macos")'.dependencies]
au-sys = "0.1"

Scope

This crate provides:

  • All AUv2 C types (AudioBufferList, AudioStreamBasicDescription, AudioTimeStamp, etc.)
  • The AudioComponentPlugInInterface vtable 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