summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_port.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-03-07 22:13:53 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-03-07 22:13:53 +0000
commitf07ea817511902d6ef52d3aa07dc3539fcc4d11c (patch)
tree4aa2341043f71485505ff3cf382c433f3bc3c870 /libs/ardour/audio_port.cc
parent5a0a06f94fd6531a7ec23516c87452c0af384e63 (diff)
manage Route::_have_internal_generator more accurately and never flush processors if there is on; correctly manage declicking so that only *TRACKS* without internal generators will declick at transport state transitions (fixes horrible click at transport stop in some configurations
git-svn-id: svn://localhost/ardour2/branches/3.0@9100 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_port.cc')
-rw-r--r--libs/ardour/audio_port.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/audio_port.cc b/libs/ardour/audio_port.cc
index f8a1018e29..9deda7a861 100644
--- a/libs/ardour/audio_port.cc
+++ b/libs/ardour/audio_port.cc
@@ -54,7 +54,10 @@ void
AudioPort::cycle_end (pframes_t nframes)
{
if (sends_output() && !_buffer->written()) {
- _buffer->silence (nframes);
+ /* we can't use nframes here because the current buffer capacity may
+ be shorter than the full buffer size if we split the cycle.
+ */
+ _buffer->silence (_buffer->capacity());
}
}