AUDIO
Source snapshot · 12 October 2026

API reference / ravet_signal::LinkwitzRileyCrossover

Struct LinkwitzRileyCrossover 

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

pub fn new(coefficients: LinkwitzRileyCoefficients) -> Self

Construct zeroed state from a complete validated control-thread design.

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)

Clear all four histories without allocation or coefficient changes.

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>

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

§

fn clone(&self) -> LinkwitzRileyCrossover

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · §

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for LinkwitzRileyCrossover

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.