summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-15 14:52:19 +0200
committerRobin Gareus <robin@gareus.org>2016-04-15 14:52:19 +0200
commited3eddaf19ca7b3fae05e2ad3b5c683e30be49ed (patch)
tree2f54f8c136ef51f6f57451ebfeec0e94b2f720e0
parent426e2f2a194c8daf70da2552a2ad03cfef316efd (diff)
special case mixbus routing
-rw-r--r--libs/ardour/route.cc5
-rw-r--r--libs/ardour/session.cc17
2 files changed, 18 insertions, 4 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index a3eacb3588..51fc33a395 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -2083,10 +2083,7 @@ Route::try_configure_processors_unlocked (ChanCount in, ProcessorStreams* err)
if (boost::dynamic_pointer_cast<Delivery> (*p)
&& boost::dynamic_pointer_cast<Delivery> (*p)->role() == Delivery::Main
-#ifndef MIXBUS
- && _strict_io
-#endif
- ) {
+ && ( _strict_io || Profile->get_mixbus ())) {
/* with strict I/O the panner + output are forced to
* follow the last processor's output.
*
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index a1a6268f61..fec1229093 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -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