Struct Linkwitz Riley Crossover
pub struct LinkwitzRileyCrossover { /* private fields */ }Expand description
One channel of f64 LR4 processing with four fixed-storage biquads. Consumers own channel instances, headroom, denormals and callback deadlines. Nonfinite audio propagates and may poison history until reset. This electrical profile supplies no loudspeaker alignment, automatic routing or crossover modulation.
Implementations§
§impl LinkwitzRileyCrossover
impl LinkwitzRileyCrossover
pub fn new(coefficients: LinkwitzRileyCoefficients) -> Self
pub fn new(coefficients: LinkwitzRileyCoefficients) -> Self
Construct zeroed state from a complete validated control-thread design.
pub fn set_coefficients(&mut self, coefficients: LinkwitzRileyCoefficients)
pub fn set_coefficients(&mut self, coefficients: LinkwitzRileyCoefficients)
Replace both branches while retaining all histories, without smoothing or a click-free transition. Designing a new cutoff is a separate step.
pub fn reset(&mut self)
pub fn reset(&mut self)
Clear all four histories without allocation or coefficient changes.
pub fn process_sample(&mut self, sample: f64) -> CrossoverOutputs
pub fn process_sample(&mut self, sample: f64) -> CrossoverOutputs
Split one sample without allocating or releasing heap storage.
pub fn process_block(
&mut self,
input: &[f64],
low: &mut [f64],
high: &mut [f64],
) -> Result<(), CrossoverLengthError>
pub fn process_block( &mut self, input: &[f64], low: &mut [f64], high: &mut [f64], ) -> Result<(), CrossoverLengthError>
Split equal-length buffers. A mismatch leaves both output buffers and every history unchanged. Empty buffers are a valid no-op. No allocation.
Trait Implementations§
§impl Clone for LinkwitzRileyCrossover
impl Clone for LinkwitzRileyCrossover
§fn clone(&self) -> LinkwitzRileyCrossover
fn clone(&self) -> LinkwitzRileyCrossover
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more