diff options
Diffstat (limited to 'plugins/LV2/src/MV/MV.h')
-rw-r--r-- | plugins/LV2/src/MV/MV.h | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/plugins/LV2/src/MV/MV.h b/plugins/LV2/src/MV/MV.h new file mode 100644 index 0000000..e5214fb --- /dev/null +++ b/plugins/LV2/src/MV/MV.h @@ -0,0 +1,177 @@ +#ifndef __MV_H +#define __MV_H + +#include <lv2plugin.h> + +class MV : public LV2Plugin<5> { +public: + MV(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/mv"; + +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 + + float A; + float B; + float C; + float D; + float E; //parameters. Always 0-1, and we scale/alter them elsewhere. + + double aAL[15150]; + double aBL[14618]; + double aCL[14358]; + double aDL[13818]; + double aEL[13562]; + double aFL[13046]; + double aGL[11966]; + double aHL[11130]; + double aIL[10598]; + double aJL[9810]; + double aKL[9522]; + double aLL[8982]; + double aML[8786]; + double aNL[8462]; + double aOL[8310]; + double aPL[7982]; + double aQL[7322]; + double aRL[6818]; + double aSL[6506]; + double aTL[6002]; + double aUL[5838]; + double aVL[5502]; + double aWL[5010]; + double aXL[4850]; + double aYL[4296]; + double aZL[4180]; + + double avgAL; + double avgBL; + double avgCL; + double avgDL; + double avgEL; + double avgFL; + double avgGL; + double avgHL; + double avgIL; + double avgJL; + double avgKL; + double avgLL; + double avgML; + double avgNL; + double avgOL; + double avgPL; + double avgQL; + double avgRL; + double avgSL; + double avgTL; + double avgUL; + double avgVL; + double avgWL; + double avgXL; + double avgYL; + double avgZL; + + double feedbackL; + + double aAR[15150]; + double aBR[14618]; + double aCR[14358]; + double aDR[13818]; + double aER[13562]; + double aFR[13046]; + double aGR[11966]; + double aHR[11130]; + double aIR[10598]; + double aJR[9810]; + double aKR[9522]; + double aLR[8982]; + double aMR[8786]; + double aNR[8462]; + double aOR[8310]; + double aPR[7982]; + double aQR[7322]; + double aRR[6818]; + double aSR[6506]; + double aTR[6002]; + double aUR[5838]; + double aVR[5502]; + double aWR[5010]; + double aXR[4850]; + double aYR[4296]; + double aZR[4180]; + + double avgAR; + double avgBR; + double avgCR; + double avgDR; + double avgER; + double avgFR; + double avgGR; + double avgHR; + double avgIR; + double avgJR; + double avgKR; + double avgLR; + double avgMR; + double avgNR; + double avgOR; + double avgPR; + double avgQR; + double avgRR; + double avgSR; + double avgTR; + double avgUR; + double avgVR; + double avgWR; + double avgXR; + double avgYR; + double avgZR; + + double feedbackR; + + //these are delay lengths and same for both sides + int alpA, delayA; + int alpB, delayB; + int alpC, delayC; + int alpD, delayD; + int alpE, delayE; + int alpF, delayF; + int alpG, delayG; + int alpH, delayH; + int alpI, delayI; + int alpJ, delayJ; + int alpK, delayK; + int alpL, delayL; + int alpM, delayM; + int alpN, delayN; + int alpO, delayO; + int alpP, delayP; + int alpQ, delayQ; + int alpR, delayR; + int alpS, delayS; + int alpT, delayT; + int alpU, delayU; + int alpV, delayV; + int alpW, delayW; + int alpX, delayX; + int alpY, delayY; + int alpZ, delayZ; +}; + +#endif |