pub struct AudioGraph<T: Transcendental, const BUF_SIZE: usize> { /* private fields */ }Expand description
Immutable audio graph with static DAG topology.
Once built the graph cannot be modified. The graph owns no processing
logic — it is a pure topology description. Processing is driven by
port-level methods (pre_process, snapshot_feedback, propagate)
called from external code (e.g. a real-time audio callback or an
offline renderer).
Implementations§
Source§impl<T: Transcendental, const BUF_SIZE: usize> AudioGraph<T, BUF_SIZE>
impl<T: Transcendental, const BUF_SIZE: usize> AudioGraph<T, BUF_SIZE>
Sourcepub fn new(clock_source: Box<dyn ClockSource>) -> Self
pub fn new(clock_source: Box<dyn ClockSource>) -> Self
Create an empty graph with the given clock source.
Sourcepub fn with_sample_rate(sample_rate: f32) -> Self
pub fn with_sample_rate(sample_rate: f32) -> Self
Create an empty graph with a system clock at the given sample rate.
Sourcepub fn output_buffer(
&self,
node_idx: usize,
port_idx: usize,
) -> Option<&[T; BUF_SIZE]>
pub fn output_buffer( &self, node_idx: usize, port_idx: usize, ) -> Option<&[T; BUF_SIZE]>
Borrow an output port buffer (for inspection in tests).
pub fn current_tick(&self) -> ClockTick
pub fn node_count(&self) -> usize
pub fn topo_order(&self) -> &[usize]
Sourcepub fn dispatch_set_parameters(&mut self, commands: &[SetParameter])
pub fn dispatch_set_parameters(&mut self, commands: &[SetParameter])
Dispatch SetParameter commands to their target nodes.
Each command is routed to the node identified by cmd.port.node_id()
via that node’s apply_set_parameter method.
Auto Trait Implementations§
impl<T, const BUF_SIZE: usize> Freeze for AudioGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> !RefUnwindSafe for AudioGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Send for AudioGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Sync for AudioGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Unpin for AudioGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> UnsafeUnpin for AudioGraph<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> !UnwindSafe for AudioGraph<T, BUF_SIZE>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more