summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-03-02 17:24:16 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:39 -0400
commit8e643563e5a68a697f9e46318e5653b97bcd388c (patch)
treeee9b684dcf277ebbe61bc3b3c2be55f12b178f39 /gtk2_ardour/gain_meter.cc
parenta4935eca6dcd4e66d24fe0aee04efc4beab1a059 (diff)
make GUI fader positions reflect VCA master values
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r--gtk2_ardour/gain_meter.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index 0eea976b97..ce6737a5b8 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -524,11 +524,12 @@ void
GainMeterBase::gain_adjusted ()
{
gain_t value;
+ const gain_t master_gain = _control->get_master_gain ();
/* convert from adjustment range (0..1) to gain coefficient */
if (_data_type == DataType::AUDIO) {
- value = slider_position_to_gain_with_max (gain_adjustment.get_value(), Config->get_max_gain());
+ value = slider_position_to_gain_with_max (gain_adjustment.get_value(), Config->get_max_gain()) / master_gain;
} else {
value = gain_adjustment.get_value();
}
@@ -547,11 +548,12 @@ GainMeterBase::gain_adjusted ()
void
GainMeterBase::effective_gain_display ()
{
- float value = GAIN_COEFF_ZERO;
+ gain_t value = GAIN_COEFF_ZERO;
+ const gain_t master_gain = _control->get_master_gain ();
switch (_data_type) {
case DataType::AUDIO:
- value = gain_to_slider_position_with_max (_control->get_value(), Config->get_max_gain());
+ value = gain_to_slider_position_with_max (_control->get_value() * master_gain, Config->get_max_gain());
break;
case DataType::MIDI:
value = _control->get_value ();