prev_track ();
}
- timerclear (&last_wheel_motion);
+ last_wheel_motion = 0;
} else if ((buttonmask & ButtonPrev) || (buttonmask & ButtonNext)) {
prev_marker ();
}
- timerclear (&last_wheel_motion);
+ last_wheel_motion = 0;
} else if (buttonmask & ButtonShift) {
}
}
- timerclear (&last_wheel_motion);
+ last_wheel_motion = 0;
} else {
TranzportControlProtocol::scrub ()
{
float speed;
- struct timeval now;
- struct timeval delta;
+ uint64_t now;
int dir;
- gettimeofday (&now, 0);
+ now = g_get_monotonic_time();
if (_datawheel < WheelDirectionThreshold) {
dir = 1;
/* changed direction, start over */
speed = 0.1f;
} else {
- if (timerisset (&last_wheel_motion)) {
-
- timersub (&now, &last_wheel_motion, &delta);
-
+ if (last_wheel_motion != 0) {
/* 10 clicks per second => speed == 1.0 */
- speed = 100000.0f / (delta.tv_sec * 1000000 + delta.tv_usec);
+ speed = 100000.0f / (float) (now - last_wheel_motion)
} else {
if (session->transport_speed() < 0) {
session->request_transport_speed (1.0);
} else {
- session->request_transport_speed (session->transport_speed() + 0.1);
+ session->request_transport_speed_nonzero (session->transport_speed() + 0.1);
}
} else {
if (session->transport_speed() > 0) {
session->request_transport_speed (-1.0);
} else {
- session->request_transport_speed (session->transport_speed() - 0.1);
+ session->request_transport_speed_nonzero (session->transport_speed() - 0.1);
}
}
}