Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::LinkwitzRileyT< SampleType > Class Template Reference

#include <linkwitz_riley.hpp>

Classes

struct  SectionCoefficients
struct  BandSplit

Public Member Functions

void set_frequency (SampleType hz, SampleType sample_rate)
void set_frequency_precise (SampleType hz, SampleType sample_rate)
 Exact Butterworth alignment for new LR4 constructions.
SectionCoefficients section_coefficients () const
 Coefficients shared by both cascaded sections of each LR4 branch.
void set_section_coefficients (const SectionCoefficients &coefficients)
 Change coefficients without clearing recursive state.
BandSplit process (SampleType input)
void reset ()

Static Public Attributes

static constexpr SampleType legacy_butterworth_q = SampleType{0.707f}
static constexpr SampleType exact_butterworth_q

Member Function Documentation

◆ process()

template<typename SampleType = float>
BandSplit pulp::signal::LinkwitzRileyT< SampleType >::process ( SampleType input)
inline

◆ reset()

template<typename SampleType = float>
void pulp::signal::LinkwitzRileyT< SampleType >::reset ( )
inline

◆ section_coefficients()

template<typename SampleType = float>
SectionCoefficients pulp::signal::LinkwitzRileyT< SampleType >::section_coefficients ( ) const
inline

Coefficients shared by both cascaded sections of each LR4 branch.

◆ set_frequency()

template<typename SampleType = float>
void pulp::signal::LinkwitzRileyT< SampleType >::set_frequency ( SampleType hz,
SampleType sample_rate )
inline

◆ set_frequency_precise()

template<typename SampleType = float>
void pulp::signal::LinkwitzRileyT< SampleType >::set_frequency_precise ( SampleType hz,
SampleType sample_rate )
inline

Exact Butterworth alignment for new LR4 constructions.

The two-argument overload retains its historical rounded-Q coefficients for render compatibility with existing consumers.

◆ set_section_coefficients()

template<typename SampleType = float>
void pulp::signal::LinkwitzRileyT< SampleType >::set_section_coefficients ( const SectionCoefficients & coefficients)
inline

Change coefficients without clearing recursive state.

This lets several phase-related LR4 paths receive one identical coefficient design.

Member Data Documentation

◆ exact_butterworth_q

template<typename SampleType = float>
SampleType pulp::signal::LinkwitzRileyT< SampleType >::exact_butterworth_q
staticconstexpr
Initial value:
=
static_cast<SampleType>(0.707106781186547524400844362104849039L)

◆ legacy_butterworth_q

template<typename SampleType = float>
SampleType pulp::signal::LinkwitzRileyT< SampleType >::legacy_butterworth_q = SampleType{0.707f}
staticconstexpr

The documentation for this class was generated from the following file: