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-21 18:41:02 +0100 |
commit | b4a9721ff7d93dd899eb8e6c64510afaf95cbbca (patch) | |
tree | d9aa9b18374ebdad031c43de92ee601926e7cf76 | |
parent | cb17ab98ebffb5b736068452da5a46016caba424 (diff) | |
download | midimonster-b4a9721ff7d93dd899eb8e6c64510afaf95cbbca.tar.gz midimonster-b4a9721ff7d93dd899eb8e6c64510afaf95cbbca.tar.bz2 midimonster-b4a9721ff7d93dd899eb8e6c64510afaf95cbbca.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; |