summaryrefslogtreecommitdiff
path: root/libs/ardour/internal_return.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-09-28 16:06:57 +0200
committerRobin Gareus <robin@gareus.org>2017-09-29 05:03:48 +0200
commitddd4e3cf1d9e253f638719ca0664a0598383e857 (patch)
treede52e7ee2208218d610c4cc10167844128adceed /libs/ardour/internal_return.cc
parentf974cd5401f8e042f7c221261c5ce18b9adb8859 (diff)
Aux-Send Latency compensation, part 1: latent sources
Diffstat (limited to 'libs/ardour/internal_return.cc')
-rw-r--r--libs/ardour/internal_return.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/internal_return.cc b/libs/ardour/internal_return.cc
index b56e9e6a2f..0f7eb295d6 100644
--- a/libs/ardour/internal_return.cc
+++ b/libs/ardour/internal_return.cc
@@ -65,6 +65,17 @@ InternalReturn::remove_send (InternalSend* send)
_sends.remove (send);
}
+void
+InternalReturn::set_playback_offset (samplecnt_t cnt)
+{
+ Processor::set_playback_offset (cnt);
+
+ Glib::Threads::Mutex::Lock lm (_sends_mutex); // TODO reader lock
+ for (list<InternalSend*>::iterator i = _sends.begin(); i != _sends.end(); ++i) {
+ (*i)->set_delay_out (cnt);
+ }
+}
+
XMLNode&
InternalReturn::state (bool full)
{