1#ifndef MOSTLY_HARMLESS_MIDI_EVENT
2#define MOSTLY_HARMLESS_MIDI_EVENT
54 using MidiEvent = std::variant<NoteOn, NoteOff, PolyAftertouch, ControlChange, ProgramChange, ChannelAftertouch, PitchWheel>;
57 auto parse(std::uint8_t b0, std::uint8_t b1, std::uint8_t b2) -> std::optional<MidiEvent>;
Definition mostlyharmless_MidiEvent.h:6
auto parse(std::uint8_t b0, std::uint8_t b1, std::uint8_t b2) -> std::optional< MidiEvent >
std::variant< NoteOn, NoteOff, PolyAftertouch, ControlChange, ProgramChange, ChannelAftertouch, PitchWheel > MidiEvent
Definition mostlyharmless_MidiEvent.h:54
Definition mostlyharmless_MidiEvent.h:42
std::uint8_t pressure
Definition mostlyharmless_MidiEvent.h:44
std::uint8_t channel
Definition mostlyharmless_MidiEvent.h:43
Definition mostlyharmless_MidiEvent.h:29
std::uint8_t data
Definition mostlyharmless_MidiEvent.h:32
std::uint8_t controllerNumber
Definition mostlyharmless_MidiEvent.h:31
std::uint8_t channel
Definition mostlyharmless_MidiEvent.h:30
Definition mostlyharmless_MidiEvent.h:15
std::uint8_t channel
Definition mostlyharmless_MidiEvent.h:16
std::uint8_t note
Definition mostlyharmless_MidiEvent.h:17
double velocity
Definition mostlyharmless_MidiEvent.h:18
Definition mostlyharmless_MidiEvent.h:8
std::uint8_t channel
Definition mostlyharmless_MidiEvent.h:9
double velocity
Definition mostlyharmless_MidiEvent.h:11
std::uint8_t note
Definition mostlyharmless_MidiEvent.h:10
Definition mostlyharmless_MidiEvent.h:48
std::uint8_t channel
Definition mostlyharmless_MidiEvent.h:49
double value
Definition mostlyharmless_MidiEvent.h:50
Definition mostlyharmless_MidiEvent.h:22
std::uint8_t pressure
Definition mostlyharmless_MidiEvent.h:25
std::uint8_t note
Definition mostlyharmless_MidiEvent.h:24
std::uint8_t channel
Definition mostlyharmless_MidiEvent.h:23
Definition mostlyharmless_MidiEvent.h:36
std::uint8_t programNumber
Definition mostlyharmless_MidiEvent.h:38
std::uint8_t channel
Definition mostlyharmless_MidiEvent.h:37