[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