From 91493ec59eabeadbeb00a386beee48638bef3886 Mon Sep 17 00:00:00 2001 From: Jamie Bullock Date: Wed, 29 Mar 2006 19:38:55 +0000 Subject: Added key and channel aftertouch support. svn path=/trunk/externals/postlude/; revision=4812 --- dssi/src/dssi~.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'dssi/src/dssi~.c') diff --git a/dssi/src/dssi~.c b/dssi/src/dssi~.c index 9dd6af4..f50989c 100644 --- a/dssi/src/dssi~.c +++ b/dssi/src/dssi~.c @@ -1250,6 +1250,16 @@ static void MIDIbuf(int type, int chan, int param, int val, t_dssi_tilde *x){ x->midiEventBuf[x->bufWriteIndex].data.control.param = 0; x->midiEventBuf[x->bufWriteIndex].data.control.value = val; break; + case SND_SEQ_EVENT_CHANPRESS: + x->midiEventBuf[x->bufWriteIndex].data.control.channel = chan; + x->midiEventBuf[x->bufWriteIndex].data.control.param = 0; + x->midiEventBuf[x->bufWriteIndex].data.control.value = val; + break; + case SND_SEQ_EVENT_KEYPRESS: + x->midiEventBuf[x->bufWriteIndex].data.note.channel = chan; + x->midiEventBuf[x->bufWriteIndex].data.note.note = param; + x->midiEventBuf[x->bufWriteIndex].data.note.velocity = val; + break; case SND_SEQ_EVENT_PGMCHANGE: x->instances[chan].pendingBankMSB = (param - 1) / 128; x->instances[chan].pendingBankLSB = (param - 1) % 128; @@ -1295,6 +1305,10 @@ static void dssi_tilde_list(t_dssi_tilde *x, t_symbol *s, int argc, t_atom *argv break; case ASCII_b: ev_type = SND_SEQ_EVENT_PITCHBEND; break; + case ASCII_t: ev_type = SND_SEQ_EVENT_CHANPRESS; + break; + case ASCII_a: ev_type = SND_SEQ_EVENT_KEYPRESS; + break; } #if DEBUG post("initial midi NOTE:, arg1 = %d, arg2 = %d, arg3 = %d, arg4 = %d",ev_type,chan,param,val); -- cgit v1.2.1