summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-01-21 13:00:07 +0100
committerRobin Gareus <robin@gareus.org>2017-01-21 13:00:07 +0100
commitda081e01087ade019526c690818a4aedc812237d (patch)
tree740a21c957313ee9be42b1cc4ee2e656db1ba8a2
parent10d87ceb83613bca1de45e599c25e5042d4ccceb (diff)
parse modified-with for up to 5 snapshots.
-rw-r--r--gtk2_ardour/session_dialog.cc50
1 files changed, 29 insertions, 21 deletions
diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc
index 442d156fbd..3205e11d53 100644
--- a/gtk2_ardour/session_dialog.cc
+++ b/gtk2_ardour/session_dialog.cc
@@ -793,6 +793,7 @@ SessionDialog::redisplay_recent_sessions ()
int64_t most_recent = 0;
// add the children
+ int kidcount = 0;
for (std::vector<std::string>::iterator i2 = state_file_names.begin(); i2 != state_file_names.end(); ++i2) {
s = Glib::build_filename (dirname, *i2 + statefile_suffix);
@@ -810,31 +811,38 @@ SessionDialog::redisplay_recent_sessions ()
if (gsb.st_mtime > most_recent) {
most_recent = gsb.st_mtime;
}
+
+ if (++kidcount < 5) {
+ // parse "modified with" for the first 5 snapshots
+ if (Session::get_info_from_path (s, sr, sf, program_version) == 0) {
#if 0
- if (Session::get_info_from_path (s, sr, sf, program_version) == 0) {
- child_row[recent_session_columns.sample_rate] = rate_as_string (sr);
- switch (sf) {
- case FormatFloat:
- child_row[recent_session_columns.disk_format] = _("32-bit float");
- break;
- case FormatInt24:
- child_row[recent_session_columns.disk_format] = _("24-bit");
- break;
- case FormatInt16:
- child_row[recent_session_columns.disk_format] = _("16-bit");
- break;
+ child_row[recent_session_columns.sample_rate] = rate_as_string (sr);
+ switch (sf) {
+ case FormatFloat:
+ child_row[recent_session_columns.disk_format] = _("32-bit float");
+ break;
+ case FormatInt24:
+ child_row[recent_session_columns.disk_format] = _("24-bit");
+ break;
+ case FormatInt16:
+ child_row[recent_session_columns.disk_format] = _("16-bit");
+ break;
+ }
+#else
+ child_row[recent_session_columns.sample_rate] = "";
+ child_row[recent_session_columns.disk_format] = "";
+#endif
+ } else {
+ child_row[recent_session_columns.sample_rate] = "??";
+ child_row[recent_session_columns.disk_format] = "--";
+ }
+ if (!program_version.empty()) {
+ child_row[recent_session_columns.tip] = Gtkmm2ext::markup_escape_text (string_compose (_("Last modified with: %1"), program_version));
}
} else {
- child_row[recent_session_columns.sample_rate] = "??";
- child_row[recent_session_columns.disk_format] = "--";
+ child_row[recent_session_columns.sample_rate] = "";
+ child_row[recent_session_columns.disk_format] = "";
}
- if (!program_version.empty()) {
- child_row[recent_session_columns.tip] = Gtkmm2ext::markup_escape_text (string_compose (_("Last modified with: %1"), program_version));
- }
-#else
- child_row[recent_session_columns.sample_rate] = "";
- child_row[recent_session_columns.disk_format] = "";
-#endif
++session_snapshot_count;
}