I have been implementing support for the new UMP packets (Flex Data, UMP Stream, etc.) in my library and noticed some issues.
1. On Utility messages, there are Figure 32 for Examples of JR Timestamps and Figure 35 for Examples of Delta Clockstamped messages. Both data fields are sized as 20 bits, but I believe JR Timestamp has only 16 bits.
2. On Set Chord Name messages explained at 7.5.8, I noticed that those example messages at Figure 76 tell that their format is `1`, but those packets are complete in one UMP, so I believe they should be `0` instead.
3. On Lyric Data message (7.5.10) and Ruby Data message (7.5.12), there are some mentions like "Data Continue UMP (Format = 0x1), but according to 7.5.1 (Flex Data Messages General Format), Flex Data Message Continue UMP is `0x2`, just like other format/status.
4. I am skeptical on how Lyric and Ruby messages are interpreted: what if our lyric packet is COMPLETE in one UMP, AND contains a "melisma" `00h` ? How should we represent such a lyric packet without adding extra letters to make it expanded to another packet? Unless I have missed something, there is no way to achieve that.
For potentially better understanding, I have created an example test case for #4 issue above to my library, at: https://github.com/atsushieno/ktmidi/blob/1fe8bf214/ktmidi/src/commonTest/kotlin/dev/atsushieno/ktmidi/UmpFactoryTest.kt#L439