summaryrefslogtreecommitdiff
path: root/gtk2_ardour/engine_dialog.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-05-18 13:44:37 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-05-18 13:44:37 +0000
commitc04d9d1975402c514d2feb44d997f0941d1f34c3 (patch)
tree5d3f31154f0e7703db0e5b11415376db53a5b40b /gtk2_ardour/engine_dialog.cc
parent06df411708c58987802ef10b8c3e2d50aad8e0e4 (diff)
do not look for (and potentially exit) jack servers if jack is already running
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@5100 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/engine_dialog.cc')
-rw-r--r--gtk2_ardour/engine_dialog.cc40
1 files changed, 23 insertions, 17 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index cf08f4ad68..74e1ab6508 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -276,23 +276,8 @@ EngineControl::EngineControl ()
++row;
#endif
- find_jack_servers (server_strings);
-
- if (server_strings.empty()) {
- fatal << _("No JACK server found anywhere on this system. Please install JACK and restart") << endmsg;
- /*NOTREACHED*/
- }
-
- set_popdown_strings (serverpath_combo, server_strings);
- serverpath_combo.set_active_text (server_strings.front());
-
- if (server_strings.size() > 1) {
- label = manage (new Label (_("Server:")));
- options_packer.attach (*label, 0, 1, row, row + 1, FILL|EXPAND, (AttachOptions) 0);
- label->set_alignment (0.0, 0.5);
- options_packer.attach (serverpath_combo, 1, 2, row, row + 1, FILL|EXPAND, (AttachOptions) 0);
- ++row;
- }
+ /* defer server stuff till later */
+ server_row = row++;
/* device settings */
@@ -354,6 +339,27 @@ EngineControl::~EngineControl ()
}
void
+EngineControl::discover_servers ()
+{
+ find_jack_servers (server_strings);
+
+ if (server_strings.empty()) {
+ fatal << _("No JACK server found anywhere on this system. Please install JACK and restart") << endmsg;
+ /*NOTREACHED*/
+ }
+
+ set_popdown_strings (serverpath_combo, server_strings);
+ serverpath_combo.set_active_text (server_strings.front());
+
+ if (server_strings.size() > 1) {
+ Gtk::Label* label = manage (new Label (_("Server:")));
+ options_packer.attach (*label, 0, 1, server_row, server_row + 1, FILL|EXPAND, (AttachOptions) 0);
+ label->set_alignment (0.0, 0.5);
+ options_packer.attach (serverpath_combo, 1, 2, server_row, server_row + 1, FILL|EXPAND, (AttachOptions) 0);
+ }
+}
+
+void
EngineControl::build_command_line (vector<string>& cmd)
{
string str;