SpotifyOverlay
SpotifyOverlay copied to clipboard
Simple and lightweight Spotify Overlay written in Python.
This repo is no longer maintained due to this project having little to no ways to improve it.
I rewrote the entire thing as a test and got no performance difference, there is therefore no need to update it anymore.
Simple Spotify Overlay
This is a simple yet powerful Spotify Overlay.
About
I have been looking for something like this ever since I got Spotify.
I thought, why not make my own?
Contributions
- Thank You to gmferise for fixing parse minutes and parse seconds.
- Thank You to Chetan-Goyal for making this README a lot better.
- Thank You to winandfx for making progress bar a lot better.
- Thank You to acemiller6 for helping with some compatibility issues on Mac.
- Thank You to NUTTA_BUSHA for helping with some ideas on images.
Changelog
- Automatically snaps to current display (hopefully)
- Minor optimizations & bug fixes
- Automatically creates a default config if there is an error
- Added title in config and removed debug mode
- Fixed urllib timeout errors
Roadmap
- [x] Add a config system.
- [x] Testing on all platforms.
Requirements
- Python 3.6 or higher
- Spotify & Spotify Developer Account
Features
- Updates text every second. So, the timer is perfect.
- Incredibly lightweight.
-
Uses almost no resources while idling or updating text.

-
Still incredibly light while updating images.

-
- Grabs images from Spotify and only updates them when the URL is different.
- Automatically hides when a song is not found or when a song is paused.
- Dynamically updates resolution to always stay on your screen even if a song name is a lot longer.
- Always on Top.
- Automatically gets image accent colours and sets them as the background along with getting the opposite accent colours and putting them as the font for it to look good.
- Most of the time, It shows up-to-date information.
- Handles errors by hiding the GUI until the error stops.
- Plenty of configuration options are available in
config.ini. - Uses less ram the longer you use it (I have no idea either).
Example of Dynamic Resolution:
Installation
-
Run the following command to clone this repository.
git clone https://github.com/Ixyk-Wolf/SpotifyOverlay -
Go inside our directory and install requirements.
cd SpotifyOverlaypip install -r requirements.txtorpip3 install -r requirements.txtdepending on platform.
(You can manually download this repository as zip but it is not preferred due to downloading speed issues)
-
Now, you have to get your Client ID and Client Secret from Spotify's Developers' Dashboard. For that, follow the below steps-
- Go to https://developer.spotify.com/ and register an application.

- Copy the Client ID and Client Secret. (Do not share the Client Secret) Put them inside
config.inifile and you can also make other changes as per your preferences. - Go to your application's settings on https://developer.spotify.com/dashboard
iv. Scroll down and look for Redirect URIs and type http://localhost:8080/ and click on Add button.

v. After adding above URI there, Scroll Down and click on SAVE button.

- Go to https://developer.spotify.com/ and register an application.
-
Hooray!! You have finally completed all the important configuration stuff. Now, you can run your app with Python using following command-
For Windows Users
python main.py
(or Simply Double Click on it :D )
For Linux Userspython3 main.py
For MAC UsersDouble click on it or whatever you do on Mac