summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_timefx.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-12-12 14:43:24 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-12-12 14:43:24 +0000
commitbc89fe0147c04b67141936d109c00dfd4d69cc4b (patch)
tree544ff450c40fe1f43853a8420228a26f27f1eafb /gtk2_ardour/editor_timefx.cc
parent30daaebaa2d90d6b0e8673143ccc3cacd7bd1753 (diff)
most of the 2.X->3.0 commit (up to rev 4299) except for gtk2_ardour/editor_canvas.cc; builds and runs and does a few specific things but expect it to be buggy for a while yet
git-svn-id: svn://localhost/ardour2/branches/3.0@4313 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_timefx.cc')
-rw-r--r--gtk2_ardour/editor_timefx.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_timefx.cc b/gtk2_ardour/editor_timefx.cc
index 6628be7116..3dda9e87e9 100644
--- a/gtk2_ardour/editor_timefx.cc
+++ b/gtk2_ardour/editor_timefx.cc
@@ -72,7 +72,8 @@ Editor::TimeFXDialog::TimeFXDialog (Editor& e, bool pitch)
quick_button (_("Quick but Ugly")),
antialias_button (_("Skip Anti-aliasing")),
stretch_opts_label (_("Contents:")),
- precise_button (_("Strict Linear"))
+ precise_button (_("Strict Linear")),
+ preserve_formants_button(_("Preserve Formants"))
{
set_modal (true);
set_position (Gtk::WIN_POS_MOUSE);
@@ -112,6 +113,9 @@ Editor::TimeFXDialog::TimeFXDialog (Editor& e, bool pitch)
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);
@@ -281,6 +285,7 @@ Editor::time_fx (RegionSelection& regions, float val, bool pitching)
bool peaklock = true;
bool longwin = false;
bool shortwin = false;
+ bool preserve_formants = false;
string txt;
enum {
@@ -290,6 +295,7 @@ Editor::time_fx (RegionSelection& regions, float val, bool pitching)
} transients = Transients;
precise = current_timefx->precise_button.get_active();
+ preserve_formants = current_timefx->preserve_formants_button.get_active();
txt = current_timefx->stretch_opts_selector.get_active_text ();
@@ -312,10 +318,14 @@ Editor::time_fx (RegionSelection& regions, float val, bool pitching)
if (realtime) options |= RubberBandStretcher::OptionProcessRealTime;
if (precise) options |= RubberBandStretcher::OptionStretchPrecise;
+ if (preserve_formants) options |= RubberBandStretcher::OptionFormantPreserved;
+
if (!peaklock) options |= RubberBandStretcher::OptionPhaseIndependent;
if (longwin) options |= RubberBandStretcher::OptionWindowLong;
if (shortwin) options |= RubberBandStretcher::OptionWindowShort;
+
+
switch (transients) {
case NoTransients:
options |= RubberBandStretcher::OptionTransientsSmooth;
@@ -455,7 +465,7 @@ Editor::do_timefx (TimeFXDialog& dialog)
void*
Editor::timefx_thread (void *arg)
{
- PBD::ThreadCreated (pthread_self(), X_("TimeFX"));
+ PBD::notify_gui_about_thread_creation (pthread_self(), X_("TimeFX"));
TimeFXDialog* tsd = static_cast<TimeFXDialog*>(arg);