[SCM] calf/master: + Phaser: fixed denormals
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:37:08 UTC 2013
The following commit has been merged in the master branch:
commit 0ba3f37e42e3d103fd423a74a77c7d3b6c0bbec9
Author: kfoltman <kfoltman at 78b06b96-2940-0410-b7fc-879d825d01d8>
Date: Wed Apr 9 22:58:13 2008 +0000
+ Phaser: fixed denormals
git-svn-id: https://calf.svn.sourceforge.net/svnroot/calf/trunk@151 78b06b96-2940-0410-b7fc-879d825d01d8
diff --git a/src/calf/audio_fx.h b/src/calf/audio_fx.h
index 2bb9591..bd269d6 100644
--- a/src/calf/audio_fx.h
+++ b/src/calf/audio_fx.h
@@ -168,12 +168,18 @@ public:
float freq = base_frq * pow(2.0, vf * mod_depth / 1200.0);
freq = dsp::clip<float>(freq, 10.0, 0.49 * sample_rate);
stage1.set_ap_w(freq * (M_PI / 2.0) * odsr);
- phase += dphase * 16;
+ phase += dphase * 32;
+ for (int i = 0; i < stages; i++)
+ {
+ dsp::sanitize(x1[i]);
+ dsp::sanitize(y1[i]);
+ }
+ dsp::sanitize(state);
}
void process(float *buf_out, float *buf_in, int nsamples) {
for (int i=0; i<nsamples; i++) {
cnt++;
- if (cnt == 16)
+ if (cnt == 32)
control_step();
float in = *buf_in++;
float fd = in + state * fb;
@@ -185,11 +191,6 @@ public:
float swet = fd * gs_wet.get();
*buf_out++ = sdry + swet;
}
- for (int i = 0; i < stages; i++)
- {
- dsp::sanitize(x1[i]);
- dsp::sanitize(y1[i]);
- }
}
};
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list