Skip to main content

Crate sim_lib_stream_asio

Crate sim_lib_stream_asio 

Source
Expand description

Modeled Windows ASIO stream-host adapter (in-process simulation).

Modeled tier, no native I/O. This crate is a pure-Rust, in-process MODEL of an ASIO backend, not a binding to the Steinberg ASIO SDK. The workspace forbids unsafe and the crate carries no -sys/FFI dependency, so it performs no real ASIO driver I/O – it serves deterministic, fake driver enumeration. The modeled tier is flagged by the default-on model feature; a native provider would live behind a separate FFI binding outside this repo.

This crate keeps validation independent of the Steinberg ASIO SDK and local audio drivers. It models provider-reported ASIO drivers, exposes stream-host inventory and open plans, and bridges ASIO-style process callbacks into ProcessBlock so the same graph processor code can run under fake Linux CI, Windows ASIO, and other host adapters.

Native ASIO providers are intentionally optional. A downstream provider must target Windows, arrange SDK headers/import libraries outside this repository, and populate the stable model types from driver enumeration.

Structs§

AsioBackend
ASIO host backend with provider-supplied deterministic driver data.
AsioBufferSwitchBridge
Drives a processor from an ASIO-style buffer switch callback.
AsioDriver
SIM-visible ASIO driver metadata.
AsioLib
Host-registered lib exporting the ASIO stream-host cards, built on the shared SurfacePackLib substrate.
AsioPort
Routable ASIO port owned by a driver.
AsioTiming
Timing metadata accepted by an ASIO buffer switch.

Functions§

asio_backend_symbol
Returns the stream-host backend identifier for ASIO (stream/host:asio).
asio_clock_symbol
Returns the clock identifier reported by ASIO host streams (clock:asio).
asio_sdk_build_requirements
Lists the prerequisites a downstream provider must satisfy to build a native ASIO backend, none of which this validation-only crate supplies.
asio_transport_symbol
Returns the transport identifier carried by ASIO host streams (stream/transport:asio).
install_stream_asio_lib
Installs the AsioLib into cx exactly once, registering its ASIO stream-host surface cards.