From: Takashi Sakamoto Date: Tue, 9 Jun 2020 21:55:55 +0000 (+0900) Subject: seq: queue_timer_data_alsa: add boxed object to represent data of queue timer in... X-Git-Tag: v0.1.0~100 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=65713413b87e774b58275fd886d0cf6e5d69c560;p=alsa-gobject.git seq: queue_timer_data_alsa: add boxed object to represent data of queue timer in ALSATimer case Signed-off-by: Takashi Sakamoto --- diff --git a/src/seq/alsaseq.map b/src/seq/alsaseq.map index 9c3fbfd..06d9813 100644 --- a/src/seq/alsaseq.map +++ b/src/seq/alsaseq.map @@ -149,6 +149,8 @@ ALSA_GOBJECT_0_0_0 { "alsaseq_queue_timer_alsa_get_type"; "alsaseq_queue_timer_alsa_new"; + "alsaseq_queue_timer_data_alsa_get_type"; + "alsaseq_remove_filter_get_type"; "alsaseq_remove_filter_new_with_dest_addr"; "alsaseq_remove_filter_new_with_note_channel"; diff --git a/src/seq/meson.build b/src/seq/meson.build index 63b4e4f..c01c906 100644 --- a/src/seq/meson.build +++ b/src/seq/meson.build @@ -28,6 +28,7 @@ sources = files( 'queue-tempo.c', 'queue-timer.c', 'queue-timer-alsa.c', + 'queue-timer-data-alsa.c', 'remove-filter.c', 'event-cntr.c', ) @@ -52,6 +53,7 @@ headers = files( 'queue-tempo.h', 'queue-timer.h', 'queue-timer-alsa.h', + 'queue-timer-data-alsa.h', 'remove-filter.h', 'event-cntr.h', ) diff --git a/src/seq/queue-timer-data-alsa.c b/src/seq/queue-timer-data-alsa.c new file mode 100644 index 0000000..85c76e1 --- /dev/null +++ b/src/seq/queue-timer-data-alsa.c @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "queue-timer-data-alsa.h" + +ALSASeqQueueTimerDataAlsa *seq_queue_timer_data_alsa_copy(const ALSASeqQueueTimerDataAlsa *self) +{ + return g_memdup(self, sizeof(*self)); +} + +G_DEFINE_BOXED_TYPE(ALSASeqQueueTimerDataAlsa, alsaseq_queue_timer_data_alsa, seq_queue_timer_data_alsa_copy, g_free) diff --git a/src/seq/queue-timer-data-alsa.h b/src/seq/queue-timer-data-alsa.h new file mode 100644 index 0000000..dd48a46 --- /dev/null +++ b/src/seq/queue-timer-data-alsa.h @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef __ALSA_GOBJECT_ALSASEQ_QUEUE_TIMER_DATA_ALSA__H__ +#define __ALSA_GOBJECT_ALSASEQ_QUEUE_TIMER_DATA_ALSA__H__ + +#include +#include + +#include + +G_BEGIN_DECLS + +#define ALSASEQ_TYPE_QUEUE_TIMER_DATA_ALSA (alsaseq_queue_time_data_alsa_get_type()) + +// This structure should be the same layout as 'struct snd_seq_queue_timer.u.alsa' +typedef struct { + /*< private >*/ + ALSATimerDeviceId device_id; + unsigned int resolution; +} ALSASeqQueueTimerDataAlsa; + +GType alsaseq_queue_timer_data_alsa_get_type() G_GNUC_CONST; + +G_END_DECLS + +#endif