special case mixbus routing
[ardour.git] / libs / ardour / session.cc
index a1a6268f615fbe95037bd8fb00b569bb23f5eb48..fec12290932d8e489d0f6d4422b600ee6b4487cd 100644 (file)
@@ -2384,6 +2384,10 @@ Session::new_midi_track (const ChanCount& input, const ChanCount& output, boost:
                                goto failed;
                        }
 
+                       if (Profile->get_mixbus ()) {
+                               track->set_strict_io (true);
+                       }
+
                        track->use_new_diskstream();
 
 #ifdef BOOST_SP_ENABLE_DEBUG_HOOKS
@@ -2479,6 +2483,10 @@ Session::new_midi_route (RouteGroup* route_group, uint32_t how_many, string name
                                goto failure;
                        }
 
+                       if (Profile->get_mixbus ()) {
+                               bus->set_strict_io (true);
+                       }
+
 #ifdef BOOST_SP_ENABLE_DEBUG_HOOKS
                        // boost_debug_shared_ptr_mark_interesting (bus.get(), "Route");
 #endif
@@ -3009,6 +3017,11 @@ Session::new_audio_track (int input_channels, int output_channels, TrackMode mod
                                goto failed;
                        }
 
+                       if (Profile->get_mixbus ()) {
+                               track->set_strict_io (true);
+                       }
+
+
                        if (ARDOUR::Profile->get_trx ()) {
                                // TRACKS considers it's not a USE CASE, it's
                                // a piece of behavior of the session model:
@@ -3118,6 +3131,10 @@ Session::new_audio_route (int input_channels, int output_channels, RouteGroup* r
                                goto failure;
                        }
 
+                       if (Profile->get_mixbus ()) {
+                               bus->set_strict_io (true);
+                       }
+
 #ifdef BOOST_SP_ENABLE_DEBUG_HOOKS
                        // boost_debug_shared_ptr_mark_interesting (bus.get(), "Route");
 #endif