AU: mark preset dirty when parameter changes
[ardour.git] / gtk2_ardour / normalize_dialog.h
index 38ad6d0bf3a2600cc4d0af7ce69eab5d2d3dcd19..d3fb2a013bc804a810e1aaf146ad8bf89bac9ea8 100644 (file)
@@ -18,6 +18,7 @@
 */
 
 #include "ardour_dialog.h"
+#include "progress_reporter.h"
 
 namespace Gtk {
        class RadioButton;
@@ -25,19 +26,34 @@ namespace Gtk {
        class ProgressBar;
 }
 
-class NormalizeDialog : public ArdourDialog
+class NormalizeDialog : public ArdourDialog, public ProgressReporter
 {
 public:
        NormalizeDialog (bool);
 
        bool normalize_individually () const;
-       double target () const;
-       void set_progress (double);
+       bool constrain_rms () const;
+       double target_peak () const;
+       double target_rms () const;
+       int run ();
+
+       void on_response (int response_id) {
+               Gtk::Dialog::on_response (response_id);
+       }
 
 private:
+       void update_progress_gui (float);
+       void button_clicked (int);
+       void update_sensitivity ();
+
        Gtk::RadioButton* _normalize_individually;
-       Gtk::SpinButton* _spin;
+       Gtk::CheckButton* _constrain_rms;
+       Gtk::SpinButton*  _spin_peak;
+       Gtk::SpinButton*  _spin_rms;
        Gtk::ProgressBar* _progress_bar;
 
        static double _last_normalization_value;
+       static double _last_rms_target_value;
+       static bool _last_normalize_individually;
+       static bool _last_constrain_rms;
 };