FastLED 3.10.8
Loading...
Searching...
No Matches

◆ Context()

fl::audio::fft::Context::Context ( int samples,
int bands,
float fmin,
float fmax,
int sample_rate,
Mode mode,
Window window )
inline

Definition at line 62 of file fft_impl.cpp.hpp.

64 : mFftrCfg(nullptr), mInputSamples(samples),
65 mKernels(nullptr),
66 mMode(mode), mTotalBands(bands), mFmin(fmin), mFmax(fmax),
67 mSampleRate(sample_rate), mWindow(window) {
68 Args::resolveModeEnums(mMode, mWindow, bands, samples, fmin, fmax);
69 fl::memset(&mCqCfg, 0, sizeof(mCqCfg));
70
71 mFftrCfg = kiss_fftr_alloc(samples, 0, nullptr, nullptr);
72 if (!mFftrCfg) {
73 FL_WARN("Failed to allocate Impl context");
74 return;
75 }
76
77 switch (mMode) {
78 case Mode::LOG_REBIN:
80 break;
81 case Mode::CQ_NAIVE:
82 initNaive(samples, bands, fmin, fmax, sample_rate);
83 break;
84 case Mode::CQ_HYBRID:
85 initHybrid(samples, bands, fmin, fmax, sample_rate);
86 break;
87 case Mode::CQ_OCTAVE:
88 initOctaveWise(samples, bands, fmin, fmax, sample_rate);
89 break;
90 case Mode::AUTO:
91 FL_WARN("Mode::AUTO should have been resolved");
92 break;
93 }
94 }
void initLogRebin() FL_NO_EXCEPT
void initNaive(int samples, int bands, float fmin, float fmax, int sr) FL_NO_EXCEPT
void initOctaveWise(int samples, int bands, float fmin, float fmax, int sr) FL_NO_EXCEPT
void initHybrid(int samples, int bands, float fmin, float fmax, int sr) FL_NO_EXCEPT
kiss_fftr_cfg kiss_fftr_alloc(int nfft, int inverse_fft, void *mem, size_t *lenmem)
#define FL_WARN(...)
Definition log.h:437
FASTLED_FORCE_INLINE void * memset(void *s, int c, size_t n) FL_NO_EXCEPT
Definition cstring.h:148
static void resolveModeEnums(Mode &mode, Window &window, int bands, int samples, float fmin, float fmax) FL_NO_EXCEPT
Definition fft.cpp.hpp:265

References fl::audio::fft::AUTO, fl::audio::fft::CQ_HYBRID, fl::audio::fft::CQ_NAIVE, fl::audio::fft::CQ_OCTAVE, fl::FL_NO_EXCEPT, FL_WARN, initHybrid(), initLogRebin(), initNaive(), initOctaveWise(), kiss_fftr_alloc(), fl::audio::fft::LOG_REBIN, mCqCfg, fl::memset(), mFftrCfg, mMode, mWindow, and fl::audio::fft::Args::resolveModeEnums().

+ Here is the call graph for this function: