summaryrefslogtreecommitdiff
path: root/gtk2_ardour/analysis_window.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-05-22 19:29:08 +0200
committerRobin Gareus <robin@gareus.org>2016-05-22 19:33:00 +0200
commit1b3b42403bf7324b1b35adc7aa7695dcde39c07b (patch)
tree658508a786bda58d78a2880ae3f3d2fa0af68298 /gtk2_ardour/analysis_window.cc
parentef365d0310b40424c69eece86f284ee6db020735 (diff)
overhaul region/range spectrum analysis
Diffstat (limited to 'gtk2_ardour/analysis_window.cc')
-rw-r--r--gtk2_ardour/analysis_window.cc64
1 files changed, 23 insertions, 41 deletions
diff --git a/gtk2_ardour/analysis_window.cc b/gtk2_ardour/analysis_window.cc
index 4ed17b441a..f3d3036c73 100644
--- a/gtk2_ardour/analysis_window.cc
+++ b/gtk2_ardour/analysis_window.cc
@@ -41,20 +41,14 @@
using namespace ARDOUR;
using namespace PBD;
-AnalysisWindow::AnalysisWindow() :
-
- source_selection_label (_("Signal source")),
- source_selection_ranges_rb (_("Selected ranges")),
- source_selection_regions_rb (_("Selected regions")),
-
- display_model_label (_("Display model")),
- display_model_composite_separate_rb (_("Composite graphs for each track")),
- display_model_composite_all_tracks_rb (_("Composite graph of all tracks")),
-
- show_minmax_button (_("Show frequency power range")),
- show_normalized_button (_("Normalize values")),
-
- fft_graph (16384)
+AnalysisWindow::AnalysisWindow()
+ : source_selection_label (_("Signal source"))
+ , source_selection_ranges_rb (_("Selected ranges"))
+ , source_selection_regions_rb (_("Selected regions"))
+ , show_minmax_button (_("Show frequency power range"))
+ , show_normalized_button (_("Fit dB range"))
+ , show_proportional_button (_("Proportional Spectum, -18dB"))
+ , fft_graph (16384)
{
set_name(_("FFT analysis window"));
set_title (_("Spectral Analysis"));
@@ -107,49 +101,31 @@ AnalysisWindow::AnalysisWindow() :
sigc::bind ( sigc::mem_fun(*this, &AnalysisWindow::source_selection_changed), &source_selection_regions_rb));
}
- vbox.pack_start(hseparator1, false, false);
-
- // "Display model"
- vbox.pack_start(display_model_label, false, false);
- {
- Gtk::RadioButtonGroup group = display_model_composite_separate_rb.get_group();
- display_model_composite_all_tracks_rb.set_group (group);
-
- display_model_composite_separate_rb.set_active();
-
- vbox.pack_start (display_model_composite_separate_rb, false, false);
- vbox.pack_start (display_model_composite_all_tracks_rb, false, false);
-
- // "Composite graphs for all tracks"
- display_model_composite_separate_rb.signal_toggled().connect (
- sigc::bind ( sigc::mem_fun(*this, &AnalysisWindow::display_model_changed), &display_model_composite_separate_rb));
-
- // "Composite graph of all tracks"
- display_model_composite_all_tracks_rb.signal_toggled().connect (
- sigc::bind ( sigc::mem_fun(*this, &AnalysisWindow::display_model_changed), &display_model_composite_all_tracks_rb));
- }
-
// Analyze button
refresh_button.set_name("EditorGTKButton");
refresh_button.set_label(_("Re-analyze data"));
+
refresh_button.signal_clicked().connect ( sigc::bind ( sigc::mem_fun(*this, &AnalysisWindow::analyze_data), &refresh_button));
vbox.pack_start(refresh_button, false, false, 10);
+ vbox.pack_start(hseparator1, false, false);
// Feature checkboxes
- // minmax
- show_minmax_button.signal_toggled().connect( sigc::mem_fun(*this, &AnalysisWindow::show_minmax_changed));
- vbox.pack_start(show_minmax_button, false, false);
-
- // normalize
+ // normalize, fit y-range
show_normalized_button.signal_toggled().connect( sigc::mem_fun(*this, &AnalysisWindow::show_normalized_changed));
vbox.pack_start(show_normalized_button, false, false);
+ // minmax
+ show_minmax_button.signal_toggled().connect( sigc::mem_fun(*this, &AnalysisWindow::show_minmax_changed));
+ vbox.pack_start(show_minmax_button, false, false);
+ // pink-noise / proportional spectrum
+ show_proportional_button.signal_toggled().connect( sigc::mem_fun(*this, &AnalysisWindow::show_proportional_changed));
+ vbox.pack_start(show_proportional_button, false, false);
@@ -186,6 +162,12 @@ AnalysisWindow::show_normalized_changed()
}
void
+AnalysisWindow::show_proportional_changed()
+{
+ fft_graph.set_show_proportioanl(show_proportional_button.get_active());
+}
+
+void
AnalysisWindow::set_rangemode()
{
source_selection_ranges_rb.set_active(true);