From 66103be9f24c30c5dd80f36920cf5be6e44202ad Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 17 Mar 2019 17:35:10 +0100 Subject: Speed up session deletion No need to reconfigure routes due to removal of monitor or aux send/return. The processors will be removed with the route. --- libs/ardour/session.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'libs/ardour/session.cc') diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 89a214fdc2..afdca9b683 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -1174,7 +1174,7 @@ Session::remove_monitor_section () */ cancel_audition (); - { + if (!deletion_in_progress ()) { /* Hold process lock while doing this so that we don't hear bits and * pieces of audio as we work on each route. */ @@ -3769,7 +3769,8 @@ Session::remove_routes (boost::shared_ptr routes_to_remove) (*iter)->output()->disconnect (0); /* if the route had internal sends sending to it, remove them */ - if ((*iter)->internal_return()) { + + if (!deletion_in_progress () && (*iter)->internal_return()) { boost::shared_ptr r = routes.reader (); for (RouteList::iterator i = r->begin(); i != r->end(); ++i) { -- cgit v1.2.3