From 1b3b42403bf7324b1b35adc7aa7695dcde39c07b Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 22 May 2016 19:29:08 +0200 Subject: overhaul region/range spectrum analysis --- gtk2_ardour/analysis_window.cc | 64 +++++++++++++++--------------------------- 1 file changed, 23 insertions(+), 41 deletions(-) (limited to 'gtk2_ardour/analysis_window.cc') 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); @@ -185,6 +161,12 @@ AnalysisWindow::show_normalized_changed() fft_graph.set_show_normalized(show_normalized_button.get_active()); } +void +AnalysisWindow::show_proportional_changed() +{ + fft_graph.set_show_proportioanl(show_proportional_button.get_active()); +} + void AnalysisWindow::set_rangemode() { -- cgit v1.2.3