28 bool needsFFT()
const override {
return true; }
29 const char*
getName()
const override {
return "Transient"; }
30 void reset()
override;
fl::UISlider sensitivity("Sensitivity", 1.5f, 0.3f, 4.0f, 0.1f)
float calculateEnergyFlux(float currentEnergy)
function_list< void()> onTransient
function_list< void(float strength)> onTransientWithStrength
vector< float > mPreviousHighFreq
bool detectTransient(float flux, u32 timestamp)
const char * getName() const override
float calculateHighFreqEnergy(const fft::Bins &fft)
~Transient() FL_NOEXCEPT override
bool needsFFT() const override
void update(shared_ptr< Context > context) override
float getAttackTime() const
void fireCallbacks() override
void updateAttackTime(float flux)
shared_ptr< const fft::Bins > mRetainedFFT
void setThreshold(float threshold)
float getStrength() const
function_list< void(float strength)> onAttack
static constexpr size ENERGY_HISTORY_SIZE
deque< float > mEnergyHistory
HampelFilter< float, 7 > mEnergyOutlierFilter
void setMinInterval(u32 intervalMs)
void setSensitivity(float sensitivity)
Base definition for an LED controller.