Ardour  8.12
time_fx_dialog.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2009-2012 Carl Hetherington <carl@carlh.net>
3  * Copyright (C) 2009-2012 David Robillard <d@drobilla.net>
4  * Copyright (C) 2012-2017 Paul Davis <paul@linuxaudiosystems.com>
5  * Copyright (C) 2015-2019 Robin Gareus <robin@gareus.org>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along
18  * with this program; if not, write to the Free Software Foundation, Inc.,
19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20  */
21 
22 #ifndef __ardour_time_fx_dialog_h__
23 #define __ardour_time_fx_dialog_h__
24 
25 #include <gtkmm/adjustment.h>
26 #include <gtkmm/spinbutton.h>
27 #include <gtkmm/progressbar.h>
28 #include <gtkmm/box.h>
29 #include <gtkmm/comboboxtext.h>
30 #include <gtkmm/label.h>
31 #include <gtkmm/button.h>
32 
33 #include "ardour/timefx_request.h"
34 
35 #include "ardour_dialog.h"
36 #include "progress_reporter.h"
37 
38 class Editor;
39 class AudioClock;
40 
42 {
43 public:
44  /* We need a position so that BBT mode in the clock can function */
45  TimeFXDialog (Editor& e, bool for_pitch, Temporal::timecnt_t const & old_length, Temporal::timecnt_t const & new_length, Temporal::ratio_t const &, Temporal::timepos_t const & position, bool fixed_end);
46 
49  bool pitching;
52 
53  /* SoundTouch */
57 
58  /* RubberBand */
63 
67  int status;
68  bool fixed_end;
69 
70  sigc::connection first_cancel;
71  sigc::connection first_delete;
74 
76  float get_pitch_fraction () const;
77 
78  void start_updates ();
79 
80  void on_response (int response_id) {
81  Gtk::Dialog::on_response (response_id);
82  }
83 
84  void hide () {
85  regions.clear ();
87  }
88 
89 private:
102  sigc::connection update_connection;
103  float progress;
104 
105  void update_progress_gui (float);
108  void timer_update ();
109 };
110 
111 #endif /* __ardour_time_fx_dialog_h__ */
Definition: editor.h:158
virtual void on_response(int response_id)
This is a default handler for the signal signal_response().
void timer_update()
Gtk::SpinButton pitch_cent_spinner
sigc::connection first_delete
void duration_adjustment_changed()
Gtk::CheckButton antialias_button
Gtk::Button * action_button
Gtk::Adjustment pitch_semitone_adjustment
ARDOUR::TimeFXRequest request
bool ignore_adjustment_change
void update_progress_gui(float)
TimeFXDialog(Editor &e, bool for_pitch, Temporal::timecnt_t const &old_length, Temporal::timecnt_t const &new_length, Temporal::ratio_t const &, Temporal::timepos_t const &position, bool fixed_end)
Gtk::Adjustment pitch_cent_adjustment
Temporal::timecnt_t original_length
Gtk::Adjustment pitch_octave_adjustment
Gtk::VBox upper_button_box
Gtk::CheckButton quick_button
Temporal::ratio_t duration_ratio
void start_updates()
AudioClock * duration_clock
Gtk::CheckButton precise_button
float get_pitch_fraction() const
void cancel_in_progress()
void duration_clock_changed()
Gtk::SpinButton pitch_octave_spinner
sigc::connection update_connection
Gtk::Button * cancel_button
Gtk::SpinButton pitch_semitone_spinner
ARDOUR::RegionList regions
Gtk::ProgressBar progress_bar
gint delete_in_progress(GdkEventAny *)
Gtk::CheckButton preserve_formants_button
Gtk::Label stretch_opts_label
Gtk::VBox packer
bool ignore_clock_change
void on_response(int response_id)
This is a default handler for the signal signal_response().
sigc::connection first_cancel
Gtk::Adjustment duration_adjustment
Temporal::ratio_t get_time_fraction() const
Editor & editor
Gtk::ComboBoxText stretch_opts_selector
std::list< std::shared_ptr< Region > > RegionList