summaryrefslogtreecommitdiff
path: root/drumgizmo/output
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2016-07-24 10:06:27 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2016-07-24 10:28:43 +0200
commite5efc3656090d39de1d8854aa495c8c16218c2f6 (patch)
treec3126c789fd37b43218371bf7c16fa2066a7007d /drumgizmo/output
parent973d411598958d968226ed878d9426f23e8f7cbf (diff)
Clear output buffers in LV2 and jack modes before each process iteration to eliminte noise when drumkit has not yet been loaded.
Diffstat (limited to 'drumgizmo/output')
-rw-r--r--drumgizmo/output/jackaudio.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/drumgizmo/output/jackaudio.cc b/drumgizmo/output/jackaudio.cc
index 2274bea..2620b84 100644
--- a/drumgizmo/output/jackaudio.cc
+++ b/drumgizmo/output/jackaudio.cc
@@ -26,6 +26,7 @@
*/
#include <cassert>
#include <iostream>
+#include <cstring>
#include "jackaudio.h"
@@ -83,6 +84,12 @@ void JackAudioOutputEngine::stop()
void JackAudioOutputEngine::pre(size_t nsamples)
{
+ // Clear all channels
+ for(auto& channel : channels)
+ {
+ assert(channel.samples.size() == nsamples);
+ std::memset(channel.samples.data(), 0, nsamples * sizeof(sample_t));
+ }
}
void JackAudioOutputEngine::run(int ch, sample_t* samples, size_t nsamples)