pub struct Ducker { /* private fields */ }Expand description
Sidechain ducker. Inputs are program channels followed by matching sidechain channels.
At most two channels are processed; the envelope follows the loudest sidechain channel.
Implementations§
Source§impl Ducker
impl Ducker
Sourcepub fn new(
threshold: f32,
depth_db: f32,
attack_ms: f32,
release_ms: f32,
) -> Self
pub fn new( threshold: f32, depth_db: f32, attack_ms: f32, release_ms: f32, ) -> Self
Creates a ducker with linear threshold and maximum attenuation in decibels.
The sign of depth_db is ignored and the attenuation is capped at 96 dB. A non-finite or
non-positive threshold becomes 0.1.
Sourcepub fn set_bypass(&mut self, bypass: bool)
pub fn set_bypass(&mut self, bypass: bool)
Enables transparent bypass while retaining envelope continuity.
Trait Implementations§
Source§impl Processor for Ducker
impl Processor for Ducker
Source§fn inputs_per_output(&self) -> usize
fn inputs_per_output(&self) -> usize
The program, then the sidechain.
Source§fn history_samples(&self) -> u32
fn history_samples(&self) -> u32
Additional source history for a cold seek, excluding algorithmic delay.
Built-in recursive processors use a finite settling horizon; this is an
approximation to uninterrupted playback, not a bit-exact state snapshot.
Source§fn prepare(&mut self, sample_rate: u32, _max_block: usize)
fn prepare(&mut self, sample_rate: u32, _max_block: usize)
Configures non-real-time state before processing begins.
Source§fn process(
&mut self,
_ctx: &ProcessCtx,
inputs: &[&[f32]],
outputs: &mut [&mut [f32]],
)
fn process( &mut self, _ctx: &ProcessCtx, inputs: &[&[f32]], outputs: &mut [&mut [f32]], )
Processes planar channel slices supplied by the host. Read more
Source§fn save_state(&self) -> StateBlob
fn save_state(&self) -> StateBlob
Serializes history at an offline chunk boundary.
Source§fn load_state(&mut self, state: &StateBlob) -> Result<(), StateError>
fn load_state(&mut self, state: &StateBlob) -> Result<(), StateError>
Restores history saved by a processor of the same type, prepared
alike, whole or not at all. Read more
Source§fn latency_samples(&self) -> u32
fn latency_samples(&self) -> u32
Algorithmic delay that the graph host must compensate.
Auto Trait Implementations§
impl Freeze for Ducker
impl RefUnwindSafe for Ducker
impl Send for Ducker
impl Sync for Ducker
impl Unpin for Ducker
impl UnsafeUnpin for Ducker
impl UnwindSafe for Ducker
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