diff --git a/src/sound/music_midistream.cpp b/src/sound/music_midistream.cpp index 30d8ba6f6..08edc2961 100644 --- a/src/sound/music_midistream.cpp +++ b/src/sound/music_midistream.cpp @@ -1130,7 +1130,7 @@ void MIDIStreamer::Precache() void MIDIStreamer::CreateSMF(TArray &file, int looplimit) { DWORD delay = 0; - BYTE running_status = 0; + BYTE running_status = 255; // Always create songs aimed at GM devices. CheckCaps(MOD_MIDIPORT); @@ -1163,6 +1163,7 @@ void MIDIStreamer::CreateSMF(TArray &file, int looplimit) file.Push(BYTE(tempo >> 16)); file.Push(BYTE(tempo >> 8)); file.Push(BYTE(tempo)); + running_status = 255; } else if (MEVT_EVENTTYPE(event[2]) == MEVT_LONGMSG) { @@ -1176,6 +1177,7 @@ void MIDIStreamer::CreateSMF(TArray &file, int looplimit) file.Push(MIDI_SYSEX); WriteVarLen(file, len); memcpy(&file[file.Reserve(len - 1)], bytes, len); + running_status = 255; } } else if (MEVT_EVENTTYPE(event[2]) == 0)