diff --git a/gtk2_ardour/tracks_control_panel.logic.cc b/gtk2_ardour/tracks_control_panel.logic.cc index 081c6dcde3..162d7c8323 100644 --- a/gtk2_ardour/tracks_control_panel.logic.cc +++ b/gtk2_ardour/tracks_control_panel.logic.cc @@ -1509,6 +1509,28 @@ TracksControlPanel::on_a_settings_tab_button_clicked (WavesButton* clicked_butto _general_settings_tab_button.set_active(visible); } +void +TracksControlPanel::show_and_open_tab (int tab_id) +{ + show (); + + bool visible = (tab_id == MIDISystemSettingsTab); + _midi_settings_tab.set_visible (visible); + _midi_settings_tab_button.set_active(visible); + + visible = (tab_id == SessionSettingsTab); + _session_settings_tab.set_visible (visible);; + _session_settings_tab_button.set_active(visible); + + visible = (tab_id == AudioSystemSettingsTab); + _audio_settings_tab.set_visible (visible); + _audio_settings_tab_button.set_active(visible); + + visible = (tab_id == PreferencesTab); + _general_settings_tab.set_visible (visible); + _general_settings_tab_button.set_active(visible); +} + void TracksControlPanel::on_device_error () { diff --git a/gtk2_ardour/tracks_control_panel.logic.h b/gtk2_ardour/tracks_control_panel.logic.h index e06766dabf..2288520d98 100644 --- a/gtk2_ardour/tracks_control_panel.logic.h +++ b/gtk2_ardour/tracks_control_panel.logic.h @@ -20,6 +20,13 @@ // class TracksControlPanel : public WavesDialog { public: void refresh_session_settings_info (); + enum { + AudioSystemSettingsTab, + MIDISystemSettingsTab, + SessionSettingsTab, + PreferencesTab + }; + void show_and_open_tab (int); private: