Sort tempo map after legacy sections have been assigned a pulse
authornick_m <mainsbridge@gmail.com>
Tue, 23 May 2017 01:41:36 +0000 (11:41 +1000)
committernick_m <mainsbridge@gmail.com>
Tue, 23 May 2017 01:41:36 +0000 (11:41 +1000)
libs/ardour/tempo.cc

index 6b1142c1e8c869193d6b8b5bb6a7621a8db3c210..240be1b9e10994ed5b23eb63bb17714e2d7d0c1c 100644 (file)
@@ -4640,11 +4640,6 @@ TempoMap::set_state (const XMLNode& node, int /*version*/)
                        }
                }
 
-               if (niter == nlist.end()) {
-                       MetricSectionSorter cmp;
-                       _metrics.sort (cmp);
-               }
-
                /* check for legacy sessions where bbt was the base musical unit for tempo */
                for (Metrics::const_iterator i = _metrics.begin(); i != _metrics.end(); ++i) {
                        TempoSection* t;
@@ -4663,6 +4658,11 @@ TempoMap::set_state (const XMLNode& node, int /*version*/)
                        }
                }
 
+               if (niter == nlist.end()) {
+                       MetricSectionSorter cmp;
+                       _metrics.sort (cmp);
+               }
+
                /* check for multiple tempo/meters at the same location, which
                   ardour2 somehow allowed.
                */