pub struct Ducker { /* private fields */ }Expand description
Ducker (Q148)
A dedicated sidechain ducking processor: a key (sidechain) input drives gain
reduction on the main signal. When the key envelope is at or above the
threshold, the main signal is attenuated by up to amount; the reduction
tracks the key level with independent attack/release ballistics and recovers
when the key falls silent.
§Parameter reads via ModulatedParam (Q147)
amount and threshold are read through ModulatedParam: the panel knob is
the base, and the corresponding bipolar CV input is summed in through the
attenuverter on the ModulatedParam ±5 V scale. This makes ModulatedParam a
live knob+CV read path rather than an unused export.
Implementations§
Source§impl Ducker
impl Ducker
pub fn new(sample_rate: f64) -> Self
Sourcepub fn set_amount(&mut self, amount: f64)
pub fn set_amount(&mut self, amount: f64)
Set the duck-depth knob (0..1), the base of the amount ModulatedParam.
Sourcepub fn set_threshold(&mut self, threshold: f64)
pub fn set_threshold(&mut self, threshold: f64)
Set the threshold knob (0..1), the base of the threshold
ModulatedParam (mapped to a 0..5 V key level).
Trait Implementations§
Source§impl GraphModule for Ducker
impl GraphModule for Ducker
Source§fn tick(&mut self, inputs: &PortValues, outputs: &mut PortValues)
fn tick(&mut self, inputs: &PortValues, outputs: &mut PortValues)
Source§fn set_sample_rate(&mut self, sample_rate: f64)
fn set_sample_rate(&mut self, sample_rate: f64)
Source§fn introspect(&self) -> Option<&dyn ModuleIntrospection>
fn introspect(&self) -> Option<&dyn ModuleIntrospection>
alloc only.ModuleIntrospection view, if it exposes one. Read moreSource§fn introspect_mut(&mut self) -> Option<&mut dyn ModuleIntrospection>
fn introspect_mut(&mut self) -> Option<&mut dyn ModuleIntrospection>
alloc only.introspect, used to set internal parameters.Source§fn process_block(
&mut self,
inputs: &BlockPortValues,
outputs: &mut BlockPortValues,
frames: usize,
)
fn process_block( &mut self, inputs: &BlockPortValues, outputs: &mut BlockPortValues, frames: usize, )
Source§fn breaks_feedback_cycle(&self) -> bool
fn breaks_feedback_cycle(&self) -> bool
Source§fn serialize_state(&self) -> Option<Value>
fn serialize_state(&self) -> Option<Value>
alloc only.