Hi,
as the updated MIDI 2.0 spec has been published freshly [*], this is a catch up to add the support for new specs, especially UMP v1.1 features, on Linux kernel.
The new UMP v1.1 introduced the concept of Function Blocks (FB), which is a kind of superset of USB MIDI 2.0 Group Terminal Blocks (GTB). The patch set adds the support for FB as the primary information source while keeping the parse of GTB as fallback. Also UMP v1.1 supports the groupless messages, the protocol switch, static FBs, and other new fundamental features, and those are supported as well.
Takashi
[*] https://www.midi.org/midi-articles/details-about-midi-2-0-midi-ci-profiles-a...
===
Takashi Iwai (10): ALSA: ump: Add more attributes to UMP EP and FB info ALSA: ump: Support UMP Endpoint and Function Block parsing ALSA: usb-audio: Parse UMP Endpoint and Function Blocks at first ALSA: usb-audio: Add midi2_ump_probe option ALSA: seq: ump: Handle groupless messages ALSA: seq: ump: Handle FB info update ALSA: seq: ump: Notify port changes to system port ALSA: seq: ump: Notify UMP protocol change to sequencer ALSA: ump: Add info flag bit for static blocks ALSA: docs: Update MIDI 2.0 documentation for UMP 1.1 enhancement
Documentation/sound/designs/midi-2.0.rst | 39 +- include/sound/ump.h | 89 +++++ include/sound/ump_msg.h | 225 +++++++++++ include/uapi/sound/asequencer.h | 5 +- include/uapi/sound/asound.h | 21 +- sound/core/seq/seq_system.c | 1 + sound/core/seq/seq_ump_client.c | 79 +++- sound/core/seq/seq_ump_convert.c | 3 + sound/core/ump.c | 470 +++++++++++++++++++++++ sound/usb/midi2.c | 42 +- 10 files changed, 962 insertions(+), 12 deletions(-)