diff options
author | Damien Zammit <damien@zamaudio.com> | 2016-08-03 20:20:32 +1000 |
---|---|---|
committer | Damien Zammit <damien@zamaudio.com> | 2016-08-03 20:20:32 +1000 |
commit | a0a21f08c7b1b5718358a5776151b834483deb57 (patch) | |
tree | 58bbbd9870f9df9f3272cc58e15f003b7dc539e2 /plugins/ZaMultiComp/ZaMultiCompPlugin.hpp | |
parent | 404058e2bdcf41165d00e61fa3f78a273920b81b (diff) |
Multibands: Major upgrade to DSP for crossover filters, flat response
Signed-off-by: Damien Zammit <damien@zamaudio.com>
Diffstat (limited to 'plugins/ZaMultiComp/ZaMultiCompPlugin.hpp')
-rw-r--r-- | plugins/ZaMultiComp/ZaMultiCompPlugin.hpp | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/plugins/ZaMultiComp/ZaMultiCompPlugin.hpp b/plugins/ZaMultiComp/ZaMultiCompPlugin.hpp index dce9953..99cec2a 100644 --- a/plugins/ZaMultiComp/ZaMultiCompPlugin.hpp +++ b/plugins/ZaMultiComp/ZaMultiCompPlugin.hpp @@ -168,6 +168,18 @@ protected: void activate() override; void run(const float** inputs, float** outputs, uint32_t frames) override; + struct linear_svf { + double k; + double g; + + double s[2]; + }; + + struct linear_svf simper[2][MAX_FILT]; + void linear_svf_set_xover(struct linear_svf *self, float sample_rate, float cutoff, float resonance); + void linear_svf_reset(struct linear_svf *self); + float run_linear_svf_xover(struct linear_svf *self, float in, float mixlow, float mixhigh); + void pushsample(float samples[], float sample, int k); float averageabs(float samples[]); // ------------------------------------------------------------------- @@ -182,21 +194,7 @@ private: float outlevelold[3][MAX_SAMPLES]; float oldxover1, oldxover2; bool reset; - // Crossover filter coefficients - float c1[MAX_FILT]; - float c2[MAX_FILT]; - float c3[MAX_FILT]; - float c4[MAX_FILT]; - float gl[MAX_FILT]; - float gh[MAX_FILT]; - - //Crossover filter states - float z1[MAX_FILT]; - float z2[MAX_FILT]; - float z3[MAX_FILT]; - float z4[MAX_FILT]; - float z5[MAX_FILT]; - float z6[MAX_FILT]; + }; // ----------------------------------------------------------------------- |