diff options
author | Tim E. Real <termtech@rogers.com> | 2012-10-27 09:58:29 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2012-10-27 09:58:29 +0000 |
commit | b1776f093d4b87ad2635990f429f4503157f6288 (patch) | |
tree | a18bcc5e23674d74037c87e0541f9feefdc7b9ca /muse2/muse/driver | |
parent | b297348e8e2cd76be6f1d546fb458865cc4d263b (diff) |
Improved: Velocity graphs. Icon for showing per-note or all velocities. Also found in Settings.
Improved: Piano KB has current selected note (yellow). For velocity/polyaftertouch/other per-note ctrls.
Bad timing warning now has "don't show again".
Added 'speaker' icon to drum edit. And drum list and piano keyboard now obey the 'speaker' icon.
Diffstat (limited to 'muse2/muse/driver')
-rw-r--r-- | muse2/muse/driver/alsamidi.cpp | 5 | ||||
-rw-r--r-- | muse2/muse/driver/jackmidi.cpp | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/muse2/muse/driver/alsamidi.cpp b/muse2/muse/driver/alsamidi.cpp index 80595fb0..f140224c 100644 --- a/muse2/muse/driver/alsamidi.cpp +++ b/muse2/muse/driver/alsamidi.cpp @@ -327,6 +327,11 @@ bool MidiAlsaDevice::putMidiEvent(const MidiPlayEvent& e) snd_seq_ev_set_pitchbend(&event, chn, b); break; } + else if((a | 0xff) == CTRL_POLYAFTER) + { + snd_seq_ev_set_keypress(&event, chn, a & 0x7f, b & 0x7f); + break; + } else if(a == CTRL_AFTERTOUCH) { snd_seq_ev_set_chanpress(&event, chn, b); diff --git a/muse2/muse/driver/jackmidi.cpp b/muse2/muse/driver/jackmidi.cpp index a088290a..7306b93c 100644 --- a/muse2/muse/driver/jackmidi.cpp +++ b/muse2/muse/driver/jackmidi.cpp @@ -846,7 +846,13 @@ bool MidiJackDevice::processEvent(const MidiPlayEvent& event) } } - if(a == CTRL_AFTERTOUCH) + if((a | 0xff) == CTRL_POLYAFTER) + { + //printf("MidiJackDevice::processEvent CTRL_AFTERTOUCH v:%d time:%d type:%d ch:%d A:%d B:%d\n", v, event.time(), event.type(), event.channel(), event.dataA(), event.dataB()); + if(!queueEvent(MidiPlayEvent(t, port, chn, ME_POLYAFTER, a & 0x7f, b & 0x7f))) + return false; + } + else if(a == CTRL_AFTERTOUCH) { //printf("MidiJackDevice::processEvent CTRL_AFTERTOUCH v:%d time:%d type:%d ch:%d A:%d B:%d\n", v, event.time(), event.type(), event.channel(), event.dataA(), event.dataB()); if(!queueEvent(MidiPlayEvent(t, port, chn, ME_AFTERTOUCH, b & 0x7f, 0))) |