[SCM] calf/master: + Reverb: add dry amount (Sampo Savolainen's request)
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:38:30 UTC 2013
The following commit has been merged in the master branch:
commit 6b290f26815b8a86ef5a29a720f191536575c1ae
Author: Krzysztof Foltman <wdev at foltman.com>
Date: Sun Nov 16 20:54:17 2008 +0000
+ Reverb: add dry amount (Sampo Savolainen's request)
diff --git a/gui/gui-reverb.xml b/gui/gui-reverb.xml
index 51d2e2a..60d2a62 100644
--- a/gui/gui-reverb.xml
+++ b/gui/gui-reverb.xml
@@ -1,29 +1,36 @@
<vbox border="10">
<hbox>
- <vbox border="10">
+ <vbox border="5">
<label param="decay_time" />
<knob param="decay_time" />
<value param="decay_time" />
</vbox>
- <vbox border="10">
+ <vbox border="5">
<label param="hf_damp" />
<knob param="hf_damp" />
<value param="hf_damp" />
</vbox>
- <vbox border="10">
- <label param="diffusion" />
- <knob param="diffusion" />
- <value param="diffusion" />
+ <vbox border="5">
+ <label param="dry" />
+ <knob param="dry" />
+ <value param="dry" />
</vbox>
- <vbox border="10">
+ <vbox border="5">
<label param="amount" />
<knob param="amount" />
<value param="amount" />
</vbox>
</hbox>
<hbox>
- <label param="room_size" />
- <combo param="room_size" />
+ <vbox border="5">
+ <label param="diffusion" />
+ <knob param="diffusion" />
+ <value param="diffusion" />
+ </vbox>
+ <vbox border="5">
+ <label param="room_size" />
+ <combo param="room_size" />
+ </vbox>
</hbox>
</vbox>
diff --git a/src/calf/metadata.h b/src/calf/metadata.h
index d0ce0c4..d8f4335 100644
--- a/src/calf/metadata.h
+++ b/src/calf/metadata.h
@@ -53,7 +53,7 @@ struct filter_metadata: public plugin_metadata<filter_metadata>
struct reverb_metadata: public plugin_metadata<reverb_metadata>
{
- enum { par_decay, par_hfdamp, par_roomsize, par_diffusion, par_amount, param_count };
+ enum { par_decay, par_hfdamp, par_roomsize, par_diffusion, par_amount, par_dry, param_count };
enum { in_count = 2, out_count = 2, support_midi = false, require_midi = false, rt_capable = true };
PLUGIN_NAME_ID_LABEL("reverb", "reverb", "Reverb")
};
diff --git a/src/calf/modules.h b/src/calf/modules.h
index 7a99863..8e9b681 100644
--- a/src/calf/modules.h
+++ b/src/calf/modules.h
@@ -199,7 +199,7 @@ class reverb_audio_module: public audio_module<reverb_metadata>
public:
dsp::reverb<float> reverb;
uint32_t srate;
- gain_smoothing amount;
+ gain_smoothing amount, dryamount;
float *ins[in_count];
float *outs[out_count];
float *params[param_count];
@@ -211,16 +211,18 @@ public:
reverb.set_time(*params[par_decay]);
reverb.set_cutoff(*params[par_hfdamp]);
amount.set_inertia(*params[par_amount]);
+ dryamount.set_inertia(*params[par_dry]);
}
uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask) {
numsamples += offset;
for (uint32_t i = offset; i < numsamples; i++) {
+ float dry = dryamount.get();
float wet = amount.get();
float l = ins[0][i], r = ins[1][i];
float rl = l, rr = r;
reverb.process(rl, rr);
- outs[0][i] = l + wet*rl;
- outs[1][i] = r + wet*rr;
+ outs[0][i] = dry*l + wet*rl;
+ outs[1][i] = dry*r + wet*rr;
}
reverb.extra_sanitize();
return outputs_mask;
diff --git a/src/modules.cpp b/src/modules.cpp
index 5335363..a0e89be 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -76,7 +76,8 @@ CALF_PORT_PROPS(reverb) = {
{ 5000, 2000,20000, 0, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_HZ, NULL, "hf_damp", "High Frq Damp" },
{ 2, 0, 3, 0, PF_ENUM | PF_CTL_COMBO , reverb_room_sizes, "room_size", "Room size", },
{ 0.5, 0, 1, 0, PF_FLOAT | PF_CTL_KNOB | PF_SCALE_PERC, NULL, "diffusion", "Diffusion" },
- { 0.25, 0, 2, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_COEF | PF_PROP_NOBOUNDS, NULL, "amount", "Amount" },
+ { 0.25, 0, 2, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_COEF | PF_PROP_NOBOUNDS, NULL, "amount", "Wet Amount" },
+ { 1.0, 0, 2, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_COEF | PF_PROP_NOBOUNDS, NULL, "dry", "Dry Amount" },
};
CALF_PLUGIN_INFO(reverb) = { 0x847e, "Reverb", "Calf Reverb", "Krzysztof Foltman", calf_plugins::calf_copyright_info, "ReverbPlugin" };
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list