summaryrefslogtreecommitdiff
path: root/gtk2_ardour/fft.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/fft.h')
-rw-r--r--gtk2_ardour/fft.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/gtk2_ardour/fft.h b/gtk2_ardour/fft.h
index d80616b77f..3a4d0f8063 100644
--- a/gtk2_ardour/fft.h
+++ b/gtk2_ardour/fft.h
@@ -38,8 +38,13 @@ class FFT
FFT(uint32_t);
~FFT();
+ enum WindowingType {
+ NONE,
+ HANN
+ };
+
void reset();
- void analyze(ARDOUR::Sample *);
+ void analyze(ARDOUR::Sample *, WindowingType w = NONE);
void calculate();
uint32_t bins() const { return _data_size; }
@@ -47,12 +52,17 @@ class FFT
float power_at_bin(uint32_t i) const { return _power_at_bin[i]; }
float phase_at_bin(uint32_t i) const { return _phase_at_bin[i]; }
+
private:
+ float *get_hann_window();
+
uint32_t const _window_size;
uint32_t const _data_size;
uint32_t _iterations;
+ float *_hann_window;
+
float *_fftInput;
float *_fftOutput;