Skip to content

Effortlessly control your Spotify through your Elgato Stream Deck. A Spotify Premium account is required to use the full functionality of this plugin.

Notifications You must be signed in to change notification settings

ntanis-dev/essentials-for-spotify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

category@2x

Essentials for Spotify

Effortlessly control your Spotify through your Elgato Stream Deck.
A Spotify Premium account is required to use the full functionality of this plugin.

Features

  • Plug-and-Play Setup: In-browser, step-by-step setup; have it running in under a minute.
  • Opinionated: No endless pages of settings, set it up once and forget about it.
  • Lag-Proof Controls: Forget laggy or unresponsive buttons, built in a way that it simply works.
  • Interval Refresh: Syncs data at sensible intervals with your native client so it remains up-to-date.
  • Pixel-Perfect UI: Every icon and element is meticulously aligned for a crisp, frictionless experience.
  • Marquee Titles: Long titles scroll smoothly on both buttons and dials so you never miss a thing.
  • Clear Visual Status: Contextual icons and animations for loading states, errors, and warnings at a glance.

Layouts

Perfect layouts for Stream Deck MK.2 and Stream Deck +.

Stream Deck MK.2
Stream Deck MK.2 Layout

Stream Deck +
Stream Deck + Layout

Buttons

  • Play / Pause Toggles between playing and pausing the current song.
  • Previous Song Skips to the previous song.
  • Next Song Advances to the next song.
  • Shuffle Activates or deactivates shuffle play.
  • Loop Context Repeats the current playlist or album.
  • Loop Song Repeats the current song.
  • Like / Unlike Adds the current song to your liked songs or removes it if already liked.
  • Explicit Indicator Shows whether the current song is explicit or not.
  • Volume Up Increases the playback volume.
  • Volume Down Decreases the playback volume.
  • Volume Mute / Unmute Toggles between muting and unmuting the volume.
  • Backward Seek Seek backward in the current song.
  • Forward Seek Seek forward in the current song.
  • Song Information Displays the information of the current song.
  • Context Information Displays the information of the current context.
  • User Information Displays the information of the connected user.
  • Song Clipboard Copies the information of the current song to the clipboard.
  • Setup Start here to setup Essentials for Spotify or to reset the setup process.

Dials

  • Playback Control
    Controls the playback of the current song.

    • Rotate: Previous / Next
    • Push: Rotate Seek
    • Touch: Play / Pause
  • Volume Control
    Controls the playback volume.

    • Rotate: Adjust Volume
    • Push: Hold Mute
    • Touch: Mute / Unmute
  • My Playlists
    Navigate and play through your playlists.

    • Rotate: Navigate
    • Push: Play
    • Touch: Refresh
  • New Releases
    Navigate and play through your personalized new releases.

    • Rotate: Navigate
    • Push: Play
    • Touch: Refresh

    Icons
    ๐ŸŽค Single
    ๐Ÿ’ฟ Album
    ๐Ÿ—‚๏ธ Compilation
    ๐Ÿ“€ EP

Visual Indicators

Success Success: It worked!
Pending Pending: Something is loading, please wait.
Busy Busy: The action you're trying to perform is currently busy, wait a bit and try again later.
API Rate Limited API Rate Limited: You're doing actions too fast, wait a bit and try again later.
Not Available Not Available: The action you are trying to perform is not available due to current restrictions.
No Device No Device: A device to control cannot be found, start your Spotify client or app, play a song and then try again.
Fatal Error Fatal Error: A fatal error has occured, please create a new issue.
API Error API Error: Something is wrong, try again later and if the issue persists create a new issue.
Setup Error Setup Error: The setup has not been completed yet, please complete the setup first and try again.

When a questionmark "?" appears on top of a button, that indicates that the plugin is not sure of the button state.

For example if no song is currently playing or played recently, we can't know if it's liked or not.
So the Like / Unlike button will show a questionmark "?" to indicate that.

Installation

To install and use the plugin, follow these steps:

  1. Download the latest .streamDeckPlugin release from here.
  2. Double-click and install it.
  3. Place the Setup button in your StreamDeck and press it.
  4. A web page should open on your default internet browser, follow the instructions there.
  5. Enjoy!

Notes

I started this project in plain JavaScript, then halfway through rewrote the buttons and dials in TypeScript.
However I never had the grit to port the rest, so now itโ€™s a hybrid mess, sorry about that. ๐Ÿ˜
I only built it because when I got my first Stream Deck, every available Spotify control plugin fell short for my taste.

Disclaimer

This project uses the Spotify Web API to fetch data and control playback.
The use of it is subject to the Spotify Developer Terms of Service.

Icons are courtesy of Icons8, used under the Universal Multimedia License Agreement for Icons8.
Icons integrated into this project must not be extracted or re-used as standalone assets.

Spotify is a trademark of Spotify AB.
Stream Deck is a trademark of Elgato Systems GmbH.

This project is not affiliated with, endorsed, sponsored, or approved by Spotify AB or Elgato Systems GmbH.

About

Effortlessly control your Spotify through your Elgato Stream Deck. A Spotify Premium account is required to use the full functionality of this plugin.

Topics

Resources

Stars

Watchers

Forks