summaryrefslogtreecommitdiff
path: root/gtk2_ardour/plugin_eq_gui.h
diff options
context:
space:
mode:
authorSampo Savolainen <v2@iki.fi>2008-10-20 18:57:34 +0000
committerSampo Savolainen <v2@iki.fi>2008-10-20 18:57:34 +0000
commita75868c767dc5a74f4b7361a6255972bad7f7c61 (patch)
treea9c2d38f35c8f85bc826ca7310f10073e7131539 /gtk2_ardour/plugin_eq_gui.h
parent820acf23009586ef4fe9cfbbfd3eb2f840012634 (diff)
Added facilities into PluginInsert for the GUI to gather parts of the real signal passed through the insert. Also added rudimentary plugin input/output difference analysis in the plugin eq gui for the collected signal.
git-svn-id: svn://localhost/ardour2/branches/3.0@3987 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/plugin_eq_gui.h')
-rw-r--r--gtk2_ardour/plugin_eq_gui.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/gtk2_ardour/plugin_eq_gui.h b/gtk2_ardour/plugin_eq_gui.h
index e8fca786f0..cd52ed7682 100644
--- a/gtk2_ardour/plugin_eq_gui.h
+++ b/gtk2_ardour/plugin_eq_gui.h
@@ -42,11 +42,13 @@ class PluginEqGui : public Gtk::Table
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,6 +90,7 @@ class PluginEqGui : public Gtk::Table
float _log_max;
nframes_t _buffer_size;
+ nframes_t _signal_buffer_size;
// buffers
ARDOUR::BufferSet _bufferset;
@@ -97,7 +102,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;