diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-03-02 17:24:16 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:39 -0400 |
commit | 8e643563e5a68a697f9e46318e5653b97bcd388c (patch) | |
tree | ee9b684dcf277ebbe61bc3b3c2be55f12b178f39 /gtk2_ardour | |
parent | a4935eca6dcd4e66d24fe0aee04efc4beab1a059 (diff) |
make GUI fader positions reflect VCA master values
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/gain_meter.cc | 8 |
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 (); |