diff --git a/modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp b/modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp index a13a489937..35714a3dcd 100644 --- a/modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp +++ b/modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp @@ -55,8 +55,10 @@ struct AudioVisualiserComponent::ChannelInfo { if (--subSample <= 0) { - nextSample %= levels.size(); - levels.getReference (nextSample++) = value; + if (++nextSample == levels.size()) + nextSample = 0; + + levels.getReference (nextSample) = value; subSample = owner.getSamplesPerBlock(); value = Range (newSample, newSample); } @@ -78,7 +80,7 @@ struct AudioVisualiserComponent::ChannelInfo AudioVisualiserComponent& owner; Array> levels; Range value; - int nextSample = 0, subSample = 0; + std::atomic nextSample { 0 }, subSample { 0 }; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ChannelInfo) };