sst-filters
Filters submodule for the Surge Synthesizer
Loading...
Searching...
No Matches
Namespaces | Classes | Enumerations | Functions
sst::filtersplusplus Namespace Reference

Namespaces

namespace  details
 
namespace  models
 

Classes

struct  Filter
 A class representing the surge filter models with a easier-to-use api. More...
 
struct  ModelConfig
 

Enumerations

enum struct  FilterModel : uint32_t {
  None = 0 , VemberClassic = 0x10 , VemberLadder = 0x18 , CytomicSVF = 0x20 ,
  K35 = 0x30 , DiodeLadder = 0x35 , OBXD_4Pole = 0x40 , OBXD_2Pole = 0x45 ,
  OBXD_Xpander = 0x47 , VintageLadder = 0x50 , CutoffWarp = 0x60 , ResonanceWarp = 0x65 ,
  TriPole = 0x70 , Comb = 0x80 , SampleAndHold = 0x85
}
 
enum struct  Passband : uint32_t {
  UNSUPPORTED = 0 , LP = 0x04 , HP = 0x08 , BP = 0x0C ,
  Notch = 0x10 , Peak = 0x14 , Allpass = 0x18 , LowShelf = 0x50 ,
  Bell = 0x60 , HighShelf = 0x70 , Phaser = 0x80 , NotchAndLP = 0x92 ,
  PhaserAndLP = 0x94
}
 
enum struct  Slope : uint32_t {
  UNSUPPORTED = 0 , Slope_6dB = 0x06 , Slope_12dB = 0x12 , Slope_18dB = 0x18 ,
  Slope_24dB = 0x24 , Slope_6dB12dB = 0x07 , Slope_6dB18dB = 0x08 , Slope_12dB6dB = 0x13 ,
  Slope_18dB6dB = 0x19 , Slope_1Stage = 0x30 , Slope_2Stage = 0x31 , Slope_3Stage = 0x32 ,
  Slope_4Stage = 0x33 , Slope_Morph = 0x40 , Comb_Negative_ContinuousMix = 0x50 , Comb_Negative_100 = 0x51 ,
  Comb_Negative_50 = 0x52 , Comb_Positive_50 = 0x53 , Comb_Positive_100 = 0x54 , Comb_Positive_ContinuousMix = 0x55 ,
  Comb_Bipolar_ContinuousMix = 0x56
}
 
enum struct  DriveMode : uint32_t {
  UNSUPPORTED = 0 , Standard = 0x10 , Clean = 0x12 , Driven = 0x14 ,
  NotchMild = 0x18 , K35_None = 0x30 , K35_Mild = 0x32 , K35_Moderate = 0x34 ,
  K35_Heavy = 0x36 , K35_Extreme = 0x38 , K35_Continuous = 0x39 , Tanh = 0x40 ,
  SoftClip = 0x42 , OJD = 0x44 , Pushed = 0x50
}
 
enum struct  FilterSubModel : uint32_t {
  UNSUPPORTED = 0 , BrokenOBXD4Pole24 = 0x10 , RungeKutta = 0x20 , RungeKuttaCompensated = 0x22 ,
  Huov = 0x24 , HuovCompensated = 0x26 , LowLowLow = 0x30 + 0b000 , LowHighLow = 0x30 + 0b010 ,
  HighLowHigh = 0x30 + 0b101 , HighHighHigh = 0x30 + 0b111
}
 

Functions

SIMD_M128 offFun (sst::filters::QuadFilterUnitState *__restrict, SIMD_M128 in)
 
std::string toString (const FilterModel &f)
 
std::string toString (const Passband &p)
 
std::string toString (const Slope &s)
 
std::string toString (const DriveMode &d)
 
std::string toString (const FilterSubModel &s)
 
bool operator== (const ModelConfig &lhs, const ModelConfig &rhs) noexcept
 
bool operator< (const ModelConfig &lhs, const ModelConfig &rhs) noexcept
 

Enumeration Type Documentation

◆ FilterModel

enum struct FilterModel : uint32_t
strong
Enumerator
None 
VemberClassic 
VemberLadder 
CytomicSVF 
K35 
DiodeLadder 
OBXD_4Pole 
OBXD_2Pole 
OBXD_Xpander 
VintageLadder 
CutoffWarp 
ResonanceWarp 
TriPole 
Comb 
SampleAndHold 

◆ Passband

enum struct Passband : uint32_t
strong
Enumerator
UNSUPPORTED 
LP 
HP 
BP 
Notch 
Peak 
Allpass 
LowShelf 
Bell 
HighShelf 
Phaser 
NotchAndLP 
PhaserAndLP 

◆ Slope

enum struct Slope : uint32_t
strong
Enumerator
UNSUPPORTED 
Slope_6dB 
Slope_12dB 
Slope_18dB 
Slope_24dB 
Slope_6dB12dB 
Slope_6dB18dB 
Slope_12dB6dB 
Slope_18dB6dB 
Slope_1Stage 
Slope_2Stage 
Slope_3Stage 
Slope_4Stage 
Slope_Morph 
Comb_Negative_ContinuousMix 
Comb_Negative_100 
Comb_Negative_50 
Comb_Positive_50 
Comb_Positive_100 
Comb_Positive_ContinuousMix 
Comb_Bipolar_ContinuousMix 

◆ DriveMode

enum struct DriveMode : uint32_t
strong
Enumerator
UNSUPPORTED 
Standard 
Clean 
Driven 
NotchMild 
K35_None 
K35_Mild 
K35_Moderate 
K35_Heavy 
K35_Extreme 
K35_Continuous 
Tanh 
SoftClip 
OJD 
Pushed 

◆ FilterSubModel

enum struct FilterSubModel : uint32_t
strong
Enumerator
UNSUPPORTED 
BrokenOBXD4Pole24 
RungeKutta 
RungeKuttaCompensated 
Huov 
HuovCompensated 
LowLowLow 
LowHighLow 
HighLowHigh 
HighHighHigh 

Function Documentation

◆ offFun()

SIMD_M128 offFun ( sst::filters::QuadFilterUnitState __restrict,
SIMD_M128  in 
)

Referenced by Filter::prepareInstance().

◆ toString() [1/5]

std::string toString ( const FilterModel f)

◆ toString() [2/5]

std::string toString ( const Passband p)

◆ toString() [3/5]

std::string toString ( const Slope s)

◆ toString() [4/5]

std::string toString ( const DriveMode d)

◆ toString() [5/5]

std::string toString ( const FilterSubModel s)

◆ operator==()

bool operator== ( const ModelConfig lhs,
const ModelConfig rhs 
)
noexcept

◆ operator<()

bool operator< ( const ModelConfig lhs,
const ModelConfig rhs 
)
noexcept

References L.