Spotify Looper: Day 43
The scroll-in-play implementation is harder than I thought—I would need to debounce whenever the scrollview is scrolled to avoid updating the API hundreds of times per second. ^65a91c
Current solution for v1.0 is to have an independent playhead in MagnifierView
, but that creates a problem for MinimapView
, where position and scroll offset are tied together. If I separate them, adjusting position and scroll offset will be annoying.
I think the correct solution is to drop the ScrollView
and implement a new view myself that has a centralised position and will only fire a position update on dragEnded
. But maybe this is a feature for v1.1?
The fastest solution, I think, would be to:
- have
MinimapView
as a scroll offset container only (drop the ability to adjust position from there) - add a moveable playhead to
MagnifierView
-
Have a scroll-in-play toggle to scroll to playhead position when position changed (but disable this when the scrollview is touched)
- Create a new fork for real scroll-in-play once v1.0 is released.