sst-filters
Filters submodule for the Surge Synthesizer
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
CytomicSVF Struct Reference

Public Types

enum  Mode {
  LP , HP , BP , NOTCH ,
  PEAK , ALL , BELL , LOW_SHELF ,
  HIGH_SHELF
}
 

Public Member Functions

void setCoeff (Mode mode, float freq, float res, float srInv, float bellShelfAmp=1.f)
 
void setCoeff (Mode mode, float freqL, float freqR, float resL, float resR, float srInv, float bellShelfAmpL, float bellShelfAmpR)
 
void setCoeffPostGK (Mode mode, SIMD_M128 bellShelfSSE)
 
void fetchCoeffs (const CytomicSVF &that)
 
template<int blockSize>
void setCoeffForBlock (Mode mode, float freq, float res, float srInv, float bellShelfAmp=1.f)
 
template<int blockSize>
void setCoeffForBlock (Mode mode, float freqL, float freqR, float resL, float resR, float srInv, float bellShelfAmpL, float bellShelfAmpR)
 
template<int blockSize>
void retainCoeffForBlock ()
 
void processBlockStep (float &L, float &R)
 
void processBlockStep (float &L)
 
template<int blockSize>
void processBlock (const float *const inL, const float *const inR, float *outL, float *outR)
 
template<int blockSize>
void processBlock (const float *const inL, float *outL)
 
void init ()
 

Static Public Member Functions

static void step (CytomicSVF &that, float &L, float &R)
 
static SIMD_M128 stepSSE (CytomicSVF &that, SIMD_M128 vin)
 

Public Attributes

SIMD_M128 ic1eq {SIMD_MM(setzero_ps)()}
 
SIMD_M128 ic2eq {SIMD_MM(setzero_ps)()}
 
SIMD_M128 g
 
SIMD_M128 k
 
SIMD_M128 gk
 
SIMD_M128 a1
 
SIMD_M128 a2
 
SIMD_M128 a3
 
SIMD_M128 m0
 
SIMD_M128 m1
 
SIMD_M128 m2
 
SIMD_M128 oneSSE {SIMD_MM(set1_ps)(1.0)}
 
SIMD_M128 negoneSSE {SIMD_MM(set1_ps)(-1.0)}
 
SIMD_M128 twoSSE {SIMD_MM(set1_ps)(2.0)}
 
SIMD_M128 negtwoSSE {SIMD_MM(set1_ps)(-2.0)}
 
SIMD_M128 a1_prior
 
SIMD_M128 a2_prior
 
SIMD_M128 a3_prior
 
SIMD_M128 da1
 
SIMD_M128 da2
 
SIMD_M128 da3
 
bool firstBlock {true}
 

Member Enumeration Documentation

◆ Mode

enum Mode
Enumerator
LP 
HP 
BP 
NOTCH 
PEAK 
ALL 
BELL 
LOW_SHELF 
HIGH_SHELF 

Member Function Documentation

◆ setCoeff() [1/2]

void setCoeff ( Mode  mode,
float  freq,
float  res,
float  srInv,
float  bellShelfAmp = 1.f 
)

◆ setCoeff() [2/2]

void setCoeff ( Mode  mode,
float  freqL,
float  freqR,
float  resL,
float  resR,
float  srInv,
float  bellShelfAmpL,
float  bellShelfAmpR 
)

◆ setCoeffPostGK()

void setCoeffPostGK ( Mode  mode,
SIMD_M128  bellShelfSSE 
)

◆ fetchCoeffs()

void fetchCoeffs ( const CytomicSVF that)

◆ step()

static void step ( CytomicSVF that,
float &  L,
float &  R 
)
static

◆ stepSSE()

static SIMD_M128 stepSSE ( CytomicSVF that,
SIMD_M128  vin 
)
static

◆ setCoeffForBlock() [1/2]

void setCoeffForBlock ( Mode  mode,
float  freq,
float  res,
float  srInv,
float  bellShelfAmp = 1.f 
)

◆ setCoeffForBlock() [2/2]

void setCoeffForBlock ( Mode  mode,
float  freqL,
float  freqR,
float  resL,
float  resR,
float  srInv,
float  bellShelfAmpL,
float  bellShelfAmpR 
)

◆ retainCoeffForBlock()

void retainCoeffForBlock ( )

◆ processBlockStep() [1/2]

void processBlockStep ( float &  L,
float &  R 
)

◆ processBlockStep() [2/2]

void processBlockStep ( float &  L)

◆ processBlock() [1/2]

void processBlock ( const float *const  inL,
const float *const  inR,
float *  outL,
float *  outR 
)

◆ processBlock() [2/2]

void processBlock ( const float *const  inL,
float *  outL 
)

◆ init()

void init ( )

Member Data Documentation

◆ ic1eq

SIMD_M128 ic1eq {SIMD_MM(setzero_ps)()}

◆ ic2eq

SIMD_M128 ic2eq {SIMD_MM(setzero_ps)()}

◆ g

SIMD_M128 g

◆ k

SIMD_M128 k

◆ gk

SIMD_M128 gk

◆ a1

SIMD_M128 a1

◆ a2

SIMD_M128 a2

◆ a3

SIMD_M128 a3

◆ m0

SIMD_M128 m0

◆ m1

SIMD_M128 m1

◆ m2

SIMD_M128 m2

◆ oneSSE

SIMD_M128 oneSSE {SIMD_MM(set1_ps)(1.0)}

◆ negoneSSE

SIMD_M128 negoneSSE {SIMD_MM(set1_ps)(-1.0)}

◆ twoSSE

SIMD_M128 twoSSE {SIMD_MM(set1_ps)(2.0)}

◆ negtwoSSE

SIMD_M128 negtwoSSE {SIMD_MM(set1_ps)(-2.0)}

◆ a1_prior

SIMD_M128 a1_prior

◆ a2_prior

SIMD_M128 a2_prior

◆ a3_prior

SIMD_M128 a3_prior

◆ da1

SIMD_M128 da1

◆ da2

SIMD_M128 da2

◆ da3

SIMD_M128 da3

◆ firstBlock

bool firstBlock {true}

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