Skip to content

A desktop app that saves your current Spotify track name and cover art to local files!

Notifications You must be signed in to change notification settings

jmswrnr/spotilocal

Repository files navigation

GitHub package.json version Download Made by James Warner Buy Me A Coffee

Spotilocal

A simple desktop app that saves your current Spotify track name and cover art to local files! — Inspired by Snip, but much faster.

  • ⚡ Instant updates of track information.
  • 💻 Runs in the background; find it in the system tray.
  • 🪟 Built-in Web Widget for easy use in OBS Studio browser source.
  • 🌉 WebSocket API to integrate real-time updates with custom projects, example.
  • 🔗 Listen on any other device; does not require Spotify locally.
  • 📜 Opt-in to local track history.

Why?

So you can get real-time updates of your Spotify state to integrate into your projects or productions.

Examples:

  • OBS Studio browser source for livestream overlays.
  • Bespoke presentation on custom displays like a custom LED screen.
  • Keep a local record of all your listening history as requested here.

Video Tutorials

image alt text Show Spotify Song Name in OBS Overlay 2024

Settings

  • Empty content files when paused - Update cover art to transparent image, and empty text file contents when you pause Spotify.
  • Small / Medium / Large cover art image - Specify which resolutions of the cover art image you want to save.
  • Save JSON file - Save player state to JSON file.
  • Save track history - Saves a history of tracks you listen to in JSON, CSV, and text file.

Note

The JSON state and track history files will never be emptied on pause.

Important

Deleting the track history JSON file will result in data loss. It will also delete the CSV and text file contents.

Web Widget

  • Enable web widget - Activates the Web Widget and WebSocket API.
  • Port number - Network port to use for the Web Widget (automatically chosen if empty).
  • Copy URL - Copy the URL for the Web Widget.

Note

When adding to OBS as a Browser Source, set the height to 288 and width to 2000+. Scale down in the scene to preference.

Development

How it technically works

It loads the Spotify web player in a hidden window to detect track changes and saves them to text files.

It doesn't need to send a single API request on top of the default player!

Recommended IDE Setup

Project Setup

Install

npm install

Development

npm run dev

Build

npm run build:win

About

A desktop app that saves your current Spotify track name and cover art to local files!

Resources

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages