From 1a356dfa51d929d67ab844f68c34f50ff2da8ba1 Mon Sep 17 00:00:00 2001 From: Randy Heit Date: Wed, 20 Jan 2016 14:53:56 -0600 Subject: [PATCH] Fixed: MIDI meta events were completely discarded, including their delays (unless the event was for setting the tempo) This left the following events in the track to happen at the wrong time. --- src/sound/music_smf_midiout.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/sound/music_smf_midiout.cpp b/src/sound/music_smf_midiout.cpp index 43755eb08..6284c504b 100644 --- a/src/sound/music_smf_midiout.cpp +++ b/src/sound/music_smf_midiout.cpp @@ -661,6 +661,16 @@ DWORD *MIDISong2::SendCommand (DWORD *events, TrackInfo *track, DWORD delay, ptr events[2] = (MEVT_TEMPO << 24) | Tempo; events += 3; break; + + default: + if (delay != 0) + { + events[0] = delay; + events[1] = 0; + events[2] = MEVT_NOP << 24; + events += 3; + } + break; } track->TrackP += len; if (track->TrackP == track->MaxTrackP)