X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fanalysis_window.h;h=cee37b308fb746d333465768766d0c694a904e3c;hb=81bff2edee31ad64693d5be3c06558714ea92722;hp=c4ae7f2252e1f2cebf7e79fcb9c1e38a50b36837;hpb=3891c733af596666b4ed98765d36226582ad624c;p=ardour.git diff --git a/gtk2_ardour/analysis_window.h b/gtk2_ardour/analysis_window.h index c4ae7f2252..cee37b308f 100644 --- a/gtk2_ardour/analysis_window.h +++ b/gtk2_ardour/analysis_window.h @@ -31,83 +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 (); +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 set_rangemode(); + void set_regionmode(); + void track_list_row_changed(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator& iter); - private: - - void clear_tracklist(); + void analyze (); - void source_selection_changed (Gtk::RadioButton *); - void display_model_changed (Gtk::RadioButton *); +private: + void clear_tracklist(); - void analyze_data (Gtk::Button *); - - struct TrackListColumns : public Gtk::TreeModel::ColumnRecord { - public: - TrackListColumns () { - add (trackname); + 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; - PBD::Lock 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