add left/right side trim cursors and use them for region trimming, as appropriate
[ardour.git] / libs / ardour / session.cc
index 9dedb4634f7eb68b440d29e42b6618199065c449..48d2f6982c4c9ab6d84d48a1e6a1f43d0a25c384 100644 (file)
@@ -1324,7 +1324,6 @@ Session::resort_routes ()
                shared_ptr<RouteList> r = writer.get_copy ();
                resort_routes_using (r);
                /* writer goes out of scope and forces update */
-                route_graph->rechain( r );
        }
 
        //route_graph->dump(1);
@@ -1382,6 +1381,8 @@ Session::resort_routes_using (shared_ptr<RouteList> r)
        RouteSorter cmp;
        r->sort (cmp);
 
+       route_graph->rechain( r );
+
 #ifndef NDEBUG
         DEBUG_TRACE (DEBUG::Graph, "Routes resorted, order follows:\n");
        for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
@@ -2050,6 +2051,10 @@ Session::add_internal_sends (boost::shared_ptr<Route> dest, Placement p, boost::
 void
 Session::remove_route (shared_ptr<Route> route)
 {
+        if (((route == _master_out) || (route == _monitor_out)) && !Config->get_allow_special_bus_removal()) {
+                return;
+        }
+
        {
                RCUWriter<RouteList> writer (routes);
                shared_ptr<RouteList> rs = writer.get_copy ();