summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-12-07 12:50:35 +0100
committerRobin Gareus <robin@gareus.org>2016-12-07 12:50:35 +0100
commit581c7b6b10ac002b39ca1e24b33f3ed65f5c8001 (patch)
treedba6259def6970bc504f46090d0ef01eda28dcb3
parentfe45f9bc21d74c423e61664ada7e61fbc305e6f3 (diff)
Speed up unloading large sessions.
-rw-r--r--libs/ardour/session.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 06d19672b9..b5853d38b4 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -3613,7 +3613,10 @@ Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
continue;
}
- (*iter)->solo_control()->set_value (0.0, Controllable::NoGroup);
+ /* speed up session deletion, don't do the solo dance */
+ if (0 == _state_of_the_state & Deletion) {
+ (*iter)->solo_control()->set_value (0.0, Controllable::NoGroup);
+ }
rs->remove (*iter);