11#ifndef __AUDACITY_METER_PANEL_BASE__
12#define __AUDACITY_METER_PANEL_BASE__
32 template<
typename ...Args >
37 std::shared_ptr<Meter> GetMeter()
const;
42 int numFrames,
const float *sampleData) = 0;
50 struct Resetter {
void operator () (
bool *p)
const {
if(p) *p =
false; } };
57 static TempAllowFocus TemporarilyAllowFocus();
AudioIO uses this to send sample buffers for real-time display updates.
Inherits wxPanel and has a Meter; exposes shared_ptr to the Meter.
virtual bool IsClipping() const =0
virtual bool IsMeterDisabled() const =0
std::shared_ptr< Forwarder > mForwarder
virtual int GetDBRange() const =0
virtual void UpdateDisplay(unsigned numChannels, int numFrames, const float *sampleData)=0
bool AcceptsFocusFromKeyboard() const override
MeterPanelBase(Args &&...args)
~MeterPanelBase() override
virtual float GetMaxPeak() const =0
static bool s_AcceptsFocus
bool AcceptsFocus() const override
std::unique_ptr< bool, Resetter > TempAllowFocus
virtual void Reset(double sampleRate, bool resetClipping)=0
constexpr auto sampleRate