Struct InterstageLoading
pub struct InterstageLoading { /* private fields */ }Expand description
Models the interaction between a source (output) and load (input) impedance.
The source and load form a frequency-dependent voltage divider.
At DC: V_load = V_source * R_load / (R_src + R_load)
At high frequencies, the capacitances create additional rolloff.
For most pedal combinations (buffered output -> high-Z input), the loading is negligible. But for impedance-sensitive circuits (guitar -> Fuzz Face, wah -> fuzz), this interaction is crucial to the sound.
Implementations§
§impl InterstageLoading
impl InterstageLoading
pub fn new(
source: ImpedanceModel,
load: ImpedanceModel,
sample_rate: f64,
) -> InterstageLoading
pub fn new( source: ImpedanceModel, load: ImpedanceModel, sample_rate: f64, ) -> InterstageLoading
Create a new interstage loading model.
pub fn transparent(sample_rate: f64) -> InterstageLoading
pub fn transparent(sample_rate: f64) -> InterstageLoading
Create a loading model that’s effectively transparent (buffer -> buffer).
pub fn process(&mut self, input: f64) -> f64
pub fn process(&mut self, input: f64) -> f64
Process one sample through the loading model.
Applies DC attenuation and frequency-dependent rolloff.
pub fn set_sample_rate(&mut self, sample_rate: f64)
pub fn set_sample_rate(&mut self, sample_rate: f64)
Update sample rate.
pub fn reset(&mut self)
pub fn reset(&mut self)
Reset filter state.
Trait Implementations§
§impl Clone for InterstageLoading
impl Clone for InterstageLoading
§fn clone(&self) -> InterstageLoading
fn clone(&self) -> InterstageLoading
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 moreAuto Trait Implementations§
impl Freeze for InterstageLoading
impl RefUnwindSafe for InterstageLoading
impl Send for InterstageLoading
impl Sync for InterstageLoading
impl Unpin for InterstageLoading
impl UnsafeUnpin for InterstageLoading
impl UnwindSafe for InterstageLoading
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