diff --git a/src/core/Sample.cpp b/src/core/Sample.cpp index 571ce2d86..2972bc397 100644 --- a/src/core/Sample.cpp +++ b/src/core/Sample.cpp @@ -119,8 +119,8 @@ bool Sample::play(sampleFrame* dst, PlaybackState* state, int numFrames, float d return false; } - auto resampleRatio - = (Engine::audioEngine()->processingSampleRate() / m_buffer->sampleRate()) * (m_frequency / desiredFrequency); + auto resampleRatio = static_cast(Engine::audioEngine()->processingSampleRate()) / m_buffer->sampleRate(); + resampleRatio *= m_frequency / desiredFrequency; // If there happens to be an upper limit on the frames per period, we could use ArrayVector here instead auto playBuffer = std::vector(numFrames / resampleRatio);