diff mbox series

[alsa-lib,5/5] seq: Define new events for UMP EP/FB change notifications

Message ID 20250114085515.11880-6-tiwai@suse.de (mailing list archive)
State Superseded
Headers show
Series Updates for rawmidi / sequencer | expand

Commit Message

Takashi Iwai Jan. 14, 2025, 8:55 a.m. UTC
Two new sequencer event types are added for notifications of UMP info
changes: SND_SEQ_EVENT_UMP_EP_CHANGE (68) and
SND_SEQ_EVENT_UMP_BLOCK_CHANGE (69).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 include/local.h     |  1 +
 include/seq_event.h | 12 ++++++++++++
 2 files changed, 13 insertions(+)
diff mbox series

Patch

diff --git a/include/local.h b/include/local.h
index 512e44555361..2b38ce647243 100644
--- a/include/local.h
+++ b/include/local.h
@@ -208,6 +208,7 @@ 
 #define snd_seq_result		sndrv_seq_result
 #define snd_seq_queue_skew	sndrv_seq_queue_skew
 #define snd_seq_ev_queue_control	sndrv_seq_ev_queue_control
+#define snd_seq_ev_ump_notify	sndrv_seq_ev_ump_notify
 #define snd_seq_client_t	sndrv_seq_client_t
 #define snd_seq_client_type_t	sndrv_seq_client_type_t
 
diff --git a/include/seq_event.h b/include/seq_event.h
index 0b59202f6e62..da542b106a48 100644
--- a/include/seq_event.h
+++ b/include/seq_event.h
@@ -135,6 +135,11 @@  enum snd_seq_event_type {
 	/** Ports disconnected; event data type = #snd_seq_connect_t */
 	SND_SEQ_EVENT_PORT_UNSUBSCRIBED,
 
+	/** UMP Endpoint info has changed; event data type = #snd_seq_ev_ump_notify_t */
+	SND_SEQ_EVENT_UMP_EP_CHANGE,
+	/** UMP Block info has changed; event data type = #snd_seq_ev_ump_notify_t */
+	SND_SEQ_EVENT_UMP_BLOCK_CHANGE,
+
 	/** user-defined event; event data type = any (fixed size) */
 	SND_SEQ_EVENT_USR0 = 90,
 	/** user-defined event; event data type = any (fixed size) */
@@ -294,6 +299,12 @@  typedef struct snd_seq_ev_queue_control {
 	} param;				/**< data value union */
 } snd_seq_ev_queue_control_t;
 
+/** UMP info change notify */
+typedef struct snd_seq_ev_ump_notify {
+	unsigned char client;	/**< Client number */
+	unsigned char block;	/**< Block number (optional) */
+} snd_seq_ev_ump_notify_t;
+
 /** Sequencer event data */
 typedef union snd_seq_event_data {
 	snd_seq_ev_note_t note;		/**< note information */
@@ -306,6 +317,7 @@  typedef union snd_seq_event_data {
 	snd_seq_addr_t addr;		/**< address */
 	snd_seq_connect_t connect;	/**< connect information */
 	snd_seq_result_t result;	/**< operation result code */
+	snd_seq_ev_ump_notify_t ump_notify; /**< UMP info change notification */
 } snd_seq_event_data_t;
 
 /** Sequencer event */