diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2019-04-01 20:20:38 +0200 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2019-04-01 20:21:31 +0200 |
commit | 34bfc5046bd297311a38dace8914c51905ca9d2e (patch) | |
tree | a9768231418bb67ad416ccb9224ad92d4cf06859 | |
parent | cf2311b09f788447d1c079274405477992eee9e8 (diff) |
Add midi aftertouch event type.
-rw-r--r-- | midievent.cc | 13 | ||||
-rw-r--r-- | midievent.h | 7 |
2 files changed, 16 insertions, 4 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 diff --git a/midievent.h b/midievent.h index 046a01a..1cab7e4 100644 --- a/midievent.h +++ b/midievent.h @@ -31,13 +31,16 @@ #include <vector> -enum class MidiEventType { +enum class MidiEventType +{ Unknown, NoteOn, NoteOff, + Aftertouch, }; -class MidiEvent { +class MidiEvent +{ public: MidiEvent() = default; MidiEvent(int64_t time, const char* data, std::size_t size); |