-
Notifications
You must be signed in to change notification settings - Fork 3
MIDI CI
midi2Processor handles MIDI-CI messages and tries to abstract some of the complexity in creating and processing messages. It does not attempt to solve the logic and handling of that data. It is up to the application to send responses to queries from an Initiator.
void sendDiscoveryRequest(uint8_t group, uint32_t srcMUID, uint8_t* sysexId, uint8_t* famId, uint8_t* modelId, uint8_t* ver, uint8_t ciSupport, uint16_t sysExMax)
This will generate the SysEx data that is then set to the function provided by setRawSysEx, which is then sent based on how the applications wishes to send out data.
Please note the sysExId field is a 3 byte field as defined by the MIDI-CI Documentation. SysEx Id's are provided by the MIDI Association and permission must be obtained before using a SysEx Id. You are able to use the Research Id for testing purposes uint8_t sysexId[3] = {0x7D , 0, 0};
void sendDiscoveryReply(uint8_t group, uint32_t srcMUID, uint32_t destMuid, uint8_t* sysexId, uint8_t* famId, uint8_t* modelId, uint8_t* ver, uint8_t ciSupport, uint16_t sysExMax)
This will generate the SysEx data that is then set to the function provided by setRawSysEx, which is then sent based on how the applications wishes to send out data.
This will generate the SysEx data that is then set to the function provided by setRawSysEx, which is then sent based on how the applications wishes to send out data.
The application should at this point remove this invalidated MUID from it's internal stores (if any)
###void createCIHeader(uint8_t* sysexHeader, MIDICI midiCiHeader);
Used to create the first 13 bytes of a MIDI-CI header. Useful in in conjunction with setRecvUnknownMIDICI
Used to check if an incoming MIDI-CI Message is meany for this Device.
inline void setRecvDiscoveryReply(void (fptr)(uint8_t group, MIDICI ciDetails, uint8_t sysExId, uint8_t* famId, uint8_t* modelId, uint8_t *verId, uint8_t ciSupport, uint16_t maxSysex))
Process Incoming Reply to Discovery Device details. When the class recieves a Discovery Message it will automatically reply with a Reply to Discovery Message. This is sent to the function set by setRawSysEx.
After triggering off a sendDiscoveryRequest replies will be sent here.
###inline void setRecvDiscovery(void (fptr)(uint8_t group, MIDICI ciDetails, uint8_t sysExId, uint8_t* famId, uint8_t* modelId, uint8_t *verId, uint8_t ciSupport, uint16_t maxSysex))
Process Incoming Discovery Request Device details. A response should be sent in return using sendDiscoveryReply
inline void setRecvInvalidateMUID(void (*fptr)(uint8_t group, MIDICI ciDetails, uint32_t terminateMuid))
inline void setRecvUnknownMIDICI(void (*fptr)(uint8_t group, umpSysex7Internal * syExMess, MIDICI ciDetails, uint8_t s7Byte))
Used when testing new MIDI-CI messages.