diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2020-08-02 19:57:27 +0200 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2020-08-02 19:57:27 +0200 |
commit | fd75634c759a42cf9f8cb3906eda103bd9bdb914 (patch) | |
tree | 1a4acae31dfd6557c7d3dfafa022fcef16671445 /plugins/LV2/src/BassDrive/BassDrive.h | |
parent | 324af68339359ed49100a8dce900219d83167f1c (diff) | |
download | airwindows-lv2-port-fd75634c759a42cf9f8cb3906eda103bd9bdb914.tar.gz airwindows-lv2-port-fd75634c759a42cf9f8cb3906eda103bd9bdb914.tar.bz2 airwindows-lv2-port-fd75634c759a42cf9f8cb3906eda103bd9bdb914.zip |
LV2: Port BassDrive plugin.
Diffstat (limited to 'plugins/LV2/src/BassDrive/BassDrive.h')
-rw-r--r-- | plugins/LV2/src/BassDrive/BassDrive.h | 70 |
1 files changed, 70 insertions, 0 deletions
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 <lv2plugin.h> + +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 |