(fix) Waveform scratching: fix seeking to hotcue while scratching is enabled #14059
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a first (still dirty) fix for #13981
TL;DR
No need to rush this into 2.6
Recently I compared the available methods for scratching with controllers, and while PositionScratchController (developed for waveform scratching) turned out to be the best (for me, no drift, smooth at low rates, nice spinback) I can't really use it as I want to due to #13981
This fixes the crazy seeking and allows seeking to a hotcue when the wheel is stopped or turned slowly.
It's good enough quickfix for me, and I can use PositionScratchController in my mapping for new year's eve.
Though this is just a first step to understand what's happeing with EngineBuffer, ReadAheadManager, RateControl and PositionScratchController. A real fix needs to be more robust, probably requiring some tweaks in EngineBuffer and other involved units.