diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-03-11 02:55:52 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-03-11 02:55:52 +0000 |
commit | d155f32039570e9e0cde11b42e395ca2bcc89ffd (patch) | |
tree | 160ca7969013b713d70f31f15f328e7a11a723dd /libs/ardour/audio_port.cc | |
parent | e8060844021cdf5b4c6f3e284a892e70109787c3 (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.cc | 7 |
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; } |