Skip to main content

Crate sim_lib_stream_coreaudio

Crate sim_lib_stream_coreaudio 

Source
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§

CoreAudioBackend
CoreAudio host backend with provider-supplied deterministic devices.
CoreAudioDevice
SIM-visible CoreAudio device metadata.
CoreAudioLib
Host-registered lib exporting the CoreAudio stream-host cards, built on the shared SurfacePackLib substrate.
CoreAudioRenderBridge
Drives a processor from a CoreAudio render callback.
CoreAudioTiming
Timing metadata accepted by a CoreAudio render callback.

Functions§

coreaudio_backend_symbol
Returns the stream/host symbol identifying the CoreAudio host backend.
coreaudio_clock_symbol
Returns the clock symbol stamped onto streams opened by this backend.
coreaudio_transport_symbol
Returns the stream/transport symbol for the CoreAudio transport surface.
install_stream_coreaudio_lib
Installs CoreAudioLib into cx exactly 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.