#ifndef __ButterComp2_H #define __ButterComp2_H #include class ButterComp2 : public LV2Plugin<3> { public: ButterComp2(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/buttercomp2"; 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 controlAposL; long double controlAnegL; long double controlBposL; long double controlBnegL; long double targetposL; long double targetnegL; long double lastOutputL; long double controlAposR; long double controlAnegR; long double controlBposR; long double controlBnegR; long double targetposR; long double targetnegR; long double lastOutputR; bool flip; long double fpNShapeL; long double fpNShapeR; //default stuff float A; float B; float C; }; #endif