Extensions

Extend SAMMI's functionality with our community made extensions.

Spotify

Developed by:
Rating | Audio | views

Overview

This Spotify extension for SAMMI allows you to display and fully control your Spotify playback directly from your SAMMI.

It comes with a full Spotify player for SAMMI, OBS overlay (including viewer song requests overlay), and it’s very easy to set up.

Overlay for your stream

Display your current track in your OBS overlay and SAMMI Deck, updated automatically as you listen to Spotify.

Spotify OBS Overlay For Current Track
Spotify OBS Overlay For Current Track


Current track info

Send you current track’s name and Spotify link (and other info if you wish) to your chat with one press of a button.

Spotify Current Track Auto Posted to Chat
Spotify Current Track Auto Posted to Chat


Playback controls
  • Play and Pause
  • Next and Previous Track
  • Fast Forwards and Backwards
  • Mute and Unmute
  • Volume Sliders
  • Like and Unlike tracks
  • Toggle Shuffle

Playlists
  • Display all your playlists and cycle through them, select one to listen to
  • Add a currently playing track to your selected playlist by pressing +
  • Remove a currently playing track from your playlist by pressing -
  • Create a new playlist

Search function
  • Search for tracks by their name and (optionally) their artist
  • Display search results, cycle through them and select one to start playing it

Song Requests
  • allow your viewers request songs by their Spotify link, or just their name and (optionally) their artist
  • all requested tracks are added to your track queue and displayed in SAMMI Deck and your OBS overlay, updated automatically as you progress through them
  • customize your song request tracks overlay (such as maximum amount of displayed tracks or their order)

Randomize it
  • Get a random track, album or playlist and start playing it

Lyrics
  • Get a link to lyrics of your currently playing track

Special thanks goes to:
My amazing Patrons.
Thank you so much!

If you would like to support me developing SAMMI itself and my extensions, you can join my Patreon, which will give you access to all my upcoming creations for completely free and priority help on any of my extensions.

DISCLAIMER: The extension is provided as is. The developer has no obligation to provide maintenance and support services or handle any bug reports.
Feel free to edit the extension for your own use. You may not distribute, sell or publish it without the author’s permission.


Additional Information
Version 1.0 Requires SAMMI 2022.5.0^ Stream Platform OBS Updated February 17, 2022
Setup
  1. Update SAMMI to the newest version.
  2. (This only applies if you already use Spotify for SAMMI/LB2/LB1)
    Delete your Spotify scene in your OBS. The new Spotify scene is almost the same, however it now uses move filters and must be replaced. You must not already have the following sources in your OBS either: Spotify Song, Spotify Artist, Spotify Image, Spotify Song Req Queue, Spotify Background, Spotify Queue BG.
  3. Install or update OBS Move Transition filter to the latest version.
  4. Install the extension while connected to OBS. You can follow the How to install an extension guide.
  5. A new Spotify scene should be added to your OBS. If you use multiple OBS, that’s ok, we will install it in the next steps.
  6. Go to your Spotify premade deck and press the green Setup button. Type F, press OK and follow all the onscreen instructions.
    If the URL to retrieve your credentials doesn’t open (as it’s been migrated to a different platform and you might still be on an older version of the extension), please use this link to Link your Spotify account.
  7. Press red Install OBS button to add the Spotify scene to your OBS.
  8. You’re done!

Protected Buttons

This extension’s basic version has most of its buttons protected. You still get a fully functional extension and can freely modify or delete any buttons or commands, attach your own triggers etc. You cannot open any nested commands (these contain ‘backend’ commands that would be easy to break by non experienced users), copy the commands or copy the buttons themselves.

If you wish to be able to fully modify the extension (only recommended for very advanced users), you can purchase the premium version instead, which has all its buttons unlocked! I do not provide documentation for any unlocked buttons and it’s up to you to figure out their functionality.


Automatic Buttons

You might notice these four black buttons. They’re fully automatic (triggered from other buttons) and are not to be interacted with.


Buttons:



You can modify all your Spotify settings in this button. Press it and follow the on-screen instructions.

  • Set Credentials and Refresh Token - set up your credentials and refresh token, required for SAMMI to connect to Spotify
  • Set Size Limit for Queue tracks displayed in OBS Overlay - set the maximum amount of song request tracks displayed in your OBS overlay (default = 10)
  • Set Length Limit for Queue tracks displayed in OBS Overlay - set the maximum character length for request track names in your OBS overlay (default = 35)
  • Enable or disable reverse order of Queue tracks displayed in OBS Overlay - decide whether you want to display your Queue tracks in your OBS in reverse order (i.e. the next one in the list will be on top and not bottom)
  • Set Preferred Spotify Device (optional)- set your preferred Spotify device to transfer your playback to when you launch SAMMI or use the Wake Up button. Skip this step if you always use the same device for your Spotify music while streaming.
  • Set OBS Name (optional if using multiple OBS) - set OBS name to install and control your OBS overlay. Skip this step if you’re only using one single OBS.
  • Set Spotify Errors to show up as alerts or tray notifications - any spotify error is shown as a yellow alert at the bottom of SAMMI by default. You can set them to show as tray notification bubbles instead.

