if (_transport_speed == 1.0) {
frames_moved = (long) nframes;
} else {
- interpolation.set_target_speed (_target_transport_speed);
- interpolation.set_speed (_transport_speed);
- frames_moved = (long) interpolation.interpolate (nframes, 0, 0);
+ interpolation.set_target_speed (fabs(_target_transport_speed));
+ interpolation.set_speed (fabs(_transport_speed));
+ frames_moved = (long) interpolation.interpolate (0, nframes, 0, 0);
}
end_frame = _transport_frame + (nframes_t)frames_moved;
if (_transport_speed == 1.0) {
frames_moved = (long) nframes;
} else {
- interpolation.set_target_speed (_target_transport_speed);
- interpolation.set_speed (_transport_speed);
- frames_moved = (long) interpolation.interpolate (nframes, 0, 0);
+ interpolation.set_target_speed (fabs(_target_transport_speed));
+ interpolation.set_speed (fabs(_transport_speed));
+ frames_moved = (long) interpolation.interpolate (0, nframes, 0, 0);
}
if (process_routes (nframes)) {