26 u32 timestamp = context->getTimestamp();
42 const float dt =
computeAudioDt(context->getPCM().size(), context->getSampleRate());
45 if (runningMax < 1.0f) {
79 mEnergyAvg.resize(
static_cast<fl::size
>(size));
MovingAverage< float, 0 > mEnergyAvg
~EnergyAnalyzer() FL_NOEXCEPT override
AttackDecayFilter< float > mRunningMaxFilter
static constexpr u32 PEAK_HOLD_MS
EnergyAnalyzer() FL_NOEXCEPT
function_list< void(float avgEnergy)> onAverageEnergy
function_list< void(float rms)> onEnergy
void updateAverage(float energy)
void fireCallbacks() override
function_list< void(float peak)> onPeak
void setHistorySize(int size)
void updatePeak(float energy, u32 timestamp)
void update(shared_ptr< Context > context) override
function_list< void(float normalizedRms)> onNormalizedEnergy
float computeAudioDt(fl::size pcmSize, int sampleRate) FL_NOEXCEPT
Compute the time delta (in seconds) for an audio buffer.
FL_DISABLE_WARNING_PUSH U constexpr common_type_t< T, U > min(T a, U b) FL_NOEXCEPT
constexpr common_type_t< T, U > max(T a, U b) FL_NOEXCEPT
Base definition for an LED controller.