UpdateContext

Struct UpdateContext 

Source
pub struct UpdateContext<'a> {
    pub node_id: NodeID,
    pub stream_info: Option<&'a StreamInfo>,
    /* private fields */
}
Expand description

A context for AudioNode::update.

Fields§

§node_id: NodeID

The ID of this audio node.

§stream_info: Option<&'a StreamInfo>

Information about the running audio stream. If no audio stream is running, then this will be None.

Implementations§

Source§

impl<'a> UpdateContext<'a>

Source

pub fn new( node_id: NodeID, stream_info: Option<&'a StreamInfo>, custom_state: &'a mut Option<Box<dyn Any>>, event_queue: &'a mut Vec<NodeEvent>, ) -> Self

Source

pub fn queue_event(&mut self, event: NodeEventType)

Queue an event to send to this node’s processor counterpart.

Source

pub fn schedule_event(&mut self, event: NodeEventType, time: EventInstant)

Queue an event to send to this node’s processor counterpart, at a certain time.

§Performance

Note that for most nodes that handle scheduled events, this will split the buffer into chunks and process those chunks. If two events are scheduled too close to one another in time then that chunk may be too small for the audio processing to be fully vectorized.

Source

pub fn custom_state<T: 'static>(&self) -> Option<&T>

Get an immutable reference to the custom state that was created in AudioNodeInfo::custom_state.

Source

pub fn custom_state_mut<T: 'static>(&mut self) -> Option<&mut T>

Get a mutable reference to the custom state that was created in AudioNodeInfo::custom_state.

Auto Trait Implementations§

§

impl<'a> Freeze for UpdateContext<'a>

§

impl<'a> !RefUnwindSafe for UpdateContext<'a>

§

impl<'a> !Send for UpdateContext<'a>

§

impl<'a> !Sync for UpdateContext<'a>

§

impl<'a> Unpin for UpdateContext<'a>

§

impl<'a> !UnwindSafe for UpdateContext<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoResult<T> for T

Source§

fn into_result(self) -> Result<T, RunSystemError>

Converts this type into the system output type.
Source§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

Source§

fn into_sample(self) -> T

Source§

impl<A> Is for A
where A: Any,

Source§

fn is<T>() -> bool
where T: Any,

Checks if the current type “is” another type, using a TypeId equality comparison. This is most useful in the context of generic logic. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.