diff --git a/app/audio/audiovisualwaveform.cpp b/app/audio/audiovisualwaveform.cpp index 3beeb2cbb..08c6c27b0 100644 --- a/app/audio/audiovisualwaveform.cpp +++ b/app/audio/audiovisualwaveform.cpp @@ -231,10 +231,13 @@ void AudioVisualWaveform::DrawSample(QPainter *painter, const QVector(1.0f)); + qfloat16 min = qMax(sample.at(i).min, static_cast(-1.0)); + if (Config::Current()[QStringLiteral("RectifiedWaveforms")].toBool()) { int channel_bottom = y + channel_height * (i + 1); - int diff = qRound((sample.at(i).max - sample.at(i).min) * channel_half_height); + int diff = qRound((max - min) * channel_half_height); painter->drawLine(x, channel_bottom - diff, @@ -244,9 +247,9 @@ void AudioVisualWaveform::DrawSample(QPainter *painter, const QVectordrawLine(x, - channel_mid + qRound(sample.at(i).min * static_cast(channel_half_height)), + channel_mid + qRound(min * static_cast(channel_half_height)), x, - channel_mid + qRound(sample.at(i).max * static_cast(channel_half_height))); + channel_mid + qRound(max * static_cast(channel_half_height))); } } }