]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
seq: event_fixed: add a property for tstamp 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
tests/alsaseq-event-fixed

index 9813eec743bb8c0365441bc73d6cdbd6c3d52a66..0487cc36beee00acf36d10fcffcb44abf024b566 100644 (file)
@@ -13,6 +13,7 @@ enum seq_event_fixed_prop_type {
     SEQ_EVENT_FIXED_PROP_QUEUE_DATA,
     SEQ_EVENT_FIXED_PROP_ADDR_DATA,
     SEQ_EVENT_FIXED_PROP_CONNECT_DATA,
+    SEQ_EVENT_FIXED_PROP_TSTAMP_DATA,
     SEQ_EVENT_FIXED_PROP_COUNT,
 };
 static GParamSpec *seq_event_fixed_props[SEQ_EVENT_FIXED_PROP_COUNT] = { NULL, };
@@ -67,6 +68,13 @@ static void seq_event_fixed_set_property(GObject *obj, guint id,
             ev->data.connect = *data;
         break;
     }
+    case SEQ_EVENT_FIXED_PROP_TSTAMP_DATA:
+    {
+        ALSASeqTstamp *data = g_value_get_boxed(val);
+        if (data != NULL)
+            ev->data.time = *data;
+        break;
+    }
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec);
         break;
@@ -99,6 +107,9 @@ static void seq_event_fixed_get_property(GObject *obj, guint id, GValue *val,
     case SEQ_EVENT_FIXED_PROP_CONNECT_DATA:
         g_value_set_static_boxed(val, &ev->data.connect);
         break;
+    case SEQ_EVENT_FIXED_PROP_TSTAMP_DATA:
+        g_value_set_static_boxed(val, &ev->data.time);
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec);
         break;
@@ -154,6 +165,13 @@ static void alsaseq_event_fixed_class_init(ALSASeqEventFixedClass *klass)
                            ALSASEQ_TYPE_EVENT_DATA_CONNECT,
                            G_PARAM_READWRITE);
 
+    seq_event_fixed_props[SEQ_EVENT_FIXED_PROP_TSTAMP_DATA] =
+        g_param_spec_boxed("tstamp-data", "tstamp-data",
+                           "The data of timestamp type. This shares the same "
+                           "storage between the other properties",
+                           ALSASEQ_TYPE_TSTAMP,
+                           G_PARAM_READWRITE);
+
     g_object_class_install_properties(gobject_class,
                                       SEQ_EVENT_FIXED_PROP_COUNT,
                                       seq_event_fixed_props);
index 7f4a6f649db6a8b16aaf32e3eb8177eea14dc157..6d24bc2363da85055c26e5aa269f26bdf93d0a33 100644 (file)
@@ -17,6 +17,7 @@ props = (
     'queue-data',
     'addr-data',
     'connect-data',
+    'tstamp-data',
 )
 methods = (
     'new',