feat: Add Spotify track/episode support #1603
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Using the Spotify Iframe API, we can embed and control spotify tracks and episodes. Some things can't be controlled, like playback speed and volume, but otherwise, toggling pause/play, setting the timestamp, settings event callbacks are all things we can do
To use this feature, pass a link of format "spotify:track:id" or "spotify:episode:id" to the player. (Let me know if you want that changed to URLs, I felt like to was more natural to use the spotify URIs instead of URLs, as that's what the spotify api returns most of the time)
I also fixed a small issue related to the loop mechanism being broken when using lazy players.
Small note though. To view items, the viewer MUST be logged in with their spotify account (premium not required, unlike the Spotify playback SDK) otherwise they get a 30-sec preview. Functionality is mostly maintained, the clip is simply cut short
Should partially address #161
I haven't updated the readme yet, wasn't sure if you preferred to do that yourself. Just let me know if you'd like me to do that too