From: Takashi Sakamoto Date: Wed, 1 Apr 2020 09:13:28 +0000 (+0900) Subject: seq: event_fixed: add a property for queue data of event X-Git-Tag: v0.1.0~261 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=005123faaac3880e9ac384ba575f31faaba8aee6;p=alsa-gobject.git seq: event_fixed: add a property for queue data of event Signed-off-by: Takashi Sakamoto --- diff --git a/src/seq/event-fixed.c b/src/seq/event-fixed.c index e1ff591..2adab80 100644 --- a/src/seq/event-fixed.c +++ b/src/seq/event-fixed.c @@ -10,6 +10,7 @@ enum seq_event_fixed_prop_type { SEQ_EVENT_FIXED_PROP_RESULT_DATA = 1, SEQ_EVENT_FIXED_PROP_NOTE_DATA, SEQ_EVENT_FIXED_PROP_CTL_DATA, + SEQ_EVENT_FIXED_PROP_QUEUE_DATA, SEQ_EVENT_FIXED_PROP_COUNT, }; static GParamSpec *seq_event_fixed_props[SEQ_EVENT_FIXED_PROP_COUNT] = { NULL, }; @@ -43,6 +44,13 @@ static void seq_event_fixed_set_property(GObject *obj, guint id, ev->data.control = *data; break; } + case SEQ_EVENT_FIXED_PROP_QUEUE_DATA: + { + ALSASeqEventDataQueue *data = g_value_get_boxed(val); + if (data != NULL) + ev->data.queue = *data; + break; + } default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec); break; @@ -63,6 +71,12 @@ static void seq_event_fixed_get_property(GObject *obj, guint id, GValue *val, case SEQ_EVENT_FIXED_PROP_NOTE_DATA: g_value_set_static_boxed(val, &ev->data.note); break; + case SEQ_EVENT_FIXED_PROP_CTL_DATA: + g_value_set_static_boxed(val, &ev->data.control); + break; + case SEQ_EVENT_FIXED_PROP_QUEUE_DATA: + g_value_set_static_boxed(val, &ev->data.queue); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec); break; @@ -97,6 +111,13 @@ static void alsaseq_event_fixed_class_init(ALSASeqEventFixedClass *klass) ALSASEQ_TYPE_EVENT_DATA_CTL, G_PARAM_READWRITE); + seq_event_fixed_props[SEQ_EVENT_FIXED_PROP_QUEUE_DATA] = + g_param_spec_boxed("queue-data", "queue-data", + "The data of queue type. This shares the same " + "storage between the other properties", + ALSASEQ_TYPE_EVENT_DATA_QUEUE, + G_PARAM_READWRITE); + g_object_class_install_properties(gobject_class, SEQ_EVENT_FIXED_PROP_COUNT, seq_event_fixed_props); diff --git a/src/seq/event-fixed.h b/src/seq/event-fixed.h index 6e33f00..d0d7c51 100644 --- a/src/seq/event-fixed.h +++ b/src/seq/event-fixed.h @@ -9,6 +9,7 @@ #include #include #include +#include G_BEGIN_DECLS diff --git a/tests/alsaseq-event-fixed b/tests/alsaseq-event-fixed index dd27667..c0cd908 100644 --- a/tests/alsaseq-event-fixed +++ b/tests/alsaseq-event-fixed @@ -14,6 +14,7 @@ props = ( 'result-data', 'note-data', 'ctl-data', + 'queue-data', ) methods = ( 'new',