Simple and lightweight Spotify Overlay written in Python.

Overview

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

  • More small optimizations including making some methods static

Roadmap

  • Add a config system.
  • Testing on all platforms.

Requirements

  • Python 3.6 or higher
  • Spotify & Spotify Developer Account

Features

  1. Updates text every second. So, the timer is perfect.

  2. Incredibly lightweight.

    • Uses almost no resources while idling or updating text.
    • Still incredibly light while updating images.
  3. Grabs images from Spotify and only updates them when the URL is different.

  4. Automatically hides when a song is not found or when a song is paused.

  5. Dynamically updates resolution to always stay on your screen even if a song name is a lot longer.

  6. Always on Top.

  7. 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.

  8. Most of the time, It shows up-to-date information.

  9. Handles errors by hiding the GUI until the error stops.

  10. Plenty of configuration options are available in config.ini.

Example of Dynamic Resolution:

Installation

  1. Run the following command to clone this repository. git clone https://github.com/Ixyk-Wolf/SpotifyOverlay

  2. Go inside our directory and install requirements.

    1. cd SpotifyOverlay
    2. pip install -r requirements.txt or pip3 install -r requirements.txt depending on platform.

    (You can manually download this repository as zip but it is not preferred due to downloading speed issues)

  3. Now, you have to get your Client ID and Client Secret from Spotify's Developers' Dashboard. For that, follow the below steps-

    1. Go to https://developer.spotify.com/ and register an application.
    2. Copy the Client ID and Client Secret. (Do not share the Client Secret) Put them inside config.ini file and you can also make other changes as per your preferences.
    3. 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.
  4. 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 Users

    python3 main.py

    For MAC Users

    Double click on it or whatever you do on Mac

CompleX Group Interactions (XGI) provides an ecosystem for the analysis and representation of complex systems with group interactions.

XGI CompleX Group Interactions (XGI) is a Python package for the representation, manipulation, and study of the structure, dynamics, and functions of

Complex Group Interactions 67 Dec 28, 2022
GUI for visualization and interactive editing of SMPL-family body models ie. SMPL, SMPL-X, MANO, FLAME.

Body Model Visualizer Introduction This is a simple Open3D-based GUI for SMPL-family body models. This GUI lets you play with the shape, expression, a

Muhammed Kocabas 207 Jan 01, 2023
Altair extension for saving charts in a variety of formats.

Altair Saver This packge provides extensions to Altair for saving charts to a variety of output types. Supported output formats are: .json/.vl.json: V

Altair 85 Dec 09, 2022
Data aggregated from the reports found at the MCPS COVID Dashboard into a set of visualizations.

Montgomery County Public Schools COVID-19 Visualizer Contents About this project Data Support this project About this project Data All data we use can

James 3 Jan 19, 2022
Python package that generates hardware pinout diagrams as SVG images

PinOut A Python package that generates hardware pinout diagrams as SVG images. The package is designed to be quite flexible and works well for general

336 Dec 20, 2022
A python wrapper for creating and viewing effects for Matt Parker's christmas tree.

Christmas Tree Visualizer A python wrapper for creating and viewing effects for Matt Parker's christmas tree. Displays py or csv effect files and allo

4 Nov 22, 2022
This is a Boids Simulation, written in Python with Pygame.

PyNBoids A Python Boids Simulation This is a Boids simulation, written in Python3, with Pygame2 and NumPy. To use: Save the pynboids_sp.py file (and n

Nik 17 Dec 18, 2022
a plottling library for python, based on D3

Hello August 2013 Hello! Maybe you're looking for a nice Python interface to build interactive, javascript based plots that look as nice as all those

Mike Dewar 1.4k Dec 28, 2022
Dimensionality reduction in very large datasets using Siamese Networks

ivis Implementation of the ivis algorithm as described in the paper Structure-preserving visualisation of high dimensional single-cell datasets. Ivis

beringresearch 284 Jan 01, 2023
A Python library created to assist programmers with complex mathematical functions

libmaths was created not only as a learning experience for me, but as a way to make mathematical models in seconds for Python users using mat

Simple 73 Oct 02, 2022
D-Analyst : High Performance Visualization Tool

D-Analyst : High Performance Visualization Tool D-Analyst is a high performance data visualization built with python and based on OpenGL. It allows to

4 Apr 14, 2022
An animation engine for explanatory math videos

Powered By: An animation engine for explanatory math videos Hi there, I'm Zheer šŸ‘‹ I'm a Software Engineer and student!! 🌱 I’m currently learning eve

Zaheer ud Din Faiz 2 Nov 04, 2021
Resources for teaching & learning practical data visualization with python.

Practical Data Visualization with Python Overview All views expressed on this site are my own and do not represent the opinions of any entity with whi

Paul Jeffries 98 Sep 24, 2022
This GitHub Repository contains Data Analysis projects that I have completed so far! While most of th project are focused on Data Analysis, some of them are also put here to show off other skills that I have learned.

Welcome to my Data Analysis projects page! This GitHub Repository contains Data Analysis projects that I have completed so far! While most of th proje

Kyle Dini 1 Jan 31, 2022
UNMAINTAINED! Renders beautiful SVG maps in Python.

Kartograph is not maintained anymore As you probably already guessed from the commit history in this repo, Kartograph.py is not maintained, which mean

1k Dec 09, 2022
Data parsing and validation using Python type hints

pydantic Data validation and settings management using Python type hinting. Fast and extensible, pydantic plays nicely with your linters/IDE/brain. De

Samuel Colvin 12.1k Jan 06, 2023
A Python-based non-fungible token (NFT) generator built using Samilla and Matplotlib

PyNFT A Pythonic NF (non-fungible token) generator built using Samilla and Matplotlib Use python pynft.py [amount] The intention behind this generato

Ayush Gundawar 6 Feb 07, 2022
Custom Plotly Dash components based on Mantine React Components library

Dash Mantine Components Dash Mantine Components is a Dash component library based on Mantine React Components Library. It makes it easier to create go

Snehil Vijay 239 Jan 08, 2023
A tool for creating SVG timelines from simple JSON input.

A tool for creating SVG timelines from simple JSON input.

Jason Reisman 432 Dec 30, 2022
Simple and fast histogramming in Python accelerated with OpenMP.

pygram11 Simple and fast histogramming in Python accelerated with OpenMP with help from pybind11. pygram11 provides functions for very fast histogram

Doug Davis 28 Dec 14, 2022