[SCM] calf/master: + Wavetable: one more wavetable (experimental, will be changed)

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:39:31 UTC 2013


The following commit has been merged in the master branch:
commit 731cdd16617c43dc3613bd5cddd9f380c3212ecc
Author: Krzysztof Foltman <wdev at foltman.com>
Date:   Sat Apr 25 21:48:31 2009 +0100

    + Wavetable: one more wavetable (experimental, will be changed)

diff --git a/src/calf/metadata.h b/src/calf/metadata.h
index fce2b1e..a3ccb32 100644
--- a/src/calf/metadata.h
+++ b/src/calf/metadata.h
@@ -270,6 +270,7 @@ struct wavetable_metadata: public plugin_metadata<wavetable_metadata>
         wt_silver,
         wt_brass,
         wt_multi,
+        wt_multi2,
         wt_count
     };
     enum {
diff --git a/src/modules.cpp b/src/modules.cpp
index 9e89a6d..9e8f2a4 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -556,6 +556,7 @@ const char *wavetable_names[] = {
     "Silver",
     "Brass",
     "Multi",
+    "Multi 2",
 };
 
 const char *wavetable_init_soundfont = "";
diff --git a/src/wavetable.cpp b/src/wavetable.cpp
index 7eecb89..3f0ac01 100644
--- a/src/wavetable.cpp
+++ b/src/wavetable.cpp
@@ -508,6 +508,21 @@ wavetable_audio_module::wavetable_audio_module()
             tables[wavetable_metadata::wt_multi][i][j] = 32767 * v;
         }
     }
+    for (int i = 0; i < 129; i ++)
+    {
+        float h = 1 + i / 16.0;
+        for (int j = 0; j < 256; j++)
+        {
+            float ph = j * 2 * M_PI / 256;
+            float v = sin(ph), tv = 1;
+            for (int k = 1; k < 24; k++) {
+                float amp = blip(i, k * 6, 20) / k;
+                v += amp * sin((k + 1) * ph + h * sin(ph));
+                tv += amp;
+            }
+            tables[wavetable_metadata::wt_multi2][i][j] = 32767 * v / tv;
+        }
+    }
 }
 
 #endif

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list