remove "New Return" menu option from processor box; make return toggle processor...
[ardour.git] / gtk2_ardour / plugin_eq_gui.h
index e8fca786f0e0e538dc5711bca7a81faed3f4d1fb..462cae7aa8689e972bd503d3fc223d437c1e8d68 100644 (file)
@@ -21,9 +21,9 @@
 #ifndef __ardour_plugin_eq_gui_h
 #define __ardour_plugin_eq_gui_h
 
-#include <ardour/buffer_set.h>
-#include <ardour/plugin_insert.h>
-#include <ardour/plugin.h>
+#include "ardour/buffer_set.h"
+#include "ardour/plugin_insert.h"
+#include "ardour/plugin.h"
 
 #include <gtkmm/table.h>
 #include <gtkmm/drawingarea.h>
@@ -37,16 +37,18 @@ class PluginEqGui : public Gtk::Table
        public:
                PluginEqGui(boost::shared_ptr<ARDOUR::PluginInsert>);
                ~PluginEqGui();
-               
-       
+
+
 
        private:
                // Setup
-               void set_buffer_size(uint32_t);
+               void set_buffer_size(uint32_t, uint32_t);
                void change_dB_scale();
 
                // Analysis
-               void run_analysis();
+               void run_impulse_analysis();
+               void signal_collect_callback(ARDOUR::BufferSet *, ARDOUR::BufferSet *);
+               float _signal_analysis_running;
 
                // Drawing
                virtual void on_hide();
@@ -62,10 +64,12 @@ class PluginEqGui : public Gtk::Table
                bool expose_analysis_area(GdkEventExpose *);
 
                void draw_scales_power(Gtk::Widget *, cairo_t *);
-               void plot_amplitude(Gtk::Widget *,cairo_t *);
+               void plot_impulse_amplitude(Gtk::Widget *,cairo_t *);
 
                void draw_scales_phase(Gtk::Widget *,cairo_t *);
-               void plot_phase(Gtk::Widget *,cairo_t *);
+               void plot_impulse_phase(Gtk::Widget *,cairo_t *);
+
+               void plot_signal_amplitude_difference(Gtk::Widget *,cairo_t *);
 
                // Helpers
                bool timeout_callback();
@@ -86,9 +90,11 @@ class PluginEqGui : public Gtk::Table
                float _log_max;
 
                nframes_t _buffer_size;
+               nframes_t _signal_buffer_size;
 
-               // buffers              
+               // buffers
                ARDOUR::BufferSet _bufferset;
+               ARDOUR::BufferSet _collect_bufferset;
 
 
                // dimensions
@@ -97,7 +103,10 @@ class PluginEqGui : public Gtk::Table
 
                // My objects
                FFT *_impulse_fft;
+               FFT *_signal_input_fft;
+               FFT *_signal_output_fft;
                boost::shared_ptr<ARDOUR::Plugin> _plugin;
+               boost::shared_ptr<ARDOUR::PluginInsert> _plugin_insert;
 
                // gui objects
                Gtk::DrawingArea *_analysis_area;