DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
Loading...
Searching...
No Matches
dspark::detail::SaturationAlgorithm< T > Class Template Referenceabstract

#include <Saturation.h>

Inheritance diagram for dspark::detail::SaturationAlgorithm< T >:

Public Member Functions

virtual ~SaturationAlgorithm ()=default
 
virtual void prepare (const AudioSpec &spec) noexcept=0
 Prepares the algorithm with the current audio specification.
 
virtual void reset () noexcept=0
 Resets internal states (filters, phase, memory).
 
virtual void update (T, T, const AudioSpec &) noexcept
 Updates internal coefficients dependent on block-rate parameters.
 
virtual Saturation< T >::Algorithm getType () const noexcept=0
 Identifies the exact algorithm type for CRTP static dispatch.
 
void setAntialias (bool on) noexcept
 Enables 1st-order antiderivative anti-aliasing (ADAA) on the memoryless curves (Tanh/Tube/HardClip). Combined with oversampling this is the cleanest known approach (Parker/Zavalishin DAFx-16, Bilbao et al. 2017). No-op for algorithms that do not implement it. Default off (transparent).
 

Static Public Attributes

static constexpr int kAaCh = 16
 

Protected Attributes

std::atomic< bool > antialias_ { false }
 

Detailed Description

template<typename T>
class dspark::detail::SaturationAlgorithm< T >

Definition at line 78 of file Saturation.h.

Constructor & Destructor Documentation

◆ ~SaturationAlgorithm()

template<typename T >
virtual dspark::detail::SaturationAlgorithm< T >::~SaturationAlgorithm ( )
virtualdefault

Member Function Documentation

◆ getType()

◆ prepare()

◆ reset()

◆ setAntialias()

template<typename T >
void dspark::detail::SaturationAlgorithm< T >::setAntialias ( bool  on)
inlinenoexcept

Enables 1st-order antiderivative anti-aliasing (ADAA) on the memoryless curves (Tanh/Tube/HardClip). Combined with oversampling this is the cleanest known approach (Parker/Zavalishin DAFx-16, Bilbao et al. 2017). No-op for algorithms that do not implement it. Default off (transparent).

Definition at line 103 of file Saturation.h.

◆ update()

template<typename T >
virtual void dspark::detail::SaturationAlgorithm< T >::update ( ,
,
const AudioSpec  
)
inlinevirtualnoexcept

Member Data Documentation

◆ antialias_

template<typename T >
std::atomic<bool> dspark::detail::SaturationAlgorithm< T >::antialias_ { false }
protected

Definition at line 106 of file Saturation.h.

◆ kAaCh

template<typename T >
constexpr int dspark::detail::SaturationAlgorithm< T >::kAaCh = 16
staticconstexpr

Definition at line 81 of file Saturation.h.


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