Skip to content

Add Spotify and make sonic fit any terminal - #3

Merged
sethmills21 merged 1 commit into
mainfrom
feat/spotify-and-polish
Oct 16, 2026
Merged

sethmills21 merged 1 commit into
mainfrom
feat/spotify-and-polish

Conversation

@sethmills21

Copy link
Copy Markdown
Owner

Sonic now plays Spotify as a fourth source, and every screen fits the terminal it runs in. Using it end to end also turned up bugs, fixed here. Visual before/after: https://claude.ai/artifact/UbD6iRuA1Qhic7T1WunC7z

  • Spotify through spogo: search finds tracks, vibes open playlists, Spotify links play directly. Sonic is the remote; audio plays in any Spotify app. Supersedes the macOS-only AppleScript branch.
  • Compact header under 38 rows, visualizer width follows the window, live resize, emoji-safe column alignment
  • Live streams show LIVE instead of a fake 19-hour length; seek hides on live
  • Fixed: n skipped two tracks (a stopped mpv's late exit counted as "ended"), errors vanished before they could be read, search spinner drew over the logo, failed plays landed in recents, Mixcloud presets returned nothing, tape deck border was off by two
  • Key bars list only keys that work on that screen; empty search returns to the picker
  • npm package renamed to sonic-tui (sonic-cli is someone else's); new demo GIF

Tested: on the Mac Studio, muted, in a real pty at 100×40, 80×28, and 72×24 with live resizes. YouTube, SoundCloud, and Mixcloud searched and played; favorite, recents, next/prev, pause, seek, volume, themes, light mode, Ctrl-C all checked, with no mpv left behind. Spotify ran end to end against a stand-in spogo returning its documented JSON (search, playlist presets, play, pause, next, seek, volume), and against real spogo for the not-logged-in path.

Not done: real Spotify playback needs a one-time login (spogo auth import --browser chrome); no Chrome profile on the Studio is logged into Spotify. Publishing sonic-tui to npm needs npm login.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sethmills21
sethmills21 merged commit b7133b3 into main Oct 16, 2026
1 check passed
@sethmills21
sethmills21 deleted the feat/spotify-and-polish branch October 16, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant