Comment 3 for bug 779179

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hey shanxS,

The problem with your patch is that it does not let you scratch past the end of the loop -- it just stops the loop at the extents. Another issue is that it will only work for looping and not for other things that change the playposition (e.g. if you trigger a hotcue the player will also go ballistic).

I thought a lot about the right way to fix it and realized part of how the scratching works was wrong. The widget should not track positions -- it should instead give distances that should be traveled by the player. This way, it doesn't matter if a loop is taken because the total distance traveled by the player is the control variable.

The result is that scratching without a loop enabled works just as good as before (with no noticable drift). Scratching with a loop works as expected, but if you scratch it a lot sometimes there is a little bit of drift. I commited the fix to trunk.