Creates a new Spotify scene, its sources and filters in your OBS. This will fail if there is already an existing Spotify scene in your OBS. In this case you want to delete the scene, restart OBS and try again.


INIT

This button is fully automatic. But you can press it if your deck doesn’t properly load up.


Retrieves all the info there is regarding your current track. If you just want to share a link of your currently playing track, you can press the big button showing the track name and artist to post it in the chat.


PLAY/RESUME

If you do not fill out the id inside this button, it will resume the current track.

If you fill out the id, it will start playing the selected track/album/playlist.

Id can be:

  • track uri: spotify:track:4boaU9XaS1g6U1nV4lEsMl
  • track link: https://open.spotify.com/track/4boaU9XaS1g6U1nV4lEsMl
  • album uri: spotify:album:5duyQokC4FMcWPYTV9Gpf9
  • album link: https://open.spotify.com/album/5duyQokC4FMcWPYTV9Gpf9
  • playlist uri: spotify:playlist:1N0YOYoITjQMeyZMMFhkid
  • playlist link: https://open.spotify.com/playlist/1N0YOYoITjQMeyZMMFhkid

LIKE/UNLIKE A TRACK

Adds or removes a currently playing track from your library.


WAKE UP

Spotify might sleep if there’s no activity (i.e. it’s paused) after a while. You can use this button to wake it up, so it can get your current track and start receiving commands from SAMMI again.


SONG REQUEST

Let your viewers request a specific song and add it to your track queue.

Chat trigger is !sr * (only enabled for broadcaster and mods by default)

  • the * can be a full spotify link or uri
  • the * can be also a song name (with an optional artist name separated by #)

Examples of chat commands:

  • !sr https://open.spotify.com/track/4boaU9XaS1g6U1nV4lEsMl
  • !sr Kiss from a rose
  • !sr Kiss from a rose # Seal

Channel point redeem name is Song Request (change it if you wish) and the message is the *.

Examples of channel point redeem messages:

  • https://open.spotify.com/track/4boaU9XaS1g6U1nV4lEsMl
  • Kiss from a rose
  • Kiss from a rose # Seal

Once this button is triggered, the track will be added to the end of your current track queue.

You can go inside the button and modify messages sent to your chat (look for EDITABLE comments).


By default this button retrieves your playlists.

Fill in the user ID inside the button to retrieve playlists from another user or leave empty for your own playlists.

Your playlists will be displayed in a list above the button and you can cycle through them by using the arrows.
Click on a playlist to start playing it.


ADD TO PLAYLIST

Adds a currently playing track to your playlist marked with green color (the one in the middle).


REMOVE FROM PLAYLIST

Removes a currently playing track from your current playlist.


CREATE A PLAYLIST

Creates a new playlist.

Press the button to fill out the playlist name, description (optional) and whether you want the playlist to be made public. (Note: The popup comes from your SAMMI, not Stream Deck)

You can also go inside the button and manually fill out the variables.


Searches for a track by its name and (optionally) its artist.

Press the button to fill out the track name and artist. (Note: The popup comes from your SAMMI, not Stream Deck)

You can also go inside the button and manually fill out the variable query instead:

  • To search ONLY by track name: Use the name of the track: Caribbean Blue.
  • To search by a track AND artist: Use the name of the track + # + artist name: Carribean Blue # Enya

Your search results will be displayed in a list above the button and you can cycle through them by using the arrows. Click on a result to start playing it.


Retrieves a random Spotify track and starts playing it.

Modify the button commands if you wish, there’s an example showing how to post the random’s track name in your chat.


Retrieves a random newly released album (from Spotify featured) and starts playing it.

Modify the button commands if you wish, there’s an example showing how to post the random’s album name in your chat.


Retrieves a random playlist for the selected tag (edit it inside the button) and starts playing it.

If no tag is provided, retrieves a completely random playlist from a random tag.

Examples of tag ids:

hiphop, pop, country, rock, party, netflix, latin, workout, rnb, holiday, mood, indie_alt, sleep, regional_mexican, edm_dance, inspirational, chill, kids_family, decades, fresh_finds, frequency, student, focus, equal, gaming, roots, kpop, instrumental, wellness, ambient, alternative, pride, romance, in_the_car, classical, jazz, soul, sessions, at_home, dinner, punk, sports, popculture, blues, arab, desi, radar

Modify the button commands if you wish, there’s an example showing how to post the random’s album name in your chat.


Adds a track to the end of the user’s current playback queue.

Modify the id inside the button. Id can be:

  • track uri: spotify:track:4boaU9XaS1g6U1nV4lEsMl
  • track link: https://open.spotify.com/track/4boaU9XaS1g6U1nV4lEsMl

Retrieves URL for the lyrics for the current track and opens it in your browser (you can disable this command inside the button).
This is by no means perfect, but it should find lyrics for any fairly known songs.

Privacy Policy
This developer has disclosed that it will not collect or use your data.

This developer declares that your data is:

  • Not being sold to third parties.
  • Not being used or transferred for purposes that are unrelated to the extension's core functionality
  • Not being used or transferred to determine creditworthiness or for lending purposes

Reviews

Coming soon!