diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-03-07 22:13:53 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-03-07 22:13:53 +0000 |
commit | f07ea817511902d6ef52d3aa07dc3539fcc4d11c (patch) | |
tree | 4aa2341043f71485505ff3cf382c433f3bc3c870 /libs/ardour/audio_port.cc | |
parent | 5a0a06f94fd6531a7ec23516c87452c0af384e63 (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.cc | 5 |
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()); } } |