SAMMI Spotify
A downloadable extension
If Ko-Fi is your preferred platform, feel free to access the download through this link: Ko-Fi Link
This Spotify extension for SAMMI allows you to display and fully control your Spotify playback directly from your Stream Deck.
It comes with a full Spotify player for your Stream Deck, OBS overlay (including viewer song requests overlay), and it’s very easy to set up.
You can review the full setup guide here.
The extension requires Spotify premium account. Without a premium account, you can still display your currently playing track in your OBS overlay, but cannot control playback from within SAMMI.
Overlay for your stream
Display your current track in your OBS overlay and Stream Deck, updated automatically as you listen to Spotify.
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.
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
- select a playlist to act as your song request playlist
- allow your viewers request songs by their Spotify link, or just their name and (optionally) their artist
- all requested tracks are added to your selected song request playlist and displayed in Stream Deck and your OBS overlay, updated automatically as you progress through them
- ability to enable automatic switching to your SR playlist when a new song request comes in and switching back to your previous playlist after the last song request
- ability to prevent viewers from adding duplicate tracks
- customize your song request tracks overlay (such as maximum amount of displayed tracks or their order)
- delete tracks in your song request playlist
Randomize it
- Get a random track, album or playlist and start playing it
Lyrics
- Get a link to lyrics of your currently playing track
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 automatically 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
Protected buttons
This extension’s basic version has most of its buttons protected. You still get 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 or troubleshooting for any unlocked buttons and it's up to you to figure out their functionality.
Interested in custom modifications for this extension? I offer commissioned work to adapt and personalize my extensions to your unique needs. For more information, reach out to me on Discord (christinna).
Special thanks goes to: All my amazing Patrons!
If you would like to support me in creating more extensions for SAMMI, you can become my Patron to get early free access to my extensions or make a Paypal donation.
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.
Status | Released |
Category | Other |
Rating | Rated 3.8 out of 5 stars (4 total ratings) |
Author | Christina K |
Tags | extension, lioranboard, obs, plugin, sammi, song-request, spotify, stream, Streaming, twitch |
Purchase
In order to download this extension you must purchase it at or above the minimum price of $4.99 USD. You will get access to the following files:
Development log
- Spotify 2.1 Like/Unlike button fixJun 17, 2024
- Added support for KickJul 01, 2023
- Track Size Limit Bug FixMar 14, 2023
- Clipboard bug fixedMar 13, 2023
- Spotify Song Requests Now Added to QueueDec 14, 2022
- Minor Bug FixesOct 12, 2022
- Install OBS Scene Bug FixOct 02, 2022
- Spotify API Bug (potentially breaking your extension)Sep 19, 2022
Comments
Log in with itch.io to leave a comment.
This extension doesn't work, the credentials are invalid even though I followed the guide and gave my app the correct scopes (which also wasn't covered in the set up guide). Can't figure out how to contact any kind of support, I'd rather just get my money back for this one at this point. Spent about 3 hours attempting to get this to work.
Hi there! I’m really sorry to hear about the issues you’re facing. This extension has been around for over two years and is actually one of my most popular ones, without any similar issues reported previously. There might be something unique in your setup causing the problem. I’d recommend checking out our Discord server at https://discord.gg/dXez8Zh. You can create a new post in the extensions channel, we have a very helpful community. As for the refund, you’ll need to reach out to Itch support as Itch doesn’t provide me with tools to refund you myself. Hope this helps!
I'll try again and post in that discord. Sorry was a bit frustrated the other day after spending a lot of time trying to set it up. But the credentials returned by the web page don't authenticate, maybe it's because the app is in development mode by default and requires review? Idk
No worries, I understand your frustration, I’m sure we can figure it out! Please go ahead and create the post in our Discord server.
I just tested it again with a completely new app yesterday that’s in development mode, and it worked for me without issues.
Is it possible you perhaps didn’t copy paste the correct thing? SAMMI asks only for the two values that are returned on the webpage, credentials and refresh token. I also recommend using the ‘Copy’ button to copy it to clipboard rather than selecting and copying it manually.
Well, it looks like I somehow signed in with the wrong user on the developer dashboard, despite using the correct email. User error. It works now! :D
Hey, that’s great news! Happy it works!
I am using it without any problems. I also followed the guide, and it seems to be correct. Maybe some things changed but with some logical thinking I had no problems at all. Problem seems to be on your end.
Thanks for your input, Ron0x! Just a quick note, I’ve just updated the setup page, adding the latest text and screenshots. This should make it easier for new users to navigate the app creation process and access their credentials. Cheers!
absolutely LOVE your work and appreciate all the effort put into this. I have been trying to find a way to show lyrics of songs playing as well and curious if there may be a way to grab the lyrics from spotifys lyrics/kareoke feature? would love to be able to display them as they are happening.
Hi! I’ve looked into grabbing lyrics before (i.e. use the same service Spotify is using), but it was rather challenging, and all services were paid. The free versions were buggy, or they’d return only a part of the lyrics and force you to pay for full version. If that changes in the future, I’ll consider adding it though. Thank you for your support!
hopfully with time things will come around, so far ive been using a window capture with a series of color corrections to make whatever color spotify gives be green enough to be chroma keyed out and it works as a janky temporary work around for now :p the goal is to tie it to your spotify song request function so people can redeem surprise kareoke!
That’s a cool workaround! I’ve toyed with the idea of fetching the url from the Lyrics button and then showing it as overlay in OBS, but there were some other issues with it, plus it doesn’t have less known songs like Spotify does.
Hi,
is there a way to only show 3 songs in obs?
and do i need a playlist for sr? seems to work only with user queue
thank you for this masterpiece
Already found the Answer of the first question.
You do not need a playlist for SR anymore. That was an older extension version. It now uses your queue :) Thank you for purchasing and enjoy!
Hi Christina! First of all, thanks a bunch for this extension. I would though would like to understand if I (or you) can solve a small issue with it. Specifically, I noticed that if I have it open, after some time (can't exactly tell you how much) it does create a new entry in my copy-paste function with a sh*tload of text (10k word) - seems like the whole JSON is being held in there. I love this extension and would like to make it better as this interferes obviously with my day-to-day, especially if I'm doing a livestream and then randomly I have something else than I expect to on my ctrl+v combo. Let me know if something could be done to change this! All the best!
Hey tzantzarel! You’re correct, thank you for reporting that and apologies for any confusion it caused :) https://christinak.itch.io/sammi-spotify/devlog/501804/clipboard-bug-fixed
Awesome! Thanks a lot <3 <3 <3 All the best!
You as well! :)
Hi Yagax, Thanks for reaching out! Sorry to hear the extension doesn’t work.
First things first, have you followed the setup guide at https://sammi.solutions/extensions/audio/spotify#pills-setup ?
And could you give me a bit more detail about what doesn’t work exactly? You can open a new post in our Discord server at https://discord.gg/dXez8Zh , I’ll be happy to troubleshoot it for you.
If you wish to proceed with the refund, please contact Itch directly at https://itch.io/support, as there’s no way for me to do that. Thanks!
Experiencing an issue where a requested song will switch to the next song midway, but if I hit next it will resume exactly where it skipped. Anyone else experience this?
Hi, please download the newest version of the extension (the latest uploaded.sef file) that uses Spotify Queue instead of Spotify Song Request Playlist. You will need to replace your deck fully, but it’s generally more reliable and easier to use.
Hi, I've just got the extension and whenever I Press Install OBS, I get this error message. Any help?
FATAL ERROR
####################################################
SAMMI Version: 2022.5.1.0
Button Command Error
Button ID: spotifyInstall
Command Name: Array Get Size
Command Line: 19
####################################################
ERROR in
action number 1
of Step Event0
for object obj_active_button:
ds_map_find_value argument 1 incorrect type (undefined) expecting a Number (YYGI32)
####################################################
gml_Object_obj_active_button_Step_0 (line 1487)
####################################################
What kind OBS and OBSWS version are you using? Do you mind hopping on Discord server https://discord.gg/dXez8Zh and posting in #extensions channel so I can help you further? Thanks! Btw this looks like you’re not connected to OBS while attempting to install it.
Please help: After purchase, I received file spotify.sef, not a ZIP. What should I do with it? LB does't know to work with non LBE file.
Hi, You will need to update to SAMMI (LioranBoard 2 rebrand), LioranBoard 1 has been deprecated almost a year ago and is no longer supported. Please see our migration guide here: https://sammi.solutions/docs/getting-started/migrating
Hey Tony, thank you for the feedback. I understand this extension is a little bit more complicated to set up. Unfortunately because of how Spotify works in the first place it is not possible to make it drag and drop as you suggest. The set up page covers all the steps necessary though, and it takes less than 5 minutes to authorize it and get it running. IF you don’t wish to have a Spotify scene in your OBS, you can delete it together with the blue OBS button in your LioranBoard. I noticed there’s no link to the setup page in the Extension description, I’m going to add it so other users can review it before purchasing. Feel free to refund it and buy something else!
I've found a bug. If there is anyone in Twitch chat the one who writes !sr and then type "Æ" encountered an error making one can not make more songs requests
There seems to be a bug with special characters in LioranBoard/Spotify API. It’s advisable to use a Spotify link instead of a search query then, as I don’t know if it can be even solved.
Fantastic update! addressed all my issues with playlist automated switching! thanks for taking my feedback!
Thank you! Constructive feedback is always welcome! :)
Hi Christina, I'm still using v1 but is there a way to disable !sr with a button click/mod command?
Hey CelticMerlin, you can just use Block button command to completely disable the SR button.
So I wanted to change !sr to be available for followers. But I can't change this standard function? I actually could change it in LB1 version, but I can't find it in LB2.
This option is not available in LB2 and was never available in LB1 either. You must manually check if the user is a follower. Cheers!
I think I found it. At the triggers it was flagged to be only used by mods. I just changed that and now it should also work for my regular followers. Have a nice weekend!
Unchecking ‘mod’ means it will work for all your viewers, not just followers. You too have a nice weekend!
ok so i switched the trigger to the queue button so the player would function as it used to in LB1, but now, no matter what song is requested, it adds this song:
https://open.spotify.com/track/5wb8h2gUzyhmCwOtGp29z4?si=134bbf6e565044e9
to the queue and wont display anything in the song request queue text in OBS.
you have done amazing work here, but i don't need this complicated functionality added to the song request through playlists. i really just want it to put the !sr in the queue and display the title like it used to.
im not sure what i could be doing wrong as i only changed the trigger as you suggested to @DenStiveGudDK
also it stopped confirming the !sr in chat as well.
Please see here, inside the queue button you need to edit the id variable (use Pull Data command and populate the ID with the viewer’s request) and it will work just the same as in the old LB :)
Yea i get what your saying, i'm just not sure how to populate the ID with the viewer’s request.
I wish there was better documentation on this particular issue, as i know i'm not the only one who would prefer the player to be more like it was in LB1 (not that you dont have enough on your plate with ext. updates for LB2, so im not complaining, just wishing). as the new playlist implementation messes up playback and forces me to constantly switch playlist or be forced to have random playback after the que ends.
Actually, I made very extensive documentation for LioranBoard 1 and 2 regarding Twitch triggers and populating variables.
But, now that I think about it, the whole button for displaying the current song requests would have to be completely reworked too. I do not want to do it for a few reasons:
Spotify doesn’t have an endpoint to retrieve your current queue. The extension would have to remember every track you ever added and write to a file constantly in case LioranBoard crashes. You would also have to always add tracks only through the extension itself.
If you already have tracks in your queue prior to using the extension in LioranBoard, there’s virtually no way for me to tell how many tracks are in there or what track is next. This means that if your viewer requests a new track, it will be added to the queue, but there’s no way for me to tell when it’s actually going to be played as I can’t see the queue itself.
You can’t decide to stop playing SR requests for a while and return to them later or maybe in your next stream. Once you clear the queue, all requests are gone.
The old extension was very hacky and buggy at times, I honestly didn’t like that. I also asked several frequent users on what they’d prefer and their answer was a playlist.
What I could do though is to automatically switch to the last playlist you listened to once the last track in your SR playlist finishes. And if someone requests a new song, it would automatically switch back to your SR playlist.
Cheers! Christina
i understand completely, thanks for taking the time to explain. your solution is not only an amazing fix, but i think its much better and very smart, yet somewhat simple. Cheers, id really look forward to this implementation when you can find the time!
and of course you are right there is extensive docs, i guess i actually was complaining that there wasn't more of a hand holding this is how you switch the buttons for the player, for that i apologies, its not necessary. i could have taken the time to review the LB2 documentation. thank you for all your amazing work.
I will try to implement it sometime this week - I can send you a testing version so you can let me know how it works for you :)
Hi - First off, Thank you so much for your awesome job with this plugin
Is it possible to make it work like it did in the previous version which just puts them in a queue?
Or an option where when a song gets put in queue it is automaticly play the playlist after the current playing song, and when a song has been played it deletes it from the playlist
Just so it works a little like it did in the previous version
Hey, There’s Queue button that will just do that - put the song in the queue! You can modify it to your needs and use it instead of the SR button.
Thanks for the quick reply
I think that when using !sr in the twitch chat I want it to be queued
Totally doable. Just move the trigger to the queue button instead!
Is this extension wokring on lioranboard 2? Because the guide in the readme file says so, but I can't find a lb2 file.
Did you got it to work?
Sorry for the confusion, I did not see your comment until now! Spotify for LioranBoard 2 is currently still in beta and available for free to my Patrons, but will be coming out later for everyone else. Cheers!
Hi...the spotify scene was not automatically added to OBS...is there a way to add it manually?
There isn’t a way to add it manually. Please update OBS, OBSWS and LB, as this extension is using a newer OBSWS command that was not included in the older versions!
Love your work here! I can recommend everyone to use this for their LorianBoard.
The only thing is that I wished I could easily set it up so only Subscribers can use the !sr command. Or that it is mentioned in the manual how to do this.
Also a !sr help command would be useful. I just created a command for this in my own bot. But I think it would be nice if it would have a standard command that explains viewers how to use the command.
But nice work, and I will keep my eyes on your future projects ;)
Hi!
You can limit any of your Twitch chat triggers to subscribers/mods/vip/broadcasters only. That’s a basic LB functionality.
A lot users personalize the extension for their own needs, so I think having a !sr command might be a bit confusing. I’ll look into it when I release the updated version though. Thank you for your feedback!
Thank you for the reply! I will look in to it. Not very familiar yet with LB. So I'm very happy with the easy setup that you created. I can totally recommend others for buying and supporting your creation.
Thank you for your kind words!
You can check out the documentation regarding Twitch triggers at https://christinna9031.github.io/LBDocumentation/faq.html#buttontriggers. Feel free to ask for help in our Discord server as well!