pub struct SignalFlowGraph {
pub buses: HashMap<u64, AudioBus>,
pub edges: Vec<SignalFlowEdge>,
pub next_bus_id: u64,
pub master_bus_id: u64,
pub topology_order: Vec<u64>,
}Fields§
§buses: HashMap<u64, AudioBus>§edges: Vec<SignalFlowEdge>§next_bus_id: u64§master_bus_id: u64§topology_order: Vec<u64>Implementations§
Source§impl SignalFlowGraph
impl SignalFlowGraph
pub fn new() -> Self
pub fn create_bus(&mut self, name: String, bus_type: BusType) -> u64
pub fn connect(&mut self, from: u64, to: u64, level: f32)
pub fn disconnect(&mut self, from: u64, to: u64)
Sourcepub fn rebuild_topology(&mut self)
pub fn rebuild_topology(&mut self)
Kahn’s algorithm topological sort for processing order (children before parents)
pub fn get_bus(&self, id: u64) -> Option<&AudioBus>
pub fn get_bus_mut(&mut self, id: u64) -> Option<&mut AudioBus>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SignalFlowGraph
impl RefUnwindSafe for SignalFlowGraph
impl Send for SignalFlowGraph
impl Sync for SignalFlowGraph
impl Unpin for SignalFlowGraph
impl UnsafeUnpin for SignalFlowGraph
impl UnwindSafe for SignalFlowGraph
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.