-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(fix) Waveform scratching: fix seeking to hotcue while scratching is enabled #14059
base: 2.5
Are you sure you want to change the base?
Conversation
6927fdc
to
92095c1
Compare
m_pRateControl->notifySeek(seekPosition); | ||
} | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Until now this was a no-op in RateControl and with the fix it's causing trouble so I removed it.
2ab9774
to
99d15da
Compare
99d15da
to
e98e7ed
Compare
…ntrolProxy etc. Co-authored-by: Swiftb0y <12380386+Swiftb0y@users.noreply.github.com>
8d76989
to
2a4d536
Compare
…o hotcue adopt the seek position explicitly in order to avoid crazy seek speeds
2a4d536
to
dff5e6a
Compare
Still not working as desired. I'm a bit lost here since I don't fully understand how the filters work here: So, I really don't get how to fix both as I'm not 100% sure loop-scratching works 100% in main. Any help is appreciated! |
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.