summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_port.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-03-11 02:55:52 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-03-11 02:55:52 +0000
commitd155f32039570e9e0cde11b42e395ca2bcc89ffd (patch)
tree160ca7969013b713d70f31f15f328e7a11a723dd /libs/ardour/audio_port.cc
parente8060844021cdf5b4c6f3e284a892e70109787c3 (diff)
sorta-kinda working latency compensation, latency reporting and capture alignment ... working except that we report the wrong information to JACK and i've noticed a couple of odd circumstances where turning on a latent plugin caused punch recording to fail
git-svn-id: svn://localhost/ardour2/branches/3.0@9121 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_port.cc')
-rw-r--r--libs/ardour/audio_port.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/ardour/audio_port.cc b/libs/ardour/audio_port.cc
index 9deda7a861..e01f4a89e6 100644
--- a/libs/ardour/audio_port.cc
+++ b/libs/ardour/audio_port.cc
@@ -45,6 +45,8 @@ AudioPort::cycle_start (pframes_t nframes)
{
/* caller must hold process lock */
+ Port::cycle_start (nframes);
+
if (sends_output()) {
_buffer->prepare ();
}
@@ -67,10 +69,11 @@ AudioPort::cycle_split ()
}
AudioBuffer&
-AudioPort::get_audio_buffer (framecnt_t nframes)
+AudioPort::get_audio_buffer (pframes_t nframes)
{
/* caller must hold process lock */
- _buffer->set_data ((Sample *) jack_port_get_buffer (_jack_port, nframes) + _port_offset, nframes);
+ _buffer->set_data ((Sample *) jack_port_get_buffer (_jack_port, _cycle_nframes) +
+ _global_port_buffer_offset + _port_buffer_offset, nframes);
return *_buffer;
}