SamplerPool

Struct SamplerPool 

Source
pub struct SamplerPool;
Expand description

A struct which uses a SamplerNode as the first node in an AudioNodePool.

Trait Implementations§

Source§

impl PoolableNode for SamplerPool

Source§

fn num_output_channels(config: Option<&SamplerConfig>) -> NonZeroChannelCount

Return the number of output channels for the given configuration.

Source§

fn params_stopped(params: &SamplerNode) -> bool

Return true if the given parameters signify that the sequence is stopped, false otherwise.

Source§

fn node_is_stopped<B: AudioBackend>( node_id: NodeID, cx: &FirewheelCtx<B>, ) -> Result<bool, PoolError>

Return true if the node state of the given node is stopped.

Return an error if the given node_id is invalid.

Source§

fn worker_score<B: AudioBackend>( params: &SamplerNode, node_id: NodeID, cx: &mut FirewheelCtx<B>, ) -> Result<u64, PoolError>

Return a score of how ready this node is to accept new work.

The worker with the highest worker score will be chosen for the new work.

Return an error if the given node_id is invalid.

Source§

fn diff<B: AudioBackend>( baseline: &SamplerNode, new: &SamplerNode, event_queue: &mut ContextQueue<'_, B>, )

Diff the new parameters and push the changes into the event queue.

Source§

fn mark_stopped<B: AudioBackend>( stopped: bool, node_id: NodeID, cx: &mut FirewheelCtx<B>, ) -> Result<(), PoolError>

Notify the node state that a sequence is playing/stopped.

If stopped is true, then the sequence has been stopped. If stopped is false, then a new sequence has been started.

This is used to account for the delay between sending an event to the node and the node receiving the event.

Return an error if the given node_id is invalid.

Source§

fn pause(params: &mut SamplerNode)

Pause the sequence in the node parameters

Source§

fn resume(params: &mut SamplerNode)

Resume the sequence in the node parameters

Source§

fn stop(params: &mut SamplerNode)

Stop the sequence in the node parameters

Source§

type AudioNode = SamplerNode

The node parameters

Auto Trait Implementations§

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> 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, 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.