19 #ifndef EVORAL_MIDI_UTIL_H
20 #define EVORAL_MIDI_UTIL_H
26 #include <sys/types.h>
42 if (status >= 0x80 && status < 0xF0) {
72 std::cerr <<
"event size called for sysex\n";
76 std::cerr <<
"event size called for unknown status byte " << std::hex << (int) status <<
"\n";
86 uint8_t status = buffer[0];
89 if (status >= 0x80 && status < 0xF0) {
98 if ((buffer[end] & 0x80) != 0) {
115 uint8_t status = buffer[0];
120 if (size < 0 || (
size_t)size != len) {
127 for (
size_t i = 1; i < len; ++i) {
128 if ((buffer[i] & 0x80) != 0) {
140 #endif // EVORAL_MIDI_UTIL_H
LIBEVORAL_API std::string midi_note_name(uint8_t noteval)
static int midi_event_size(uint8_t status)
#define MIDI_CMD_COMMON_CLOCK
#define MIDI_CMD_NOTE_OFF
#define MIDI_CMD_CHANNEL_PRESSURE
static bool midi_event_is_valid(const uint8_t *buffer, size_t len)
#define MIDI_CMD_PGM_CHANGE
#define MIDI_CMD_COMMON_TUNE_REQUEST
#define MIDI_CMD_COMMON_SONG_POS
#define MIDI_CMD_COMMON_CONTINUE
#define MIDI_CMD_COMMON_SENSING
#define MIDI_CMD_COMMON_MTC_QUARTER
#define MIDI_CMD_COMMON_RESET
#define MIDI_CMD_COMMON_START
#define MIDI_CMD_COMMON_SYSEX
#define MIDI_CMD_COMMON_SONG_SELECT
#define MIDI_CMD_NOTE_PRESSURE
#define MIDI_CMD_COMMON_STOP
#define MIDI_CMD_COMMON_SYSEX_END