summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-08-17 18:52:07 +0200
committerRobin Gareus <robin@gareus.org>2017-08-17 18:52:07 +0200
commit8ecbf0486f9e74236689f2d57880660bc11680f9 (patch)
tree5dd87252d4cc546e2ca929cce54a3cdd4d7043d8
parent22055a07c075b5fba546f0453ba93867747519c1 (diff)
Update GUI, session-format notifications, skip unusable in recent list
-rw-r--r--gtk2_ardour/ardour_ui.cc4
-rw-r--r--gtk2_ardour/session_dialog.cc12
2 files changed, 11 insertions, 5 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 90c9b9cf29..4b3c372281 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -3702,7 +3702,7 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name,
}
catch (SessionException e) {
MessageDialog msg (string_compose(
- _("Session \"%1 (snapshot %2)\" did not load successfully: %3"),
+ _("Session \"%1 (snapshot %2)\" did not load successfully:\n%3"),
path, snap_name, e.what()),
true,
Gtk::MESSAGE_INFO,
@@ -3723,7 +3723,7 @@ ARDOUR_UI::load_session (const std::string& path, const std::string& snap_name,
catch (...) {
MessageDialog msg (string_compose(
- _("Session \"%1 (snapshot %2)\" did not load successfully"),
+ _("Session \"%1 (snapshot %2)\" did not load successfully."),
path, snap_name),
true,
Gtk::MESSAGE_INFO,
diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc
index 7a9e1589ba..638c564c51 100644
--- a/gtk2_ardour/session_dialog.cc
+++ b/gtk2_ardour/session_dialog.cc
@@ -780,8 +780,6 @@ SessionDialog::redisplay_recent_sessions ()
continue;
}
- Gtk::TreeModel::Row row = *(recent_session_model->append());
-
float sr;
SampleFormat sf;
std::string program_version;
@@ -802,13 +800,21 @@ SessionDialog::redisplay_recent_sessions ()
std::string s = Glib::build_filename (dirname, state_file_basename + statefile_suffix);
+ int err = Session::get_info_from_path (s, sr, sf, program_version);
+ if (err < 0) {
+ // XML cannot be parsed, or unsuppored version
+ continue;
+ }
+
GStatBuf gsb;
g_stat (s.c_str(), &gsb);
+ Gtk::TreeModel::Row row = *(recent_session_model->append());
row[recent_session_columns.fullpath] = s;
row[recent_session_columns.time_modified] = gsb.st_mtime;
- if (Session::get_info_from_path (s, sr, sf, program_version) == 0) {
+
+ if (err == 0) {
row[recent_session_columns.sample_rate] = rate_as_string (sr);
switch (sf) {
case FormatFloat: