FastLED 3.10.9
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 61 of file fft_impl.cpp.hpp.

63 : mFftrCfg(nullptr), mInputSamples(samples),
64 mKernels(nullptr),
65 mMode(mode), mTotalBands(bands), mFmin(fmin), mFmax(fmax),
66 mSampleRate(sample_rate), mWindow(window) {
67 Args::resolveModeEnums(mMode, mWindow, bands, samples, fmin, fmax);
68 fl::memset(&mCqCfg, 0, sizeof(mCqCfg));
69
70 mFftrCfg = kiss_fftr_alloc(samples, 0, nullptr, nullptr);
71 if (!mFftrCfg) {
72 FL_WARN("Failed to allocate Impl context");
73 return;
74 }
75
76 switch (mMode) {
77 case Mode::LOG_REBIN:
79 break;
80 case Mode::CQ_NAIVE:
81 initNaive(samples, bands, fmin, fmax, sample_rate);
82 break;
83 case Mode::CQ_HYBRID:
84 initHybrid(samples, bands, fmin, fmax, sample_rate);
85 break;
86 case Mode::CQ_OCTAVE:
87 initOctaveWise(samples, bands, fmin, fmax, sample_rate);
88 break;
89 case Mode::AUTO:
90 FL_WARN("Mode::AUTO should have been resolved");
91 break;
92 }
93 }
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: