#ifndef __Logical4_H #define __Logical4_H #include class Logical4 : public LV2Plugin<5> { public: Logical4(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/logical4"; 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. */ //begin ButterComp double controlAposL; double controlAnegL; double controlBposL; double controlBnegL; double targetposL; double targetnegL; double controlAposBL; double controlAnegBL; double controlBposBL; double controlBnegBL; double targetposBL; double targetnegBL; double controlAposCL; double controlAnegCL; double controlBposCL; double controlBnegCL; double targetposCL; double targetnegCL; double avgAL; double avgBL; double avgCL; double avgDL; double avgEL; double avgFL; double nvgAL; double nvgBL; double nvgCL; double nvgDL; double nvgEL; double nvgFL; //end ButterComp //begin Power Sag double dL[1000]; double controlL; double bL[1000]; double controlBL; double cL[1000]; double controlCL; //end Power Sag //begin ButterComp double controlAposR; double controlAnegR; double controlBposR; double controlBnegR; double targetposR; double targetnegR; double controlAposBR; double controlAnegBR; double controlBposBR; double controlBnegBR; double targetposBR; double targetnegBR; double controlAposCR; double controlAnegCR; double controlBposCR; double controlBnegCR; double targetposCR; double targetnegCR; double avgAR; double avgBR; double avgCR; double avgDR; double avgER; double avgFR; double nvgAR; double nvgBR; double nvgCR; double nvgDR; double nvgER; double nvgFR; //end ButterComp //begin Power Sag double dR[1000]; double controlR; double bR[1000]; double controlBR; double cR[1000]; double controlCR; //end Power Sag int gcount; double fpNShapeL; double fpNShapeR; bool fpFlip; //default stuff float A; float B; float C; float D; float E; }; #endif