mbox series

[00/10] ALSA: Catch up MIDI 2.0 updates for UMP 1.1

Message ID 20230612081054.17200-1-tiwai@suse.de
Headers show
Series ALSA: Catch up MIDI 2.0 updates for UMP 1.1 | expand

Message

Takashi Iwai June 12, 2023, 8:10 a.m. UTC
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-and-property-exchange

===

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(-)