pub struct LoudnessMeter { /* private fields */ }Expand description
Real-time EBU R128 loudness meter.
Wraps ebur128 and exposes only the momentary / short-term / integrated
values needed for the master strip readout.
Implementations§
Source§impl LoudnessMeter
impl LoudnessMeter
Sourcepub fn new(channels: usize, sample_rate: u32) -> Result<Self, Error>
pub fn new(channels: usize, sample_rate: u32) -> Result<Self, Error>
Create a new meter for the given channel count and sample rate.
pub fn channels(&self) -> usize
pub fn sample_rate(&self) -> u32
Sourcepub fn feed_interleaved(&mut self, samples: &[f32])
pub fn feed_interleaved(&mut self, samples: &[f32])
Feed a block of interleaved floating-point samples into the meter.
This should be called every audio cycle so integrated loudness remains
accurate; call Self::values only when the readout is actually needed
(e.g. at the same rate as the VU meter snapshot).
Sourcepub fn values(&self) -> LoudnessValues
pub fn values(&self) -> LoudnessValues
Return the current momentary / short-term / integrated loudness values.
Auto Trait Implementations§
impl Freeze for LoudnessMeter
impl RefUnwindSafe for LoudnessMeter
impl Send for LoudnessMeter
impl Sync for LoudnessMeter
impl Unpin for LoudnessMeter
impl UnsafeUnpin for LoudnessMeter
impl UnwindSafe for LoudnessMeter
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<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more