aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LV2/src/ToVinyl4/ToVinyl4.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/LV2/src/ToVinyl4/ToVinyl4.cpp')
-rw-r--r--plugins/LV2/src/ToVinyl4/ToVinyl4.cpp110
1 files changed, 110 insertions, 0 deletions
diff --git a/plugins/LV2/src/ToVinyl4/ToVinyl4.cpp b/plugins/LV2/src/ToVinyl4/ToVinyl4.cpp
new file mode 100644
index 0000000..a2e3e06
--- /dev/null
+++ b/plugins/LV2/src/ToVinyl4/ToVinyl4.cpp
@@ -0,0 +1,110 @@
+#include "ToVinyl4.h"
+#include <iostream>
+#include <lv2wrapper.h>
+
+ToVinyl4::ToVinyl4(double rate)
+ : LV2Plugin(rate)
+{
+}
+
+void ToVinyl4::activate()
+{
+ for(int count = 0; count < 11; count++) {
+ aMid[count] = 0.0;
+ bMid[count] = 0.0;
+ fMid[count] = 0.0;
+ aSide[count] = 0.0;
+ bSide[count] = 0.0;
+ fSide[count] = 0.0;
+ }
+ aMidPrev = 0.0; aSidePrev = 0.0;
+ bMidPrev = 0.0; bSidePrev = 0.0;
+ ataLastOutL = ataLastOutR = 0.0;
+ midSampleA = 0.0;
+ midSampleB = 0.0;
+ midSampleC = 0.0;
+ midSampleD = 0.0;
+ midSampleE = 0.0;
+ midSampleF = 0.0;
+ midSampleG = 0.0;
+ midSampleH = 0.0;
+ midSampleI = 0.0;
+ midSampleJ = 0.0;
+ midSampleK = 0.0;
+ midSampleL = 0.0;
+ midSampleM = 0.0;
+ midSampleN = 0.0;
+ midSampleO = 0.0;
+ midSampleP = 0.0;
+ midSampleQ = 0.0;
+ midSampleR = 0.0;
+ midSampleS = 0.0;
+ midSampleT = 0.0;
+ midSampleU = 0.0;
+ midSampleV = 0.0;
+ midSampleW = 0.0;
+ midSampleX = 0.0;
+ midSampleY = 0.0;
+ midSampleZ = 0.0;
+
+ sideSampleA = 0.0;
+ sideSampleB = 0.0;
+ sideSampleC = 0.0;
+ sideSampleD = 0.0;
+ sideSampleE = 0.0;
+ sideSampleF = 0.0;
+ sideSampleG = 0.0;
+ sideSampleH = 0.0;
+ sideSampleI = 0.0;
+ sideSampleJ = 0.0;
+ sideSampleK = 0.0;
+ sideSampleL = 0.0;
+ sideSampleM = 0.0;
+ sideSampleN = 0.0;
+ sideSampleO = 0.0;
+ sideSampleP = 0.0;
+ sideSampleQ = 0.0;
+ sideSampleR = 0.0;
+ sideSampleS = 0.0;
+ sideSampleT = 0.0;
+ sideSampleU = 0.0;
+ sideSampleV = 0.0;
+ sideSampleW = 0.0;
+ sideSampleX = 0.0;
+ sideSampleY = 0.0;
+ sideSampleZ = 0.0;
+ s1L = s2L = s3L = 0.0;
+ o1L = o2L = o3L = 0.0;
+ m1L = m2L = desL = 0.0;
+ s1R = s2R = s3R = 0.0;
+ o1R = o2R = o3R = 0.0;
+ m1R = m2R = desR = 0.0;
+
+ A = 0.203419; //22.0 hz = ((A*A)*290)+10 (A*A)*290 = 12 (A*A) = 0.0413793 sqrt() = 0.203419
+ B = 0.3424051; //44.0 hz = ((B*B)*290)+10 (B*B)*290 = 34 (B*B) = 0.1172413 sqrt() = 0.3424051
+ C = 0.32;
+ D = 0.064;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
+ //this is reset: values being initialized only once. Startup values, whatever they are.
+
+}
+
+void ToVinyl4::run(uint32_t num_samples)
+{
+ A = *params[0];
+ B = *params[1];
+ C = *params[2];
+ D = *params[3];
+
+ processReplacing(const_cast<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/ToVinyl4/ToVinyl4Proc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<ToVinyl4> plugin;