Spotify Looper: Day 52
Debugging. I’m having to systematically work through each view to see if it’s working correctly. It’s a pain, but at least it helps to see a clear path forward!
Currently: Track detail view:
- fix non-updating track name
- fix track duration
- forgot to update
trackPosition
duration in thespotify
object
- forgot to update
- Play/pause button is slow to update (seems to only trigger on timer ticks)
- future update
- fix non-loading of track details if paused when launched (but a track is still available)
- it’s just a slow start (maybe the 4 second polling)
- Add in a loading screen/message
MinimapView:
- position handle is not draggable
- because it’s bound to
spotify.trackposition
directly, which is a published property, not a state variable. Any updated properties onspotify
should cause the view to be redrawn,so if I set thetrackPosition
usingonAppear()
in the view, it should be ok.- I had to use
onChange(of:perform)
rather thanonAppear()
- I had to use
- because it’s bound to
- seeking using the position handle works, but needs debouncing, otherwise it’ll jump back to the previously updated position before the seek closure is complete
- future update
ScrollInPlayView:
- creates LOADS of spotify instances!
- fixed:
spotify
objects weren’t environment objects!
- fixed:
- the playhead and sections don’t align on the correct position. Zooming 8offset makes it worse
- possible fix: segmentViews were hard-coded to 206000ms. Build and run to test (waiting on xcode update)—Yes
- looper middle section should allow movement
- future update
- on high zoom settings, the playhead jumps quite significantly. Can we animate?
- future update
- Loop controls aren’t quite right—doesn’t turn on loop without toggling play/pause
Mandy feedback
- long titles text wrap (scroll, or clever truncate)
- plus add margin to text view
- loop/section/bar labels look like buttons
- not aligned properly with magnifier view
- scroll minimapview
- make transport controls bigger
- minimap height isn’t the same as magnifier view
- minimapview add rounded corners
- make logout button
- pinch to zoom doesn’t work properly
- disable rotation
- minimap jumps when scrolling magnifier view quickly
ipad/macos builds are weird—disable for v1 then fix for 1.1