Struct ProcInfo

Source
pub struct ProcInfo<'a> {
    pub frames: usize,
    pub in_silence_mask: SilenceMask,
    pub out_silence_mask: SilenceMask,
    pub clock_seconds: Range<ClockSeconds>,
    pub clock_samples: ClockSamples,
    pub transport_info: Option<TransportInfo<'a>>,
    pub stream_status: StreamStatus,
    pub declick_values: &'a DeclickValues,
}
Expand description

Additional information for processing audio

Fields§

§frames: usize

The number of samples (in a single channel of audio) in this processing block.

Not to be confused with video frames.

§in_silence_mask: SilenceMask

An optional optimization hint on which input channels contain all zeros (silence). The first bit (0b1) is the first channel, the second bit is the second channel, and so on.

§out_silence_mask: SilenceMask

An optional optimization hint on which output channels contain all zeros (silence). The first bit (0b1) is the first channel, the second bit is the second channel, and so on.

§clock_seconds: Range<ClockSeconds>

The current interval of time of the internal clock in units of seconds. The start of the range is the instant of time at the first sample in the block (inclusive), and the end of the range is the instant of time at the end of the block (exclusive).

This uses the clock from the OS’s audio API so it should be quite accurate, and it correctly accounts for any output underflows that may occur.

§clock_samples: ClockSamples

The total number of samples (in a single channel of audio) that have been processed since the start of the audio stream.

This value can be used for more accurate timing than ProcInfo::clock_seconds, but note it does NOT account for any output underflows that may occur.

§transport_info: Option<TransportInfo<'a>>

Information about the musical transport.

This will be None if no musical transport is currently active, or if the current transport is currently paused.

§stream_status: StreamStatus

Flags indicating the current status of the audio stream

§declick_values: &'a DeclickValues

A buffer of values that linearly ramp up/down between 0.0 and 1.0 which can be used to implement efficient declicking when pausing/resuming/stopping.

Auto Trait Implementations§

§

impl<'a> Freeze for ProcInfo<'a>

§

impl<'a> RefUnwindSafe for ProcInfo<'a>

§

impl<'a> Send for ProcInfo<'a>

§

impl<'a> Sync for ProcInfo<'a>

§

impl<'a> Unpin for ProcInfo<'a>

§

impl<'a> UnwindSafe for ProcInfo<'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>

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>

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)

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)

Convert &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> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<F, T> IntoSample<T> for F
where T: FromSample<F>,

Source§

fn into_sample(self) -> T

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ConditionalSend for T
where T: Send,