aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LV2/src/MV/MV.h
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2021-07-31 21:34:28 +0200
committerHarald Eilertsen <haraldei@anduin.net>2021-07-31 21:34:28 +0200
commit1bd34fa795d0eac15d0dc9d4c756f19fc6624872 (patch)
treefdb9bb2e5e20a0adb2953597beafd66aa7c924fc /plugins/LV2/src/MV/MV.h
parent94a6cc3d6c70883e08fd7be16e9405d44bfb94e5 (diff)
downloadairwindows-lv2-port-1bd34fa795d0eac15d0dc9d4c756f19fc6624872.tar.gz
airwindows-lv2-port-1bd34fa795d0eac15d0dc9d4c756f19fc6624872.tar.bz2
airwindows-lv2-port-1bd34fa795d0eac15d0dc9d4c756f19fc6624872.zip
LV2: Port another batch of plugins, EQ - SurgeTide
Some plugins won't compile for various reasons, these have been left out for now. One plugin failed autoporting, so that one's left out too. I have not tested these plugins yet, so no guarantees that they work, or that they work right. Please report any problems or if there's missing control info to the mailing list.
Diffstat (limited to 'plugins/LV2/src/MV/MV.h')
-rw-r--r--plugins/LV2/src/MV/MV.h177
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