summaryrefslogtreecommitdiff
path: root/src/drumgizmo.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2014-04-12 19:59:17 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2014-04-12 19:59:17 +0200
commitaa8599e808008a14ac0f7d40f91dc2e05bd3bd0a (patch)
treeb95e724eb81a407569c5a77a486e2aea3595fcd4 /src/drumgizmo.cc
parent68247258548efd9db16b2542122a980a1ff9e03d (diff)
Make engine ask output module for buffer size. Use this new feature to adapt internal buffers to buffer size reported by jack.
Diffstat (limited to 'src/drumgizmo.cc')
-rw-r--r--src/drumgizmo.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/drumgizmo.cc b/src/drumgizmo.cc
index 4bd6a77..5d67c86 100644
--- a/src/drumgizmo.cc
+++ b/src/drumgizmo.cc
@@ -284,13 +284,13 @@ bool DrumGizmo::run(size_t pos, sample_t *samples, size_t nsamples)
void DrumGizmo::run(int endpos)
{
+ size_t pos = 0;
+ size_t nsamples = oe->getBufferSize();
+ sample_t *samples = (sample_t *)malloc(nsamples * sizeof(sample_t));
+
ie->start();
oe->start();
- size_t pos = 0;
- size_t nsamples = 128;//1024;
- sample_t samples[nsamples];
-
while(run(pos, samples, nsamples) == true) {
pos += nsamples;
if(endpos != -1 && pos >= (size_t)endpos) break;
@@ -298,6 +298,8 @@ void DrumGizmo::run(int endpos)
ie->stop();
oe->stop();
+
+ free(samples);
}
#ifdef SSE