diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-01-29 14:49:28 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-01-29 16:15:41 -0500 |
commit | 9fe4b7a92a03d934691d9c2f8d4f0014520e5e0f (patch) | |
tree | 4664b98abb2210d0db5a3fbe8ea83a3983ccdf56 /libs/surfaces/mackie | |
parent | 4a6724868d1b11fe351032377b6fee46b2b9866c (diff) |
mackie: if a subview mode is not OK because there's no selection, show no message
Diffstat (limited to 'libs/surfaces/mackie')
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.cc | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc index a4f241febc..36e812a354 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.cc +++ b/libs/surfaces/mackie/mackie_control_protocol.cc @@ -1696,34 +1696,37 @@ MackieControlProtocol::set_subview_mode (SubViewMode sm, boost::shared_ptr<Route if (!subview_mode_would_be_ok (sm, r)) { - Glib::Threads::Mutex::Lock lm (surfaces_lock); + if (r) { - if (!surfaces.empty()) { + Glib::Threads::Mutex::Lock lm (surfaces_lock); - string msg; + if (!surfaces.empty()) { - switch (sm) { - case Sends: - msg = _("no sends for selected track/bus"); - break; - case EQ: - msg = _("no EQ in the track/bus"); - break; - case Dynamics: - msg = _("no dynamics in selected track/bus"); - break; - default: - break; - } - if (!msg.empty()) { - surfaces.front()->display_message_for (msg, 1000); - if (_subview_mode != None) { - /* redisplay current subview mode after - that message goes away. - */ - Glib::RefPtr<Glib::TimeoutSource> redisplay_timeout = Glib::TimeoutSource::create (1000); // milliseconds - redisplay_timeout->connect (sigc::mem_fun (*this, &MackieControlProtocol::redisplay_subview_mode)); - redisplay_timeout->attach (main_loop()->get_context()); + string msg; + + switch (sm) { + case Sends: + msg = _("no sends for selected track/bus"); + break; + case EQ: + msg = _("no EQ in the track/bus"); + break; + case Dynamics: + msg = _("no dynamics in selected track/bus"); + break; + default: + break; + } + if (!msg.empty()) { + surfaces.front()->display_message_for (msg, 1000); + if (_subview_mode != None) { + /* redisplay current subview mode after + that message goes away. + */ + Glib::RefPtr<Glib::TimeoutSource> redisplay_timeout = Glib::TimeoutSource::create (1000); // milliseconds + redisplay_timeout->connect (sigc::mem_fun (*this, &MackieControlProtocol::redisplay_subview_mode)); + redisplay_timeout->attach (main_loop()->get_context()); + } } } } |