reVeno/Source/Veno/Utils/FFT.h
versustunez ac22ea5e75 - reformat to JUCE-Guidelines
- added Matrix => half working ;)
2020-06-13 16:52:16 +02:00

34 lines
726 B
C++

//
// Created by versustune on 12.06.20.
//
#ifndef VENO_FFT_H
#define VENO_FFT_H
#include "JuceHeader.h"
class FFT
{
private:
public:
FFT () = default;
~FFT () = default;
void pushNextSampleIntoFifo (float sample) noexcept;
enum
{
fftOrder = 11, // [1]
fftSize = 1 << fftOrder, // [2]
scopeSize = 512 // [3]
};
void drawNextFrameOfSpectrum ();
bool nextFFTBlockReady = false;
float scopeData[scopeSize]{};
float fftData[2 * fftSize]{};
protected:
dsp::FFT fft{fftOrder};
dsp::WindowingFunction<float> window{fftSize, dsp::WindowingFunction<float>::hann};
float fifo[fftSize]{};
int fifoIndex = 0;
};
#endif //VENO_FFT_H