summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour_ui.cc3
-rw-r--r--gtk2_ardour/ardour_ui.h2
-rw-r--r--gtk2_ardour/ardour_ui2.cc11
-rw-r--r--gtk2_ardour/ardour_ui_options.cc2
-rw-r--r--gtk2_ardour/themes/dark-ardour.colors2
5 files changed, 20 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 224ffef9dd..783510977b 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -2509,6 +2509,7 @@ ARDOUR_UI::map_transport_state ()
play_selection_button.unset_active_state ();
roll_button.unset_active_state ();
stop_button.set_active_state (Gtkmm2ext::ExplicitActive);
+ layered_button.set_sensitive (false);
return;
}
@@ -2548,11 +2549,13 @@ ARDOUR_UI::map_transport_state ()
roll_button.set_active (true);
play_selection_button.set_active (true);
}
+ layered_button.set_sensitive (!_session->actively_recording ());
stop_button.set_active (false);
} else {
+ layered_button.set_sensitive (true);
stop_button.set_active (true);
roll_button.set_active (false);
play_selection_button.set_active (false);
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index 14a359c7a1..f1d6167525 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -570,6 +570,8 @@ private:
void audition_alert_clicked ();
bool error_alert_press (GdkEventButton *);
+ void layered_button_clicked ();
+
void big_clock_value_changed ();
void primary_clock_value_changed ();
void secondary_clock_value_changed ();
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index 03dc0e4a49..d7f46b97b5 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -274,6 +274,8 @@ ARDOUR_UI::setup_transport ()
error_alert_button.set_related_action(act);
error_alert_button.set_fallthrough_to_parent(true);
+ layered_button.signal_clicked.connect (sigc::mem_fun(*this,&ARDOUR_UI::layered_button_clicked));
+
editor_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-editor-visibility")));
mixer_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-mixer-visibility")));
prefs_visibility_button.set_related_action (ActionManager::get_action (X_("Common"), X_("change-preferences-visibility")));
@@ -333,6 +335,7 @@ ARDOUR_UI::setup_transport ()
punch_in_button.set_name ("punch button");
punch_out_button.set_name ("punch button");
+ layered_button.set_name (("layered button"));
click_button.set_name ("transport button");
sync_button.set_name ("transport active option button");
@@ -552,6 +555,14 @@ ARDOUR_UI::error_alert_press (GdkEventButton* ev)
}
void
+ARDOUR_UI::layered_button_clicked ()
+{
+ if (_session) {
+ _session->config.set_layered_record_mode (!_session->config.get_layered_record_mode ());
+ }
+}
+
+void
ARDOUR_UI::solo_blink (bool onoff)
{
if (_session == 0) {
diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc
index 329fbb909f..a196f06864 100644
--- a/gtk2_ardour/ardour_ui_options.cc
+++ b/gtk2_ardour/ardour_ui_options.cc
@@ -443,6 +443,8 @@ ARDOUR_UI::parameter_changed (std::string p)
action_script_call_btn[i].hide();
}
}
+ } else if (p == "layered-record-mode") {
+ layered_button.set_active (_session->config.get_layered_record_mode ());
}
}
diff --git a/gtk2_ardour/themes/dark-ardour.colors b/gtk2_ardour/themes/dark-ardour.colors
index e281f8c433..6d517f0887 100644
--- a/gtk2_ardour/themes/dark-ardour.colors
+++ b/gtk2_ardour/themes/dark-ardour.colors
@@ -219,6 +219,8 @@
<ColorAlias name="inactive group tab" alias="color 34"/>
<ColorAlias name="invert button: fill active" alias="color 35"/>
<ColorAlias name="invert button: led active" alias="color 37"/>
+ <ColorAlias name="layered button: fill" alias="color 25"/>
+ <ColorAlias name="layered button: fill active" alias="color 48"/>
<ColorAlias name="location cd marker" alias="color 38"/>
<ColorAlias name="location loop" alias="color 39"/>
<ColorAlias name="location marker" alias="color 32"/>