pub struct EnvelopeFollowerProcessorImpl<ST: AtomicFloatRepresentable> { /* private fields */ }
Expand description
An implementation of an envelope follower.
Implements audio_processor_traits::simple_processor::MonoAudioProcessor
. Can either use it for per-sample
processing or wrap this with [audio_processor_traits::simple_processor::BufferProcessor
].
Example
use audio_processor_analysis::envelope_follower_processor::EnvelopeFollowerProcessorImpl;
use audio_processor_traits::{AudioContext, AudioProcessorSettings, simple_processor::MonoAudioProcessor};
let mut envelope_follower = EnvelopeFollowerProcessorImpl::default();
let _handle = envelope_follower.handle(); // can send to another thread
// Envelope follower implements `MonoAudioProcessor
let mut context = AudioContext::from(AudioProcessorSettings::default());
envelope_follower.m_prepare(&mut context);
envelope_follower.m_process(&mut context, 1.0);
Implementations§
source§impl<ST> EnvelopeFollowerProcessorImpl<ST>
impl<ST> EnvelopeFollowerProcessorImpl<ST>
Trait Implementations§
source§impl<ST> Default for EnvelopeFollowerProcessorImpl<ST>
impl<ST> Default for EnvelopeFollowerProcessorImpl<ST>
source§impl<ST: AtomicFloatRepresentable + Copy + Float> MonoAudioProcessor for EnvelopeFollowerProcessorImpl<ST>
impl<ST: AtomicFloatRepresentable + Copy + Float> MonoAudioProcessor for EnvelopeFollowerProcessorImpl<ST>
type SampleType = ST
fn m_prepare(&mut self, context: &mut AudioContext)
fn m_process( &mut self, _context: &mut AudioContext, sample: Self::SampleType ) -> Self::SampleType
Auto Trait Implementations§
impl<ST> RefUnwindSafe for EnvelopeFollowerProcessorImpl<ST>where
ST: RefUnwindSafe,
<ST as AtomicFloatRepresentable>::AtomicType: RefUnwindSafe,
impl<ST> Send for EnvelopeFollowerProcessorImpl<ST>
impl<ST> Sync for EnvelopeFollowerProcessorImpl<ST>
impl<ST> Unpin for EnvelopeFollowerProcessorImpl<ST>
impl<ST> UnwindSafe for EnvelopeFollowerProcessorImpl<ST>where
ST: UnwindSafe + RefUnwindSafe,
<ST as AtomicFloatRepresentable>::AtomicType: UnwindSafe + RefUnwindSafe,
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