SAMMI Extensions
Spotify - SAMMI Extension | Christina Kral's Docs
This Spotify extension for SAMMI allows you to display and fully control your Spotify playback directly from SAMMI.
It includes a full Spotify player for SAMMI, an OBS overlay (including viewer song requests), and is simple to set up.
Spotify Premium Required
The extension requires a Spotify premium account. Without one, you can still display your currently playing track in your OBS overlay, but playback controls won’t be available.
Features
Overlay for Your Stream
Display the current track in your OBS overlay and SAMMI Deck, updated automatically as you listen to Spotify.
Current Track Info
Send the current track's name, Spotify link, and other information to your chat with one button press.
Playback Controls
- Play and Pause
- Next and Previous Track
- Fast Forward and Backward
- Mute and Unmute
- Volume Sliders
- Like and Unlike tracks
- Toggle Shuffle
Playlists
- View your playlists, select one to listen to, and cycle through them.
- Add or remove the currently playing track from your playlist.
- Create new playlists.
Search Function
Search for tracks by name or artist. Display results, cycle through them, and select one to play.
Song Requests
- Let viewers request songs by name or Spotify link.
- Add requested tracks to your queue, and display them on SAMMI and your OBS overlay.
- Customize the song request overlay.
Randomize Playback
Play a random track, album, or playlist.
Lyrics
Get a link to the lyrics of your currently playing track.
Setup
No Bridge Required
Spotify is fully contained within SAMMI, and your Bridge doesn’t need to be running for the extension to function.
- Ensure you are using the latest version of SAMMI.
- If you already use Spotify for SAMMI, delete your existing Spotify scene in OBS. You should not already have sources like
Spotify Song
,Spotify Artist
,Spotify Image
, etc., in OBS. - Install or update the OBS Move Transition filter to the latest version.
- Install the extension while connected to OBS. Follow this guide if you need help.
- A new Spotify scene will be added to OBS. For multiple OBS setups, it can be installed separately in each.
- Go to the Spotify deck and press the Setup button. Follow all on-screen instructions. Alternatively, use this link to connect your Spotify account.
- Press the Install OBS button to add the Spotify scene.
- Setup is complete!
Spotify Settings
Your Spotify settings from the Setup button are saved locally, so you don’t need to reconfigure them if you reinstall the extension.
Protected Buttons
Most buttons in this extension are protected, providing a fully functional extension that you can modify, but with backend commands locked to avoid accidental changes. Advanced users can purchase the premium version for full access.
Buttons
Setup
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.
Install OBS Overlay
Creates a new Spotify scene in OBS. Delete any existing scene first to avoid conflicts.
Existing Spotify Scene
If you already have a Spotify scene or source named "Spotify" in OBS, delete it before pressing this button.
INIT
This button is fully automatic. But you can press it if your deck doesn't properly load up.
Track Info
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
- 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 or Unlike Track
Adds or removes the 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.
This button also automatically triggers every hour to keep Spotify awake. If you notice any issues, such as your playback skipping by a few seconds, you can open this button and disable all its commands.
You may need to manually wake up Spotify via regular Spotify player if you notice it's not responding to SAMMI commands.
Song Request
Let viewers request specific songs via chat or channel points.
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).
Get Playlists
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 the currently playing track to your playlist marked with green color (the one in the middle).
Remove from Playlist
Remove the currently playing track from your playlist.
Create a Playlist
Press the button to fill out the playlist name, description (optional) and whether you want the playlist to be made public.
You can also go inside the button and manually fill out the variables.
Search Tracks
Searches for a track by its name and (optionally) its artist.
Press the button to fill out the track name and artist.
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.
Random Track
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.
Random Album
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.
Random Playlist
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.
Queue a Track
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
Get Lyrics
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.
Get Help
Please see Troubleshooting for common extensions issues.