Struct knyst::gen::dynamics::randja_compressor::RandjaCompressor
source · pub struct RandjaCompressor { /* private fields */ }
Expand description
Randja compressor ported from https://www.musicdsp.org/en/latest/Synthesis/272-randja-compressor.html?highlight=compressor
Implementations§
source§impl RandjaCompressor
impl RandjaCompressor
pub fn new() -> Self
sourcepub fn set_threshold(&mut self, threshold: Sample) -> &mut Self
pub fn set_threshold(&mut self, threshold: Sample) -> &mut Self
Set the gain threshold in amplitude (0.0, 1.0]
sourcepub fn set_ratio(&mut self, ratio: f32)
pub fn set_ratio(&mut self, ratio: f32)
Sets the ratio; ‘value’ must be in range [0.0; 1.0] with 0.0 representing a oo:1 ratio, 0.5 a 2:1 ratio; 1.0 a 1:1 ratio and so on.
sourcepub fn set_attack(&mut self, attack: f32)
pub fn set_attack(&mut self, attack: f32)
Sets the attack time; ‘value’ gives the attack time in samples
sourcepub fn set_release(&mut self, release: Sample)
pub fn set_release(&mut self, release: Sample)
Sets the release time; ‘value’ gives the release time in samples
sourcepub fn set_output(&mut self, output: Sample)
pub fn set_output(&mut self, output: Sample)
Sets the output gain; ‘value’ represents the gain, where 0dBFS is 1.0 (see set_threshold())
pub fn process( &mut self, input_left: &[Sample], input_right: &[Sample], output_left: &mut [Sample], output_right: &mut [Sample] ) -> GenState
source§impl RandjaCompressor
impl RandjaCompressor
sourcepub fn upload(self) -> Handle<RandjaCompressorHandle>
pub fn upload(self) -> Handle<RandjaCompressorHandle>
Upload the Gen to the currently selected Graph and return a handle
Trait Implementations§
source§impl Gen for RandjaCompressor
impl Gen for RandjaCompressor
source§fn process(
&mut self,
ctx: GenContext<'_, '_>,
resources: &mut Resources
) -> GenState
fn process( &mut self, ctx: GenContext<'_, '_>, resources: &mut Resources ) -> GenState
The input and output buffers are both indexed using [in/out_index][sample_index]. Read more
source§fn num_inputs(&self) -> usize
fn num_inputs(&self) -> usize
The number of inputs this
Gen
takes. Determines how big the input buffer is.source§fn num_outputs(&self) -> usize
fn num_outputs(&self) -> usize
The number of outputs this
Gen
produces. Determines how big the output buffer is.source§fn input_desc(&self, input: usize) -> &'static str
fn input_desc(&self, input: usize) -> &'static str
Return a label for a given input channel index. This sets the label in the
Connection
API.source§fn output_desc(&self, output: usize) -> &'static str
fn output_desc(&self, output: usize) -> &'static str
Return a label for a given output channel index. This sets the label in the
Connection
API.Auto Trait Implementations§
impl RefUnwindSafe for RandjaCompressor
impl Send for RandjaCompressor
impl Sync for RandjaCompressor
impl Unpin for RandjaCompressor
impl UnwindSafe for RandjaCompressor
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
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.