Skip to content

Commit 6558cac

Browse files
samg7b5edudobay
authored andcommitted
Midi fixes
Midi fixes agreed from last PR
1 parent 3b44b33 commit 6558cac

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

mingus/midi/midi_file_in.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,12 @@ def parse_midi_event(self, fp):
333333
raise IOError("Couldn't read MIDI event parameters from file.")
334334
param1 = self.bytes_to_int(param1)
335335
param2 = self.bytes_to_int(param2)
336+
337+
# "It is common for a note on with 0 velocity to be interpreted as NOTE OFF." https://stackoverflow.com/questions/48687756/midi-note-on-event-without-off-event
338+
# this should resolve Lilypond midi files which don't seem to use ec 8 to signify NOTE OFF
339+
if param2 == 0:
340+
event_type = 8
341+
336342
return (
337343
{
338344
"event": event_type,

mingus/midi/midi_track.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ def set_key(self, key="C"):
236236

237237
def key_signature_event(self, key="C"):
238238
"""Return the bytes for a key signature event."""
239-
if key.islower():
239+
if str(key).islower():
240240
val = minor_keys.index(key) - 7
241241
mode = b"\x01"
242242
else:

0 commit comments

Comments
 (0)