make GUI fader positions reflect VCA master values

This commit is contained in:
Paul Davis 2016-03-02 17:24:16 -05:00
parent a4935eca6d
commit 8e643563e5

View file

@ -524,11 +524,12 @@ void
GainMeterBase::gain_adjusted () GainMeterBase::gain_adjusted ()
{ {
gain_t value; gain_t value;
const gain_t master_gain = _control->get_master_gain ();
/* convert from adjustment range (0..1) to gain coefficient */ /* convert from adjustment range (0..1) to gain coefficient */
if (_data_type == DataType::AUDIO) { 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 { } else {
value = gain_adjustment.get_value(); value = gain_adjustment.get_value();
} }
@ -547,11 +548,12 @@ GainMeterBase::gain_adjusted ()
void void
GainMeterBase::effective_gain_display () 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) { switch (_data_type) {
case DataType::AUDIO: 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; break;
case DataType::MIDI: case DataType::MIDI:
value = _control->get_value (); value = _control->get_value ();