Set the proper oversampling factor for the initial offset

This commit is contained in:
Paul Ferrand 2020-10-04 17:32:58 +02:00
parent 6156022628
commit 0046bb69e6

View file

@ -97,6 +97,7 @@ void sfz::Voice::startVoice(Region* region, int delay, const TriggerEvent& event
return; return;
} }
speedRatio = static_cast<float>(currentPromise->sampleRate / this->sampleRate); speedRatio = static_cast<float>(currentPromise->sampleRate / this->sampleRate);
sourcePosition = region->getOffset(currentPromise->oversamplingFactor);
} }
// do Scala retuning and reconvert the frequency into a 12TET key number // do Scala retuning and reconvert the frequency into a 12TET key number
@ -123,7 +124,6 @@ void sfz::Voice::startVoice(Region* region, int delay, const TriggerEvent& event
equalizers[i].setup(*region, i, triggerEvent.value); equalizers[i].setup(*region, i, triggerEvent.value);
} }
sourcePosition = region->getOffset();
triggerDelay = delay; triggerDelay = delay;
initialDelay = delay + static_cast<int>(region->getDelay() * sampleRate); initialDelay = delay + static_cast<int>(region->getDelay() * sampleRate);
baseFrequency = resources.tuning.getFrequencyOfKey(triggerEvent.number); baseFrequency = resources.tuning.getFrequencyOfKey(triggerEvent.number);