[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