Skip to main content

sim_lib_audio_graph_live/
lib.rs

1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3//! Preallocated live audio graph runner for host callback integration.
4//!
5//! This crate connects the audio graph processor protocol to host callback
6//! queues. It provides bounded control/audio queues, stream-clock-backed
7//! transport snapshots, and a small allocation-free steady-state process path
8//! for mono and stereo graphs.
9
10mod event;
11mod profile;
12mod queue;
13mod runner;
14mod runtime;
15mod site;
16mod transport;
17
18pub use event::{LiveAudioEvent, LiveControlEvent, LiveQueuePush};
19pub use profile::{
20    LiveStreamLane, buffered_pcm_preview_profile, lan_buffered_audio_preview_profile,
21    lan_render_return_profile, realtime_local_audio_profile,
22    refuse_unbuffered_audio_callback_tunnel, validate_realtime_local_audio_profile,
23};
24pub use queue::{AudioToControlQueue, BoundedLiveQueue, ControlToAudioQueue};
25pub use runner::{LiveGraphConfig, LiveGraphRunner, LiveProcessReport, LiveSteadyStateSnapshot};
26pub use runtime::{AudioGraphLiveLib, install_audio_graph_live_lib};
27pub use site::{LivePlacedNode, LivePlacementSite, LivePlacementSnapshot};
28pub use transport::{
29    LanBufferedPreviewWindow, LiveTransportClock, lan_buffered_preview_drop_diagnostic_kind,
30    lan_buffered_preview_jitter_diagnostic_kind, lan_buffered_preview_late_packet_diagnostic_kind,
31    lan_buffered_preview_reorder_diagnostic_kind, live_clock_symbol,
32    validate_lan_buffered_preview_envelope,
33};
34
35/// Cookbook recipes for this lib, embedded at build time.
36pub static RECIPES: sim_cookbook::EmbeddedDir =
37    include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));
38
39#[cfg(test)]
40mod site_tests;
41#[cfg(test)]
42mod tests;