Expand description

Envelope follower implementation

Usage

use std::time::Duration;
use audio_garbage_collector::Shared;
use audio_processor_analysis::envelope_follower_processor::{EnvelopeFollowerHandle, EnvelopeFollowerProcessor};
use audio_processor_traits::{AudioContext, AudioProcessorSettings, simple_processor::MonoAudioProcessor};

let mut envelope_follower = EnvelopeFollowerProcessor::default();
let handle: Shared<EnvelopeFollowerHandle> = envelope_follower.handle().clone();
handle.set_attack(Duration::from_secs_f32(0.4));

let mut context = AudioContext::from(AudioProcessorSettings::default());
envelope_follower.m_prepare(&mut context);
envelope_follower.m_process(&mut context, 0.0);

Structs