- GVariant *gvar_list_samplerates;
-
- assert(gvar_list);
-
- if ((gvar_list_samplerates = g_variant_lookup_value(gvar_list,
- "samplerate-steps", G_VARIANT_TYPE("at"))))
- {
- gsize num_elements;
- const uint64_t *const elements =
- (const uint64_t *)g_variant_get_fixed_array(
- gvar_list_samplerates, &num_elements, sizeof(uint64_t));
-
- assert(num_elements == 3);
-
- _properties.push_back(shared_ptr<Property>(
- new Double(name, 0, QObject::tr("Hz"),
- make_pair((double)elements[0], (double)elements[1]),
- (double)elements[2],
- bind(samplerate_double_getter, _sdi),
- bind(samplerate_double_setter, _sdi, _1))));
-
- g_variant_unref(gvar_list_samplerates);
- }
- else if ((gvar_list_samplerates = g_variant_lookup_value(gvar_list,
- "samplerates", G_VARIANT_TYPE("at"))))
- {
- bind_enum(name, SR_CONF_SAMPLERATE,
- gvar_list_samplerates, print_samplerate);
- g_variant_unref(gvar_list_samplerates);
- }
-}