]> git.alsa-project.org Git - alsa-lib.git/commit
seq: Add UMP support
authorTakashi Iwai <tiwai@suse.de>
Thu, 17 Nov 2022 14:49:44 +0000 (15:49 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 6 Jun 2023 13:13:27 +0000 (15:13 +0200)
commit2aefb5c41cc03b72b3161b57336dd4f924b7a90b
tree33c19dcbe2874554c3a13f0401e31bc4045695e1
parentc40dc19a57cce62a4072cb494fc1d96ccd09d611
seq: Add UMP support

This patch adds the basic support of UMP on ALSA sequencer API.
An extended event type, snd_seq_ump_event_t, is defined.  It's
compatible with the existing type, snd_seq_event_t, but it has a
larger payload of 16 bytes instead of 12 bytes, for holding the full
128bit UMP packet.

The new snd_seq_ump_event_t must have the bit SND_SEQ_EVENT_UMP in the
event flags.

A few new API functions have been added such as
snd_seq_ump_event_output() and snd_seq_ump_event_input() for
reading/writing this new event object.

The support of UMP in the sequencer client is switched by the function
snd_seq_client_set_midi_version().  It can switch from the default
legacy MIDI to UMP MIDI 1.0 or 2.0 on the fly.

The automatic event conversion among UMP and legacy clients can be
suppressed via snd_seq_client_set_ump_conversion().

The inquiry of the associated UMP Endpoints and UMP Blocks can be done
via snd_seq_get_ump_endpoint_info() and snd_seq_get_ump_block_info().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/local.h
include/seq.h
include/seq_event.h
include/seqmid.h
src/Versions.in
src/seq/seq.c
src/seq/seq_hw.c
src/seq/seq_local.h
src/seq/seqmid.c