aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LV2/src/Energy/Energy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/LV2/src/Energy/Energy.cpp')
-rw-r--r--plugins/LV2/src/Energy/Energy.cpp188
1 files changed, 188 insertions, 0 deletions
diff --git a/plugins/LV2/src/Energy/Energy.cpp b/plugins/LV2/src/Energy/Energy.cpp
new file mode 100644
index 0000000..2613fd2
--- /dev/null
+++ b/plugins/LV2/src/Energy/Energy.cpp
@@ -0,0 +1,188 @@
+#include "Energy.h"
+#include <iostream>
+#include <lv2wrapper.h>
+
+Energy::Energy(double rate)
+ : LV2Plugin(rate)
+{
+}
+
+void Energy::activate()
+{
+ A = 0.5;
+ B = 0.5;
+ C = 0.5;
+ D = 0.5;
+ E = 0.5;
+ F = 0.5;
+ G = 0.5;
+ H = 0.5;
+ I = 1.0;
+
+ duoEvenL = 0.0;
+ duoOddL = 0.0;
+ duoFactorL = 0.0;
+ duoEvenR = 0.0;
+ duoOddR = 0.0;
+ duoFactorR = 0.0;
+ flip = false;
+
+ tripletAL = 0.0;
+ tripletBL = 0.0;
+ tripletCL = 0.0;
+ tripletFactorL = 0.0;
+ tripletAR = 0.0;
+ tripletBR = 0.0;
+ tripletCR = 0.0;
+ tripletFactorR = 0.0;
+ countA = 1;
+
+ quadAL = 0.0;
+ quadBL = 0.0;
+ quadCL = 0.0;
+ quadDL = 0.0;
+ quadFactorL = 0.0;
+ quadAR = 0.0;
+ quadBR = 0.0;
+ quadCR = 0.0;
+ quadDR = 0.0;
+ quadFactorR = 0.0;
+ countB = 1;
+
+ quintAL = 0.0;
+ quintBL = 0.0;
+ quintCL = 0.0;
+ quintDL = 0.0;
+ quintEL = 0.0;
+ quintFactorL = 0.0;
+ quintAR = 0.0;
+ quintBR = 0.0;
+ quintCR = 0.0;
+ quintDR = 0.0;
+ quintER = 0.0;
+ quintFactorR = 0.0;
+ countC = 1;
+
+ sextAL = 0.0;
+ sextBL = 0.0;
+ sextCL = 0.0;
+ sextDL = 0.0;
+ sextEL = 0.0;
+ sextFL = 0.0;
+ sextFactorL = 0.0;
+ sextAR = 0.0;
+ sextBR = 0.0;
+ sextCR = 0.0;
+ sextDR = 0.0;
+ sextER = 0.0;
+ sextFR = 0.0;
+ sextFactorR = 0.0;
+ countD = 1;
+
+ septAL = 0.0;
+ septBL = 0.0;
+ septCL = 0.0;
+ septDL = 0.0;
+ septEL = 0.0;
+ septFL = 0.0;
+ septGL = 0.0;
+ septFactorL = 0.0;
+ septAR = 0.0;
+ septBR = 0.0;
+ septCR = 0.0;
+ septDR = 0.0;
+ septER = 0.0;
+ septFR = 0.0;
+ septGR = 0.0;
+ septFactorR = 0.0;
+ countE = 1;
+
+ octAL = 0.0;
+ octBL = 0.0;
+ octCL = 0.0;
+ octDL = 0.0;
+ octEL = 0.0;
+ octFL = 0.0;
+ octGL = 0.0;
+ octHL = 0.0;
+ octFactorL = 0.0;
+ octAR = 0.0;
+ octBR = 0.0;
+ octCR = 0.0;
+ octDR = 0.0;
+ octER = 0.0;
+ octFR = 0.0;
+ octGR = 0.0;
+ octHR = 0.0;
+ octFactorR = 0.0;
+ countF = 1;
+
+ nintAL = 0.0;
+ nintBL = 0.0;
+ nintCL = 0.0;
+ nintDL = 0.0;
+ nintEL = 0.0;
+ nintFL = 0.0;
+ nintGL = 0.0;
+ nintHL = 0.0;
+ nintIL = 0.0;
+ nintFactorL = 0.0;
+ nintAR = 0.0;
+ nintBR = 0.0;
+ nintCR = 0.0;
+ nintDR = 0.0;
+ nintER = 0.0;
+ nintFR = 0.0;
+ nintGR = 0.0;
+ nintHR = 0.0;
+ nintIR = 0.0;
+ nintFactorR = 0.0;
+ countG = 1;
+
+ PrevHL = 0.0;
+ PrevGL = 0.0;
+ PrevFL = 0.0;
+ PrevEL = 0.0;
+ PrevDL = 0.0;
+ PrevCL = 0.0;
+ PrevBL = 0.0;
+ PrevAL = 0.0;
+ PrevHR = 0.0;
+ PrevGR = 0.0;
+ PrevFR = 0.0;
+ PrevER = 0.0;
+ PrevDR = 0.0;
+ PrevCR = 0.0;
+ PrevBR = 0.0;
+ PrevAR = 0.0;
+
+
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
+ //this is reset: values being initialized only once. Startup values, whatever they are.
+
+}
+
+void Energy::run(uint32_t num_samples)
+{
+ A = *params[0];
+ B = *params[1];
+ C = *params[2];
+ D = *params[3];
+ E = *params[4];
+ F = *params[5];
+ G = *params[6];
+ H = *params[7];
+ I = *params[8];
+
+ processReplacing(const_cast<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/Energy/EnergyProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<Energy> plugin;