"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";
'queue-tempo.c',
'queue-timer.c',
'queue-timer-alsa.c',
+ 'queue-timer-data-alsa.c',
'remove-filter.c',
'event-cntr.c',
)
'queue-tempo.h',
'queue-timer.h',
'queue-timer-alsa.h',
+ 'queue-timer-data-alsa.h',
'remove-filter.h',
'event-cntr.h',
)
--- /dev/null
+// 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)
--- /dev/null
+// 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