ref: 88a8362f2313e9080f006bd01810a6c9d1719235
parent: d88db0975210366b381dfdd6d78e475e57d80048
author: Gabriel Ravier <[email protected]>
date: Wed Jan 29 17:30:57 EST 2020
Reverted fmodf stuff and tried to make it so C++ compilers would go for the float version in appropriate circumstances (fmodf directly is unavailable due to not being in C89) Signed-off-by: Gabriel Ravier <[email protected]>
--- a/src/Backends/Audio/SDL2.cpp
+++ b/src/Backends/Audio/SDL2.cpp
@@ -87,7 +87,7 @@
const float sample2 = (sound->samples[(size_t)sound->position + 1] - 128.0f) / 128.0f;
// Perform linear interpolation
- const float interpolated_sample = sample1 + ((sample2 - sample1) * fmodf(sound->position, 1.0));
+ const float interpolated_sample = sample1 + ((sample2 - sample1) * (float)fmod((float)sound->position, 1.0f));
*steam_pointer++ += interpolated_sample * sound->volume_l;
*steam_pointer++ += interpolated_sample * sound->volume_r;
@@ -98,7 +98,7 @@
{
if (sound->looping)
{
- sound->position = fmodf(sound->position, sound->frames);
+ sound->position = fmod(sound->position, sound->frames);
}
else
{