Index: gtk2_ardour/editor_timefx.cc
===================================================================
--- gtk2_ardour/editor_timefx.cc	(revision 7608)
+++ gtk2_ardour/editor_timefx.cc	(working copy)
@@ -125,7 +125,7 @@
 
 		set_popdown_strings (stretch_opts_selector, editor.rb_opt_strings);
 		/* set default */
-		stretch_opts_selector.set_active_text (editor.rb_opt_strings[4]);
+		stretch_opts_selector.set_active_text (editor.rb_opt_strings[editor.rb_current_opt]);
 
 		opts_box.pack_start (precise_button, false, false);
 		opts_box.pack_start (stretch_opts_label, false, false);
@@ -268,20 +268,41 @@
 	
 	txt = current_timefx->stretch_opts_selector.get_active_text ();
 
-	if (txt == rb_opt_strings[0]) {
-		transients = NoTransients; peaklock = false; longwin = true; shortwin = false; 
-	} else if (txt == rb_opt_strings[1]) {
-		transients = NoTransients; peaklock = false; longwin = false; shortwin = false; 
-	} else if (txt == rb_opt_strings[2]) {
-		transients = NoTransients; peaklock = true; longwin = false; shortwin = false; 
-	} else if (txt == rb_opt_strings[3]) {
-		transients = BandLimitedTransients; peaklock = true; longwin = false; shortwin = false; 
-	} else if (txt == rb_opt_strings[5]) {
-		transients = Transients; peaklock = false; longwin = false; shortwin = true; 
-	} else {
-		/* default/4 */
-
-		transients = Transients; peaklock = true; longwin = false; shortwin = false; 
+	for (int i = 0; i <= 6; i++) {
+		if (txt == rb_opt_strings[i]) {
+			rb_current_opt = i;
+			break;
+		}
+	}
+	
+	switch (rb_current_opt) {
+		case 0:
+			transients = NoTransients; peaklock = false; longwin = true; shortwin = false; 
+			break;
+		case 1:
+			transients = NoTransients; peaklock = false; longwin = false; shortwin = false; 
+			break;
+		case 2:
+			transients = NoTransients; peaklock = true; longwin = false; shortwin = false; 
+			break;
+		case 3:
+			transients = BandLimitedTransients; peaklock = true; longwin = false; shortwin = false; 
+			break;
+		case 5:
+			transients = Transients; peaklock = false; longwin = false; shortwin = true; 
+			break;
+		case 6:
+			transients = NoTransients;
+			precise = true;
+			preserve_formants = false;
+			current_timefx->request.pitch_fraction = 1/val;
+			shortwin = true;
+			// peaklock = false;
+			break;
+		default:
+			/* default/4 */	
+			transients = Transients; peaklock = true; longwin = false; shortwin = false; 
+			break;
 	};
 
 
Index: gtk2_ardour/editor.cc
===================================================================
--- gtk2_ardour/editor.cc	(revision 7608)
+++ gtk2_ardour/editor.cc	(working copy)
@@ -163,6 +163,7 @@
 	N_("Unpitched percussion with stable notes"),
 	N_("Crisp monophonic instrumental"),
 	N_("Unpitched solo percussion"),
+	N_("Resample (don't preserve pitch)"),
 	0
 };
 #endif
@@ -297,6 +298,7 @@
 	edit_point_strings = I18N (_edit_point_strings);
 #ifdef USE_RUBBERBAND
 	rb_opt_strings = I18N (_rb_opt_strings);
+	rb_current_opt = 4;
 #endif
 	
 	snap_threshold = 5.0;
Index: gtk2_ardour/editor.h
===================================================================
--- gtk2_ardour/editor.h	(revision 7608)
+++ gtk2_ardour/editor.h	(working copy)
@@ -171,6 +171,7 @@
 
 #ifdef USE_RUBBERBAND
 	std::vector<std::string> rb_opt_strings;
+	int rb_current_opt;
 #endif
 
 	//global waveform options
