From 2ff3ef624665897a86a5448cf60597fcc1fefc59 Mon Sep 17 00:00:00 2001 From: khoidauminh Date: Sun, 12 May 2024 13:50:17 +0700 Subject: [PATCH 1/2] Declare 2 versions of `resolution`, one of type float for further arithmetic and one of type int for loop incrementing --- src/gui/SampleWaveform.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/SampleWaveform.cpp b/src/gui/SampleWaveform.cpp index 01d21a8c581..d6bb9e2a64b 100644 --- a/src/gui/SampleWaveform.cpp +++ b/src/gui/SampleWaveform.cpp @@ -42,6 +42,7 @@ void SampleWaveform::visualize(Parameters parameters, QPainter& painter, const Q constexpr float maxFramesPerPixel = 512.0f; const float resolution = std::max(1.0f, framesPerPixel / maxFramesPerPixel); + const int resolutionInt = static_cast(resolution); const float framesPerResolution = framesPerPixel / resolution; const size_t numPixels = std::min(parameters.size, width); @@ -53,7 +54,7 @@ void SampleWaveform::visualize(Parameters parameters, QPainter& painter, const Q int pixelIndex = 0; - for (int i = 0; i < maxFrames; i += resolution) + for (int i = 0; i < maxFrames; i += resolutionInt) { pixelIndex = i / framesPerPixel; const int frameIndex = !parameters.reversed ? i : maxFrames - i; From bf0adbbb0ef3241c5ba929a14c1fb63287a09f55 Mon Sep 17 00:00:00 2001 From: khoidauminh Date: Wed, 15 May 2024 21:10:13 +0700 Subject: [PATCH 2/2] Cast directly in the loop instead --- src/gui/SampleWaveform.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gui/SampleWaveform.cpp b/src/gui/SampleWaveform.cpp index d6bb9e2a64b..783543ac587 100644 --- a/src/gui/SampleWaveform.cpp +++ b/src/gui/SampleWaveform.cpp @@ -42,7 +42,6 @@ void SampleWaveform::visualize(Parameters parameters, QPainter& painter, const Q constexpr float maxFramesPerPixel = 512.0f; const float resolution = std::max(1.0f, framesPerPixel / maxFramesPerPixel); - const int resolutionInt = static_cast(resolution); const float framesPerResolution = framesPerPixel / resolution; const size_t numPixels = std::min(parameters.size, width); @@ -54,7 +53,7 @@ void SampleWaveform::visualize(Parameters parameters, QPainter& painter, const Q int pixelIndex = 0; - for (int i = 0; i < maxFrames; i += resolutionInt) + for (int i = 0; i < maxFrames; i += static_cast(resolution)) { pixelIndex = i / framesPerPixel; const int frameIndex = !parameters.reversed ? i : maxFrames - i;