#ifndef __ToVinyl4_H #define __ToVinyl4_H #include class ToVinyl4 : public LV2Plugin<4> { public: ToVinyl4(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/tovinyl4"; 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 ataLastOutL; double ataLastOutR; double s1L; double s2L; double s3L; double o1L; double o2L; double o3L; double m1L; double m2L; double s1R; double s2R; double s3R; double o1R; double o2R; double o3R; double m1R; double m2R; double desL; double desR; double midSampleA; double midSampleB; double midSampleC; double midSampleD; double midSampleE; double midSampleF; double midSampleG; double midSampleH; double midSampleI; double midSampleJ; double midSampleK; double midSampleL; double midSampleM; double midSampleN; double midSampleO; double midSampleP; double midSampleQ; double midSampleR; double midSampleS; double midSampleT; double midSampleU; double midSampleV; double midSampleW; double midSampleX; double midSampleY; double midSampleZ; double sideSampleA; double sideSampleB; double sideSampleC; double sideSampleD; double sideSampleE; double sideSampleF; double sideSampleG; double sideSampleH; double sideSampleI; double sideSampleJ; double sideSampleK; double sideSampleL; double sideSampleM; double sideSampleN; double sideSampleO; double sideSampleP; double sideSampleQ; double sideSampleR; double sideSampleS; double sideSampleT; double sideSampleU; double sideSampleV; double sideSampleW; double sideSampleX; double sideSampleY; double sideSampleZ; double aMid[11]; double bMid[11]; double fMid[11]; double aSide[11]; double bSide[11]; double fSide[11]; double aMidPrev; double aSidePrev; double bMidPrev; double bSidePrev; long double fpNShapeL; long double fpNShapeR; //default stuff float A; float B; float C; float D; }; #endif