#ifndef __Energy_H #define __Energy_H #include class Energy : public LV2Plugin<9> { public: Energy(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/energy"; 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 duoEvenL; double duoOddL; double duoFactorL; bool flip; double tripletAL; double tripletBL; double tripletCL; double tripletFactorL; int countA; double quadAL; double quadBL; double quadCL; double quadDL; double quadFactorL; int countB; double quintAL; double quintBL; double quintCL; double quintDL; double quintEL; double quintFactorL; int countC; double sextAL; double sextBL; double sextCL; double sextDL; double sextEL; double sextFL; double sextFactorL; int countD; double septAL; double septBL; double septCL; double septDL; double septEL; double septFL; double septGL; double septFactorL; int countE; double octAL; double octBL; double octCL; double octDL; double octEL; double octFL; double octGL; double octHL; double octFactorL; int countF; double nintAL; double nintBL; double nintCL; double nintDL; double nintEL; double nintFL; double nintGL; double nintHL; double nintIL; double nintFactorL; int countG; double PrevHL; double PrevGL; double PrevFL; double PrevEL; double PrevDL; double PrevCL; double PrevBL; double PrevAL; double duoEvenR; double duoOddR; double duoFactorR; double tripletAR; double tripletBR; double tripletCR; double tripletFactorR; double quadAR; double quadBR; double quadCR; double quadDR; double quadFactorR; double quintAR; double quintBR; double quintCR; double quintDR; double quintER; double quintFactorR; double sextAR; double sextBR; double sextCR; double sextDR; double sextER; double sextFR; double sextFactorR; double septAR; double septBR; double septCR; double septDR; double septER; double septFR; double septGR; double septFactorR; double octAR; double octBR; double octCR; double octDR; double octER; double octFR; double octGR; double octHR; double octFactorR; double nintAR; double nintBR; double nintCR; double nintDR; double nintER; double nintFR; double nintGR; double nintHR; double nintIR; double nintFactorR; double PrevHR; double PrevGR; double PrevFR; double PrevER; double PrevDR; double PrevCR; double PrevBR; double PrevAR; float A; float B; float C; float D; float E; float F; float G; float H; float I; }; #endif