- const struct sr_samplerates *samplerates;
-
- if (sr_config_list(_sdi->driver, SR_CONF_SAMPLERATE,
- (const void **)&samplerates, _sdi) != SR_OK)
- return;
-
- if (samplerates->step) {
- _properties.push_back(shared_ptr<Property>(
- new Double(QString(info->name),
- 0, QObject::tr("Hz"),
- make_pair((double)samplerates->low,
- (double)samplerates->high),
- (double)samplerates->step,
- bind(samplerate_value_getter, _sdi),
- bind(samplerate_value_setter, _sdi, _1))));
- } else {
- vector< pair<const void*, QString> > values;
- for (const uint64_t *rate = samplerates->list;
- *rate; rate++)
- values.push_back(make_pair(
- (const void*)rate,
- QString(sr_samplerate_string(*rate))));
-
- _properties.push_back(shared_ptr<Property>(
- new Enum(QString(info->name), values,
- bind(samplerate_list_getter, _sdi),
- bind(samplerate_list_setter, _sdi, _1))));
- }
+ _properties.push_back(shared_ptr<Property>(
+ new Bool(name, bind(config_getter, _sdi, _group, key),
+ bind(config_setter, _sdi, _group, key, _1))));