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.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/libs/ardour/ardour/meter.h b/libs/ardour/ardour/meter.h
index 250fb3111e..43df5e936c 100644
--- a/libs/ardour/ardour/meter.h
+++ b/libs/ardour/ardour/meter.h
@@ -20,6 +20,7 @@
#define __ardour_meter_h__
#include <vector>
+#include <sigc++/slot.h>
#include "ardour/types.h"
#include "ardour/processor.h"
#include "pbd/fastlog.h"
@@ -30,6 +31,20 @@ class BufferSet;
class ChanCount;
class Session;
+class Metering {
+ public:
+ static void update_meters ();
+ static sigc::signal<void> Meter;
+
+ static sigc::connection connect (sigc::slot<void> the_slot);
+ static void disconnect (sigc::connection& c);
+
+ private:
+ /* this object is not meant to be instantiated */
+ virtual void foo() = 0;
+
+ static Glib::StaticMutex m_meter_signal_lock;
+};
/** Meters peaks on the input and stores them for access.
*/
@@ -37,6 +52,8 @@ class PeakMeter : public Processor {
public:
PeakMeter(Session& s) : Processor(s, "Meter") {}
+ void meter();
+
void reset ();
void reset_max ();
@@ -66,7 +83,6 @@ public:
private:
friend class IO;
- void meter();
std::vector<float> _peak_power;
std::vector<float> _visible_peak_power;