summaryrefslogtreecommitdiff
path: root/libs/ardour/internal_send.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-09-29 04:06:40 +0200
committerRobin Gareus <robin@gareus.org>2017-09-29 05:03:48 +0200
commit9f9e948d845382c8f74e67034fd8beb1704bba78 (patch)
tree6d288976b2a4deee215a733507bc3258e136c879 /libs/ardour/internal_send.cc
parentddd4e3cf1d9e253f638719ca0664a0598383e857 (diff)
Update Send: Include internal 'thru' delay-line
This allows to push latency upstream and delay the source in case the destination has a longer latency. Also add a signal to notify the Session in case this happens, intended to queue a latency-recompute.
Diffstat (limited to 'libs/ardour/internal_send.cc')
-rw-r--r--libs/ardour/internal_send.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/libs/ardour/internal_send.cc b/libs/ardour/internal_send.cc
index 10ad17a406..72e58b6056 100644
--- a/libs/ardour/internal_send.cc
+++ b/libs/ardour/internal_send.cc
@@ -100,9 +100,7 @@ InternalSend::use_target (boost::shared_ptr<Route> sendto)
_meter->configure_io (ChanCount (DataType::AUDIO, pan_outs()), ChanCount (DataType::AUDIO, pan_outs()));
- if (_delayline) {
- _delayline->configure_io (ChanCount (DataType::AUDIO, pan_outs()), ChanCount (DataType::AUDIO, pan_outs()));
- }
+ _send_delay->configure_io (ChanCount (DataType::AUDIO, pan_outs()), ChanCount (DataType::AUDIO, pan_outs()));
reset_panner ();
@@ -252,7 +250,7 @@ InternalSend::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sa
_amp->setup_gain_automation (start_sample, end_sample, nframes);
_amp->run (mixbufs, start_sample, end_sample, speed, nframes, true);
- _delayline->run (mixbufs, start_sample, end_sample, speed, nframes, true);
+ _send_delay->run (mixbufs, start_sample, end_sample, speed, nframes, true);
/* consider metering */
@@ -264,6 +262,8 @@ InternalSend::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sa
}
}
+ _thru_delay->run (bufs, start_sample, end_sample, speed, nframes, true);
+
/* target will pick up our output when it is ready */
out: