Post-export hook tweaks
[ardour.git] / libs / ardour / process_thread.cc
index 4c9789f37aeacc4d8456976e07e1d8779e5dafc9..d4a3d2f3908e3b89adabcf9e8a0d7683769be01f 100644 (file)
@@ -90,7 +90,7 @@ ProcessThread::get_silent_buffers (ChanCount count)
 }
 
 BufferSet&
-ProcessThread::get_scratch_buffers (ChanCount count)
+ProcessThread::get_scratch_buffers (ChanCount count, bool silence)
 {
         ThreadBuffers* tb = _private_thread_buffers.get();
         assert (tb);
@@ -105,6 +105,14 @@ ProcessThread::get_scratch_buffers (ChanCount count)
                sb->set_count (sb->available());
        }
 
+       if (silence) {
+               for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) {
+                       for (uint32_t i = 0; i < sb->count().get(*t); ++i) {
+                               sb->get(*t, i).clear();
+                       }
+               }
+       }
+
        return *sb;
 }
 
@@ -126,7 +134,7 @@ ProcessThread::get_route_buffers (ChanCount count, bool silence)
 
        if (silence) {
                for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) {
-                       for (size_t i= 0; i < count.get(*t); ++i) {
+                       for (uint32_t i = 0; i < sb->count().get(*t); ++i) {
                                sb->get(*t, i).clear();
                        }
                }