diff options
Diffstat (limited to 'midievent.cc')
-rw-r--r-- | midievent.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/midievent.cc b/midievent.cc index 0db8fe3..dfcbbb0 100644 --- a/midievent.cc +++ b/midievent.cc @@ -42,17 +42,26 @@ MidiEvent::MidiEvent(int64_t time, const char* data, std::size_t size) this->data[i] = data[i]; } - if ((data[0] & 0xF0) == 0x80) { // note off + if((data[0] & 0xF0) == 0x80) // note off + { type = MidiEventType::NoteOff; key = data[1]; velocity = data[2]; } - if ((data[0] & 0xF0) == 0x90) { // note on + if((data[0] & 0xF0) == 0x90) // note on + { type = MidiEventType::NoteOn; key = data[1]; velocity = data[2]; } + + if((data[0] & 0xF0) == 0xA0) // aftertouch + { + type = MidiEventType::Aftertouch; + key = data[1]; + velocity = data[2]; + } } int64_t MidiEvent::getTime() const |