Ardour  9.0-pre0-582-g084a23a80d
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 #pragma once
23 
24 #include <gtkmm/adjustment.h>
25 #include <gtkmm/spinbutton.h>
26 #include <gtkmm/progressbar.h>
27 #include <gtkmm/box.h>
28 #include <gtkmm/comboboxtext.h>
29 #include <gtkmm/label.h>
30 #include <gtkmm/button.h>
31 
32 #include "ardour/timefx_request.h"
33 
34 #include "ardour_dialog.h"
35 #include "progress_reporter.h"
36 
37 class Editor;
38 class AudioClock;
39 
41 {
42 public:
43  /* We need a position so that BBT mode in the clock can function */
44  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);
45 
48  bool pitching;
51 
52  /* SoundTouch */
56 
57  /* RubberBand */
62 
66  int status;
67  bool fixed_end;
68 
69  sigc::connection first_cancel;
70  sigc::connection first_delete;
73 
75  float get_pitch_fraction () const;
76 
77  void start_updates ();
78 
79  void on_response (int response_id) {
80  Gtk::Dialog::on_response (response_id);
81  }
82 
83  void hide () {
84  regions.clear ();
86  }
87 
88 private:
101  sigc::connection update_connection;
102  float progress;
103 
104  void update_progress_gui (float);
107  void timer_update ();
108 };
109 
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