From 8ecbf0486f9e74236689f2d57880660bc11680f9 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 17 Aug 2017 18:52:07 +0200 Subject: Update GUI, session-format notifications, skip unusable in recent list --- gtk2_ardour/session_dialog.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'gtk2_ardour/session_dialog.cc') 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: -- cgit v1.2.3