summaryrefslogtreecommitdiff
path: root/libs/ardour/tempo.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-10-28 15:44:39 +0200
committerRobin Gareus <robin@gareus.org>2017-10-28 15:45:08 +0200
commite6c8f104d1ca3da57a3693cb147cde67ab423bfc (patch)
tree7279741e87e7f28a493dfe28480553d8eba77dc0 /libs/ardour/tempo.cc
parent7512692e798a13480c94139ca0fc3fd2e92c9e5b (diff)
Fix loading sessions w/new tempo-map.
Newly constructed sessions don't save "Tempo-start" property. If there's no "start" node, _legacy_bbt is never explicitly set and the default c'tor is used, which sets bar = 1. The test for legacy session checks bar != 0. All new sessions were processed with fix_legacy_session(), which breaks the tempo-map and makes the session not loadable (duplicate Tempo).
Diffstat (limited to 'libs/ardour/tempo.cc')
-rw-r--r--libs/ardour/tempo.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/ardour/tempo.cc b/libs/ardour/tempo.cc
index 93e8a90ee5..ce2d311d39 100644
--- a/libs/ardour/tempo.cc
+++ b/libs/ardour/tempo.cc
@@ -162,6 +162,7 @@ TempoSection::TempoSection (const XMLNode& node, samplecnt_t sample_rate)
{
BBT_Time bbt;
std::string start_bbt;
+ _legacy_bbt.bars = 0; // legacy session check compars .bars != 0; default BBT_Time c'tor uses 1.
if (node.get_property ("start", start_bbt)) {
if (string_to_bbt_time (start_bbt, bbt)) {
/* legacy session - start used to be in bbt*/