From 8a85e2672ae15dbc85220b2779109b3fca06fd68 Mon Sep 17 00:00:00 2001 From: Paul Ferrand Date: Wed, 18 Dec 2019 00:27:13 +0100 Subject: [PATCH] Explicitely cast to floats --- src/sfizz/Region.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sfizz/Region.cpp b/src/sfizz/Region.cpp index 811fe60b..36b91207 100644 --- a/src/sfizz/Region.cpp +++ b/src/sfizz/Region.cpp @@ -777,7 +777,9 @@ float sfz::Region::velocityCurve(uint8_t velocity) const noexcept auto after = std::find_if(velocityPoints.begin(), velocityPoints.end(), [velocity](auto& val) { return val.first >= velocity; }); auto before = after == velocityPoints.begin() ? velocityPoints.begin() : after - 1; // Linear interpolation - float relativePositionInSegment { static_cast(velocity - before->first) / (after->first - before->first) }; + float relativePositionInSegment { + static_cast(velocity - before->first) / static_cast(after->first - before->first) + }; float segmentEndpoints { after->second - before->second }; gain *= relativePositionInSegment * segmentEndpoints; } else { // Standard velocity curve