Fix panning to mono.
authorDavid Robillard <d@drobilla.net>
Tue, 12 Aug 2008 18:05:08 +0000 (18:05 +0000)
committerDavid Robillard <d@drobilla.net>
Tue, 12 Aug 2008 18:05:08 +0000 (18:05 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@3688 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/panner.cc

index ac8e4d05e32b81783cf0178107c5c0b04ed8013b..ca4c51fa975f01801162fde4e4427527dfd45add 100644 (file)
@@ -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);
+                       }
+            }
 
                }