summaryrefslogtreecommitdiff
path: root/libs/ardour/session_state.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r--libs/ardour/session_state.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index 41d6d51979..48048ba764 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -1000,6 +1000,20 @@ Session::load_state (string snapshot_name)
return -1;
}
}
+ } else {
+ XMLNode* child;
+ if ((child = find_named_node (root, "ProgramVersion")) != 0) {
+ if ((prop = child->property ("modified-with")) != 0) {
+ std::string modified_with = prop->value ();
+
+ const double modified_with_version = atof (modified_with.substr ( modified_with.find(" ", 0) + 1, string::npos).c_str());
+ const int modified_with_revision = atoi (modified_with.substr (modified_with.find("-", 0) + 1, string::npos).c_str());
+
+ if (modified_with_version <= 5.3 && !(modified_with_version == 5.3 && modified_with_revision >= 42)) {
+ _midi_regions_use_bbt_beats = true;
+ }
+ }
+ }
}
save_snapshot_name (snapshot_name);