update UI, new info API, display created_version in tooltip

This commit is contained in:
Robin Gareus 2017-01-20 18:16:32 +01:00
parent bbe62da55a
commit 17881b3221
3 changed files with 18 additions and 6 deletions

View File

@ -734,6 +734,7 @@ SessionDialog::redisplay_recent_sessions ()
float sr;
SampleFormat sf;
std::string created_version;
std::string state_file_basename;
@ -755,10 +756,9 @@ SessionDialog::redisplay_recent_sessions ()
g_stat (s.c_str(), &gsb);
row[recent_session_columns.fullpath] = s;
row[recent_session_columns.tip] = Gtkmm2ext::markup_escape_text (dirname);
row[recent_session_columns.time_modified] = gsb.st_mtime;
if (Session::get_info_from_path (s, sr, sf) == 0) {
if (Session::get_info_from_path (s, sr, sf, created_version) == 0) {
row[recent_session_columns.sample_rate] = rate_as_string (sr);
switch (sf) {
case FormatFloat:
@ -776,6 +776,12 @@ SessionDialog::redisplay_recent_sessions ()
row[recent_session_columns.disk_format] = "--";
}
if (created_version.empty()) {
row[recent_session_columns.tip] = Gtkmm2ext::markup_escape_text (dirname);
} else {
row[recent_session_columns.tip] = Gtkmm2ext::markup_escape_text (dirname + "\n" + created_version);
}
++session_snapshot_count;
if (state_file_names.size() > 1) {
@ -794,7 +800,11 @@ SessionDialog::redisplay_recent_sessions ()
child_row[recent_session_columns.visible_name] = *i2;
child_row[recent_session_columns.fullpath] = s;
child_row[recent_session_columns.tip] = Gtkmm2ext::markup_escape_text (dirname);
if (created_version.empty()) {
child_row[recent_session_columns.tip] = Gtkmm2ext::markup_escape_text (dirname);
} else {
child_row[recent_session_columns.tip] = Gtkmm2ext::markup_escape_text (dirname + "\n" + created_version);
}
g_stat (s.c_str(), &gsb);
child_row[recent_session_columns.time_modified] = gsb.st_mtime;
@ -805,7 +815,7 @@ SessionDialog::redisplay_recent_sessions ()
most_recent = gsb.st_mtime;
}
#if 0
if (Session::get_info_from_path (s, sr, sf) == 0) {
if (Session::get_info_from_path (s, sr, sf, created_version) == 0) {
child_row[recent_session_columns.sample_rate] = rate_as_string (sr);
switch (sf) {
case FormatFloat:

View File

@ -120,9 +120,10 @@ static Session * _load_session (string dir, string state)
float sr;
SampleFormat sf;
std::string v;
std::string s = Glib::build_filename (dir, state + statefile_suffix);
if (Session::get_info_from_path (s, sr, sf) == 0) {
if (Session::get_info_from_path (s, sr, sf, v) == 0) {
if (engine->set_sample_rate (sr)) {
std::cerr << "Cannot set session's samplerate.\n";
return 0;

View File

@ -239,13 +239,14 @@ static Session * _load_session (string dir, string state) // throws
float sr;
SampleFormat sf;
std::string v;
std::string s = Glib::build_filename (dir, state + statefile_suffix);
if (!Glib::file_test (dir, Glib::FILE_TEST_EXISTS)) {
std::cerr << "Cannot find session: " << s << "\n";
return 0;
}
if (Session::get_info_from_path (s, sr, sf) != 0) {
if (Session::get_info_from_path (s, sr, sf, v) != 0) {
std::cerr << "Cannot get samplerate from session.\n";
return 0;
}