#ifndef __PodcastDeluxe_H #define __PodcastDeluxe_H #include class PodcastDeluxe : public LV2Plugin<1> { public: PodcastDeluxe(double rate); void activate(); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/podcastdeluxe"; 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. */ uint32_t fpd; //default stuff double d1L[503]; double d2L[503]; double d3L[503]; double d4L[503]; double d5L[503]; //the phase rotator double c1L; double c2L; double c3L; double c4L; double c5L; //the compressor double lastSampleL; double lastOutSampleL; double d1R[503]; double d2R[503]; double d3R[503]; double d4R[503]; double d5R[503]; int tap1, tap2, tap3, tap4, tap5, maxdelay1, maxdelay2, maxdelay3, maxdelay4, maxdelay5; //the phase rotator double c1R; double c2R; double c3R; double c4R; double c5R; //the compressor double lastSampleR; double lastOutSampleR; float A; }; #endif