From 7881b2698cee2b0187adbe8a2c0a66a90cc371c1 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sat, 3 Apr 2021 15:07:02 +0200 Subject: Add more plugins, Console5Buss to curve --- plugins/LV2/src/CStrip/CStrip.h | 181 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 plugins/LV2/src/CStrip/CStrip.h (limited to 'plugins/LV2/src/CStrip/CStrip.h') 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 + +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 -- cgit v1.2.3