X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Ftime_fx_dialog.h;h=a069124547daaeb8f61b2f8217c7a87e1412f9c4;hb=c97116083fd51e1d3108cabf92c890c45292fbab;hp=c2616b6d2bb532ac249bf9c1804c9a8c531f8134;hpb=60055a0d6ab0ce7abd65daeb52cef96cf2c4244f;p=ardour.git diff --git a/gtk2_ardour/time_fx_dialog.h b/gtk2_ardour/time_fx_dialog.h index c2616b6d2b..a069124547 100644 --- a/gtk2_ardour/time_fx_dialog.h +++ b/gtk2_ardour/time_fx_dialog.h @@ -38,9 +38,9 @@ class AudioClock; class TimeFXDialog : public ArdourDialog, public ProgressReporter { - public: +public: /* We need a position so that BBT mode in the clock can function */ - TimeFXDialog (Editor& e, bool for_pitch, ARDOUR::framecnt_t old_length, ARDOUR::framecnt_t new_length, ARDOUR::framepos_t position); + TimeFXDialog (Editor& e, bool for_pitch, ARDOUR::samplecnt_t old_length, ARDOUR::samplecnt_t new_length, ARDOUR::samplepos_t position); ARDOUR::TimeFXRequest request; Editor& editor; @@ -72,20 +72,36 @@ class TimeFXDialog : public ArdourDialog, public ProgressReporter float get_time_fraction () const; float get_pitch_fraction () const; - private: - ARDOUR::framecnt_t original_length; + void start_updates (); + + void on_response (int response_id) { + Gtk::Dialog::on_response (response_id); + } + + void hide () { + regions.clear (); + ArdourDialog::hide (); + } + +private: + ARDOUR::samplecnt_t original_length; Gtk::Adjustment pitch_octave_adjustment; Gtk::Adjustment pitch_semitone_adjustment; Gtk::Adjustment pitch_cent_adjustment; Gtk::SpinButton pitch_octave_spinner; Gtk::SpinButton pitch_semitone_spinner; Gtk::SpinButton pitch_cent_spinner; - Gtk::Adjustment percent_adjustment; + Gtk::Adjustment duration_adjustment; AudioClock* duration_clock; - Gtk::RadioButton duration_chosen; - Gtk::RadioButtonGroup choice_group; - Gtk::RadioButton percent_chosen; + bool ignore_adjustment_change; + bool ignore_clock_change; + sigc::connection update_connection; + float progress; + void update_progress_gui (float); + void duration_clock_changed (); + void duration_adjustment_changed (); + void timer_update (); }; #endif /* __ardour_time_fx_dialog_h__ */