+void SigSession::feed_in_meta_analog(const struct sr_dev_inst*,
+ const sr_datafeed_meta_analog &meta_analog)
+{
+ using view::AnalogSignal;
+
+ {
+ lock_guard<mutex> data_lock(_data_mutex);
+ lock_guard<mutex> sampling_lock(_sampling_mutex);
+
+ // Create an empty data::Analog for coming data snapshots
+ _analog_data.reset(new data::Analog(
+ meta_analog, _sample_rate));
+ assert(_analog_data);
+ if (!_analog_data)
+ return;
+ }
+
+ {
+ lock_guard<mutex> lock(_signals_mutex);
+
+ // Add the signals
+ shared_ptr<AnalogSignal> signal(
+ new AnalogSignal(QString("???"), _analog_data));
+ _signals.push_back(signal);
+
+ signals_changed();
+ }
+}
+