pub struct RunningRMSProcessorImpl<ST: AtomicFloatRepresentable + Float> { /* private fields */ }
Expand description
An AudioProcessor
which slides a window & calculates a running Squared sum of the input.
It exposes a RunningRMSProcessorHandle
which may be called from any thread to get the current
RMS in real-time.
When the internal window’s buffer needs to be resized, it’s replaced via an atomic pointer swap.
Implementations§
Source§impl<ST> RunningRMSProcessorImpl<ST>where
ST: AtomicFloatRepresentable + Float + 'static,
ST::AtomicType: Send + Sync + Clone + 'static,
impl<ST> RunningRMSProcessorImpl<ST>where
ST: AtomicFloatRepresentable + Float + 'static,
ST::AtomicType: Send + Sync + Clone + 'static,
Sourcepub fn new_with_duration(gc_handle: &Handle, duration: Duration) -> Self
pub fn new_with_duration(gc_handle: &Handle, duration: Duration) -> Self
Create a RunningRMSProcessor
which will calculate RMS based on a certain duration
of
samples.
pub fn from_handle(handle: Shared<RunningRMSProcessorHandleImpl<ST>>) -> Self
pub fn handle(&self) -> &Shared<RunningRMSProcessorHandleImpl<ST>>
Trait Implementations§
Source§impl<ST> AudioProcessor for RunningRMSProcessorImpl<ST>where
ST: AtomicFloatRepresentable + Float + 'static,
ST::AtomicType: Send + Sync + Clone + 'static,
impl<ST> AudioProcessor for RunningRMSProcessorImpl<ST>where
ST: AtomicFloatRepresentable + Float + 'static,
ST::AtomicType: Send + Sync + Clone + 'static,
type SampleType = ST
Source§fn prepare(&mut self, context: &mut AudioContext)
fn prepare(&mut self, context: &mut AudioContext)
Prepare for playback based on current audio settings
Source§fn process(
&mut self,
_context: &mut AudioContext,
buffer: &mut AudioBuffer<Self::SampleType>,
)
fn process( &mut self, _context: &mut AudioContext, buffer: &mut AudioBuffer<Self::SampleType>, )
Process a block of samples by mutating the input
AudioBuffer
Auto Trait Implementations§
impl<ST> Freeze for RunningRMSProcessorImpl<ST>
impl<ST> RefUnwindSafe for RunningRMSProcessorImpl<ST>
impl<ST> Send for RunningRMSProcessorImpl<ST>
impl<ST> Sync for RunningRMSProcessorImpl<ST>
impl<ST> Unpin for RunningRMSProcessorImpl<ST>
impl<ST> UnwindSafe for RunningRMSProcessorImpl<ST>
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