aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LV2/src/Energy/Energy.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/LV2/src/Energy/Energy.h')
-rw-r--r--plugins/LV2/src/Energy/Energy.h189
1 files changed, 189 insertions, 0 deletions
diff --git a/plugins/LV2/src/Energy/Energy.h b/plugins/LV2/src/Energy/Energy.h
new file mode 100644
index 0000000..e489585
--- /dev/null
+++ b/plugins/LV2/src/Energy/Energy.h
@@ -0,0 +1,189 @@
+#ifndef __Energy_H
+#define __Energy_H
+
+#include <lv2plugin.h>
+
+class Energy : public LV2Plugin<9> {
+public:
+ Energy(double rate);
+
+ void activate();
+ void run(uint32_t num_samples);
+
+ static constexpr const char * URI = "https://www.airwindows.com/energy";
+
+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.
+ */
+
+ long double fpNShapeL;
+ long double fpNShapeR;
+ //default stuff
+
+ double duoEvenL;
+ double duoOddL;
+ double duoFactorL;
+ bool flip;
+
+ double tripletAL;
+ double tripletBL;
+ double tripletCL;
+ double tripletFactorL;
+ int countA;
+
+ double quadAL;
+ double quadBL;
+ double quadCL;
+ double quadDL;
+ double quadFactorL;
+ int countB;
+
+ double quintAL;
+ double quintBL;
+ double quintCL;
+ double quintDL;
+ double quintEL;
+ double quintFactorL;
+ int countC;
+
+ double sextAL;
+ double sextBL;
+ double sextCL;
+ double sextDL;
+ double sextEL;
+ double sextFL;
+ double sextFactorL;
+ int countD;
+
+ double septAL;
+ double septBL;
+ double septCL;
+ double septDL;
+ double septEL;
+ double septFL;
+ double septGL;
+ double septFactorL;
+ int countE;
+
+ double octAL;
+ double octBL;
+ double octCL;
+ double octDL;
+ double octEL;
+ double octFL;
+ double octGL;
+ double octHL;
+ double octFactorL;
+ int countF;
+
+ double nintAL;
+ double nintBL;
+ double nintCL;
+ double nintDL;
+ double nintEL;
+ double nintFL;
+ double nintGL;
+ double nintHL;
+ double nintIL;
+ double nintFactorL;
+ int countG;
+
+ double PrevHL;
+ double PrevGL;
+ double PrevFL;
+ double PrevEL;
+ double PrevDL;
+ double PrevCL;
+ double PrevBL;
+ double PrevAL;
+
+ double duoEvenR;
+ double duoOddR;
+ double duoFactorR;
+
+ double tripletAR;
+ double tripletBR;
+ double tripletCR;
+ double tripletFactorR;
+
+ double quadAR;
+ double quadBR;
+ double quadCR;
+ double quadDR;
+ double quadFactorR;
+
+ double quintAR;
+ double quintBR;
+ double quintCR;
+ double quintDR;
+ double quintER;
+ double quintFactorR;
+
+ double sextAR;
+ double sextBR;
+ double sextCR;
+ double sextDR;
+ double sextER;
+ double sextFR;
+ double sextFactorR;
+
+ double septAR;
+ double septBR;
+ double septCR;
+ double septDR;
+ double septER;
+ double septFR;
+ double septGR;
+ double septFactorR;
+
+ double octAR;
+ double octBR;
+ double octCR;
+ double octDR;
+ double octER;
+ double octFR;
+ double octGR;
+ double octHR;
+ double octFactorR;
+
+ double nintAR;
+ double nintBR;
+ double nintCR;
+ double nintDR;
+ double nintER;
+ double nintFR;
+ double nintGR;
+ double nintHR;
+ double nintIR;
+ double nintFactorR;
+
+ double PrevHR;
+ double PrevGR;
+ double PrevFR;
+ double PrevER;
+ double PrevDR;
+ double PrevCR;
+ double PrevBR;
+ double PrevAR;
+
+ float A;
+ float B;
+ float C;
+ float D;
+ float E;
+ float F;
+ float G;
+ float H;
+ float I;
+
+};
+
+#endif