diff options
author | Robin Gareus <robin@gareus.org> | 2014-09-05 04:20:15 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-09-05 04:20:15 +0200 |
commit | 0ae8dd4bdbcdea626f66ddf0f73be5e10070b786 (patch) | |
tree | 58d165fb498bcd792a62e4b2cb7c171bd4af2d0c /gtk2_ardour/route_ui.cc | |
parent | ada9f106873b841d32d084a5188b2a88c0253de0 (diff) |
connect "blink-rec-arm" only when needed.
This also fixes rec-arm button display when Mixer strip
is showing an aux-send instead of the current route.
It's still only a half-baked solution. If "blink-rec-arm" is
to stay a lot of details related to this will need addressing.
Diffstat (limited to 'gtk2_ardour/route_ui.cc')
-rw-r--r-- | gtk2_ardour/route_ui.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 6f6be4fa22..eb3e2ae1f0 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -147,7 +147,9 @@ RouteUI::init () rec_enable_button->set_elements ((ArdourButton::Element)(ArdourButton::Edge|ArdourButton::Body|ArdourButton::RecButton)); UI::instance()->set_tip (rec_enable_button, _("Enable recording on this track"), ""); - rec_blink_connection = ARDOUR_UI::instance()->Blink.connect (sigc::mem_fun (*this, &RouteUI::blink_rec_display)); + if (ARDOUR_UI::config()->get_blink_rec_arm()) { + rec_blink_connection = ARDOUR_UI::instance()->Blink.connect (sigc::mem_fun (*this, &RouteUI::blink_rec_display)); + } show_sends_button = manage (new ArdourButton); show_sends_button->set_name ("send alert button"); @@ -1248,6 +1250,9 @@ RouteUI::blink_rec_display (bool blinkOn) if (!rec_enable_button || !_route) { return; } + if (boost::dynamic_pointer_cast<Send>(_current_delivery)) { + return; + } if (_route->record_enabled()) { switch (_session->record_status ()) { @@ -1912,6 +1917,13 @@ RouteUI::parameter_changed (string const & p) set_button_names (); } else if (p == "auto-input") { update_monitoring_display (); + } else if (p == "blink-rec-arm") { + if (ARDOUR_UI::config()->get_blink_rec_arm()) { + rec_blink_connection.disconnect (); + rec_blink_connection = ARDOUR_UI::instance()->Blink.connect (sigc::mem_fun (*this, &RouteUI::blink_rec_display)); + } else { + rec_blink_connection.disconnect (); + } } } |