]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
ctl: elem_info: add count property
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Fri, 12 Jun 2020 04:19:45 +0000 (13:19 +0900)
committer坂本 貴史 <o-takashi@sakamocchi.jp>
Fri, 12 Jun 2020 06:45:37 +0000 (15:45 +0900)
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
src/ctl/elem-info.c
tests/alsactl-elem-info

index 74c7ca99c0c2ccdb02fed2a3684ee074096c5128..91ff78e1669f4f34277b2f81dd770a966602da42 100644 (file)
@@ -31,6 +31,7 @@ enum ctl_elem_info_prop_type {
     CTL_ELEM_INFO_PROP_TYPE,
     CTL_ELEM_INFO_PROP_ACCESS,
     CTL_ELEM_INFO_PROP_OWNER,
+    CTL_ELEM_INFO_PROP_VALUE_COUNT,
     CTL_ELEM_INFO_PROP_COUNT,
 };
 static GParamSpec *ctl_elem_info_props[CTL_ELEM_INFO_PROP_COUNT] = { NULL, };
@@ -49,8 +50,11 @@ static void ctl_elem_info_set_property(GObject *obj, guint id,
         priv->info.access = (ALSACtlElemAccessFlag)g_value_get_flags(val);
         break;
     case CTL_ELEM_INFO_PROP_OWNER:
-         priv->info.owner = g_value_get_int(val);
-         break;
+        priv->info.owner = g_value_get_int(val);
+        break;
+    case CTL_ELEM_INFO_PROP_VALUE_COUNT:
+        priv->info.count = g_value_get_uint(val);
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec);
         break;
@@ -74,7 +78,10 @@ static void ctl_elem_info_get_property(GObject *obj, guint id, GValue *val,
         g_value_set_flags(val, priv->info.access);
         break;
     case CTL_ELEM_INFO_PROP_OWNER:
-         g_value_set_int(val, priv->info.owner);
+        g_value_set_int(val, priv->info.owner);
+        break;
+    case CTL_ELEM_INFO_PROP_VALUE_COUNT:
+        g_value_set_uint(val, priv->info.count);
         break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, id, spec);
@@ -128,6 +135,13 @@ static void alsactl_elem_info_class_init(ALSACtlElemInfoClass *klass)
                          -1,
                          G_PARAM_READABLE);
 
+    ctl_elem_info_props[CTL_ELEM_INFO_PROP_VALUE_COUNT] =
+        g_param_spec_uint("value-count", "value-count",
+                          "The number of members as value of this element",
+                          0, G_MAXUINT,
+                          0,
+                          G_PARAM_READWRITE);
+
     g_object_class_install_properties(gobject_class, CTL_ELEM_INFO_PROP_COUNT,
                                       ctl_elem_info_props);
 }
index cc0c28c762e10c3e5cb4b56b54f5510eed14c896..a25d82988da1e35977116c99329e771b98548fab 100644 (file)
@@ -15,6 +15,7 @@ props = (
     'type',
     'access',
     'owner',
+    'value-count',
 )
 methods = (
     'get_int_data',