diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/meter.h | 14 | ||||
-rw-r--r-- | libs/ardour/ardour/types.h | 7 |
2 files changed, 19 insertions, 2 deletions
diff --git a/libs/ardour/ardour/meter.h b/libs/ardour/ardour/meter.h index eea240f821..001178a226 100644 --- a/libs/ardour/ardour/meter.h +++ b/libs/ardour/ardour/meter.h @@ -23,6 +23,7 @@ #include "ardour/types.h" #include "ardour/processor.h" #include "pbd/fastlog.h" +#include "kmeterdsp.h" namespace ARDOUR { @@ -45,6 +46,7 @@ class Metering { class PeakMeter : public Processor { public: PeakMeter(Session& s, const std::string& name); + ~PeakMeter(); void meter(); void reset (); @@ -88,6 +90,11 @@ public: } } + float meter_level (uint32_t n, MeterType type); + + void set_type(MeterType t); + MeterType get_type() { return _meter_type; } + XMLNode& state (bool full); private: @@ -99,11 +106,14 @@ private: */ ChanCount current_meters; - std::vector<float> _peak_power; + std::vector<float> _peak_signal; std::vector<float> _visible_peak_power; + std::vector<float> _max_peak_signal; std::vector<float> _max_peak_power; -}; + std::vector<Kmeterdsp *> _kmeter; + MeterType _meter_type; +}; } // namespace ARDOUR diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h index 01f8e87c74..05d6d0b27d 100644 --- a/libs/ardour/ardour/types.h +++ b/libs/ardour/ardour/types.h @@ -177,6 +177,13 @@ namespace ARDOUR { MeterCustom }; + enum MeterType { + MeterMaxSignal = 0x01, + MeterMaxPeak = 0x02, + MeterPeak = 0x04, + MeterKrms = 0x08 + }; + enum TrackMode { Normal, NonLayered, |