-public:
- ARDOUR::TimeFXRequest request;
- Editor& editor;
- bool pitching;
- 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;
- RegionSelection regions;
- Gtk::ProgressBar progress_bar;
-
- /* SoundTouch */
- Gtk::CheckButton quick_button;
- Gtk::CheckButton antialias_button;
- Gtk::VBox upper_button_box;
-
- /* RubberBand */
- Gtk::ComboBoxText stretch_opts_selector;
- Gtk::Label stretch_opts_label;
- Gtk::CheckButton precise_button;
- Gtk::CheckButton preserve_formants_button;
-
- Gtk::Button* cancel_button;
- Gtk::Button* action_button;
- Gtk::VBox packer;
- int status;
-
- TimeFXDialog (Editor& e, bool for_pitch);
-
- sigc::connection first_cancel;
- sigc::connection first_delete;
- void cancel_in_progress ();
- gint delete_in_progress (GdkEventAny*);
-
-private:
-
- void update_progress_gui (float);
+ 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);
+
+ ARDOUR::TimeFXRequest request;
+ Editor& editor;
+ bool pitching;
+ Gtk::ProgressBar progress_bar;
+ ARDOUR::RegionList regions;
+
+ /* SoundTouch */
+ Gtk::CheckButton quick_button;
+ Gtk::CheckButton antialias_button;
+ Gtk::VBox upper_button_box;
+
+ /* RubberBand */
+ Gtk::ComboBoxText stretch_opts_selector;
+ Gtk::Label stretch_opts_label;
+ Gtk::CheckButton precise_button;
+ Gtk::CheckButton preserve_formants_button;
+
+ Gtk::Button* cancel_button;
+ Gtk::Button* action_button;
+ Gtk::VBox packer;
+ int status;
+
+ sigc::connection first_cancel;
+ sigc::connection first_delete;
+ void cancel_in_progress ();
+ gint delete_in_progress (GdkEventAny*);
+
+ float get_time_fraction () const;
+ float get_pitch_fraction () const;
+
+ void start_updates ();
+
+ private:
+ ARDOUR::framecnt_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 duration_adjustment;
+ AudioClock* duration_clock;
+ 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 ();