Skip to content

v0.4 — visualizer overhaul, sleep timer, SmartPlay modes, launch screen

Choose a tag to compare

@LeoHChen LeoHChen released this 02 May 04:00

Highlights since v0.3

  • Sleep timer — auto-stop after 15/30/45/60 min or at the end of the current track, with a live LCD countdown in the player transport. (#16)
  • Visualizer overhaul — 8 selectable styles on the SwiftUI player: spectrum, oscilloscope, plasma, mirror, radial pulse, particles, fire, starfield. Active style persists across launches. Long-press or double-tap the visualizer to cycle. The skinned (Winamp) player honors the same choice within its 76×16 + palette constraints. (#26)
  • SmartPlay — three new rule-based modes: Mood Arc (high-energy → wind-down), Deep Cut (skip openers and "Greatest Hits" comps), One Per Artist (max library breadth). 12 modes total. (#25)
  • Branded launch screen — Sun-Bleached Grooves splash matching the app icon: sunset gradient + black vinyl disc, no tonearm. (#30)
  • Performance — throttled currentTime publish to ~2 Hz, gated the visualizer + display link on view visibility, paused the display link when the app backgrounds. Substantially fewer SwiftUI invalidations during normal playback. (#17)
  • Reliability — fixed several Sendable / actor-isolation issues around background/foreground notification observers (no compile-time isolation warnings, no spurious main-actor hops).
  • Repeat-one indicator: subtle "1" badge on the repeat button when single-track loop is active. (#15)

Build: 3
Min iOS: 16

🤖 Generated with Claude Code