]> git.alsa-project.org Git - alsa-lib.git/commitdiff
seq: Define new events for UMP EP/FB change notifications
authorTakashi Iwai <tiwai@suse.de>
Mon, 13 Jan 2025 14:34:49 +0000 (15:34 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 14 Jan 2025 15:47:37 +0000 (16:47 +0100)
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
include/seq_event.h

index 512e44555361588b60982b54581d0cb39bde478b..2b38ce64724371fac2a049919bf6a7ae4c0db5a2 100644 (file)
 #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
 
index 0b59202f6e6261b5b18c92ec7fadf4bbc9941d03..da542b106a48feb377a8f9af2b02bf03f19e23e2 100644 (file)
@@ -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 */