Skip to content
This repository was archived by the owner on Apr 8, 2024. It is now read-only.

UMP Message Create

Andrew Mee edited this page Sep 5, 2021 · 2 revisions

UMP Message Create

Utillty Messages

uint32_t mt0NOOP(uint8_t group);

uint32_t mt0JRClock(uint8_t group, uint16_t clockTime);

uint32_t mt0JRTimeStamp(uint8_t group, uint16_t timestamp);

System Messages

uint32_t mt1MTC(uint8_t group, uint8_t timeCode);

uint32_t mt1SPP(uint8_t group, uint16_t position);

uint32_t mt1SongSelect(uint8_t group, uint8_t song);

uint32_t mt1TuneRequest(uint8_t group);

uint32_t mt1TimingClock(uint8_t group);

uint32_t mt1SeqStart(uint8_t group);

uint32_t mt1SeqCont(uint8_t group);

uint32_t mt1SeqStop(uint8_t group);

uint32_t mt1ActiveSense(uint8_t group);

uint32_t mt1SystemReset(uint8_t group);

MIDI 1.0 Channel Voice Messages

uint32_t mt2Create(uint8_t group, uint8_t status, uint8_t channel, uint8_t val1, uint8_t val2);

uint32_t mt2NoteOn(uint8_t group, uint8_t channel, uint8_t noteNumber, uint16_t velocity);

uint32_t mt2NoteOff(uint8_t group, uint8_t channel, uint8_t noteNumber, uint16_t velocity);

uint32_t mt2PolyPressure(uint8_t group, uint8_t channel, uint8_t noteNumber, uint32_t pressure);

uint32_t mt2CC(uint8_t group, uint8_t channel, uint8_t index, uint32_t value);

uint32_t mt2ProgramChange(uint8_t group, uint8_t channel, uint8_t program);

uint32_t mt2ChannelPressure(uint8_t group, uint8_t channel, uint32_t pressure);

uint32_t mt2PitchBend(uint8_t group, uint8_t channel, uint32_t value);

MIDI 2.0 Channel voice messages

MIDI 2.0 Channel voice messages use the UMP64 struct. this is defined as:

struct UMP64{
	uint32_t UMP[2];
};

UMP64 mt4NoteOn(uint8_t group, uint8_t channel, uint8_t noteNumber, uint16_t velocity, uint8_t attributeType, uint16_t attributeData);

UMP64 mt4NoteOff(uint8_t group, uint8_t channel, uint8_t noteNumber, uint16_t velocity, uint8_t attributeType, uint16_t attributeData);

UMP64 mt4CPolyPressure(uint8_t group, uint8_t channel, uint8_t noteNumber, uint32_t pressure);

UMP64 mt4PitchBend(uint8_t group, uint8_t channel, uint32_t pitch);

UMP64 mt4CC(uint8_t group, uint8_t channel, uint8_t index, uint32_t value);

UMP64 mt4RPN(uint8_t group, uint8_t channel,uint8_t bank, uint8_t index, uint32_t value);

UMP64 mt4NRPN(uint8_t group, uint8_t channel,uint8_t bank, uint8_t index, uint32_t value);

UMP64 mt4RelativeRPN(uint8_t group, uint8_t channel,uint8_t bank, uint8_t index, int32_t value);

UMP64 mt4RelativeNRPN(uint8_t group, uint8_t channel,uint8_t bank, uint8_t index, int32_t value);

UMP64 mt4ChannelPressure(uint8_t group, uint8_t channel,uint32_t pressure);

UMP64 mt4ProgramChange(uint8_t group, uint8_t channel, uint8_t program, bool bankValid, uint8_t bank, uint8_t index);

Clone this wiki locally