#ifndef __Vibrato_H #define __Vibrato_H #include class Vibrato : public LV2Plugin<5> { public: Vibrato(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/vibrato"; 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 pL[16386]; //this is processed, not raw incoming samples double pR[16386]; //this is processed, not raw incoming samples double sweep; double sweepB; int gcount; double airPrevL; double airEvenL; double airOddL; double airFactorL; double airPrevR; double airEvenR; double airOddR; double airFactorR; bool flip; uint32_t fpd; //default stuff float A; float B; float C; float D; float E; //parameters. Always 0-1, and we scale/alter them elsewhere. }; #endif