From 516b8dbca8c27b6073f87d84942fb09ed6f2cbf2 Mon Sep 17 00:00:00 2001 From: firewall1110 <57725851+firewall1110@users.noreply.github.com> Date: Tue, 4 Feb 2025 02:02:06 +0200 Subject: [PATCH] Fix dropout with SID instrument when used for the first time (#7673) Co-authored-by: Sotonye Atemie --- plugins/Sid/SidInstrument.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/Sid/SidInstrument.cpp b/plugins/Sid/SidInstrument.cpp index 4d21abd4dea..9a5a74f7158 100644 --- a/plugins/Sid/SidInstrument.cpp +++ b/plugins/Sid/SidInstrument.cpp @@ -128,6 +128,10 @@ SidInstrument::SidInstrument( InstrumentTrack * _instrument_track ) : m_volumeModel( 15.0f, 0.0f, 15.0f, 1.0f, this, tr( "Volume" ) ), m_chipModel( static_cast(ChipModel::MOS8580), 0, NumChipModels-1, this, tr( "Chip model" ) ) { + // A Filter object needs to be created only once to do some initialization, avoiding + // dropouts down the line when we have to play a note for the first time. + [[maybe_unused]] static auto s_filter = reSID::Filter{}; + for( int i = 0; i < 3; ++i ) { m_voice[i] = new VoiceObject( this, i );