diff --git a/src/sfizz/Config.h b/src/sfizz/Config.h index 63c66ff2..a0995a5d 100644 --- a/src/sfizz/Config.h +++ b/src/sfizz/Config.h @@ -34,6 +34,7 @@ enum Oversampling { namespace config { constexpr float defaultSampleRate { 48000 }; constexpr int defaultSamplesPerBlock { 1024 }; + constexpr int maxBlockSize { 8192 }; constexpr int preloadSize { 8192 }; constexpr int numChannels { 2 }; constexpr int numBackgroundThreads { 4 }; diff --git a/src/sfizz/Synth.cpp b/src/sfizz/Synth.cpp index 2f8bd9b8..2c46bd2f 100644 --- a/src/sfizz/Synth.cpp +++ b/src/sfizz/Synth.cpp @@ -329,6 +329,8 @@ void sfz::Synth::garbageCollect() noexcept void sfz::Synth::setSamplesPerBlock(int samplesPerBlock) noexcept { + ASSERT(samplesPerBlock < config::maxBlockSize); + AtomicDisabler callbackDisabler { canEnterCallback }; while (inCallback) {