use home-grown solution for path_expand(), rather than wordexp() which is broken...
[ardour.git] / gtk2_ardour / fft_result.h
index c8f17dc01c5b08b866a7d4a5d81129be5f373749..2873138dfd93a09a8a1c015f9a3eeceaaf6cd3a5 100644 (file)
@@ -21,7 +21,7 @@
 #ifndef __ardour_fft_result_h
 #define __ardour_fft_result_h
 
-#include <ardour/types.h>
+#include "ardour/types.h"
 #include <fftw3.h>
 
 #include <gdkmm/color.h>
@@ -33,40 +33,45 @@ class FFTGraph;
 class FFTResult
 {
        public:
-               
+
                ~FFTResult();
 
                void analyzeWindow(float *window);
                void finalize();
 
-               const int length() { return _dataSize; }
+               int length() const { return _dataSize; }
+
+               float avgAt(int x);
+               float maxAt(int x);
+               float minAt(int x);
+
+               float minimum() const { return _minimum; }
+               float maximum() const { return _maximum; }
+
+               Gdk::Color get_color() const { return _color; }
 
-               float sampleAt(int x);
-               
-               const float minimum() { return _minimum; }
-               const float maximum() { return _maximum; }
-               
-               const Gdk::Color get_color() { return _color; }
-               
        private:
                FFTResult(FFTGraph *graph, Gdk::Color color, std::string trackname);
-               
+
                int     _averages;
 
-               float*  _data;
+               float*  _data_avg;
+               float*  _data_max;
+               float*  _data_min;
+
                float*  _work;
 
-               int             _windowSize;
+               int     _windowSize;
                int     _dataSize;
 
                float   _minimum;
                float   _maximum;
 
                FFTGraph *_graph;
-               
+
                Gdk::Color _color;
                std::string _trackname;
-               
+
        friend class FFTGraph;
 };