From 02ad421fa3208e795a11f83c940114f569a520a0 Mon Sep 17 00:00:00 2001 From: Paul Fd Date: Tue, 7 Apr 2020 17:38:38 +0200 Subject: [PATCH] Adapt preload size --- src/sfizz/Synth.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/sfizz/Synth.cpp b/src/sfizz/Synth.cpp index fd12b218..46c0109d 100644 --- a/src/sfizz/Synth.cpp +++ b/src/sfizz/Synth.cpp @@ -374,7 +374,16 @@ bool sfz::Synth::loadSfzFile(const fs::path& file) region->hasStereoSample = true; // TODO: adjust with LFO targets - const auto maxOffset = region->offset + region->offsetRandom; + const auto maxOffset = [region]() { + uint64_t sumOffsetCC = region->offset + region->offsetRandom; + for (const auto& offsets: region->offsetCC) + sumOffsetCC += offsets.value; + if (static_cast(Default::offsetCCRange.getEnd()) < sumOffsetCC) + return Default::offsetCCRange.getEnd(); + + return static_cast(sumOffsetCC); + }(); + if (!resources.filePool.preloadFile(region->sample, maxOffset)) removeCurrentRegion(); }