summaryrefslogtreecommitdiff
path: root/gtk2_ardour/engine_dialog.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-09-09 13:17:53 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-09-09 15:17:42 -0400
commit56465fda106a7350741d476282abee68da94b9bb (patch)
tree1cd16f7b2247170dd85a4a333d8a61b308eb8df2 /gtk2_ardour/engine_dialog.cc
parentcd6a9cfe38e78665e9de8c51392098bcbf4cc39b (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.cc52
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 ()