From fd75634c759a42cf9f8cb3906eda103bd9bdb914 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sun, 2 Aug 2020 19:57:27 +0200 Subject: LV2: Port BassDrive plugin. --- plugins/LV2/src/BassDrive/BassDrive.h | 70 +++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 plugins/LV2/src/BassDrive/BassDrive.h (limited to 'plugins/LV2/src/BassDrive/BassDrive.h') diff --git a/plugins/LV2/src/BassDrive/BassDrive.h b/plugins/LV2/src/BassDrive/BassDrive.h new file mode 100644 index 0000000..73665c4 --- /dev/null +++ b/plugins/LV2/src/BassDrive/BassDrive.h @@ -0,0 +1,70 @@ +#ifndef __BassDrive_H +#define __BassDrive_H + +#include + +class BassDrive : public LV2Plugin<5> { +public: + BassDrive(double rate); + + 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 -- cgit v1.2.3