diff options
author | Takashi Iwai <tiwai@suse.de> | 2024-08-06 09:00:23 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2024-08-06 09:01:23 +0200 |
commit | 0079c9d1e58a39148e6ce13bda55307ea6aa3a9e (patch) | |
tree | 6b8cc6fa3c284b298ed478be80ca12f691f9d015 /include/uapi/sound/asequencer.h | |
parent | ALSA: pcm_timer: use snd_pcm_direction_name() (diff) | |
download | linux-0079c9d1e58a39148e6ce13bda55307ea6aa3a9e.tar.xz linux-0079c9d1e58a39148e6ce13bda55307ea6aa3a9e.zip |
ALSA: ump: Handle MIDI 1.0 Function Block in MIDI 2.0 protocol
The UMP v1.1 spec says in the section 6.2.1:
"If a UMP Endpoint declares MIDI 2.0 Protocol but a Function Block
represents a MIDI 1.0 connection, then may optionally be used for
messages to/from that Function Block."
It implies that the driver can (and should) keep MIDI 1.0 CVM
exceptionally for those FBs even if UMP Endpoint is running in MIDI
2.0 protocol, and the current driver lacks of it.
This patch extends the sequencer port info to indicate a MIDI 1.0
port, and tries to send/receive MIDI 1.0 CVM as is when this port is
the source or sink. The sequencer port flag is set by the driver at
parsing FBs and GTBs although application can set it to its own
user-space clients, too.
Link: https://patch.msgid.link/20240806070024.14301-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/uapi/sound/asequencer.h')
-rw-r--r-- | include/uapi/sound/asequencer.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/uapi/sound/asequencer.h b/include/uapi/sound/asequencer.h index 39b37edcf813..bc30c1f2a109 100644 --- a/include/uapi/sound/asequencer.h +++ b/include/uapi/sound/asequencer.h @@ -461,6 +461,8 @@ struct snd_seq_remove_events { #define SNDRV_SEQ_PORT_FLG_TIMESTAMP (1<<1) #define SNDRV_SEQ_PORT_FLG_TIME_REAL (1<<2) +#define SNDRV_SEQ_PORT_FLG_IS_MIDI1 (1<<3) /* Keep MIDI 1.0 protocol */ + /* port direction */ #define SNDRV_SEQ_PORT_DIR_UNKNOWN 0 #define SNDRV_SEQ_PORT_DIR_INPUT 1 |