X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fanalogsegment.hpp;h=7c74e77678c6e5693f9465dd0bfd221b46c71c3d;hp=27c9863b07b0a830806ba7ec5dd122653648a6e2;hb=5a914348e8c95f92fd7c1c5988d563c5fb472aa2;hpb=c70e34649be658e7a443d5e68abe16dd55d53bf2 diff --git a/pv/data/analogsegment.hpp b/pv/data/analogsegment.hpp index 27c9863b..7c74e776 100644 --- a/pv/data/analogsegment.hpp +++ b/pv/data/analogsegment.hpp @@ -27,6 +27,8 @@ #include +using std::pair; + namespace AnalogSegmentTest { struct Basic; } @@ -42,7 +44,7 @@ typedef struct { float* value; } SegmentAnalogDataIterator; -class AnalogSegment : public QObject, public Segment +class AnalogSegment : public Segment { Q_OBJECT @@ -77,17 +79,16 @@ private: static const uint64_t EnvelopeDataUnit; public: - AnalogSegment(Analog& owner, uint64_t samplerate); + AnalogSegment(Analog& owner, uint32_t segment_id, uint64_t samplerate); virtual ~AnalogSegment(); void append_interleaved_samples(const float *data, size_t sample_count, size_t stride); - const float* get_samples(int64_t start_sample, - int64_t end_sample) const; + void get_samples(int64_t start_sample, int64_t end_sample, float* dest) const; - const std::pair get_min_max() const; + const pair get_min_max() const; SegmentAnalogDataIterator* begin_sample_iteration(uint64_t start); void continue_sample_iteration(SegmentAnalogDataIterator* it, uint64_t increase);