12 void paint(juce::Graphics &g)
override;
13 void resized()
override;
14 void timerCallback()
override;
18 juce::dsp::FFT mFFT{12};
19 juce::dsp::WindowingFunction<float> mWindow{
static_cast<size_t>(mFFT.getSize()),
20 juce::dsp::WindowingFunction<float>::hann};
21 juce::AudioBuffer<float> mFFTBuffer{1, mFFT.getSize() * 2};
22 juce::AudioBuffer<float> avgFFTBuffer{5, mFFT.getSize() / 2};
23 int avgFFTBufferPtr = 1;
26 juce::CriticalSection pathCreationLock;
31 int firstBinIndex = 0;
32 int lastBinIndex = 120;
37 size_t fftPointsSize = 0;
38 std::vector<FFTPoint> mFFTPoints;
40 float getFFTPointLevel(
const float *buffer,
const FFTPoint &point);
42 static constexpr float maxdB = 0.0;
43 static constexpr float mindB = -100.0;