pub struct Waveshaper { /* private fields */ }Expand description
A Processor applying a nonlinear waveshaping curve with drive and output
gain.
Implementations§
Source§impl Waveshaper
impl Waveshaper
Sourcepub fn new(shape: Waveshape, drive: f32) -> Self
pub fn new(shape: Waveshape, drive: f32) -> Self
Creates a waveshaper with the given curve and drive (clamped to >= 0).
Sourcepub fn with_output_gain(self, output_gain: f32) -> Self
pub fn with_output_gain(self, output_gain: f32) -> Self
Returns the waveshaper with its post-curve output gain set.
Sourcepub fn process_sample(&self, input: f32) -> f32
pub fn process_sample(&self, input: f32) -> f32
Applies the drive, curve, and output gain to one sample.
Trait Implementations§
Source§impl Clone for Waveshaper
impl Clone for Waveshaper
Source§fn clone(&self) -> Waveshaper
fn clone(&self) -> Waveshaper
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Waveshaper
impl Debug for Waveshaper
Source§impl PartialEq for Waveshaper
impl PartialEq for Waveshaper
Source§impl Processor for Waveshaper
impl Processor for Waveshaper
Source§fn prepare(&mut self, _cfg: PrepareConfig)
fn prepare(&mut self, _cfg: PrepareConfig)
Prepares the processor for a sample rate, block size, and channel layout.
Source§fn process(&mut self, block: &mut ProcessBlock<'_>)
fn process(&mut self, block: &mut ProcessBlock<'_>)
Processes one block of audio and events in place.
Source§fn clock_domain(&self) -> ClockDomain
fn clock_domain(&self) -> ClockDomain
Returns the processor’s clock domain (defaults to sample rate).
Source§fn latency_class(&self) -> LatencyClass
fn latency_class(&self) -> LatencyClass
Returns the processor’s latency class (defaults to block-local).
Source§fn realtime_pin(&self) -> bool
fn realtime_pin(&self) -> bool
Returns whether the processor must run in the realtime thread (defaults
to
true).Source§fn ports(&self, in_channels: u16, out_channels: u16) -> Vec<PortDecl>
fn ports(&self, in_channels: u16, out_channels: u16) -> Vec<PortDecl>
Returns the processor’s port declarations for the given channel counts
(defaults to a single audio in/out pair).
Source§fn descriptor(&self, in_channels: u16, out_channels: u16) -> ProcessorDescriptor
fn descriptor(&self, in_channels: u16, out_channels: u16) -> ProcessorDescriptor
Returns the full
ProcessorDescriptor assembled from this processor’s
clock, latency, pinning, and ports.Source§fn tail_frames(&self) -> u64
fn tail_frames(&self) -> u64
Returns the processor’s release tail length in frames (defaults to
0).impl StructuralPartialEq for Waveshaper
Auto Trait Implementations§
impl Freeze for Waveshaper
impl RefUnwindSafe for Waveshaper
impl Send for Waveshaper
impl Sync for Waveshaper
impl Unpin for Waveshaper
impl UnsafeUnpin for Waveshaper
impl UnwindSafe for Waveshaper
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