projects
/
ardour.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
01fd887
)
when leaving an active automation state, update fader displays to show correct curren...
author
Paul Davis
<paul@linuxaudiosystems.com>
Fri, 22 Jan 2016 16:43:27 +0000
(11:43 -0500)
committer
Paul Davis
<paul@linuxaudiosystems.com>
Fri, 22 Jan 2016 16:58:16 +0000
(11:58 -0500)
gtk2_ardour/gain_meter.cc
patch
|
blob
|
history
diff --git
a/gtk2_ardour/gain_meter.cc
b/gtk2_ardour/gain_meter.cc
index 5a2047cf7322c2d7e0b6bf6465edaab018e9b79b..90585c3676b071e3eede06656443d26f654a6068 100644
(file)
--- a/
gtk2_ardour/gain_meter.cc
+++ b/
gtk2_ardour/gain_meter.cc
@@
-848,9
+848,9
@@
GainMeterBase::gain_automation_style_changed ()
void
GainMeterBase::gain_automation_state_changed ()
{
void
GainMeterBase::gain_automation_state_changed ()
{
- ENSURE_GUI_THREAD (*this, &GainMeterBase::gain_automation_state_changed)
+ ENSURE_GUI_THREAD (*this, &GainMeterBase::gain_automation_state_changed)
;
-
bool x
;
+
cerr << "GMB:autostate change to " << _amp->gain_control()->alist()->automation_state() << endl
;
switch (_width) {
case Wide:
switch (_width) {
case Wide:
@@
-861,22
+861,24
@@
GainMeterBase::gain_automation_state_changed ()
break;
}
break;
}
-
x
= (_amp->gain_control()->alist()->automation_state() != ARDOUR::Off);
+
const bool automation_watch_required
= (_amp->gain_control()->alist()->automation_state() != ARDOUR::Off);
- if (gain_automation_state_button.get_active() !=
x
) {
+ if (gain_automation_state_button.get_active() !=
automation_watch_required
) {
ignore_toggle = true;
ignore_toggle = true;
- gain_automation_state_button.set_active (
x
);
+ gain_automation_state_button.set_active (
automation_watch_required
);
ignore_toggle = false;
}
update_gain_sensitive ();
ignore_toggle = false;
}
update_gain_sensitive ();
- /* start watching automation so that things move */
-
gain_watching.disconnect();
gain_watching.disconnect();
- if (x) {
+ if (automation_watch_required) {
+ /* start watching automation so that things move */
gain_watching = Timers::rapid_connect (sigc::mem_fun (*this, &GainMeterBase::effective_gain_display));
gain_watching = Timers::rapid_connect (sigc::mem_fun (*this, &GainMeterBase::effective_gain_display));
+ } else {
+ /* update once to get the correct value shown as we re-enter off/manual mode */
+ effective_gain_display();
}
}
}
}