From: Takashi Sakamoto Date: Mon, 9 Dec 2019 14:02:38 +0000 (+0900) Subject: seq: user_client: add an API to remove queued events X-Git-Tag: v0.1.0~210 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=93998d1636ecc9e0cd51521197990579e8cde2ee;p=alsa-gobject.git seq: user_client: add an API to remove queued events Signed-off-by: Takashi Sakamoto --- diff --git a/src/seq/user-client.c b/src/seq/user-client.c index 30a9658..66d7d25 100644 --- a/src/seq/user-client.c +++ b/src/seq/user-client.c @@ -854,3 +854,26 @@ void alsaseq_user_client_get_queue_timer(ALSASeqUserClient *self, seq_queue_timer_refer_private(*queue_timer, &timer_ptr); *timer_ptr = timer; } + +/** + * alsaseq_user_client_remove_events: + * @self: A #ALSASeqUserClient. + * @filter: A #ALSASeqRemoveFilter. + * @error: A #GError. + * + * Remove queued events according to the filter. + */ +void alsaseq_user_client_remove_events(ALSASeqUserClient *self, + ALSASeqRemoveFilter *filter, + GError **error) +{ + ALSASeqUserClientPrivate *priv; + + g_return_if_fail(ALSASEQ_IS_USER_CLIENT(self)); + priv = alsaseq_user_client_get_instance_private(self); + + if (ioctl(priv->fd, SNDRV_SEQ_IOCTL_REMOVE_EVENTS, filter) < 0) { + generate_error(error, errno); + return; + } +} diff --git a/src/seq/user-client.h b/src/seq/user-client.h index 408ca15..7e7a732 100644 --- a/src/seq/user-client.h +++ b/src/seq/user-client.h @@ -16,6 +16,7 @@ #include #include #include +#include G_BEGIN_DECLS @@ -139,6 +140,10 @@ void alsaseq_user_client_get_queue_timer(ALSASeqUserClient *self, ALSASeqQueueTimer **queue_timer, GError **error); +void alsaseq_user_client_remove_events(ALSASeqUserClient *self, + ALSASeqRemoveFilter *filter, + GError **error); + G_END_DECLS #endif diff --git a/tests/alsaseq-user-client b/tests/alsaseq-user-client index 51b62d3..a7384c4 100644 --- a/tests/alsaseq-user-client +++ b/tests/alsaseq-user-client @@ -35,6 +35,7 @@ methods = ( 'get_queue_tempo', 'set_queue_timer', 'get_queue_timer', + 'remove_events', ) signals = ()