[SCM] calf/master: + MultiChorus: implement stereo phase (the plugin is still very unpolished though!)
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:37:48 UTC 2013
The following commit has been merged in the master branch:
commit 41efe31f4c5176d59192ca676a2fa035e02923b4
Author: kfoltman <kfoltman at 78b06b96-2940-0410-b7fc-879d825d01d8>
Date: Tue Oct 28 00:11:29 2008 +0000
+ MultiChorus: implement stereo phase (the plugin is still very unpolished though!)
git-svn-id: https://calf.svn.sourceforge.net/svnroot/calf/trunk@343 78b06b96-2940-0410-b7fc-879d825d01d8
diff --git a/src/calf/modules.h b/src/calf/modules.h
index 1563abf..21be125 100644
--- a/src/calf/modules.h
+++ b/src/calf/modules.h
@@ -789,6 +789,7 @@ public:
static const char *port_names[];
uint32_t srate;
dsp::multichorus<float, sine_multi_lfo<float, 6>, 2048> left, right;
+ float last_r_phase;
static parameter_properties param_props[];
static synth::ladspa_plugin_info plugin_info;
@@ -810,6 +811,12 @@ public:
left.set_rate(rate); right.set_rate(rate);
left.set_min_delay(min_delay); right.set_min_delay(min_delay);
left.set_mod_depth(mod_depth); right.set_mod_depth(mod_depth);
+ float r_phase = *params[par_stereo] * (1.f / 360.f);
+ if (fabs(r_phase - last_r_phase) > 0.0001f) {
+ right.phase = left.phase;
+ right.lfo.phase += chorus_phase(r_phase * 4096);
+ last_r_phase = r_phase;
+ }
}
void activate() {
params_changed();
diff --git a/src/calf/multichorus.h b/src/calf/multichorus.h
index 8fccf1b..d737cb0 100644
--- a/src/calf/multichorus.h
+++ b/src/calf/multichorus.h
@@ -65,8 +65,8 @@ class multichorus: public chorus_base
{
protected:
simple_delay<MaxDelay,T> delay;
- MultiLfo lfo;
public:
+ MultiLfo lfo;
multichorus() {
rate = 0.63f;
dry = 0.5f;
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list