#ifndef __BassDrive_H #define __BassDrive_H #include class BassDrive : public LV2Plugin<5> { public: BassDrive(double rate); void activate() override; void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/bassdrive"; 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 presenceInAL[7]; double presenceOutAL[7]; double highInAL[7]; double highOutAL[7]; double midInAL[7]; double midOutAL[7]; double lowInAL[7]; double lowOutAL[7]; double presenceInBL[7]; double presenceOutBL[7]; double highInBL[7]; double highOutBL[7]; double midInBL[7]; double midOutBL[7]; double lowInBL[7]; double lowOutBL[7]; double presenceInAR[7]; double presenceOutAR[7]; double highInAR[7]; double highOutAR[7]; double midInAR[7]; double midOutAR[7]; double lowInAR[7]; double lowOutAR[7]; double presenceInBR[7]; double presenceOutBR[7]; double highInBR[7]; double highOutBR[7]; double midInBR[7]; double midOutBR[7]; double lowInBR[7]; double lowOutBR[7]; bool flip; float A; float B; float C; float D; float E; //parameters. Always 0-1, and we scale/alter them elsewhere. }; #endif