13
0

Speed up AFL/PFL changes for large sessions

update_latency_compensation() and resort_routes() are expensive and
were called for every individual change.
This commit is contained in:
Robin Gareus 2016-11-25 10:41:23 +01:00
parent ca55fbf2f8
commit e35ce4c002

View File

@ -6223,11 +6223,14 @@ Session::update_route_record_state ()
void
Session::listen_position_changed ()
{
boost::shared_ptr<RouteList> r = routes.reader ();
for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
(*i)->listen_position_changed ();
{
boost::shared_ptr<RouteList> r = routes.reader ();
PBD::Unwinder<bool> uw (ignore_route_processor_changes, true);
for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
(*i)->listen_position_changed ();
}
}
route_processors_changed (RouteProcessorChange ());
}
void