last_position = 0; interval = 250000; // microseconds while (1) { current_position = get_transport_position(); set_current_speed (current_position - last_position/interval); usleep (interval); }
set_current_speed ((get_current_speed() * X) + (current_position - last_position/interval) * Y);