From f4e032b0476ba1ccdb0acafcf0135340b51dd1aa Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Tue, 15 Dec 2020 12:44:31 +0100 Subject: [PATCH] Better amount of samples read for wave visualizers --- src/screens/visualizer.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/screens/visualizer.cpp b/src/screens/visualizer.cpp index aae1482b..b5e5f149 100644 --- a/src/screens/visualizer.cpp +++ b/src/screens/visualizer.cpp @@ -599,12 +599,16 @@ void Visualizer::InitVisualization() switch (Config.visualizer_type) { case VisualizerType::Wave: - m_read_samples = std::max(44100 / Config.visualizer_fps, w.getWidth()); + // Guarantee integral amount of samples per column. + m_read_samples = ceil(44100.0 / Config.visualizer_fps / w.getWidth()); + m_read_samples *= w.getWidth(); draw = &Visualizer::DrawSoundWave; drawStereo = &Visualizer::DrawSoundWaveStereo; break; case VisualizerType::WaveFilled: - m_read_samples = std::max(44100 / Config.visualizer_fps, w.getWidth()); + // Guarantee integral amount of samples per column. + m_read_samples = ceil(44100.0 / Config.visualizer_fps / w.getWidth()); + m_read_samples *= w.getWidth(); draw = &Visualizer::DrawSoundWaveFill; drawStereo = &Visualizer::DrawSoundWaveFillStereo; break;