]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
seq: queue_timer_data_alsa: add boxed object to represent data of queue timer in...
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Tue, 9 Jun 2020 21:55:55 +0000 (06:55 +0900)
committer坂本 貴史 <o-takashi@sakamocchi.jp>
Thu, 11 Jun 2020 09:25:19 +0000 (18:25 +0900)
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
src/seq/alsaseq.map
src/seq/meson.build
src/seq/queue-timer-data-alsa.c [new file with mode: 0644]
src/seq/queue-timer-data-alsa.h [new file with mode: 0644]

index 9c3fbfd66b180e1101cd2a01e1a0e17769ec682f..06d98137e78f47556b757380b158b380a08c9f0c 100644 (file)
@@ -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";
index 63b4e4f0bab111b7a44991b3c2158cd3ec84f409..c01c906de1b0c0ecf350651a0dc81b5f33ad0d8b 100644 (file)
@@ -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 (file)
index 0000000..85c76e1
--- /dev/null
@@ -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 (file)
index 0000000..dd48a46
--- /dev/null
@@ -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 <glib.h>
+#include <glib-object.h>
+
+#include <timer/device-id.h>
+
+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