[SCM] calf/master: + Monosynth: slightly reduced clicks when filter type is changed

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:37:24 UTC 2013


The following commit has been merged in the master branch:
commit 2636c2a4ebb3c20f776ad576bb3f68dcb475ab42
Author: kfoltman <kfoltman at 78b06b96-2940-0410-b7fc-879d825d01d8>
Date:   Sat Jul 5 11:52:37 2008 +0000

    + Monosynth: slightly reduced clicks when filter type is changed
    
    
    
    git-svn-id: https://calf.svn.sourceforge.net/svnroot/calf/trunk@228 78b06b96-2940-0410-b7fc-879d825d01d8

diff --git a/src/calf/modules_synths.h b/src/calf/modules_synths.h
index baf791e..a54275d 100644
--- a/src/calf/modules_synths.h
+++ b/src/calf/modules_synths.h
@@ -58,7 +58,7 @@ public:
     onepole<float> phaseshifter;
     biquad<float> filter;
     biquad<float> filter2;
-    int wave1, wave2, filter_type;
+    int wave1, wave2, filter_type, last_filter_type;
     float freq, start_freq, target_freq, cutoff, decay_factor, fgain, fgain_delta, separation;
     float detune, xpose, xfade, pitchbend, ampctl, fltctl, queue_vel;
     float odcr, porta_time;
diff --git a/src/monosynth.cpp b/src/monosynth.cpp
index 10f695d..7f29502 100644
--- a/src/monosynth.cpp
+++ b/src/monosynth.cpp
@@ -548,6 +548,12 @@ void monosynth_audio_module::calculate_step()
     resonance = resonance * (1 - e2r) + (0.7 + (resonance - 0.7) * env * env) * e2r;
     float cutoff2 = dsp::clip(cutoff * separation, 10.f, 18000.f);
     float newfgain = 0.f;
+    if (filter_type != last_filter_type)
+    {
+        filter.y2 = filter.y1 = filter.x2 = filter.x1 = filter.y1;
+        filter2.y2 = filter2.y1 = filter2.x2 = filter2.x1 = filter2.y1;
+        last_filter_type = filter_type;
+    }
     switch(filter_type)
     {
     case flt_lp12:

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list