summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2018-12-30 02:51:05 +1100
committerDamien Zammit <damien@zamaudio.com>2018-12-30 03:29:33 +1100
commit6959349dcfa902dc575b9d273e23f77d593413aa (patch)
treec425d9c87b8cbd7c0f0943f7d371d18a99fa2e8d
parent907f7110e88406b603bb4efa3377283ffd68848f (diff)
Fixed tube!
-rw-r--r--plugins/ZamTube/ZamTubePlugin.cpp2
-rw-r--r--plugins/ZamTube/wdfcircuits.h14
2 files changed, 8 insertions, 8 deletions
diff --git a/plugins/ZamTube/ZamTubePlugin.cpp b/plugins/ZamTube/ZamTubePlugin.cpp
index 2569638..b3009b6 100644
--- a/plugins/ZamTube/ZamTubePlugin.cpp
+++ b/plugins/ZamTube/ZamTubePlugin.cpp
@@ -951,7 +951,7 @@ void ZamTubePlugin::run(const float** inputs, float** outputs, uint32_t frames)
in = fabs(in) < DANGER ? in : 0.f;
double ViE = in*from_dB(tubedrive);
- tubeout = 10. * ckt.advanc(ViE) * from_dB(30. - tubedrive) * from_dB(12.);
+ tubeout = 10. * ckt.advanc(ViE) * from_dB(30. - tubedrive);
if (!ckt.on) {
tubeout = 0.0;
} else {
diff --git a/plugins/ZamTube/wdfcircuits.h b/plugins/ZamTube/wdfcircuits.h
index 2288d6c..8b64d6a 100644
--- a/plugins/ZamTube/wdfcircuits.h
+++ b/plugins/ZamTube/wdfcircuits.h
@@ -57,7 +57,7 @@ public:
P2_3Gamma1 = 1.0 / P2_1R/(1.0 / P2_1R + 1.0 / P2_2R);
Assert(P2_3Gamma1 >= 0.0 && P2_3Gamma1 <= 1.0);
t.Kr = sanitize_denormal(I3_3Gamma1);
- t.Pr = sanitize_denormal(S2_3Gamma1);
+ t.Pr = sanitize_denormal(P2_3Gamma1);
t.Gr = sanitize_denormal(S1_3Gamma1);
//printf("Kr = %f Pr = %f Gr = %f\n", t.Kr, t.Pr, t.Gr);
}
@@ -77,11 +77,11 @@ public:
Real I3_3b3 = I3_3Gamma1 * Ckb;
Real Cib = Cia;
Real S0_3b3 = Cib + ViE;
- Real P0_3b3 = P0_3Gamma1*(S0_3b3);
+ Real P0_3b3 = S0_3b3 + P0_3Gamma1*(S0_3b3);
Real S1_3b3 = P0_3b3;
Real Cob = Coa;
Real S2_3b3 = Cob;
- Real P2_3b3 = E250E - P2_3Gamma1*(E250E + S2_3b3);
+ Real P2_3b3 = E250E + P2_3Gamma1*(S2_3b3);
//Tube: K G P
//printf("K=%f G=%f P=%f\n", I3_3b3,-S1_3b3,P2_3b3);
t.compute(I3_3b3,-S1_3b3,P2_3b3);
@@ -91,11 +91,11 @@ public:
//Set As
Real I3_3b1 = (b1 + Ckb - I3_3Gamma1*(Ckb));
Cka = I3_3b1;
- Real S1_3b2 = ((-b2) - S1_3Gamma1*(P0_3b3 + (-b2)));
- Real P0_3b1 = (S1_3b2 + (S0_3b3) - P0_3Gamma1*(S0_3b3));
- Real S0_3b1 = (Cib - S0_3Gamma1*(Cib + ViE + P0_3b1));
+ Real S1_3b2 = ((-b2) + P0_3b3 - S1_3Gamma1*(P0_3b3 + (-b2)));
+ Real P0_3b1 = (S1_3b2 + (S0_3b3) - P0_3Gamma1*(S1_3b2 + S0_3b3));
+ Real S0_3b1 = (ViE + P0_3b1 - S0_3Gamma1*(Cib + P0_3b1));
Cia = S0_3b1;
- Real P2_3b1 = (b3 + E250E + (S2_3b3) - P2_3Gamma1*(E250E + S2_3b3));
+ Real P2_3b1 = (b3 + E250E + (S2_3b3) - P2_3Gamma1*(b3 + S2_3b3));
Real S2_3b1 = (Cob - S2_3Gamma1*(Cob + P2_3b1));
Coa = S2_3b1;
Real S2_3b2 = (Cob + P2_3b1 - S2_3Gamma1*(Cob + P2_3b1));