Comment 3 for bug 703585

Revision history for this message
Owen Williams (ywwg) wrote :

Here's a patch that implements slip mode and rolling beatloops.

* Activate "[ChannelX],slip_enabled" to turn on slip. Do whatever you want (scratch, etc). Disabling slip_enabled will resume playback where the track would have been.
* Activate "[ChannelX],beatlooproll_X_activate" to enable a rolling loop. In this patch I have an example modification to my skin which makes right-click of the loop buttons activate a roll (release the mouse button to exit the roll).

The method for predicting the future position of the track is very simple. Enginebuffer remembers the rate and position at the time of activation and simply increments the position as if that rate had held constant. When slip mode is deactivated I just seekabs to that predicted position. In my brief testing it sounds good.