Commit a3ca3b30 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: seq: Add UMP group number to snd_seq_port_info



Add yet more new filed "ump_group" to snd_seq_port_info for specifying
the associated UMP Group number for each sequencer port.  This will be
referred in the upcoming automatic UMP conversion in sequencer core.

Reviewed-by: default avatarJaroslav Kysela <perex@perex.cz>
Link: https://lore.kernel.org/r/20230523075358.9672-30-tiwai@suse.de


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent ff166a9d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -478,7 +478,8 @@ struct snd_seq_port_info {
	unsigned int flags;		/* misc. conditioning */
	unsigned char time_queue;	/* queue # for timestamping */
	unsigned char direction;	/* port usage direction (r/w/bidir) */
	char reserved[58];		/* for future use */
	unsigned char ump_group;	/* 0 = UMP EP (no conversion), 1-16 = UMP group number */
	char reserved[57];		/* for future use */
};


+7 −2
Original line number Diff line number Diff line
@@ -356,8 +356,12 @@ int snd_seq_set_port_info(struct snd_seq_client_port * port,
	port->time_real = (info->flags & SNDRV_SEQ_PORT_FLG_TIME_REAL) ? 1 : 0;
	port->time_queue = info->time_queue;

	/* direction */
	/* UMP direction and group */
	port->direction = info->direction;
	port->ump_group = info->ump_group;
	if (port->ump_group > SNDRV_UMP_MAX_GROUPS)
		port->ump_group = 0;

	/* fill default port direction */
	if (!port->direction) {
		if (info->capability & SNDRV_SEQ_PORT_CAP_READ)
@@ -403,8 +407,9 @@ int snd_seq_get_port_info(struct snd_seq_client_port * port,
		info->time_queue = port->time_queue;
	}

	/* direction */
	/* UMP direction and group */
	info->direction = port->direction;
	info->ump_group = port->ump_group;

	return 0;
}
+2 −1
Original line number Diff line number Diff line
@@ -72,8 +72,9 @@ struct snd_seq_client_port {
	int midi_voices;
	int synth_voices;
		
	/* direction */
	/* UMP direction and group */
	unsigned char direction;
	unsigned char ump_group;
};

struct snd_seq_client;