From 863d82a1521591ec87453c1b379405a7ff6d4fe8 Mon Sep 17 00:00:00 2001 From: MrCheeze Date: Sat, 30 Jan 2016 03:50:08 -0500 Subject: [PATCH] Eliminate corruption when writing MIDIs caused by RunningStatus persisting even after a MetaEvent/SysexEvent is seen. --- src/fileio.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/fileio.py b/src/fileio.py index c709819..5c31f29 100644 --- a/src/fileio.py +++ b/src/fileio.py @@ -132,11 +132,13 @@ def encode_midi_event(self, event): ret += chr(event.statusmsg) + chr(event.metacommand) ret += write_varlen(len(event.data)) ret += str.join('', map(chr, event.data)) + self.RunningStatus = None # is this event a Sysex Event? elif isinstance(event, SysexEvent): ret += chr(0xF0) ret += str.join('', map(chr, event.data)) ret += chr(0xF7) + self.RunningStatus = None # not a Meta MIDI event or a Sysex event, must be a general message elif isinstance(event, Event): if not self.RunningStatus or \