AU: mark preset dirty when parameter changes
[ardour.git] / gtk2_ardour / analysis_window.h
index 05b983fb20bf7be3d8e1473e0aa3d176d9d2b346..cee37b308fb746d333465768766d0c694a904e3c 100644 (file)
@@ -35,7 +35,9 @@
 
 #include <gtkmm2ext/dndtreeview.h>
 
-#include <glibmm/thread.h>
+#include <glibmm/threads.h>
+
+#include "ardour/session_handle.h"
 
 #include "fft_graph.h"
 #include "fft_result.h"
@@ -44,7 +46,7 @@ namespace ARDOUR {
        class Session;
 }
 
-class AnalysisWindow : public Gtk::Window
+class AnalysisWindow : public Gtk::Window, public ARDOUR::SessionHandlePtr
 {
 public:
        AnalysisWindow  ();
@@ -57,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:
@@ -97,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;
 };