[Summary] Added editor MultiOut/StereoOut switching actions into editor button handlers

[git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 462461]
This commit is contained in:
Grygorii Zharun 2014-05-21 11:47:04 -05:00
parent fa94e468a7
commit ee4e028d1a
4 changed files with 37 additions and 6 deletions

View file

@ -571,6 +571,19 @@ ARDOUR_UI::post_engine ()
Config->map_parameters (pc);
}
void
ARDOUR_UI::update_ouput_operation_mode_buttons()
{
// muti out
WavesButton& multi_out_button = editor->get_waves_button ("mode_multi_out_button");
multi_out_button.set_active(Config->get_output_auto_connect() & AutoConnectPhysical);
// stereo out
WavesButton& stereo_out_button = editor->get_waves_button ("mode_stereo_out_button");
stereo_out_button.set_active(Config->get_output_auto_connect() & AutoConnectMaster);
}
ARDOUR_UI::~ARDOUR_UI ()
{
if (ui_config->dirty()) {
@ -2030,12 +2043,24 @@ ARDOUR_UI::toggle_session_auto_loop ()
void ARDOUR_UI::toggle_multi_out_mode ()
{
if (Config->get_output_auto_connect() & AutoConnectPhysical) {
// the mode is already enabled, nothing to do here
return;
}
Config->set_output_auto_connect(AutoConnectPhysical);
editor->get_waves_button ("mode_multi_out_button").set_active(true);
editor->get_waves_button ("mode_stereo_out_button").set_active(false);
}
void ARDOUR_UI::toggle_stereo_out_mode ()
{
if (Config->get_output_auto_connect() & AutoConnectMaster) {
// the mode is already enabled, nothing to do here
return;
}
Config->set_output_auto_connect(AutoConnectMaster);
editor->get_waves_button ("mode_stereo_out_button").set_active(true);
editor->get_waves_button ("mode_multi_out_button").set_active(false);
}

View file

@ -275,6 +275,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
void attach_to_engine ();
void post_engine ();
void update_ouput_operation_mode_buttons();
gint exit_on_main_window_close (GdkEventAny *);
void maximise_editing_space ();

View file

@ -226,11 +226,13 @@ ARDOUR_UI::setup_transport_trx ()
editor->get_waves_button ("transport_record_button").set_controllable (rec_controllable);
act = ActionManager::get_action (X_("Main"), X_("LockSession"));
editor->get_waves_button ("lock_session_button").set_related_action (act);
act = ActionManager::get_action (X_("Main"), X_("ToggleMultiOutMode"));
editor->get_waves_button ("mode_multi_out_button").set_related_action (act);
act = ActionManager::get_action (X_("Main"), X_("ToggleStereoOutMode"));
editor->get_waves_button ("mode_stereo_out_button").set_related_action (act);
act = ActionManager::get_action (X_("Main"), X_("ToggleMultiOutMode"));
editor->get_waves_button ("mode_multi_out_button").set_related_action (act);
act = ActionManager::get_action (X_("Main"), X_("ToggleStereoOutMode"));
editor->get_waves_button ("mode_stereo_out_button").set_related_action (act);
update_ouput_operation_mode_buttons();
transport_tearoff_hbox.set_border_width (3);
transport_tearoff_hbox.set_spacing (3);

View file

@ -417,7 +417,9 @@ ARDOUR_UI::parameter_changed (std::string p)
editor_meter_peak_display.show();
}
}
}
} else if (p == "output-auto-connect") {
update_ouput_operation_mode_buttons();
}
}
void