[SCM] calf/master: switched mute to solo buttons in multiband compressor
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:40:38 UTC 2013
The following commit has been merged in the master branch:
commit d3922be62c7b0391d110736bec16d20f364ee608
Author: boomshop.net <boomshop at BoomBox.fritz.box>
Date: Fri Nov 18 04:05:46 2011 +0100
switched mute to solo buttons in multiband compressor
diff --git a/gui/gui-multibandcompressor.xml b/gui/gui-multibandcompressor.xml
index ec0f1c3..fe3ef8c 100644
--- a/gui/gui-multibandcompressor.xml
+++ b/gui/gui-multibandcompressor.xml
@@ -146,8 +146,8 @@
<align><toggle size="1" param="bypass0" shrink="1"/></align>
</vbox>
<vbox expand="0" attach-x="1" attach-y="0">
- <label param="mute0"/>
- <align><toggle size="1" param="mute0" shrink="1"/></align>
+ <label param="solo0"/>
+ <align><toggle size="1" param="solo0" shrink="1"/></align>
</vbox>
</table>
</vbox></frame>
@@ -206,8 +206,8 @@
<align><toggle size="1" param="bypass1" shrink="1"/></align>
</vbox>
<vbox expand="0" attach-x="1" attach-y="0">
- <label param="mute1"/>
- <align><toggle size="1" param="mute1" shrink="1"/></align>
+ <label param="solo1"/>
+ <align><toggle size="1" param="solo1" shrink="1"/></align>
</vbox>
</table>
</vbox></frame>
@@ -266,8 +266,8 @@
<align><toggle size="1" param="bypass2" shrink="1"/></align>
</vbox>
<vbox expand="0" attach-x="1" attach-y="0">
- <label param="mute2"/>
- <align><toggle size="1" param="mute2" shrink="1"/></align>
+ <label param="solo2"/>
+ <align><toggle size="1" param="solo2" shrink="1"/></align>
</vbox>
</table>
</vbox></frame>
@@ -326,8 +326,8 @@
<align><toggle size="1" param="bypass3" shrink="1"/></align>
</vbox>
<vbox expand="0" attach-x="1" attach-y="0">
- <label param="mute3"/>
- <align><toggle size="1" param="mute3" shrink="1"/></align>
+ <label param="solo3"/>
+ <align><toggle size="1" param="solo3" shrink="1"/></align>
</vbox>
</table>
</vbox></frame>
diff --git a/src/calf/metadata.h b/src/calf/metadata.h
index d49594e..27cd2bf 100644
--- a/src/calf/metadata.h
+++ b/src/calf/metadata.h
@@ -185,13 +185,13 @@ struct multibandcompressor_metadata: public plugin_metadata<multibandcompressor_
param_sep0, param_sep1, param_sep2,
param_q0, param_q1, param_q2,
param_threshold0, param_ratio0, param_attack0, param_release0, param_makeup0, param_knee0,
- param_detection0, param_compression0, param_output0, param_bypass0, param_mute0,
+ param_detection0, param_compression0, param_output0, param_bypass0, param_solo0,
param_threshold1, param_ratio1, param_attack1, param_release1, param_makeup1, param_knee1,
- param_detection1, param_compression1, param_output1, param_bypass1, param_mute1,
+ param_detection1, param_compression1, param_output1, param_bypass1, param_solo1,
param_threshold2, param_ratio2, param_attack2, param_release2, param_makeup2, param_knee2,
- param_detection2, param_compression2, param_output2, param_bypass2, param_mute2,
+ param_detection2, param_compression2, param_output2, param_bypass2, param_solo2,
param_threshold3, param_ratio3, param_attack3, param_release3, param_makeup3, param_knee3,
- param_detection3, param_compression3, param_output3, param_bypass3, param_mute3,
+ param_detection3, param_compression3, param_output3, param_bypass3, param_solo3,
param_count };
PLUGIN_NAME_ID_LABEL("multiband_compressor", "multibandcompressor", "Multiband Compressor")
};
diff --git a/src/calf/modules_comp.h b/src/calf/modules_comp.h
index 9f8923a..15ba09e 100644
--- a/src/calf/modules_comp.h
+++ b/src/calf/modules_comp.h
@@ -165,7 +165,8 @@ class multibandcompressor_audio_module: public audio_module<multibandcompressor_
private:
typedef multibandcompressor_audio_module AM;
static const int strips = 4;
- bool mute[strips];
+ bool solo[strips];
+ bool no_solo;
uint32_t clip_inL, clip_inR, clip_outL, clip_outR;
float meter_inL, meter_inR, meter_outL, meter_outR;
gain_reduction_audio_module strip[strips];
diff --git a/src/metadata.cpp b/src/metadata.cpp
index f376d77..0aa27fc 100644
--- a/src/metadata.cpp
+++ b/src/metadata.cpp
@@ -334,7 +334,7 @@ CALF_PORT_PROPS(multibandcompressor) = {
{ 1, 0.03125, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_METER | PF_CTLO_LABEL | PF_CTLO_REVERSE | PF_UNIT_DB | PF_PROP_OUTPUT | PF_PROP_OPTIONAL| PF_PROP_GRAPH, NULL, "compression0", "Gain Reduction 1" },
{ 0, 0, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_METER | PF_CTLO_LABEL | PF_UNIT_DB | PF_PROP_OUTPUT | PF_PROP_OPTIONAL, NULL, "output0", "Output 1" },
{ 1, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "bypass0", "Bypass 1" },
- { 0, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "mute0", "Mute 1" },
+ { 0, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "solo0", "Solo 1" },
{ 0.03125, 0.000976563, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_DB, NULL, "threshold1", "Threshold 2" },
@@ -347,7 +347,7 @@ CALF_PORT_PROPS(multibandcompressor) = {
{ 1, 0.03125, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_METER | PF_CTLO_LABEL | PF_CTLO_REVERSE | PF_UNIT_DB | PF_PROP_OUTPUT | PF_PROP_OPTIONAL| PF_PROP_GRAPH, NULL, "compression1", "Gain Reduction 2" },
{ 0, 0, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_METER | PF_CTLO_LABEL | PF_UNIT_DB | PF_PROP_OUTPUT | PF_PROP_OPTIONAL, NULL, "output1", "Output 2" },
{ 1, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "bypass1", "Bypass 2" },
- { 0, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "mute1", "Mute 2" },
+ { 0, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "solo1", "Solo 2" },
{ 0.015625, 0.000976563, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_DB, NULL, "threshold2", "Threshold 3" },
@@ -360,7 +360,7 @@ CALF_PORT_PROPS(multibandcompressor) = {
{ 1, 0.03125, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_METER | PF_CTLO_LABEL | PF_CTLO_REVERSE | PF_UNIT_DB | PF_PROP_OUTPUT | PF_PROP_OPTIONAL| PF_PROP_GRAPH, NULL, "compression2", "Gain Reduction 3" },
{ 0, 0, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_METER | PF_CTLO_LABEL | PF_UNIT_DB | PF_PROP_OUTPUT | PF_PROP_OPTIONAL, NULL, "output2", "Output 3" },
{ 1, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "bypass2", "Bypass 3" },
- { 0, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "mute2", "Mute 3" },
+ { 0, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "solo2", "Solo 3" },
{ 0.0078125, 0.000976563, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_DB, NULL, "threshold3", "Threshold 4" },
@@ -373,7 +373,7 @@ CALF_PORT_PROPS(multibandcompressor) = {
{ 1, 0.03125, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_METER | PF_CTLO_LABEL | PF_CTLO_REVERSE | PF_UNIT_DB | PF_PROP_OUTPUT | PF_PROP_OPTIONAL| PF_PROP_GRAPH, NULL, "compression3", "Gain Reduction 4" },
{ 0, 0, 1, 0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_METER | PF_CTLO_LABEL | PF_UNIT_DB | PF_PROP_OUTPUT | PF_PROP_OPTIONAL, NULL, "output3", "Output 4" },
{ 1, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "bypass3", "Bypass 4" },
- { 0, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "mute3", "Mute 4" },
+ { 0, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "solo3", "Solo 4" },
{}
};
diff --git a/src/modules_comp.cpp b/src/modules_comp.cpp
index 4c683b2..b75f2ef 100644
--- a/src/modules_comp.cpp
+++ b/src/modules_comp.cpp
@@ -75,6 +75,15 @@ void multibandcompressor_audio_module::deactivate()
void multibandcompressor_audio_module::params_changed()
{
+ // determine mute/solo states
+ solo[0] = *params[param_solo0] > 0.f ? true : false;
+ solo[1] = *params[param_solo1] > 0.f ? true : false;
+ solo[2] = *params[param_solo2] > 0.f ? true : false;
+ solo[3] = *params[param_solo3] > 0.f ? true : false;
+ no_solo = (*params[param_solo0] > 0.f ||
+ *params[param_solo1] > 0.f ||
+ *params[param_solo2] > 0.f ||
+ *params[param_solo3] > 0.f) ? false : true;
// set the params of all filters
if(*params[param_freq0] != freq_old[0] or *params[param_sep0] != sep_old[0] or *params[param_q0] != q_old[0]) {
lpL0.set_lp_rbj((float)(*params[param_freq0] * (1 - *params[param_sep0])), *params[param_q0], (float)srate);
@@ -104,10 +113,10 @@ void multibandcompressor_audio_module::params_changed()
q_old[2] = *params[param_q2];
}
// set the params of all strips
- strip[0].set_params(*params[param_attack0], *params[param_release0], *params[param_threshold0], *params[param_ratio0], *params[param_knee0], *params[param_makeup0], *params[param_detection0], 1.f, *params[param_bypass0], *params[param_mute0]);
- strip[1].set_params(*params[param_attack1], *params[param_release1], *params[param_threshold1], *params[param_ratio1], *params[param_knee1], *params[param_makeup1], *params[param_detection1], 1.f, *params[param_bypass1], *params[param_mute1]);
- strip[2].set_params(*params[param_attack2], *params[param_release2], *params[param_threshold2], *params[param_ratio2], *params[param_knee2], *params[param_makeup2], *params[param_detection2], 1.f, *params[param_bypass2], *params[param_mute2]);
- strip[3].set_params(*params[param_attack3], *params[param_release3], *params[param_threshold3], *params[param_ratio3], *params[param_knee3], *params[param_makeup3], *params[param_detection3], 1.f, *params[param_bypass3], *params[param_mute3]);
+ strip[0].set_params(*params[param_attack0], *params[param_release0], *params[param_threshold0], *params[param_ratio0], *params[param_knee0], *params[param_makeup0], *params[param_detection0], 1.f, *params[param_bypass0], !(solo[0] || no_solo));
+ strip[1].set_params(*params[param_attack1], *params[param_release1], *params[param_threshold1], *params[param_ratio1], *params[param_knee1], *params[param_makeup1], *params[param_detection1], 1.f, *params[param_bypass1], !(solo[1] || no_solo));
+ strip[2].set_params(*params[param_attack2], *params[param_release2], *params[param_threshold2], *params[param_ratio2], *params[param_knee2], *params[param_makeup2], *params[param_detection2], 1.f, *params[param_bypass2], !(solo[2] || no_solo));
+ strip[3].set_params(*params[param_attack3], *params[param_release3], *params[param_threshold3], *params[param_ratio3], *params[param_knee3], *params[param_makeup3], *params[param_detection3], 1.f, *params[param_bypass3], !(solo[3] || no_solo));
}
void multibandcompressor_audio_module::set_sample_rate(uint32_t sr)
@@ -156,12 +165,6 @@ uint32_t multibandcompressor_audio_module::process(uint32_t offset, uint32_t num
} else {
// process all strips
- // determine mute state of strips
- mute[0] = *params[param_mute0] > 0.f ? true : false;
- mute[1] = *params[param_mute1] > 0.f ? true : false;
- mute[2] = *params[param_mute2] > 0.f ? true : false;
- mute[3] = *params[param_mute3] > 0.f ? true : false;
-
// let meters fall a bit
clip_inL -= std::min(clip_inL, numsamples);
clip_inR -= std::min(clip_inR, numsamples);
@@ -183,7 +186,7 @@ uint32_t multibandcompressor_audio_module::process(uint32_t offset, uint32_t num
float outR = 0.f;
for (int i = 0; i < strips; i ++) {
// cycle trough strips
- if (!mute[i]) {
+ if (solo[i] || no_solo) {
// strip unmuted
float left = inL;
float right = inR;
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list