Releases: ntanis-dev/essentials-for-spotify
v1.2.0.0
Added a stream overlay server with real-time WebSocket updates, providing a browser-based "Now Playing" overlay for streaming software (OBS, etc.).
Added a Property Inspector to the "Setup" button for configuring the stream overlay URL and its display options.
Fully localized the plugin in all currently supported Stream Deck languages, including the setup page and all Property Inspector pages.
Added port retry logic to both the connector and overlay servers, automatically trying the next port if the default is in use.
Persisted the last active device ID across plugin restarts, allowing playback to potentially resume on the correct device.
Replaced a lot of library dependencies in favour of native alternatives.
If you've found my work helpful, any contribution is greatly appreciated.
There's absolutely no obligation, but you may do so through my donate portal.
Thanks to everyone who contributed with PRs, bug reports and suggestions.tion issues.
v1.1.0.7
Added single track playback support to the "Play Context" button, with proper active state detection via song matching instead of context matching.
Added liked songs URL support to the "My Playlists" dial extra playlists.
Added oEmbed data fetching for extra playlists in the "My Playlists" dial, auto-resolving playlist names and thumbnails.
Added per-context extra playlists and a soft refresh to the "My Playlists" dial to avoid full reloads on name-only changes.
Updated "Add to Playlist" button icons for a more consistent look.
Dropped node-fetch in favour of the built-in fetch due to potential connection issues.
v1.1.0.6
Added a "Set Volume" button that sets the playback volume to a specific level with a visual slider indicator.
Added a time display setting to "Song Stack" button and "Playback Control" dial, allowing remaining time to be shown instead of total duration.
Added custom element ordering, toggling, and a configurable separator to the "Song Clipboard" button.
Added custom playlist URL support to the "My Playlists" dial, allowing extra playlists beyond the user's own.
Added liked songs collection URL support to the "Play Context" button.
Added adaptive playback state polling intervals to reduce Spotify API calls during inactivity.
Added a delayed retry on no device errors to give Spotify time to wake up idle devices.
Added guards across multiple actions to prevent unsupported operations on local tracks.
Fixed API call error propagation in the items dial.
Fixed "Play Context" border reset iterating all contexts instead of only forced-active ones.
Fixed "Add to Playlist" image not resetting properly when no song is playing.
Fixed user information button crashing when the user has no profile images.
Fixed clipboard stripping newlines from copied text.
Modernized the setup page design and overhauled some property inspector pages for a more native feel.
v1.1.0.5
- Replaced the "New Releases" dial with a "My Liked Songs" dial, as the underlying Spotify API endpoint no longer exists.
- Added an "Add to Playlist" button that adds the currently playing song to a configured playlist, non-exclusively to reduce Spotify API calls.
- Added an image source setting to the "Context Information" button, allowing it to display the current song's album art instead of the playback context image.
- Added support for playing individual tracks via the "Play Context" button.
- Fixed per-instance seek step size not working on the "Playback Control" dial.
- Fixed song change detection not triggering at exactly the song's duration boundary.
- Fixed playback context change event not re-emitting when transitioning from pending to settled state.
- Force connector invalidation on API errors during initial token refresh.
- Updated Spotify API endpoints to their latest equivalents, and bumped dependencies.
- Cached liked state indicator on song change in an effort to minimize calls to Spotify API to prevent triggering rate limits after their latest update, sacrificing sync between the plugin and external sources.
v1.1.0.4
- Removed pending state from "Song Clipboard" button, uses action-feedback instead.
- Added seek step size and volume step size to all associated buttons.
- Renamed "Playback Mode" to "Mode Stack" for consistency with multi-action buttons.
- Added a "Volume Stack" button that combines volume up, volume down and volume mute / unmute actions.
- Changed the first volume interaction after a muted state.
- Fixed an issue that would cause muted state to appear even if the API action failed.
- Added default profile for Stream Deck Neo and updated existing default profiles for Stream Deck MK.2 and Stream Deck +.
v1.1.0.3
- Added hold-to-seek to both "Previous Song" and "Next Song" buttons.
- Added a "Playback Mode" multi-action button that combines shuffle, loop song and loop context.
- Fixed an oversight in device selection when Spotify Web API was idle.
- Fixed an issue with "Volume Up" and "Volume Down" buttons and added step in their settings.
- Improved UX on buttons invocation and release.
v1.1.0.2
- Added active and inactive borders in "Play Context" button.
- Added a fallback to the first non-speaker device if there are no active devices.
v1.1.0.1
- Fixed an issue that caused the last device not to persist after going idle.
- Fixed an issue that sometimes caused the buttons to become unresponsive.
- Added local file image to "Playback Control" dial.
v1.1.0.0
- Added button settings support in various buttons for extra customization.
- Added playback dial long touch action for like / unlike, and play / pause by pressing the dial without rotating it.
- Added "Liked Songs" collection in "My Playlists" dial.
- Added "Play Context" button that allows you to set and play any supported URL (album, playlist, artist).
- Added "Transfer Playback" button that allows you to set and transfer the playback to another device.
- Added liked song indicators by layering images that can be disabled via button settings.
- Replaced "Song Information" button with "Song Stack" that is now a multi-action button with a wide variety of uses.
- Fixed an issue that would keep the "Context Information" button in a pending state after playing a song from idling.
- Fixed an issue that plugin would pick and activate a non-active device when the currently active device become unavailable.
- Fixed an issue with context not updating when playing an artist context.
- Now fully supporting local files.
- Implemented cacheable lookup and size checks for faster image retrieval.
- Enhanced image recovery handling, including non-statable image / title recovery and transfer playback initialization.
- Improved keep-alive functionality for image CDNs on playback state updates.
- Moved refresh action of items' dials to long touch (simple touch is now play like pressing).
- UX improvements, some new icons, long press effect on buttons and more.
v1.0.0.4
- Fixes a core bug with user state causing buttons to return Not Available state when pressed, if the User Information button was not appeared.
- Adds a new Context Information button that shows current playback context (album / playlist).
- Updated the included Stream Deck + profile to include Context Information button instead of User Information button as it is a bit more useful.