From ebbf8f12b2519c10b7785b282d8b1939822dc4f6 Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Wed, 20 Nov 2019 22:29:10 +0900 Subject: [PATCH] seq: queue_timer_alsa: add object to represent queue-timer specialized to ALSA Timer functionality Signed-off-by: Takashi Sakamoto --- src/seq/alsaseq.map | 2 ++ src/seq/meson.build | 2 ++ src/seq/queue-timer-alsa.c | 14 ++++++++++ src/seq/queue-timer-alsa.h | 50 ++++++++++++++++++++++++++++++++++ tests/alsaseq-queue-timer | 7 ++--- tests/alsaseq-queue-timer-alsa | 18 ++++++++++++ tests/meson.build | 1 + 7 files changed, 89 insertions(+), 5 deletions(-) create mode 100644 src/seq/queue-timer-alsa.c create mode 100644 src/seq/queue-timer-alsa.h create mode 100644 tests/alsaseq-queue-timer-alsa diff --git a/src/seq/alsaseq.map b/src/seq/alsaseq.map index 01b58d7..7b6accc 100644 --- a/src/seq/alsaseq.map +++ b/src/seq/alsaseq.map @@ -154,6 +154,8 @@ ALSA_GOBJECT_0_0_0 { "alsaseq_queue_tempo_set_skew"; "alsaseq_queue_timer_get_type"; + + "alsaseq_queue_timer_alsa_get_type"; local: *; }; diff --git a/src/seq/meson.build b/src/seq/meson.build index 1768eea..8022721 100644 --- a/src/seq/meson.build +++ b/src/seq/meson.build @@ -30,6 +30,7 @@ sources = files( 'queue-status.c', 'queue-tempo.c', 'queue-timer.c', + 'queue-timer-alsa.c', ) headers = files( @@ -54,6 +55,7 @@ headers = files( 'queue-status.h', 'queue-tempo.h', 'queue-timer.h', + 'queue-timer-alsa.h', ) privates = files( diff --git a/src/seq/queue-timer-alsa.c b/src/seq/queue-timer-alsa.c new file mode 100644 index 0000000..66eaf2d --- /dev/null +++ b/src/seq/queue-timer-alsa.c @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#include "queue-timer-alsa.h" + +G_DEFINE_TYPE(ALSASeqQueueTimerAlsa, alsaseq_queue_timer_alsa, ALSASEQ_TYPE_QUEUE_TIMER) + +static void alsaseq_queue_timer_alsa_class_init(ALSASeqQueueTimerAlsaClass *klass) +{ + return; +} + +static void alsaseq_queue_timer_alsa_init(ALSASeqQueueTimerAlsa *self) +{ + return; +} diff --git a/src/seq/queue-timer-alsa.h b/src/seq/queue-timer-alsa.h new file mode 100644 index 0000000..8344f56 --- /dev/null +++ b/src/seq/queue-timer-alsa.h @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +#ifndef __ALSA_GOBJECT_ALSASEQ_QUEUE_TIMER_ALSA__H__ +#define __ALSA_GOBJECT_ALSASEQ_QUEUE_TIMER_ALSA__H__ + +#include +#include + +#include + +G_BEGIN_DECLS + + +#define ALSASEQ_TYPE_QUEUE_TIMER_ALSA (alsaseq_queue_timer_alsa_get_type()) + +#define ALSASEQ_QUEUE_TIMER_ALSA(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), \ + ALSASEQ_TYPE_QUEUE_TIMER_ALSA, \ + ALSASeqQueueTimerAlsa)) +#define ALSASEQ_IS_QUEUE_TIMER_ALSA(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ + ALSASEQ_TYPE_QUEUE_TIMER_ALSA)) + +#define ALSASEQ_QUEUE_TIMER_ALSA_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), \ + ALSASEQ_TYPE_QUEUE_TIMER_ALSA, \ + ALSASeqQueueTimerAlsaClass)) +#define ALSASEQ_IS_QUEUE_TIMER_ALSA_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass), \ + ALSASEQ_TYPE_QUEUE_TIMER_ALSA)) +#define ALSASEQ_QUEUE_TIMER_ALSA_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), \ + ALSASEQ_TYPE_QUEUE_TIMER_ALSA, \ + ALSASeqQueueTimerAlsaClass)) + +typedef struct _ALSASeqQueueTimerAlsa ALSASeqQueueTimerAlsa; +typedef struct _ALSASeqQueueTimerAlsaClass ALSASeqQueueTimerAlsaClass; + +struct _ALSASeqQueueTimerAlsa { + ALSASeqQueueTimer parent_instance; +}; + +struct _ALSASeqQueueTimerAlsaClass { + ALSASeqQueueTimerClass parent_class; +}; + +GType alsaseq_queue_timer_alsa_get_type() G_GNUC_CONST; + +G_END_DECLS + +#endif diff --git a/tests/alsaseq-queue-timer b/tests/alsaseq-queue-timer index 62b8021..8cd467b 100644 --- a/tests/alsaseq-queue-timer +++ b/tests/alsaseq-queue-timer @@ -9,11 +9,8 @@ import gi gi.require_version('ALSASeq', '0.0') from gi.repository import ALSASeq -target = ALSASeq.QueueTimer -props = ( - 'queue-id', - 'type', -) +target = ALSASeq.QueueTimerAlsa() +props = () methods = () signals = () diff --git a/tests/alsaseq-queue-timer-alsa b/tests/alsaseq-queue-timer-alsa new file mode 100644 index 0000000..8cd467b --- /dev/null +++ b/tests/alsaseq-queue-timer-alsa @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +from sys import exit +from errno import ENXIO + +from helper import test + +import gi +gi.require_version('ALSASeq', '0.0') +from gi.repository import ALSASeq + +target = ALSASeq.QueueTimerAlsa() +props = () +methods = () +signals = () + +if not test(target, props, methods, signals): + exit(ENXIO) diff --git a/tests/meson.build b/tests/meson.build index aa42c9e..f209bf5 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -43,6 +43,7 @@ tests = { 'alsaseq-queue-status', 'alsaseq-queue-tempo', 'alsaseq-queue-timer', + 'alsaseq-queue-timer-alsa', ], } -- 2.47.3