summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-09-10 11:35:25 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-09-10 11:35:57 -0400
commit0ef8175b5a74bb6748900459efe086ab8eaf16f6 (patch)
tree0aeb724e679a982478f60008fd26e0618cf2b104 /libs/ardour/session.cc
parentcb85080ca8e8a1f23cd9017587fe48a66c442274 (diff)
when removing routes, don't do potentially expensive work once for each route.
We can update solo state and tell interested parties about the removal once the actual removal is done
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 94a12ca504..c3eca166df 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -3376,8 +3376,6 @@ Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
_monitor_out.reset ();
}
- update_route_solo_state ();
-
// We need to disconnect the route's inputs and outputs
(*iter)->input()->disconnect (0);
@@ -3408,14 +3406,14 @@ Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
_step_editors--;
}
}
-
- RouteAddedOrRemoved (false); /* EMIT SIGNAL */
}
/* writer goes out of scope, forces route list update */
} // end of RCU Writer scope
+ update_route_solo_state ();
+ RouteAddedOrRemoved (false); /* EMIT SIGNAL */
update_latency_compensation ();
set_dirty();