summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-09-17 02:09:31 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-09-17 02:09:31 +0000
commitbd82dfce946a22eb23e6b3582726ce186a52c4b6 (patch)
tree571451c3e73c9552e5cb07a5a662c20cc6e6fb98 /gtk2_ardour/ardour_ui.cc
parent1cd155a7287f662db0548a870d3b5de1a5f40969 (diff)
more NSD changes. if JACK is not running and no interface has ever been chosen, show JUST the audio setup tab. once JACK is successfully started, reshow the NSD with just new/open tabs. still not finished with this utter piece of dreck
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@5670 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 2dfec7fe2a..4f57dec905 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -2301,8 +2301,13 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be
response = Gtk::RESPONSE_REJECT;
goto try_again;
}
+
+ /* hide the NSD while we start up the engine */
+
+ new_session_dialog->hide ();
+ flush_pending ();
}
-
+
if (create_engine ()) {
backend_audio_error (!backend_audio_is_running, new_session_dialog);
@@ -2346,10 +2351,17 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be
switch (new_session_dialog->which_page()) {
case NewSessionDialog::OpenPage:
- case NewSessionDialog::EnginePage:
goto loadit;
break;
+ case NewSessionDialog::EnginePage:
+ if (new_session_dialog->engine_control.interface_chosen() && !session_path.empty()) {
+ goto loadit;
+ } else {
+ goto try_again;
+ }
+ break;
+
case NewSessionDialog::NewPage: /* nominally the "new" session creator, but could be in use for an old session */
should_be_new = true;