diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-09-09 13:17:53 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-09-09 15:17:42 -0400 |
commit | 56465fda106a7350741d476282abee68da94b9bb (patch) | |
tree | 1cd16f7b2247170dd85a4a333d8a61b308eb8df2 /gtk2_ardour/engine_dialog.cc | |
parent | cd6a9cfe38e78665e9de8c51392098bcbf4cc39b (diff) |
move engine dialog from a widget to an actual dialog; emit Session::AudioEngineSetupRequired when loading a session if it is necessary
Diffstat (limited to 'gtk2_ardour/engine_dialog.cc')
-rw-r--r-- | gtk2_ardour/engine_dialog.cc | 52 |
1 files changed, 41 insertions, 11 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index 46df096e69..f858f56b17 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -52,7 +52,8 @@ using namespace PBD; using namespace Glib; EngineControl::EngineControl () - : input_latency_adjustment (0, 0, 99999, 1) + : ArdourDialog (_("Audio/MIDI Setup")) + , input_latency_adjustment (0, 0, 99999, 1) , input_latency (input_latency_adjustment) , output_latency_adjustment (0, 0, 99999, 1) , output_latency (output_latency_adjustment) @@ -65,6 +66,45 @@ EngineControl::EngineControl () , realtime_button (_("Realtime")) , basic_packer (9, 3) { + build_notebook (); + + get_vbox()->set_border_width (12); + get_vbox()->pack_start (notebook); + + add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); + add_button (Gtk::Stock::OK, Gtk::RESPONSE_OK); + add_button (Gtk::Stock::APPLY, Gtk::RESPONSE_APPLY); + + /* Pick up any existing audio setup configuration, if appropriate */ + + XMLNode* audio_setup = ARDOUR::Config->extra_xml ("AudioMIDISetup"); + + if (audio_setup) { + set_state (*audio_setup); + } +} + +void +EngineControl::on_response (int response_id) +{ + ArdourDialog::on_response (response_id); + + switch (response_id) { + case RESPONSE_APPLY: + setup_engine (true); + break; + case RESPONSE_OK: + setup_engine (true); + hide (); + break; + default: + hide (); + } +} + +void +EngineControl::build_notebook () +{ using namespace Notebook_Helpers; Label* label; vector<string> strings; @@ -164,16 +204,6 @@ EngineControl::EngineControl () notebook.set_name ("SettingsNotebook"); - set_border_width (12); - pack_start (notebook); - - /* Pick up any existing audio setup configuration, if appropriate */ - - XMLNode* audio_setup = ARDOUR::Config->extra_xml ("AudioMIDISetup"); - - if (audio_setup) { - set_state (*audio_setup); - } } EngineControl::~EngineControl () |