summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_timefx.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-02-27 01:20:25 +0000
committerDavid Robillard <d@drobilla.net>2009-02-27 01:20:25 +0000
commiteeae6aec340d74eba7f5d00e450cbe47afcf0ec0 (patch)
tree8efaaae427efcd961336189295270f0f8cf7624e /gtk2_ardour/editor_timefx.cc
parent9f77cd9e19cd639c24c99b214a436294a54eb49a (diff)
Split TimeFXDialog from Editor.
git-svn-id: svn://localhost/ardour2/branches/3.0@4698 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_timefx.cc')
-rw-r--r--gtk2_ardour/editor_timefx.cc131
1 files changed, 3 insertions, 128 deletions
diff --git a/gtk2_ardour/editor_timefx.cc b/gtk2_ardour/editor_timefx.cc
index 7552dfe8f7..79266c2285 100644
--- a/gtk2_ardour/editor_timefx.cc
+++ b/gtk2_ardour/editor_timefx.cc
@@ -30,10 +30,11 @@
#include <gtkmm2ext/window_title.h>
#include <gtkmm2ext/utils.h>
-#include "editor.h"
-#include "audio_time_axis.h"
#include "audio_region_view.h"
+#include "audio_time_axis.h"
+#include "editor.h"
#include "region_selection.h"
+#include "time_fx_dialog.h"
#include "ardour/session.h"
#include "ardour/region.h"
@@ -59,132 +60,6 @@ using namespace sigc;
using namespace Gtk;
using namespace Gtkmm2ext;
-Editor::TimeFXDialog::TimeFXDialog (Editor& e, bool pitch)
- : ArdourDialog (X_("time fx dialog")),
- editor (e),
- pitching (pitch),
- pitch_octave_adjustment (0.0, -4.0, 4.0, 1, 2.0),
- pitch_semitone_adjustment (0.0, -12.0, 12.0, 1.0, 4.0),
- pitch_cent_adjustment (0.0, -499.0, 500.0, 5.0, 15.0),
- pitch_octave_spinner (pitch_octave_adjustment),
- pitch_semitone_spinner (pitch_semitone_adjustment),
- pitch_cent_spinner (pitch_cent_adjustment),
- quick_button (_("Quick but Ugly")),
- antialias_button (_("Skip Anti-aliasing")),
- stretch_opts_label (_("Contents:")),
- precise_button (_("Strict Linear")),
- preserve_formants_button(_("Preserve Formants"))
-{
- set_modal (true);
- set_position (Gtk::WIN_POS_MOUSE);
- set_name (N_("TimeFXDialog"));
-
- WindowTitle title(Glib::get_application_name());
- if (pitching) {
- title += _("Pitch Shift");
- } else {
- title += _("Time Stretch");
- }
- set_title(title.get_string());
-
- cancel_button = add_button (_("Cancel"), Gtk::RESPONSE_CANCEL);
-
- get_vbox()->set_spacing (5);
- get_vbox()->set_border_width (12);
-
- if (pitching) {
-
- upper_button_box.set_spacing (5);
- upper_button_box.set_border_width (5);
-
- Gtk::Label* l;
-
- l = manage (new Label (_("Octaves")));
- upper_button_box.pack_start (*l, false, false);
- upper_button_box.pack_start (pitch_octave_spinner, false, false);
-
- l = manage (new Label (_("Semitones (12TET)")));
- upper_button_box.pack_start (*l, false, false);
- upper_button_box.pack_start (pitch_semitone_spinner, false, false);
-
- l = manage (new Label (_("Cents")));
- upper_button_box.pack_start (*l, false, false);
- upper_button_box.pack_start (pitch_cent_spinner, false, false);
-
- pitch_cent_spinner.set_digits (1);
-
- upper_button_box.pack_start (preserve_formants_button, false, false);
-
-
- add_button (_("Shift"), Gtk::RESPONSE_ACCEPT);
-
- get_vbox()->pack_start (upper_button_box, false, false);
-
- } else {
-
-#ifdef USE_RUBBERBAND
- opts_box.set_spacing (5);
- opts_box.set_border_width (5);
- vector<string> strings;
-
- set_popdown_strings (stretch_opts_selector, editor.rb_opt_strings);
- /* set default */
- stretch_opts_selector.set_active_text (editor.rb_opt_strings[4]);
-
- opts_box.pack_start (precise_button, false, false);
- opts_box.pack_start (stretch_opts_label, false, false);
- opts_box.pack_start (stretch_opts_selector, false, false);
-
- get_vbox()->pack_start (opts_box, false, false);
-
-#else
- upper_button_box.set_homogeneous (true);
- upper_button_box.set_spacing (5);
- upper_button_box.set_border_width (5);
-
- upper_button_box.pack_start (quick_button, true, true);
- upper_button_box.pack_start (antialias_button, true, true);
-
- quick_button.set_name (N_("TimeFXButton"));
- antialias_button.set_name (N_("TimeFXButton"));
-
- get_vbox()->pack_start (upper_button_box, false, false);
-
-#endif
- add_button (_("Stretch/Shrink"), Gtk::RESPONSE_ACCEPT);
- }
-
- get_vbox()->pack_start (progress_bar);
-
- progress_bar.set_name (N_("TimeFXProgress"));
-
- show_all_children ();
-}
-
-gint
-Editor::TimeFXDialog::update_progress ()
-{
- progress_bar.set_fraction (request.progress);
- return !request.done;
-}
-
-void
-Editor::TimeFXDialog::cancel_in_progress ()
-{
- status = -2;
- request.cancel = true;
- first_cancel.disconnect();
-}
-
-gint
-Editor::TimeFXDialog::delete_in_progress (GdkEventAny* ev)
-{
- status = -2;
- request.cancel = true;
- first_delete.disconnect();
- return TRUE;
-}
-
int
Editor::time_stretch (RegionSelection& regions, float fraction)
{