summaryrefslogtreecommitdiff
path: root/plugins/ZamEQ2/ZamEQ2Plugin.cpp
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2014-04-21 21:47:19 +1000
committerDamien Zammit <damien@zamaudio.com>2014-04-21 21:47:19 +1000
commit2bc767b9fd761abf9cfa2750a3c0b3c007f62b50 (patch)
tree90afbdc2b8242777573727e1e20258ed474d696f /plugins/ZamEQ2/ZamEQ2Plugin.cpp
parent469e3250281f87e0f9b3507119b5b035865d4856 (diff)
Fixed graph borders and null signal processing
Signed-off-by: Damien Zammit <damien@zamaudio.com>
Diffstat (limited to 'plugins/ZamEQ2/ZamEQ2Plugin.cpp')
-rw-r--r--plugins/ZamEQ2/ZamEQ2Plugin.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/plugins/ZamEQ2/ZamEQ2Plugin.cpp b/plugins/ZamEQ2/ZamEQ2Plugin.cpp
index f193d43..cf98ec3 100644
--- a/plugins/ZamEQ2/ZamEQ2Plugin.cpp
+++ b/plugins/ZamEQ2/ZamEQ2Plugin.cpp
@@ -382,7 +382,7 @@ float ZamEQ2Plugin::run_filter(int i, int ch, double in)
out = in * b0[ch][i] + x1[ch][i] * b1[ch][i]
+ x2[ch][i] * b2[ch][i]
- y1[ch][i] * a1[ch][i]
- - y2[ch][i] * a2[ch][i];
+ - y2[ch][i] * a2[ch][i] + 1e-20f;
x2[ch][i] = x1[ch][i];
y2[ch][i] = y1[ch][i];
x1[ch][i] = in;
@@ -406,16 +406,16 @@ void ZamEQ2Plugin::d_run(float** inputs, float** outputs, uint32_t frames)
in = sanitize_denormal(in);
//lowshelf
- tmpl = run_filter(0, 0, in);
+ tmpl = (gainl == 0.f) ? in : run_filter(0, 0, in);
//highshelf
- tmph = run_filter(1, 0, tmpl);
+ tmph = (gainh == 0.f) ? tmpl : run_filter(3, 0, tmpl);
//parametric1
- tmp = run_filter(2, 0, tmph);
+ tmp = (gain1 == 0.f) ? tmph : run_filter(1, 0, tmph);
//parametric2
- tmpl = run_filter(3, 0, tmp);
+ tmpl = (gain2 == 0.f) ? tmp : run_filter(2, 0, tmp);
outputs[0][i] = inputs[0][i];
outputs[0][i] = (float) tmpl;