diff options
author | Leon Scheid <leon@weingut-scheid.de> | 2019-11-21 18:41:02 +0100 |
---|---|---|
committer | Leon Scheid <leon@weingut-scheid.de> | 2019-11-22 15:32:59 +0100 |
commit | d29a499113d389a8bee9bf21bf5969d41c9cf307 (patch) | |
tree | 111d5a72a735c6976359c64771f7695e677de2fb | |
parent | b60c1adbf3c66c42997020539f8bb8a0eb6250c9 (diff) | |
download | midimonster-d29a499113d389a8bee9bf21bf5969d41c9cf307.tar.gz midimonster-d29a499113d389a8bee9bf21bf5969d41c9cf307.tar.bz2 midimonster-d29a499113d389a8bee9bf21bf5969d41c9cf307.zip |
Chane NoteOff behavior
-rw-r--r-- | backends/midi.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/backends/midi.c b/backends/midi.c index 536457d..d609ad9 100644 --- a/backends/midi.c +++ b/backends/midi.c @@ -259,14 +259,20 @@ static int midi_handle(size_t num, managed_fd* fds){ ident.label = 0; switch(ev->type){ case SND_SEQ_EVENT_NOTEON: - case SND_SEQ_EVENT_NOTEOFF: - case SND_SEQ_EVENT_NOTE: ident.fields.type = note; ident.fields.channel = ev->data.note.channel; ident.fields.control = ev->data.note.note; val.normalised = (double)ev->data.note.velocity / 127.0; event_type = "note"; break; + case SND_SEQ_EVENT_NOTEOFF: + ident.fields.type = note; + ident.fields.channel = ev->data.note.channel; + ident.fields.control = ev->data.note.note; + val.normalised = (double)0; + event_type = "note"; + break; + case SND_SEQ_EVENT_NOTE: case SND_SEQ_EVENT_KEYPRESS: ident.fields.type = pressure; ident.fields.channel = ev->data.note.channel; |