Add UI to set global track layered mode

This commit is contained in:
Robin Gareus 2016-12-12 21:48:29 +01:00
parent 8ba7e8f4ef
commit 9dad10f691
5 changed files with 20 additions and 0 deletions

View File

@ -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);

View File

@ -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 ();

View File

@ -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)
{

View File

@ -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 ());
}
}

View File

@ -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"/>