diff options
Diffstat (limited to 'backends/midi.c')
-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; |