X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fanalysis_window.cc;h=506e12978183c9e4dc144b981a5e8cdf743a8cf0;hb=cf52d6e4b40111eb04b244ec054055a4ec15dbe0;hp=998ab8ab12fe5f3a2d07bdcf478cb073b83760f4;hpb=67e4f490648243917eda6d5d84e1d6e4986d86c3;p=ardour.git diff --git a/gtk2_ardour/analysis_window.cc b/gtk2_ardour/analysis_window.cc index 998ab8ab12..506e129781 100644 --- a/gtk2_ardour/analysis_window.cc +++ b/gtk2_ardour/analysis_window.cc @@ -36,25 +36,19 @@ #include "selection.h" #include "audio_region_view.h" -#include "i18n.h" +#include "pbd/i18n.h" 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() { @@ -273,7 +255,7 @@ AnalysisWindow::analyze_data (Gtk::Button * /*button*/) // std::cerr << "Analyzing ranges on track " << rui->route()->name() << std::endl; - FFTResult *res = fft_graph.prepareResult(rui->color(), rui->route()->name()); + FFTResult *res = fft_graph.prepareResult(rui->route_color(), rui->route()->name()); for (std::list::iterator j = ts.begin(); j != ts.end(); ++j) { int n; @@ -308,9 +290,9 @@ AnalysisWindow::analyze_data (Gtk::Button * /*button*/) Gtk::TreeModel::Row newrow = *(tlmodel)->append(); newrow[tlcols.trackname] = rui->route()->name(); newrow[tlcols.visible] = true; - newrow[tlcols.color] = rui->color(); + newrow[tlcols.color] = rui->route_color (); newrow[tlcols.graph] = res; - } + } } else if (source_selection_regions_rb.get_active()) { RegionSelection ars = s.regions; // std::cerr << "Analyzing selected regions" << std::endl; @@ -374,6 +356,7 @@ AnalysisWindow::analyze_data (Gtk::Button * /*button*/) free(buf); free(mixbuf); + free(gain); track_list_ready = true; } /* end lock */