From: Takashi Iwai Date: Mon, 13 Jan 2025 14:34:49 +0000 (+0100) Subject: seq: Define new events for UMP EP/FB change notifications X-Git-Tag: v1.2.14~35 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=35d2efefa95d28e0cd963a06e051f8125823f077;p=alsa-lib.git seq: Define new events for UMP EP/FB change notifications 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 --- diff --git a/include/local.h b/include/local.h index 512e4455..2b38ce64 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 0b59202f..da542b10 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 */