diff --git a/plugins/opl2/opl2instrument.cpp b/plugins/opl2/opl2instrument.cpp index 2288e0d32..3c8b425b0 100644 --- a/plugins/opl2/opl2instrument.cpp +++ b/plugins/opl2/opl2instrument.cpp @@ -152,6 +152,14 @@ opl2instrument::opl2instrument( InstrumentTrack * _instrument_track ) : theEmulator->write(0x01,0x20); emulatorMutex.unlock(); + //Initialize voice values + voiceNote[0] = 0; + voiceLRU[0] = 0; + for(int i=1; i<9; ++i) { + voiceNote[i] = OPL2_VOICE_FREE; + voiceLRU[i] = i; + } + updatePatch(); // Can the buffer size change suddenly? I bet that would break lots of stuff @@ -162,11 +170,6 @@ opl2instrument::opl2instrument( InstrumentTrack * _instrument_track ) : pitchbend = 0; tuneEqual(69, 440); - for(int i=1; i<9; ++i) { - voiceNote[i] = OPL2_VOICE_FREE; - voiceLRU[i] = i; - } - connect( engine::mixer(), SIGNAL( sampleRateChanged() ), this, SLOT( reloadEmulator() ) ); // Connect knobs