sst-filters
Filters submodule for the Surge Synthesizer
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
CytomicSVFCascade< M, Driven, Compensated > Struct Template Reference

#include <CytomicSVFCascade.h>

Public Types

using Coeff = cytomic_cascade::detail::Coeff
 

Public Member Functions

 CytomicSVFCascade ()
 
void init ()
 
void setCoeff (float freq, float res, float srInvIn)
 
void setCoeff (float freqL, float freqR, float resL, float resR, float srInvIn)
 
template<int blockSize>
void setCoeffForBlock (float freq, float res, float srInvIn)
 
template<int blockSize>
void setCoeffForBlock (float freqL, float freqR, float resL, float resR, float srInvIn)
 
template<int blockSize>
void retainCoeffForBlock ()
 
SIMD_M128 processBlockStepSSE (SIMD_M128 vin)
 
void processBlockStep (float &L)
 
void processBlockStep (float &L, float &R)
 
template<int blockSize>
void processBlock (const float *const inL, float *outL)
 
template<int blockSize>
void processBlock (const float *const inL, const float *const inR, float *outL, float *outR)
 
SIMD_M128 processBlockStepFMSSE (SIMD_M128 vin, SIMD_M128 freq)
 
template<int blockSize>
void processBlockFM (const float *const inL, const float *const freqL, float *outL)
 
template<int blockSize>
void processBlockFM (const float *const inL, const float *const inR, const float *const freqL, const float *const freqR, float *outL, float *outR)
 

Public Attributes

SIMD_M128 ic1 [2]
 
SIMD_M128 ic2 [2]
 
SIMD_M128 C [nCoeff]
 
SIMD_M128 dC [nCoeff]
 
float srInv {1.f / 48000.f}
 
bool firstBlock {true}
 

Static Public Attributes

static constexpr int nCoeff = Coeff::count
 

Member Typedef Documentation

◆ Coeff

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
using Coeff = cytomic_cascade::detail::Coeff

Constructor & Destructor Documentation

◆ CytomicSVFCascade()

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
CytomicSVFCascade ( )

Member Function Documentation

◆ init()

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
void init ( )

◆ setCoeff() [1/2]

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
void setCoeff ( float  freq,
float  res,
float  srInvIn 
)

◆ setCoeff() [2/2]

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
void setCoeff ( float  freqL,
float  freqR,
float  resL,
float  resR,
float  srInvIn 
)

◆ setCoeffForBlock() [1/2]

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
template<int blockSize>
void setCoeffForBlock ( float  freq,
float  res,
float  srInvIn 
)

◆ setCoeffForBlock() [2/2]

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
template<int blockSize>
void setCoeffForBlock ( float  freqL,
float  freqR,
float  resL,
float  resR,
float  srInvIn 
)

◆ retainCoeffForBlock()

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
template<int blockSize>
void retainCoeffForBlock ( )

◆ processBlockStepSSE()

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
SIMD_M128 processBlockStepSSE ( SIMD_M128  vin)

◆ processBlockStep() [1/2]

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
void processBlockStep ( float &  L)

◆ processBlockStep() [2/2]

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
void processBlockStep ( float &  L,
float &  R 
)

◆ processBlock() [1/2]

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
template<int blockSize>
void processBlock ( const float *const  inL,
float *  outL 
)

◆ processBlock() [2/2]

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
template<int blockSize>
void processBlock ( const float *const  inL,
const float *const  inR,
float *  outL,
float *  outR 
)

◆ processBlockStepFMSSE()

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
SIMD_M128 processBlockStepFMSSE ( SIMD_M128  vin,
SIMD_M128  freq 
)

◆ processBlockFM() [1/2]

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
template<int blockSize>
void processBlockFM ( const float *const  inL,
const float *const  freqL,
float *  outL 
)

◆ processBlockFM() [2/2]

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
template<int blockSize>
void processBlockFM ( const float *const  inL,
const float *const  inR,
const float *const  freqL,
const float *const  freqR,
float *  outL,
float *  outR 
)

Member Data Documentation

◆ nCoeff

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
constexpr int nCoeff = Coeff::count
staticconstexpr

◆ ic1

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
SIMD_M128 ic1[2]

◆ ic2

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
SIMD_M128 ic2[2]

◆ C

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
SIMD_M128 C[nCoeff]

◆ dC

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
SIMD_M128 dC[nCoeff]

◆ srInv

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
float srInv {1.f / 48000.f}

◆ firstBlock

template<cytomic_cascade::Mode M, bool Driven = false, bool Compensated = false>
bool firstBlock {true}

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