From a5454994967e0b313b8a2b4bfb616d7589ecb221 Mon Sep 17 00:00:00 2001 From: Adrien Moulin Date: Wed, 14 Aug 2019 21:34:28 +0200 Subject: [PATCH] Midi: fix SysEx handling We need to clear the event status after each message. Otherwise, after a SysEx message the first byte of the next event will incorrectly inherit its delta_time. This causes a delay of several seconds in nearly every MT-32 games which uses a lot of long SysEx. --- retroarch.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/retroarch.c b/retroarch.c index 1b540bdbfd..c633a8e032 100644 --- a/retroarch.c +++ b/retroarch.c @@ -14733,7 +14733,9 @@ bool midi_driver_write(uint8_t byte, uint32_t delta_time) midi_drv_output_event.data_size); #endif - midi_drv_output_pending = true; + midi_drv_output_pending = true; + midi_drv_output_event.data_size = 0; + midi_drv_output_event.delta_time = 0; } return true;