fbpx


The MIDI Forum

  Wednesday, 02 November 2022
  1 Replies
  3.8K Visits
19
Votes
Undo
  Subscribe
Hi,

I've got an issue with the universal midi packet spec (M2-104-UM_v1-0_UMP_and_MIDI_2-0_Protocol_Specification) in the System Exclusive 8 Messages, Unexpected End of Data specification.


4.5.1 Unexpected End of Data
If the Sender runs out of payload data before sending a System Exclusive 8 End UMP, then the Sender shall send a System Exclusive 8 End UMP with all data bytes set to zero, and the # of bytes field set to either of the two following values:
• 0x1 if the Sender knows that the previous data in the SysEx8 message is valid.
• 0xF if the previous data is an incomplete message, or if the resulting quality of previous data is unknown.


But it also states just above:


# of bytes
This 4-bit field declares the number of valid data bytes in each UMP, starting from and including the Stream ID through to the end of the 128-bit UMP (i.e., 1 to 14 bytes). Stream ID is mandatory (1 byte), so a value of 0x0 is not valid in the # of bytes field.


This would make it impossible to send an ordinary System Exclusive 8 End UMP message containing no data with stream id 0x0. Such a message would be read as an unexpected end of data message (with previously sent data valid).

Is this intended?
This would make it impossible to send an ordinary System Exclusive 8 End UMP message containing no data with stream id 0x0. Such a message would be read as an unexpected end of data message (with previously sent data valid).

Is this intended?

My reading of the spec is that an "ordinary" SysEx8 End UMP will never have no data. If it does, then it is, by definition, not "ordinary".
Can you describe a scenario where you would want to send an "ordinary" SysEx8 End UMP with no data?
Ben set the type of the post as  Technical Question — 1 year ago
  • Page :
  • 1
There are no replies made for this post yet.