28 function_list<
void(
float strength)>
onOnset;
fl::UISlider sensitivity("Sensitivity", 1.5f, 0.3f, 4.0f, 0.1f)
MovingAverage< float, 43 > mFluxAvg
function_list< void(float bpm, float confidence)> onTempoChange
float getConfidence() const FL_NO_EXCEPT
float getPhase() const FL_NO_EXCEPT
function_list< void()> onBeat
void updateAdaptiveThreshold() FL_NO_EXCEPT
bool needsFFTHistory() const FL_NO_EXCEPT override
const char * getName() const FL_NO_EXCEPT override
float calculateSpectralFlux(const fft::Bins &fft) FL_NO_EXCEPT
void setSensitivity(float sensitivity) FL_NO_EXCEPT
bool isBeat() const FL_NO_EXCEPT
void reset() FL_NO_EXCEPT override
static constexpr size FLUX_HISTORY_SIZE
function_list< void(float phase)> onBeatPhase
vector< float > mPreviousMagnitudes
shared_ptr< const fft::Bins > mRetainedFFT
function_list< void(float strength)> onOnset
void updateTempo(u32 timestamp) FL_NO_EXCEPT
void updatePhase(u32 timestamp) FL_NO_EXCEPT
static constexpr u32 MAX_BEAT_INTERVAL_MS
float getBPM() const FL_NO_EXCEPT
void update(shared_ptr< Context > context) FL_NO_EXCEPT override
bool detectBeat(u32 timestamp) FL_NO_EXCEPT
bool needsFFT() const FL_NO_EXCEPT override
void setThreshold(float threshold) FL_NO_EXCEPT
void fireCallbacks() FL_NO_EXCEPT override
static constexpr u32 MIN_BEAT_INTERVAL_MS
~Beat() FL_NO_EXCEPT override
u8 u8 fract8 blur_amount FL_NO_EXCEPT
Base definition for an LED controller.