From f148d70d41772bd3c3259256073d32dd9c16e55d Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 3 May 2016 14:06:23 +0200 Subject: [PATCH] batch remove tracks --- gtk2_ardour/editor_ops.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index a2ded69bea..a6079cac90 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -7098,6 +7098,7 @@ Editor::remove_tracks () bool Editor::idle_remove_tracks () { + Session::StateProtector sp (_session); _remove_tracks (); return false; /* do not call again */ } @@ -7201,12 +7202,17 @@ edit your ardour.rc file to set the\n\ } { - Session::StateProtector sp (_session); DisplaySuspender ds; + boost::shared_ptr rl (new RouteList); for (vector >::iterator x = routes.begin(); x != routes.end(); ++x) { - _session->remove_route (*x); + rl->push_back (*x); } + _session->remove_routes (rl); } + /* TrackSelection and RouteList leave scope, + * destructors are called, + * diskstream drops references, save_state is called (again for every track) + */ } void