summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-09-20 16:26:36 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-09-20 16:26:36 +0000
commit7ec428ca5685f59bf9528a8aafcc2c7af79b9e76 (patch)
tree80b1eda6a3a65eaf0a17dd771159ca29aedae33b
parenta80ca3079c2301a4ae45fee601662be4121ccb76 (diff)
do NOT reverse the route list during latency computations
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@10099 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/ardour/session.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index e2558be0bf..11ba8682c7 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -958,7 +958,6 @@ Session::hookup_io ()
/* Tell all IO objects to connect themselves together */
- cerr << "Enable IO connections, state = " << _state_of_the_state << endl;
IO::enable_connecting ();
/* Now reset all panners */
@@ -1656,7 +1655,6 @@ Session::resort_routes ()
resort_routes_using (r);
/* writer goes out of scope and forces update */
}
-
}
void
@@ -4419,13 +4417,17 @@ Session::update_latency (bool playback)
return;
}
- boost::shared_ptr<RouteList> r = routes.reader ();
+ boost::shared_ptr<RouteList> r;
nframes_t max_latency = 0;
if (playback) {
/* reverse the list so that we work backwards from the last route to run to the first */
+ RouteList* rl = routes.reader().get();
+ r.reset (new RouteList (*rl));
reverse (r->begin(), r->end());
- }
+ } else {
+ r = routes.reader ();
+ }
/* compute actual latency values for the given direction and store them all in per-port
structures. this will also publish the same values (to JACK) so that computation of latency