pub struct NodeEventList<'a> { /* private fields */ }Expand description
A list of events for an AudioNodeProcessor.
Implementations§
Source§impl<'a> NodeEventList<'a>
impl<'a> NodeEventList<'a>
pub fn new(event_buffer: &'a mut [NodeEvent], indices: &'a [u32]) -> Self
pub fn num_events(&self) -> usize
pub fn get_event(&mut self, index: usize) -> Option<&mut NodeEventType>
pub fn for_each(&mut self, f: impl FnMut(&mut NodeEventType))
Sourcepub fn for_each_patch<T: Patch>(&mut self, f: impl FnMut(T::Patch))
pub fn for_each_patch<T: Patch>(&mut self, f: impl FnMut(T::Patch))
Iterate over patches for T.
#[derive(Patch, Default)]
struct FilterNode {
frequency: f32,
quality: f32,
}
// You can match on individual patch variants.
event_list.for_each_patch::<FilterNode>(|patch| match patch {
FilterNodePatch::Frequency(frequency) => {}
FilterNodePatch::Quality(quality) => {}
});
// Or simply apply all of them.
let mut node = FilterNode::default();
event_list.for_each_patch::<FilterNode>(|patch| node.apply(patch));Errors produced while constructing patches are simply skipped.
Auto Trait Implementations§
impl<'a> Freeze for NodeEventList<'a>
impl<'a> !RefUnwindSafe for NodeEventList<'a>
impl<'a> Send for NodeEventList<'a>
impl<'a> Sync for NodeEventList<'a>
impl<'a> Unpin for NodeEventList<'a>
impl<'a> !UnwindSafe for NodeEventList<'a>
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
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>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn 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>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which 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)
Converts
&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)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.