Expand description
Modeled macOS CoreAudio stream-host adapter (in-process simulation).
Modeled tier, no native I/O. This crate is a pure-Rust, in-process MODEL of
a CoreAudio backend, not a binding to Apple’s AudioToolbox/CoreAudio
frameworks. The workspace forbids unsafe and the crate carries no
-sys/FFI dependency, so it performs no real Apple framework I/O – it
serves deterministic fake PCM devices. The modeled tier is flagged by the
default-on model feature; a native provider would live behind a separate
FFI binding outside this repo.
The simple macOS path remains PortAudio or a future RtAudio adapter over CoreAudio. This crate exists for native CoreAudio coverage when that portable path is insufficient, while keeping workspace validation independent of Apple frameworks and hardware. MIDI remains separate: RtMidi is the first macOS MIDI path, and this crate intentionally models only PCM devices.
Structs§
- Core
Audio Backend - CoreAudio host backend with provider-supplied deterministic devices.
- Core
Audio Device - SIM-visible CoreAudio device metadata.
- Core
Audio Lib - Host-registered lib exporting the CoreAudio stream-host cards, built on the
shared
SurfacePackLibsubstrate. - Core
Audio Render Bridge - Drives a processor from a CoreAudio render callback.
- Core
Audio Timing - Timing metadata accepted by a CoreAudio render callback.
Functions§
- coreaudio_
backend_ symbol - Returns the
stream/hostsymbol identifying the CoreAudio host backend. - coreaudio_
clock_ symbol - Returns the
clocksymbol stamped onto streams opened by this backend. - coreaudio_
transport_ symbol - Returns the
stream/transportsymbol for the CoreAudio transport surface. - install_
stream_ coreaudio_ lib - Installs
CoreAudioLibintocxexactly once. - macos_
audio_ backend_ priority - Preferred macOS PCM backend order: portable first, native when needed.
- macos_
midi_ backend_ priority - Preferred macOS MIDI backend order keeps RtMidi first.