diff options
author | Robin Gareus <robin@gareus.org> | 2017-08-17 18:52:07 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-08-17 18:52:07 +0200 |
commit | 8ecbf0486f9e74236689f2d57880660bc11680f9 (patch) | |
tree | 5dd87252d4cc546e2ca929cce54a3cdd4d7043d8 /gtk2_ardour/session_dialog.cc | |
parent | 22055a07c075b5fba546f0453ba93867747519c1 (diff) |
Update GUI, session-format notifications, skip unusable in recent list
Diffstat (limited to 'gtk2_ardour/session_dialog.cc')
-rw-r--r-- | gtk2_ardour/session_dialog.cc | 12 |
1 files changed, 9 insertions, 3 deletions
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: |