From 1c9bb7de66dc9152f75cd907ded0f324e3d24626 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 5 Sep 2015 15:45:59 +0200 Subject: display session create/open failure errors. --- gtk2_ardour/ardour_ui.cc | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 3aae162e9c..beb96f4348 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -3206,7 +3206,26 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name, } goto out; } + catch (SessionException e) { + MessageDialog msg (string_compose( + _("Session \"%1 (snapshot %2)\" did not load successfully: %3"), + path, snap_name, e.what()), + true, + Gtk::MESSAGE_INFO, + BUTTONS_OK); + + msg.set_title (_("Loading Error")); + msg.set_position (Gtk::WIN_POS_CENTER); + pop_back_splash (msg); + msg.present (); + + dump_errors (cerr); + + (void) msg.run (); + msg.hide (); + goto out; + } catch (...) { MessageDialog msg (string_compose( @@ -3307,9 +3326,20 @@ ARDOUR_UI::build_session (const std::string& path, const std::string& snap_name, new_session = new Session (*AudioEngine::instance(), path, snap_name, &bus_profile); } + catch (SessionException e) { + dump_errors (cerr); + MessageDialog msg (string_compose(_("Could not create session in \"%1\": %2"), path, e.what())); + msg.set_title (_("Loading Error")); + msg.set_position (Gtk::WIN_POS_CENTER); + pop_back_splash (msg); + msg.run (); + return -1; + } catch (...) { - + dump_errors (cerr); MessageDialog msg (string_compose(_("Could not create session in \"%1\""), path)); + msg.set_title (_("Loading Error")); + msg.set_position (Gtk::WIN_POS_CENTER); pop_back_splash (msg); msg.run (); return -1; -- cgit v1.2.3