pub struct BusGraph {
slots: Vec<Slot>,
order: Vec<u64>,
main: u64,
have_main: bool,
}Expand description
Bus routing + per-bus filter state, rebuilt when the bus set changes.
Fields§
§slots: Vec<Slot>§order: Vec<u64>§main: u64§have_main: boolImplementations§
Source§impl BusGraph
impl BusGraph
pub fn new() -> Self
Sourcepub fn sync(&mut self, project: &Project)
pub fn sync(&mut self, project: &Project)
Rebuild for project (cheap when nothing changed). Cycles fall back to routing into Main.
Sourcepub fn order_ref(&self) -> &[u64]
pub fn order_ref(&self) -> &[u64]
The same order without the allocation, for the mixer’s per-block loop.
Sourcepub fn buffer(&mut self, bus: u64, frames: usize) -> &mut [f32]
pub fn buffer(&mut self, bus: u64, frames: usize) -> &mut [f32]
Scratch buffer for a bus (created on demand, zeroed for the block).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BusGraph
impl RefUnwindSafe for BusGraph
impl Send for BusGraph
impl Sync for BusGraph
impl Unpin for BusGraph
impl UnwindSafe for BusGraph
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
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more