1 #ifndef AUDIOGRAPHER_PEAK_READER_H
2 #define AUDIOGRAPHER_PEAK_READER_H
4 #include "listed_source.h"
11 class PeakReader : public ListedSource<float>, public Sink<float>
14 PeakReader() : peak (0.0) {}
16 float get_peak() { return peak; }
17 void reset() { peak = 0.0; }
19 void process (ProcessContext<float> const & c)
21 peak = Routines::compute_peak (c.data(), c.frames(), peak);
22 ListedSource<float>::output(c);
25 void process (ProcessContext<float> & c)
27 peak = Routines::compute_peak (c.data(), c.frames(), peak);
28 ListedSource<float>::output(c);
38 #endif // AUDIOGRAPHER_PEAK_READER_H