summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_ui.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-09-05 04:20:15 +0200
committerRobin Gareus <robin@gareus.org>2014-09-05 04:20:15 +0200
commit0ae8dd4bdbcdea626f66ddf0f73be5e10070b786 (patch)
tree58d165fb498bcd792a62e4b2cb7c171bd4af2d0c /gtk2_ardour/route_ui.cc
parentada9f106873b841d32d084a5188b2a88c0253de0 (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.cc14
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 ();
+ }
}
}