#ifndef __Acceleration_H #define __Acceleration_H #include #include #include class Acceleration : public LV2Plugin<2> { public: Acceleration(double rate); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/acceleration"; 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); // Temp values used by the processing code double A; // Value of limit when processing called double B; // Value of dry/wet when processing called // To keep state between runs double ataLastOutL; double s1L; double s2L; double s3L; double o1L; double o2L; double o3L; double m1L; double m2L; double desL; double ataLastOutR; double s1R; double s2R; double s3R; double o1R; double o2R; double o3R; double m1R; double m2R; double desR; long double fpNShapeL; long double fpNShapeR; }; #endif