X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fanalysis_window.h;h=cee37b308fb746d333465768766d0c694a904e3c;hb=ae0dcdc0c5d13483271065c360e378202d20170a;hp=cd1243bb6ac63c0946556f931f6679db77d32123;hpb=eb3f77df5748e81c4a6bfe737cd9b5a3d721a86c;p=ardour.git diff --git a/gtk2_ardour/analysis_window.h b/gtk2_ardour/analysis_window.h index cd1243bb6a..cee37b308f 100644 --- a/gtk2_ardour/analysis_window.h +++ b/gtk2_ardour/analysis_window.h @@ -31,84 +31,89 @@ #include #include #include +#include #include -#include +#include +#include "ardour/session_handle.h" -#include "ardour_dialog.h" #include "fft_graph.h" #include "fft_result.h" +namespace ARDOUR { + class Session; +} -class AnalysisWindow : public ArdourDialog +class AnalysisWindow : public Gtk::Window, public ARDOUR::SessionHandlePtr { - public: - AnalysisWindow (); - ~AnalysisWindow (); - - void set_rangemode(); - void set_regionmode(); - - void track_list_row_changed(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator& iter); - - void analyze (); - - private: - - void clear_tracklist(); - - void source_selection_changed (Gtk::RadioButton *); - void display_model_changed (Gtk::RadioButton *); - - void analyze_data (Gtk::Button *); - - struct TrackListColumns : public Gtk::TreeModel::ColumnRecord { - public: - TrackListColumns () { - add (trackname); +public: + AnalysisWindow (); + ~AnalysisWindow (); + + void set_rangemode(); + void set_regionmode(); + + void track_list_row_changed(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator& iter); + + void analyze (); + +private: + void clear_tracklist(); + + void source_selection_changed (Gtk::RadioButton *); + void display_model_changed (Gtk::RadioButton *); + + void show_minmax_changed (); + void show_normalized_changed (); + void show_proportional_changed (); + + void analyze_data (Gtk::Button *); + + struct TrackListColumns : public Gtk::TreeModel::ColumnRecord { + public: + TrackListColumns () { + add (trackname); add (visible); add (color); add (graph); - } - Gtk::TreeModelColumn trackname; - Gtk::TreeModelColumn visible; - Gtk::TreeModelColumn color; - Gtk::TreeModelColumn graph; - }; - - // Packing essentials - Gtk::HBox hbox; - Gtk::VBox vbox; - - // Left side - Glib::RefPtr tlmodel; - TrackListColumns tlcols; - Gtk::TreeView track_list; - - Gtk::Label source_selection_label; - - Gtk::RadioButton source_selection_ranges_rb; - Gtk::RadioButton source_selection_regions_rb; - - Gtk::HSeparator hseparator1; - - Gtk::Label display_model_label; - Gtk::RadioButton display_model_composite_separate_rb; - Gtk::RadioButton display_model_composite_all_tracks_rb; - - Gtk::HSeparator hseparator2; - - Gtk::Button refresh_button; - - // The graph - FFTGraph fft_graph; - - bool track_list_ready; - Glib::Mutex track_list_lock; - - friend class FFTGraph; + } + Gtk::TreeModelColumn trackname; + Gtk::TreeModelColumn visible; + Gtk::TreeModelColumn color; + Gtk::TreeModelColumn graph; + }; + + // Packing essentials + Gtk::HBox hbox; + Gtk::VBox vbox; + + // Left side + Glib::RefPtr tlmodel; + TrackListColumns tlcols; + Gtk::TreeView track_list; + + Gtk::Label source_selection_label; + + Gtk::RadioButton source_selection_ranges_rb; + Gtk::RadioButton source_selection_regions_rb; + + Gtk::HSeparator hseparator1; + + Gtk::Button refresh_button; + + Gtk::CheckButton show_minmax_button; + Gtk::CheckButton show_normalized_button; + Gtk::CheckButton show_proportional_button; + + // The graph + FFTGraph fft_graph; + + bool track_list_ready; + Glib::Threads::Mutex track_list_lock; + + friend class FFTGraph; }; #endif // __ardour_analysis_window_h