-
- for (MidiModel::const_iterator i = old_model->begin(); i != old_model->end(); ++i) {
- const double new_time = i->time() * _request.time_fraction;
-
+
+ /* Note: pass true into force_discrete for the begin() iterator so that the model doesn't
+ * do interpolation of controller data when we stretch.
+ */
+ for (Evoral::Sequence<MidiModel::TimeType>::const_iterator i = old_model->begin (MidiModel::TimeType(), true);
+ i != old_model->end(); ++i) {
+ const MidiModel::TimeType new_time = i->time() * (double)_request.time_fraction;
+