summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/meter.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/meter.h')
-rw-r--r--libs/ardour/ardour/meter.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/libs/ardour/ardour/meter.h b/libs/ardour/ardour/meter.h
index ed38fc4f0a..7e0bf8ac53 100644
--- a/libs/ardour/ardour/meter.h
+++ b/libs/ardour/ardour/meter.h
@@ -21,6 +21,7 @@
#include <vector>
#include <ardour/types.h>
+#include <ardour/insert.h>
#include <pbd/fastlog.h>
namespace ARDOUR {
@@ -32,16 +33,17 @@ class Session;
/** Meters peaks on the input and stores them for access.
*/
-class PeakMeter {
+class PeakMeter : public Insert {
public:
- PeakMeter(Session& s) : _session(s) {}
+ PeakMeter(Session& s) : Insert(s, "meter", PreFader) {}
- void setup (const ChanCount& in);
void reset ();
void reset_max ();
-
+
+ bool configure_io (ChanCount in, ChanCount out);
+
/** Compute peaks */
- void run (BufferSet& bufs, nframes_t nframes, nframes_t offset=0);
+ void run (BufferSet& bufs, nframes_t start_frame, nframes_t end_frame, nframes_t nframes, nframes_t offset);
float peak_power (uint32_t n) {
if (n < _visible_peak_power.size()) {
@@ -64,7 +66,6 @@ private:
friend class IO;
void meter();
- Session& _session;
std::vector<float> _peak_power;
std::vector<float> _visible_peak_power;
std::vector<float> _max_peak_power;