aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LV2/src/CStrip/CStrip.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/LV2/src/CStrip/CStrip.h')
-rw-r--r--plugins/LV2/src/CStrip/CStrip.h181
1 files changed, 181 insertions, 0 deletions
diff --git a/plugins/LV2/src/CStrip/CStrip.h b/plugins/LV2/src/CStrip/CStrip.h
new file mode 100644
index 0000000..548a6ea
--- /dev/null
+++ b/plugins/LV2/src/CStrip/CStrip.h
@@ -0,0 +1,181 @@
+#ifndef __CStrip_H
+#define __CStrip_H
+
+#include <lv2plugin.h>
+
+class CStrip : public LV2Plugin<12> {
+public:
+ CStrip(double rate);
+
+ void activate();
+ void run(uint32_t num_samples);
+
+ static constexpr const char * URI = "https://www.airwindows.com/cstrip";
+
+private:
+ /*
+ * These are the original DSP functions from the VST plugin.
+ * They need to be called from the LV2 plugins `run` function.
+ */
+ void processReplacing(float **in, float **out, VstInt32 samples);
+ void processDoubleReplacing(double **in, double **out, VstInt32 samples);
+
+ /*
+ * Members needed by the processing functions.
+ */
+
+ long double fpNShapeL;
+ long double fpNShapeR;
+ //default stuff
+
+ double lastSampleL;
+ double last2SampleL;
+ double lastSampleR;
+ double last2SampleR;
+
+ //begin EQ
+ double iirHighSampleLA;
+ double iirHighSampleLB;
+ double iirHighSampleLC;
+ double iirHighSampleLD;
+ double iirHighSampleLE;
+ double iirLowSampleLA;
+ double iirLowSampleLB;
+ double iirLowSampleLC;
+ double iirLowSampleLD;
+ double iirLowSampleLE;
+ double iirHighSampleL;
+ double iirLowSampleL;
+
+ double iirHighSampleRA;
+ double iirHighSampleRB;
+ double iirHighSampleRC;
+ double iirHighSampleRD;
+ double iirHighSampleRE;
+ double iirLowSampleRA;
+ double iirLowSampleRB;
+ double iirLowSampleRC;
+ double iirLowSampleRD;
+ double iirLowSampleRE;
+ double iirHighSampleR;
+ double iirLowSampleR;
+
+ double tripletLA;
+ double tripletLB;
+ double tripletLC;
+ double tripletFactorL;
+
+ double tripletRA;
+ double tripletRB;
+ double tripletRC;
+ double tripletFactorR;
+
+ double lowpassSampleLAA;
+ double lowpassSampleLAB;
+ double lowpassSampleLBA;
+ double lowpassSampleLBB;
+ double lowpassSampleLCA;
+ double lowpassSampleLCB;
+ double lowpassSampleLDA;
+ double lowpassSampleLDB;
+ double lowpassSampleLE;
+ double lowpassSampleLF;
+ double lowpassSampleLG;
+
+ double lowpassSampleRAA;
+ double lowpassSampleRAB;
+ double lowpassSampleRBA;
+ double lowpassSampleRBB;
+ double lowpassSampleRCA;
+ double lowpassSampleRCB;
+ double lowpassSampleRDA;
+ double lowpassSampleRDB;
+ double lowpassSampleRE;
+ double lowpassSampleRF;
+ double lowpassSampleRG;
+
+ double highpassSampleLAA;
+ double highpassSampleLAB;
+ double highpassSampleLBA;
+ double highpassSampleLBB;
+ double highpassSampleLCA;
+ double highpassSampleLCB;
+ double highpassSampleLDA;
+ double highpassSampleLDB;
+ double highpassSampleLE;
+ double highpassSampleLF;
+
+ double highpassSampleRAA;
+ double highpassSampleRAB;
+ double highpassSampleRBA;
+ double highpassSampleRBB;
+ double highpassSampleRCA;
+ double highpassSampleRCB;
+ double highpassSampleRDA;
+ double highpassSampleRDB;
+ double highpassSampleRE;
+ double highpassSampleRF;
+
+ bool flip;
+ int flipthree;
+ //end EQ
+
+ //begin Gate
+ bool WasNegativeL;
+ int ZeroCrossL;
+ double gaterollerL;
+ double gateL;
+
+ bool WasNegativeR;
+ int ZeroCrossR;
+ double gaterollerR;
+ double gateR;
+ //end Gate
+
+ //begin Timing
+ double pL[4099];
+ double pR[4099];
+ int count;
+ //end Timing
+
+ //begin ButterComp
+ double controlAposL;
+ double controlAnegL;
+ double controlBposL;
+ double controlBnegL;
+ double targetposL;
+ double targetnegL;
+ double avgLA;
+ double avgLB;
+ double nvgLA;
+ double nvgLB;
+
+ double controlAposR;
+ double controlAnegR;
+ double controlBposR;
+ double controlBnegR;
+ double targetposR;
+ double targetnegR;
+ double avgRA;
+ double avgRB;
+ double nvgRA;
+ double nvgRB;
+ //end ButterComp
+ //flip is already covered in EQ
+
+ float A;
+ float B;
+ float C;
+ float D;
+ float E;
+ float F;
+ float G;
+ float H;
+ float I;
+ float J;
+ float K;
+ float L;
+
+};
+
+#endif