Added facilities into PluginInsert for the GUI to gather parts of the real signal...
[ardour.git] / gtk2_ardour / fft.h
index d80616b77fdb75927cb023894f530c96c78300aa..3a4d0f806326836bf4ae9331286880436c4819fe 100644 (file)
@@ -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;