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. A future provider can populate the same model from native 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).