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
10pub mod cookbook;
11mod event;
12mod profile;
13mod queue;
14mod runner;
15mod runner_types;
16mod runtime;
17mod site;
18mod transport;
19
20pub use cookbook::live_config_demo;
21pub use event::{LiveAudioEvent, LiveControlEvent, LiveQueuePush};
22pub use profile::{
23    LiveStreamLane, buffered_pcm_preview_profile, lan_buffered_audio_preview_profile,
24    lan_render_return_profile, realtime_local_audio_profile,
25    refuse_unbuffered_audio_callback_tunnel, validate_realtime_local_audio_profile,
26};
27pub use queue::{AudioToControlQueue, BoundedLiveQueue, ControlToAudioQueue};
28pub use runner::{LiveGraphConfig, LiveGraphRunner, LiveProcessReport, LiveSteadyStateSnapshot};
29pub use runtime::{AudioGraphLiveLib, install_audio_graph_live_lib};
30pub use site::{LivePlacedNode, LivePlacementSite, LivePlacementSnapshot};
31pub use transport::{
32    LanBufferedPreviewWindow, LiveTransportClock, lan_buffered_preview_drop_diagnostic_kind,
33    lan_buffered_preview_jitter_diagnostic_kind, lan_buffered_preview_late_packet_diagnostic_kind,
34    lan_buffered_preview_reorder_diagnostic_kind, live_clock_symbol,
35    validate_lan_buffered_preview_envelope,
36};
37
38/// Cookbook recipes for this lib, embedded at build time.
39pub static RECIPES: sim_cookbook::EmbeddedDir =
40    include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));
41
42#[cfg(test)]
43mod site_tests;
44#[cfg(test)]
45mod tests;