#ifndef __EQ_H #define __EQ_H #include class EQ : public LV2Plugin<8> { public: EQ(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/eq"; 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 float A; float B; float C; float D; float E; float F; float G; float H; }; #endif