]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
seq: event_fixed: add a property for ctl data of event
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 1 Apr 2020 09:13:28 +0000 (18:13 +0900)
committer坂本 貴史 <o-takashi@sakamocchi.jp>
Fri, 3 Apr 2020 13:06:25 +0000 (22:06 +0900)
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
src/seq/event-fixed.c
src/seq/event-fixed.h
tests/alsaseq-event-fixed

index 38d3f785f56e731d14a3bf3fc3c27734af613c14..e1ff5917f1aecfafd01c88fd8f0a041fc09129c4 100644 (file)
@@ -9,6 +9,7 @@ G_DEFINE_TYPE(ALSASeqEventFixed, alsaseq_event_fixed, ALSASEQ_TYPE_EVENT)
 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_COUNT,
 };
 static GParamSpec *seq_event_fixed_props[SEQ_EVENT_FIXED_PROP_COUNT] = { NULL, };
@@ -35,6 +36,13 @@ static void seq_event_fixed_set_property(GObject *obj, guint id,
             ev->data.note = *data;
         break;
     }
+    case SEQ_EVENT_FIXED_PROP_CTL_DATA:
+    {
+        ALSASeqEventDataCtl *data = g_value_get_boxed(val);
+        if (data != NULL)
+            ev->data.control = *data;
+        break;
+    }
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec);
         break;
@@ -82,6 +90,13 @@ static void alsaseq_event_fixed_class_init(ALSASeqEventFixedClass *klass)
                            ALSASEQ_TYPE_EVENT_DATA_NOTE,
                            G_PARAM_READWRITE);
 
+    seq_event_fixed_props[SEQ_EVENT_FIXED_PROP_CTL_DATA] =
+        g_param_spec_boxed("ctl-data", "ctl-data",
+                           "The data of ctl type. This shares the same "
+                           "storage between the other properties",
+                           ALSASEQ_TYPE_EVENT_DATA_CTL,
+                           G_PARAM_READWRITE);
+
     g_object_class_install_properties(gobject_class,
                                       SEQ_EVENT_FIXED_PROP_COUNT,
                                       seq_event_fixed_props);
index e2488a11f8f9d928db1a97c3cfee176d08eb19d1..6e33f00a03a6b9e7d202e63152dce98199d46915 100644 (file)
@@ -8,6 +8,7 @@
 #include <seq/event.h>
 #include <seq/event-data-result.h>
 #include <seq/event-data-note.h>
+#include <seq/event-data-ctl.h>
 
 G_BEGIN_DECLS
 
index 48b03a2bfcf8796b57f385db90180c56810992e9..dd276678b86a4d18b59efb339d54264d3603749a 100644 (file)
@@ -13,6 +13,7 @@ target = ALSASeq.EventFixed()
 props = (
     'result-data',
     'note-data',
+    'ctl-data',
 )
 methods = (
     'new',