From a78c346371486d12245658df31ca431b85c4280c Mon Sep 17 00:00:00 2001 From: josc146 Date: Thu, 30 Nov 2023 11:55:10 +0800 Subject: [PATCH] fix NoteOff ElapsedTime of MIDI Tracks --- backend-golang/midi.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend-golang/midi.go b/backend-golang/midi.go index b4d518f..32341c3 100644 --- a/backend-golang/midi.go +++ b/backend-golang/midi.go @@ -86,6 +86,12 @@ func (a *App) OpenMidiPort(index int) error { channel := bytes[0] & 0x0f switch msgType { case 0x8: + elapsed := time.Since(lastNoteTime) + lastNoteTime = time.Now() + runtime.EventsEmit(a.ctx, "midiMessage", &MIDIMessage{ + MessageType: "ElapsedTime", + Value: int(elapsed.Milliseconds()), + }) note := bytes[1] runtime.EventsEmit(a.ctx, "midiMessage", &MIDIMessage{ MessageType: "NoteOff",