Merge pull request #506 from jpcima/loop-fix

Fix broken loop ranges
This commit is contained in:
JP Cimalando 2020-10-18 19:08:59 +02:00 committed by GitHub
commit de657bf615
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1092,10 +1092,11 @@ void sfz::Voice::updateLoopInformation() noexcept
if (!region->shouldLoop())
return;
const auto& info = currentPromise->information;
const auto factor = resources.filePool.getOversamplingFactor();
const auto rate = info.sampleRate;
loop.end = static_cast<int>(info.loopEnd);
loop.start = static_cast<int>(info.loopBegin);
loop.end = static_cast<int>(region->loopEnd(factor));
loop.start = static_cast<int>(region->loopStart(factor));
loop.size = loop.end + 1 - loop.start;
loop.xfSize = static_cast<int>(lroundPositive(region->loopCrossfade * rate));
loop.xfOutStart = loop.end + 1 - loop.xfSize;