Expand description
Modeled JACK stream-host adapter (in-process simulation).
Modeled tier, no native I/O. This crate is a pure-Rust, in-process MODEL of
a JACK backend, not a binding to libjack. The workspace forbids unsafe
and the crate carries no -sys/FFI dependency, so it performs no real JACK
server I/O – it serves a deterministic fake client and ports. 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 crate keeps validation independent of a running JACK server. It models a JACK client, routable audio and MIDI ports, sample-frame transport, and the callback bridge used to drive an audio graph. A future provider can populate the same model from native JACK client and port registration.
Structs§
- Jack
Backend - JACK host backend with deterministic provider data.
- Jack
Client - SIM-visible JACK client with registered audio and MIDI ports.
- Jack
Graph Bridge - Drives an audio processor from a JACK process callback.
- JackLib
- Host-registered lib exporting the JACK stream-host cards, built on the shared
SurfacePackLibsubstrate. - Jack
Midi Event - Short MIDI event delivered by JACK for a process block.
- Jack
Port - Routable JACK port owned by a client.
- Jack
Timing - JACK timing metadata for a registered client.
- Jack
Transport State - Snapshot of JACK transport state for one process callback.
Functions§
- install_
stream_ jack_ lib - Installs the JACK stream-host lib into
cx, registering its cards once. - jack_
backend_ symbol - Returns the symbol that identifies the JACK host backend (
stream/host:jack). - jack_
clock_ symbol - Returns the symbol that identifies the JACK frame clock (
clock:jack). - jack_
transport_ symbol - Returns the symbol that identifies the JACK transport (
stream/transport:jack).