From 9dad10f69133b8ae3606411f61ac9490a4057009 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 12 Dec 2016 21:48:29 +0100 Subject: Add UI to set global track layered mode --- gtk2_ardour/ardour_ui.cc | 3 +++ gtk2_ardour/ardour_ui.h | 2 ++ gtk2_ardour/ardour_ui2.cc | 11 +++++++++++ gtk2_ardour/ardour_ui_options.cc | 2 ++ gtk2_ardour/themes/dark-ardour.colors | 2 ++ 5 files changed, 20 insertions(+) (limited to 'gtk2_ardour') 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"); @@ -551,6 +554,14 @@ ARDOUR_UI::error_alert_press (GdkEventButton* ev) return !do_toggle; } +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) { 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 @@ + + -- cgit v1.2.3