summaryrefslogtreecommitdiff
path: root/gtk2_ardour/startup_fsm.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-01-24 15:56:23 -0700
committerPaul Davis <paul@linuxaudiosystems.com>2020-01-24 15:56:37 -0700
commit70588baeacbe353db48bbb3f82b27ac0cecc1953 (patch)
tree2846bbd89878fd1a5a5bbccda1e92132e5b8b392 /gtk2_ardour/startup_fsm.cc
parent13ecf633a336286ec0fd5565442d006918cfbed5 (diff)
handle engine failure between audio/MIDI setup and end of plugin scan
Diffstat (limited to 'gtk2_ardour/startup_fsm.cc')
-rw-r--r--gtk2_ardour/startup_fsm.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/gtk2_ardour/startup_fsm.cc b/gtk2_ardour/startup_fsm.cc
index 5b7f0718e9..379504e655 100644
--- a/gtk2_ardour/startup_fsm.cc
+++ b/gtk2_ardour/startup_fsm.cc
@@ -300,7 +300,25 @@ StartupFSM::dialog_response_handler (int response, StartupFSM::DialogID dialog_i
end_dialog (&plugin_scan_dialog);
switch (response) {
case RESPONSE_OK:
- _signal_response (LoadSession);
+ if (AudioEngine::instance()->running()) {
+ _signal_response (LoadSession);
+ } else {
+ /* Engine died unexpectedly (it was
+ * running after
+ * WaitingForEngineParams). Nothing to
+ * do but go back to the audio/MIDI
+ * setup. It would be nice, perhaps, to
+ * show an extra message indicating
+ * that something is not right.
+ */
+ ArdourMessageDialog msg (_("Ardour's audioengine has stopped running unexpectedly.\nSomething is probably wrong with your audio/MIDI device settings."));
+ msg.set_position (WIN_POS_CENTER);
+ msg.run();
+ /* This has been shown before, so we do
+ * not need start_audio_midi_setup ();
+ */
+ show_audiomidi_dialog ();
+ }
break;
default:
_signal_response (ExitProgram);