Skip to main content

Crate sim_lib_stream_jack

Crate sim_lib_stream_jack 

Source
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. Native provider crates populate the same model from JACK client and port registration.

Structs§

JackBackend
JACK host backend with deterministic provider data.
JackClient
SIM-visible JACK client with registered audio and MIDI ports.
JackGraphBridge
Drives an audio processor from a JACK process callback.
JackLib
Host-registered lib exporting the JACK stream-host cards, built on the shared SurfacePackLib substrate.
JackMidiEvent
Short MIDI event delivered by JACK for a process block.
JackPort
Routable JACK port owned by a client.
JackTiming
JACK timing metadata for a registered client.
JackTransportState
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).