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§
- Asio
Backend - ASIO host backend with provider-supplied deterministic driver data.
- Asio
Buffer Switch Bridge - Drives a processor from an ASIO-style buffer switch callback.
- Asio
Driver - SIM-visible ASIO driver metadata.
- AsioLib
- Host-registered lib exporting the ASIO stream-host cards, built on the shared
SurfacePackLibsubstrate. - Asio
Port - Routable ASIO port owned by a driver.
- Asio
Timing - 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
AsioLibintocxexactly once, registering its ASIO stream-host surface cards.