X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsession.cpp;h=c18575ad415559a8e66fa0fae7a6b65774a53c59;hp=fb1732bbe79a0d37e81830856aa91339b27d3744;hb=4a07615736968fc8d635c8d187b8a5d6b8a0e2eb;hpb=85a702806a15852f3684645dffdc38cb30274481 diff --git a/pv/session.cpp b/pv/session.cpp index fb1732bb..c18575ad 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -677,16 +677,16 @@ double Session::get_samplerate() const return samplerate; } -int Session::get_segment_count() const +uint32_t Session::get_segment_count() const { - int min_val = INT_MAX; + uint32_t value = 0; - // Find the lowest common number of segments + // Find the highest number of segments for (shared_ptr data : all_signal_data_) - if (data->get_segment_count() < min_val) - min_val = data->get_segment_count(); + if (data->get_segment_count() > value) + value = data->get_segment_count(); - return (min_val != INT_MAX) ? min_val : 0; + return value; } const unordered_set< shared_ptr > Session::signalbases() const @@ -694,6 +694,17 @@ const unordered_set< shared_ptr > Session::signalbases() const return signalbases_; } +bool Session::all_segments_complete(uint32_t segment_id) const +{ + bool all_complete = true; + + for (shared_ptr base : signalbases_) + if (!base->segment_is_complete(segment_id)) + all_complete = false; + + return all_complete; +} + #ifdef ENABLE_DECODE shared_ptr Session::add_decode_signal() {