diff options
author | David Robillard <d@drobilla.net> | 2008-08-12 18:05:08 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-08-12 18:05:08 +0000 |
commit | 23e205fdd1793a1c1de7e118b09c10ab7612f795 (patch) | |
tree | 2854622ec5acdfbca3f32e88daddbc69dd104567 /libs/ardour/panner.cc | |
parent | 025f7a1c693149e84646993ab676d71a2202b1ce (diff) |
Fix panning to mono.
git-svn-id: svn://localhost/ardour2/branches/3.0@3688 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/panner.cc')
-rw-r--r-- | libs/ardour/panner.cc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/libs/ardour/panner.cc b/libs/ardour/panner.cc index ac8e4d05e3..ca4c51fa97 100644 --- a/libs/ardour/panner.cc +++ b/libs/ardour/panner.cc @@ -1311,10 +1311,12 @@ Panner::distribute_no_automation (BufferSet& inbufs, BufferSet& outbufs, nframes dst.read_from(inbufs.get_audio(0), nframes, offset); // accumulate starting with the second - BufferSet::audio_iterator i = inbufs.audio_begin(); - for (++i; i != inbufs.audio_end(); ++i) { - dst.accumulate_from(*i, nframes, offset); - } + if (inbufs.count().n_audio() > 0) { + BufferSet::audio_iterator i = inbufs.audio_begin(); + for (++i; i != inbufs.audio_end(); ++i) { + dst.accumulate_from(*i, nframes, offset); + } + } } else { @@ -1324,10 +1326,12 @@ Panner::distribute_no_automation (BufferSet& inbufs, BufferSet& outbufs, nframes dst.read_from(inbufs.get_audio(0), nframes, offset); // accumulate (with gain) starting with the second - BufferSet::audio_iterator i = inbufs.audio_begin(); - for (++i; i != inbufs.audio_end(); ++i) { - dst.accumulate_with_gain_from(*i, nframes, offset, gain_coeff); - } + if (inbufs.count().n_audio() > 0) { + BufferSet::audio_iterator i = inbufs.audio_begin(); + for (++i; i != inbufs.audio_end(); ++i) { + dst.accumulate_with_gain_from(*i, nframes, offset, gain_coeff); + } + } } |