From 4aa3eedc56d80e33bc01541e395a938bd7d5613c Mon Sep 17 00:00:00 2001 From: uncle-darius Date: Wed, 9 Apr 2014 17:19:55 +0430 Subject: [PATCH] Update ChannelEvent.java consider noteOn with 0 velocities as noteOff. because so many midi files use noteOn with 0 velocity instead of noteOff. --- src/com/leff/midi/event/ChannelEvent.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/leff/midi/event/ChannelEvent.java b/src/com/leff/midi/event/ChannelEvent.java index 9f268b6..a8f0221 100644 --- a/src/com/leff/midi/event/ChannelEvent.java +++ b/src/com/leff/midi/event/ChannelEvent.java @@ -173,7 +173,11 @@ public static ChannelEvent parseChannelEvent(long tick, long delta, int type, in case NOTE_OFF: return new NoteOff(tick, delta, channel, val1, val2); case NOTE_ON: - return new NoteOn(tick, delta, channel, val1, val2); + if (val2 > 0) { + return new NoteOn(tick, delta, channel, val1, val2); + } else { + return new NoteOff(tick, delta, channel, val1, val2); + } case NOTE_AFTERTOUCH: return new NoteAftertouch(tick, delta, channel, val1, val2); case CONTROLLER: