diff options
author | Robin Gareus <robin@gareus.org> | 2016-11-27 22:54:05 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-11-27 22:54:23 +0100 |
commit | 1de584961a746090583a4c97251f25924d6e03ad (patch) | |
tree | 6cc66baec95fde2dbf91d7c1a02f26026a149142 /libs/ardour/audio_diskstream.cc | |
parent | 5ec21347a9595a88d7d1e935a5e4a271bdfb7933 (diff) |
NO-OP; Backport changes from Mixbus branch
Diffstat (limited to 'libs/ardour/audio_diskstream.cc')
-rw-r--r-- | libs/ardour/audio_diskstream.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc index 330b9d582a..53ab63961d 100644 --- a/libs/ardour/audio_diskstream.cc +++ b/libs/ardour/audio_diskstream.cc @@ -2174,6 +2174,22 @@ AudioDiskstream::set_align_style_from_io () } } +#ifdef MIXBUS + // compensate for latency when bouncing from master or mixbus. + // we need to use "ExistingMaterial" to pick up the master bus' latency + // see also Route::direct_feeds_according_to_reality + IOVector ios; + ios.push_back (_io); + if (_session.master_out() && ios.fed_by (_session.master_out()->output())) { + have_physical = true; + } + for (uint32_t n = 0; n < NUM_MIXBUSES && !have_physical; ++n) { + if (_session.get_mixbus (n) && ios.fed_by (_session.get_mixbus(n)->output())) { + have_physical = true; + } + } +#endif + if (have_physical) { set_align_style (ExistingMaterial); } else { |