diff options
author | Len Ovens <len@ovenwerks.net> | 2015-10-12 13:52:10 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2015-10-12 13:52:10 -0700 |
commit | 8e83ca5753e6c507e6c9cfff381706538a9b199c (patch) | |
tree | 598b2f7e9562eb9881a0b0672c4a1253678c3837 | |
parent | 1eb1391cfd1bdb8f63923c639fab8bb54063dcfa (diff) |
Only flip if not already in desired state. Fixes fader jerk on banking.
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc index 9f9f33b633..9f98f1d05b 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.cc +++ b/libs/surfaces/mackie/mackie_control_protocol.cc @@ -1522,12 +1522,20 @@ MackieControlProtocol::set_view_mode (ViewMode m) void MackieControlProtocol::set_flip_mode (FlipMode fm) { - Glib::Threads::Mutex::Lock lm (surfaces_lock); + if (_flip_mode != fm) { + if (fm == Normal) { + update_global_button (Button::Flip, off); + } else { + update_global_button (Button::Flip, on); + } + + Glib::Threads::Mutex::Lock lm (surfaces_lock); - _flip_mode = fm; + _flip_mode = fm; - for (Surfaces::iterator s = surfaces.begin(); s != surfaces.end(); ++s) { - (*s)->update_flip_mode_display (); + for (Surfaces::iterator s = surfaces.begin(); s != surfaces.end(); ++s) { + (*s)->update_flip_mode_display (); + } } } |