#ifndef __PurestSquish_H #define __PurestSquish_H #include class PurestSquish : public LV2Plugin<4> { public: PurestSquish(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/purestsquish"; 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. */ uint32_t fpd; //default stuff float A; float B; float C; float D; double muVaryL; double muAttackL; double muNewSpeedL; double muSpeedAL; double muSpeedBL; double muSpeedCL; double muSpeedDL; double muSpeedEL; double muCoefficientAL; double muCoefficientBL; double muCoefficientCL; double muCoefficientDL; double muCoefficientEL; double iirSampleAL; double iirSampleBL; double iirSampleCL; double iirSampleDL; double iirSampleEL; double lastCoefficientAL; double lastCoefficientBL; double lastCoefficientCL; double lastCoefficientDL; double mergedCoefficientsL; double muVaryR; double muAttackR; double muNewSpeedR; double muSpeedAR; double muSpeedBR; double muSpeedCR; double muSpeedDR; double muSpeedER; double muCoefficientAR; double muCoefficientBR; double muCoefficientCR; double muCoefficientDR; double muCoefficientER; double iirSampleAR; double iirSampleBR; double iirSampleCR; double iirSampleDR; double iirSampleER; double lastCoefficientAR; double lastCoefficientBR; double lastCoefficientCR; double lastCoefficientDR; double mergedCoefficientsR; int count; bool fpFlip; }; #endif