X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fsigsession.cpp;h=c2c2dc983892dc65d1ff94b532b79b83e60a9cf6;hb=82c7f64018db2a90f44704e55ba469151522762f;hp=e9349bba0efb1eae40e3cfa4f93dd5ddd9fc5e92;hpb=55d3603d6a81995e613535a18a0949b3c469ac8a;p=pulseview.git diff --git a/pv/sigsession.cpp b/pv/sigsession.cpp index e9349bb..c2c2dc9 100644 --- a/pv/sigsession.cpp +++ b/pv/sigsession.cpp @@ -25,7 +25,9 @@ #include "data/analogsnapshot.h" #include "data/logic.h" #include "data/logicsnapshot.h" + #include "view/analogsignal.h" +#include "view/decodesignal.h" #include "view/logicsignal.h" #include @@ -194,6 +196,15 @@ boost::shared_ptr SigSession::get_data() return _logic_data; } +void SigSession::add_decoder(srd_decoder *const dec) +{ + { + shared_ptr d(new view::DecodeSignal(*this, dec)); + _decode_traces.push_back(d); + } + signals_changed(); +} + void SigSession::set_capture_state(capture_state state) { lock_guard lock(_sampling_mutex); @@ -287,6 +298,9 @@ void SigSession::update_signals(const sr_dev_inst *const sdi) unsigned int logic_probe_count = 0; unsigned int analog_probe_count = 0; + // Clear the decode traces + _decode_traces.clear(); + // Detect what data types we will receive if(sdi) { for (const GSList *l = sdi->probes; l; l = l->next) {