diff --git a/src/UI/AudioVisualizer.cc b/src/UI/AudioVisualizer.cc
index 6ef88a2730812b70f6d5c46c1b86d75d524f5d94..d55f2d1c986db66c176a81183e5be70cd40eeb0e 100644
--- a/src/UI/AudioVisualizer.cc
+++ b/src/UI/AudioVisualizer.cc
@@ -1,6 +1,7 @@
 #include "AudioVisualizer.hh"
 #include "../Lib/Audio.hh"
 
+#include <algorithm>
 #include <QGraphicsPixmapItem>
 #include <QLabel>
 #include <QMessageBox>
@@ -12,15 +13,6 @@ using namespace Vivy;
 
 #define MAXPIXVALUE 7 // Some magix AV magic stuff
 
-#define CAP_VALUE(_value, _lower, _upper)                                                          \
-    {                                                                                              \
-        if (_value > _upper) {                                                                     \
-            _value = _upper;                                                                       \
-        } else if (_value < _lower) {                                                              \
-            _value = _lower;                                                                       \
-        }                                                                                          \
-    }
-
 AudioVisualizer::AudioVisualizer(AudioContext::StreamPtr stream, QWidget *parent)
     : QWidget(parent)
 {
@@ -59,8 +51,8 @@ AudioVisualizer::AudioVisualizer(AudioContext::StreamPtr stream, QWidget *parent
             const double curr_dat = decodedData[i + j];
             const double window_modifier =
                 (1 - cos(2 * M_PI * static_cast<double>(j) / static_cast<double>(height - 1))) / 2;
-            float value = static_cast<float>(window_modifier * curr_dat);
-            CAP_VALUE(value, -1.0f, 1.0f);
+            const float value =
+                std::clamp(static_cast<float>(window_modifier * curr_dat), -1.0f, 1.0f);
             chunkData[j] = value;
         }