From 85fbe5d9fb367f86d9e60d079768e39c42ba4c95 Mon Sep 17 00:00:00 2001 From: Grygorii Zharun Date: Mon, 26 May 2014 08:54:26 -0500 Subject: [PATCH] [Summary] Added all_inputs_on_button/all_inputs_off_button; all_outputs_on_button/all_outputs_off_button buttons into tracks_control_panel [Details] Added buttons, hadlers to process "click" events. Added all_outputs_on_button/all_outputs_off_button disabling in StereoOut mode. [git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 463506] --- gtk2_ardour/tracks_control_panel.cc | 4 +++ gtk2_ardour/tracks_control_panel.h | 4 +++ gtk2_ardour/tracks_control_panel.logic.cc | 32 +++++++++++++++++++++++ gtk2_ardour/tracks_control_panel.logic.h | 4 +++ 4 files changed, 44 insertions(+) diff --git a/gtk2_ardour/tracks_control_panel.cc b/gtk2_ardour/tracks_control_panel.cc index 088751dfe5..f4ce7a39a5 100644 --- a/gtk2_ardour/tracks_control_panel.cc +++ b/gtk2_ardour/tracks_control_panel.cc @@ -64,6 +64,10 @@ TracksControlPanel::TracksControlPanel () , _device_playback_list (named_children ().get_vbox("device_playback_list")) , _midi_capture_list (named_children ().get_vbox("midi_capture_list")) , _midi_playback_list (named_children ().get_vbox("midi_playback_list")) + , _all_inputs_on_button (named_children ().get_waves_button("all_inputs_on_button")) + , _all_inputs_off_button (named_children ().get_waves_button("all_inputs_off_button")) + , _all_outputs_on_button (named_children ().get_waves_button("all_outputs_on_button")) + , _all_outputs_off_button (named_children ().get_waves_button("all_outputs_off_button")) , _audio_settings_layout (named_children ().get_layout ("audio_settings_layout")) , _midi_settings_layout (named_children ().get_layout ("midi_settings_layout")) , _session_settings_layout (named_children ().get_layout ("session_settings_layout")) diff --git a/gtk2_ardour/tracks_control_panel.h b/gtk2_ardour/tracks_control_panel.h index fc686dd177..9b2978954c 100644 --- a/gtk2_ardour/tracks_control_panel.h +++ b/gtk2_ardour/tracks_control_panel.h @@ -46,6 +46,10 @@ class TracksControlPanel : public WavesDialog, public PBD::ScopedConnectionList Gtk::VBox& _device_playback_list; Gtk::VBox& _midi_capture_list; Gtk::VBox& _midi_playback_list; + WavesButton& _all_inputs_on_button; + WavesButton& _all_inputs_off_button; + WavesButton& _all_outputs_on_button; + WavesButton& _all_outputs_off_button; Gtk::Layout& _audio_settings_layout; Gtk::Layout& _midi_settings_layout; Gtk::Layout& _session_settings_layout; diff --git a/gtk2_ardour/tracks_control_panel.logic.cc b/gtk2_ardour/tracks_control_panel.logic.cc index 87b1d5d019..f0ae65cd0c 100644 --- a/gtk2_ardour/tracks_control_panel.logic.cc +++ b/gtk2_ardour/tracks_control_panel.logic.cc @@ -70,6 +70,11 @@ TracksControlPanel::init () _session_settings_tab_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_session_settings)); _control_panel_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_control_panel)); + _all_inputs_on_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_all_inputs_on_button)); + _all_inputs_off_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_all_inputs_off_button)); + _all_outputs_on_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_all_outputs_on_button)); + _all_outputs_off_button.signal_clicked.connect (sigc::mem_fun (*this, &TracksControlPanel::on_all_outputs_off_button)); + _multi_out_button.signal_clicked.connect(sigc::mem_fun (*this, &TracksControlPanel::on_multi_out)); _stereo_out_button.signal_clicked.connect(sigc::mem_fun (*this, &TracksControlPanel::on_stereo_out)); @@ -280,6 +285,9 @@ TracksControlPanel::populate_output_mode() { _multi_out_button.set_active(Config->get_output_auto_connect() & AutoConnectPhysical); _stereo_out_button.set_active(Config->get_output_auto_connect() & AutoConnectMaster); + + _all_outputs_on_button.set_sensitive(Config->get_output_auto_connect() & AutoConnectPhysical); + _all_outputs_off_button.set_sensitive(Config->get_output_auto_connect() & AutoConnectPhysical); } @@ -476,6 +484,30 @@ void TracksControlPanel::device_changed (bool show_confirm_dial/*=true*/) MessageDialog( _("Selected device is not available for current engine"), PROGRAM_NAME).run(); } +void +TracksControlPanel::on_all_inputs_on_button(WavesButton*) +{ + +} + +void +TracksControlPanel::on_all_inputs_off_button(WavesButton*) +{ + +} + +void +TracksControlPanel::on_all_outputs_on_button(WavesButton*) +{ + +} + +void +TracksControlPanel::on_all_outputs_off_button(WavesButton*) +{ + +} + void TracksControlPanel::buffer_size_changed() { diff --git a/gtk2_ardour/tracks_control_panel.logic.h b/gtk2_ardour/tracks_control_panel.logic.h index 3ee2a2dd40..6d9ad03c2b 100644 --- a/gtk2_ardour/tracks_control_panel.logic.h +++ b/gtk2_ardour/tracks_control_panel.logic.h @@ -85,6 +85,10 @@ void on_playback_active_changed (DeviceConnectionControl* playback_control, bool active); void on_midi_capture_active_changed (DeviceConnectionControl* capture_control, bool active); void on_midi_playback_active_changed (DeviceConnectionControl* playback_control, bool active); + void on_all_inputs_on_button(WavesButton*); + void on_all_inputs_off_button(WavesButton*); + void on_all_outputs_on_button(WavesButton*); + void on_all_outputs_off_button(WavesButton*); void engine_changed (); void device_changed (bool show_confirm_dial);