Skip to content

CriticalElement/SpotlightifyFree

 
 

Repository files navigation

SpotlightifyFree

Spotlightify is a GUI based application designed to allow users to quickly interact with the Spotify Desktop application across Windows, Linux and macOS. This is an update that allows you to use this with a Spotify Free subscription.

Spotlightify

Prerequisites

  • Spotify Premium Account
  • You must have logged into open.spotify.com through Google Chrome. This is for using cookies to manage playback. If you haven't, the default playback commands will run, which don't work with a free Spotify subscription.
  • Python 3.7 or later
  • A Spotify App must also be created, the instructions follow:
    1. Open the Spotify Developer Dashboard here and login using your Spotify account credentials.
    2. Click the "CREATE AN APP" button.
    3. Name the application "Spotlightify", write anything for the description and select "Desktop App" from the checkboxes. Click "NEXT".
    4. Respond with "No" to the question "Are you developing a commercial integration?".
    5. Tick all boxes and click "SUBMIT".
    6. Now on the dashboard, click "EDIT SETTINGS".
    7. Under the title "Redirect URIs" enter: "http://localhost:8080", hit "ADD" and then at the bottom, hit "SAVE".
    8. That is the App set up, keep the dashboard webpage open as we will need Client ID and Client Secret from it later on.

Installing Dependencies

OS Specific Setup

To setup a virtual environment, perform the following commands.

Windows

cd path\to\spotlightify-root
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python app.py

To run the application as an independent process (i.e. it will not end when the command line is exited), use: pythonw app.py

MacOS

cd path/to/spotlightify-root
python -m venv venv
. venv/bin/activate
pip install -r requirements.txt
python app.py

Linux

cd path/to/spotlightify-root
python3 -m venv venv
. venv/bin/activate
sudo apt-get install python3-pyqt5
pip3 install -r requirements.txt
python3 app.py

Linking the Spotify App

Run app.py to start the application.

On the Spotify App that you have created, take the values of Client ID, Client Secret and Redirect URI (Redirect URL is found when the "EDIT SETTINGS" button is clicked) from the website and input them into their respective textboxes. To make sure the correct username is entered into the username textbox, go to this link, get your exact username string and paste it (you only need to do this if you sign into Spotify using a service such as Facebook).

Installing Fonts

The fonts found in assets/fonts must be installed for this to display correctly.

Usage

The GUI is activated by using the shortcut ctrl + space. Here is the current list of available functions:

List of Commands

| Name     | Description                                | Prefix            | Parameter     |
|----------|--------------------------------------------|-------------------|---------------|
| Play     | Plays a song                               | play              | song name     |
| Queue    | Queues a song                              | queue             | song name     |
| Playlist | Plays a saved/followed playlist            | playlist          | playlist name |
| Album    | Plays a saved album                        | album             | album name    |
| Artist   | Plays songs from a saved/followed artist   | artist            | artist name   |
| Liked    | Plays saved/liked music                    | liked             | None          |
| Volume   | Changes music volume                       | volume            | 1 - 10        |
| Go to    | Seeks a position in a song                 | goto              | e.g. 1:24     |
| Resume   | Resumes music playback                     | resume, start     | None          |
| Skip     | Skips the current song                     | skip, next        | None          |
| Previous | Plays pervious song                        | previous          | None          |
| Pause    | Pauses music playback                      | pause             | None          |
| Shuffle  | Toggles shuffle playback                   | shuffle           | None          |
| Device   | Select device for music playback           | device            | None          |
| Repeat   | Toggles repeating modes                    | repeat            | None          |
| Current  | Provides currently playing song info       | currently playing | None          |
| Share    | Copies the current song's URL to clipboard | share             | None          |
| Exit     | Exits the application                      | exit              | None          |

On first start up, Spotlightify will cache all of your liked and playlist songs, caching both song information and album art. So keep the app open for at least 10 minutes so that all your songs can be cached.

Additional Information

Built With

  • Spotipy - A Spotify API wrapper for Python
  • PyQt5 - A cross platform GUI framework for Python

Reddit Posts

Contributing

Join us on discord to discuss how to contribute to the project.

About

The Spotify overlay controller

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%