more changes flowing from a persistent MonitorSection object
[ardour.git] / gtk2_ardour / analysis_window.h
index 185774225b57c5e1694a82f63951bc889c0a0db0..cee37b308fb746d333465768766d0c694a904e3c 100644 (file)
 
 #include <gtkmm2ext/dndtreeview.h>
 
-#include <glibmm/thread.h>
+#include <glibmm/threads.h>
 
+#include "ardour/session_handle.h"
 
-#include "ardour_dialog.h"
 #include "fft_graph.h"
 #include "fft_result.h"
 
+namespace ARDOUR {
+       class Session;
+}
 
-class AnalysisWindow : public Gtk::Window
+class AnalysisWindow : public Gtk::Window, public ARDOUR::SessionHandlePtr
 {
 public:
        AnalysisWindow  ();
@@ -56,20 +59,17 @@ public:
 
        void analyze ();
 
-       void set_session(ARDOUR::Session *session) { _session = session; };
-
 private:
-
-       ARDOUR::Session *_session;
-
        void clear_tracklist();
 
        void source_selection_changed (Gtk::RadioButton *);
        void display_model_changed    (Gtk::RadioButton *);
-       void show_minmax_changed        ();
-       void show_normalized_changed    ();
 
-       void analyze_data                               (Gtk::Button *);
+       void show_minmax_changed ();
+       void show_normalized_changed ();
+       void show_proportional_changed ();
+
+       void analyze_data (Gtk::Button *);
 
        struct TrackListColumns : public Gtk::TreeModel::ColumnRecord {
                public:
@@ -96,28 +96,22 @@ private:
 
        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::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::Mutex track_list_lock;
+       Glib::Threads::Mutex track_list_lock;
 
        friend class FFTGraph;
 };