From ad5a5f1e5bfbe7f2884dcdb16d10164811da8665 Mon Sep 17 00:00:00 2001 From: coderkun Date: Sun, 9 Apr 2017 12:39:32 +0200 Subject: [PATCH] Fix buffer size for saving and loading samples (issue #174) --- src/diskreader.cxx | 2 +- src/diskwriter.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/diskreader.cxx b/src/diskreader.cxx index 974b622..feeaca9 100644 --- a/src/diskreader.cxx +++ b/src/diskreader.cxx @@ -167,7 +167,7 @@ int DiskReader::loadSample( int track, int scene, string path ) int chnls = infile.channels(); std::vector bufL( infile.frames() ); std::vector bufR( infile.frames() ); - float frameBuf[ sizeof(float) * chnls ]; + float frameBuf[ chnls ]; if ( infile.error() ) { LUPPP_ERROR("File %s, Error %s", path.c_str(), infile.strError() ); diff --git a/src/diskwriter.cxx b/src/diskwriter.cxx index 59c2ea5..4908730 100644 --- a/src/diskwriter.cxx +++ b/src/diskwriter.cxx @@ -321,7 +321,7 @@ int DiskWriter::writeAudioBuffer(int track, int scene, AudioBuffer* ab, // FIXME: the size of the buffer is bigger than the audio contained in it: // calculate the length that needs saving using getBeats() * framesPerBeat if ( ab->getAudioFrames() > 0 ) { - float frameBuf[ sizeof(float) * 2 ]; + float frameBuf[ 2 ]; for(int i=0; igetAudioFrames(); i++) { frameBuf[0] = ab->getDataL()[i]; frameBuf[1] = ab->getDataR()[i];