13#include <wx/weakref.h>
18 s_AcceptsFocus =
true;
39 unsigned long numFrames,
const float *sampleData)
override
42 mOwner->UpdateDisplay( numChannels, numFrames, sampleData );
47 return mOwner->IsMeterDisabled();
54 return mOwner->GetMaxPeak();
62 return mOwner->IsClipping();
70 return mOwner->GetDBRange();
75 const wxWeakRef< MeterPanelBase >
mOwner;
82 mForwarder = std::make_shared< Forwarder >(
this );
AudioIO uses this to send sample buffers for real-time display updates.
Inherits wxPanel and has a Meter; exposes shared_ptr to the Meter.
std::shared_ptr< Meter > GetMeter() const
std::shared_ptr< Forwarder > mForwarder
~MeterPanelBase() override
static bool s_AcceptsFocus
static TempAllowFocus TemporarilyAllowFocus()
std::unique_ptr< bool, Resetter > TempAllowFocus
constexpr auto sampleRate
bool IsClipping() const override
Forwarder(MeterPanelBase *pOwner)
float GetMaxPeak() const override
const wxWeakRef< MeterPanelBase > mOwner
int GetDBRange() const override
void UpdateDisplay(unsigned numChannels, unsigned long numFrames, const float *sampleData) override
bool IsMeterDisabled() const override
void Reset(double sampleRate, bool resetClipping) override