- for (int i = 0; i < _sample_rate_list.count(); i++)
- if (samplerate == _sample_rate_list.itemData(
- i).value<uint64_t>())
- _sample_rate_list.setCurrentIndex(i);
+ uint64_t sample_count = sample_count_.value();
+ uint64_t min_sample_count = 0;
+ uint64_t max_sample_count = MaxSampleCount;
+
+ if (sample_count == 0)
+ sample_count = DefaultSampleCount;
+
+ try {
+ auto gvar = device->config_list(ConfigKey::LIMIT_SAMPLES);
+ g_variant_get(gvar.gobj(), "(tt)",
+ &min_sample_count, &max_sample_count);
+ } catch (Error error) {}
+
+ min_sample_count = min(max(min_sample_count, MinSampleCount),
+ max_sample_count);
+
+ sample_count_.show_125_list(
+ min_sample_count, max_sample_count);
+
+ try {
+ auto gvar = device->config_get(ConfigKey::LIMIT_SAMPLES);
+ sample_count = g_variant_get_uint64(gvar.gobj());
+ if (sample_count == 0)
+ sample_count = DefaultSampleCount;
+ sample_count = min(max(sample_count, MinSampleCount),
+ max_sample_count);
+ } catch (Error error) {}
+
+ sample_count_.set_value(sample_count);