#ifndef __Slew2_H #define __Slew2_H #include class Slew2 : public LV2Plugin<1> { public: Slew2(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/slew2"; 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 LataLast3Sample; double LataLast2Sample; double LataLast1Sample; double LataHalfwaySample; double LataHalfDrySample; double LataHalfDiffSample; double LataA; double LataB; double LataC; double LataDecay; double LataUpsampleHighTweak; double LataDrySample; double LataDiffSample; double LataPrevDiffSample; double RataLast3Sample; double RataLast2Sample; double RataLast1Sample; double RataHalfwaySample; double RataHalfDrySample; double RataHalfDiffSample; double RataA; double RataB; double RataC; double RataDecay; double RataUpsampleHighTweak; double RataDrySample; double RataDiffSample; double RataPrevDiffSample; bool LataFlip; //end defining of antialiasing variables bool RataFlip; //end defining of antialiasing variables double lastSampleL; double lastSampleR; float A; }; #endif