#ifndef __Thunder_H #define __Thunder_H #include class Thunder : public LV2Plugin<2> { public: Thunder(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/thunder"; 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. */ double muVary; double muAttack; double muNewSpeed; double muSpeedA; double muSpeedB; double muCoefficientA; double muCoefficientB; double gateL; double gateR; double iirSampleAL; double iirSampleBL; double iirSampleAR; double iirSampleBR; double iirSampleAM; double iirSampleBM; double iirSampleCM; long double fpNShapeL; long double fpNShapeR; bool flip; float A; float B; }; #endif