add left/right side trim cursors and use them for region trimming, as appropriate
[ardour.git] / libs / ardour / session.cc
index 68244c9812d32988f19d8279b1d3e1f65c43c2f2..48d2f6982c4c9ab6d84d48a1e6a1f43d0a25c384 100644 (file)
@@ -1324,10 +1324,9 @@ 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);
+       //route_graph->dump(1);
 
 #ifndef NDEBUG
         boost::shared_ptr<RouteList> rl = routes.reader ();
@@ -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 ();