Skip to content

Commit

Permalink
fixed midi message misread
Browse files Browse the repository at this point in the history
  • Loading branch information
khjxiaogu committed Aug 19, 2020
1 parent e7d35a9 commit 658193d
Showing 1 changed file with 7 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ public MidiSheet(File f, int offset, float speed) throws InvalidMidiDataExceptio
NoteTrack currentTrack = new NoteTrack();
double beatsPerMinute = 120;
//int b = 0;
long lastOffset=0;
long lastTick=0;
if (track.size() > 0) {
for (int i = 0; i < track.size(); i++) {
double millisPerMidiTick;
Expand All @@ -75,9 +77,11 @@ public MidiSheet(File f, int offset, float speed) throws InvalidMidiDataExceptio
MidiMessage message = event.getMessage();
if (message instanceof ShortMessage) {
ShortMessage sm = (ShortMessage) message;
if ((sm.getCommand()&0x90)>0) {// Detect KEY_ON message
currentTrack.add(sm.getData1() + offset * 12,
Math.round(event.getTick() * millisPerMidiTick / MsPerGameTick), sm.getData2());
if ((sm.getCommand() & ShortMessage.NOTE_ON) > 0) {// Detect KEY_ON message
long delta=event.getTick()-lastTick;
lastTick=event.getTick();
lastOffset+=Math.round(delta * millisPerMidiTick / MsPerGameTick);
currentTrack.add(sm.getData1() + offset * 12,lastOffset, sm.getData2());
}
} else if (message instanceof MetaMessage) {
MetaMessage metaMessage = (MetaMessage) message;
Expand Down

0 comments on commit 658193d

Please sign in to comment.