[SCM] calf/master: + Monosynth: use filter_gain for calculating graph values

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:38:18 UTC 2013


The following commit has been merged in the master branch:
commit e8ddf2d75b2e13023eb4ee9075f245bf73122be8
Author: Krzysztof Foltman <wdev at foltman.com>
Date:   Mon Nov 3 23:39:59 2008 +0000

    + Monosynth: use filter_gain for calculating graph values

diff --git a/src/monosynth.cpp b/src/monosynth.cpp
index 7befd29..145da17 100644
--- a/src/monosynth.cpp
+++ b/src/monosynth.cpp
@@ -385,16 +385,16 @@ bool monosynth_audio_module::get_graph(int index, int subindex, float *data, int
         for (int i = 0; i < points; i++)
         {
             typedef complex<double> cfloat;
-            double freq = 20.0 * pow (20000.0 / 20.0, i * 1.0 / points) * M_PI / srate;
+            double freq = 20.0 * pow (20000.0 / 20.0, i * 1.0 / points);
             cfloat z = 1.0 / exp(cfloat(0.0, freq));
             
             biquad_d1<float> &f = subindex ? filter2 : filter;
-            float level = abs((cfloat(f.a0) + double(f.a1) * z + double(f.a2) * z*z) / (cfloat(1.0) + double(f.b1) * z + double(f.b2) * z*z));
+            float level = f.freq_gain(freq, srate);
             if (!is_stereo_filter())
-                level *= abs((cfloat(filter2.a0) + double(filter2.a1) * z + double(filter2.a2) * z*z) / (cfloat(1.0) + double(filter2.b1) * z + double(filter2.b2) * z*z));
+                level *= filter2.freq_gain(freq, srate);
             level *= fgain;
             
-            data[i] = log(level) / log(1024.0) + 0.25;
+            data[i] = log(level) / log(1024.0) + 0.5;
         }
         return true;
     }

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list