Thank you to WildBrick142 for creating the Community HUD.gfx mod because this would not be possible without WildBrick's mod and contributions.
Thank you to Dexyfex for CodeWalker and the CoderWalker community. CodeWalker's discord is an amazing resource and where I was able to learn how to make this mod.
Thank you to Carl Johnson for the Chatterbox FM mod. I did not know addon radios were possible until this mod, I had the spotify up and working but did not an addon radio was possible.
These 3 individuals may not even know it, but reading their posts and their discussions helped greatly and this mod wouldn't be possible with that them. Shoutout to them!!!
Also big thanks to Spotify for their API and JohnnyCrazy for the C# client
How To Use Make sure to have Spotify open somewhere, it could be the desktop application, the web application, your phone, an alexa, idk, as long as it is Spotify and its running on the device you want to hear it from.
The Spotify web player can be found here: https://open.spotify.com/
When you have installed the mod correctly, you will sign in with Spotify, authorize the spotify app, and then all you have to do is get in a car and switch to the newly added Spotify Radio
Press F10 in game for additional control over your music like setting your Radio's Playlist and changing volume.
How does the sign in work? Well the window will send you to the following website: https://gta-spotify-radio.web.app/login. This will immediately redirect you to an official Spotify login controlled by Spotify themselves. You can view the github repo in backend/functions/index.js for how this is implemented. And then you can look at SpotifyRadio/SpotifyRadio/Form1.cs to see the browser opening the mentioned website link. You can also just press the link to see it happen for yourself. This mod follows the Authorization Code Flow for Spotify's API which you can read about here: https://developer.spotify.com/documentation/general/guides/authorization-guide/
How To Install (Make sure to have installed the requirements first)
Use OpenIV to edit the file: "mods\update\update.rpf\common\data\dlclist.xml"
Add this to the dlclist.xml:
dlcpacks:/spotifyradio (this should be in-between item tags. I think the tags get cut off here, View readme in case you're confused)
Close OpenIV
In this mod's files open the folder "Place in GTA Root"
Select all the folders and drag that to the root directory of GTA
Default location is "C:\Program Files (x86)\Steam\steamapps\common\Grand Theft Auto V"
Find the playlist you would like to use, and press it
The url should look something like this https://open.spotify.com/playlist/37i9dQZF1DX0XUsuxWHRQd
Copy the id that comes after the playlist/
So with the example url, it will be 37i9dQZF1DX0XUsuxWHRQd
Open GTASpotify.ini and next to DefaultPlaylst=, paste it in
So for example, your ini should look like this: DefaultPlaylist=37i9dQZF1DX0XUsuxWHRQd
Known Bugs
Spotify music does not stop when game is paused.
Black screen on main menu. Caused by fullscreen game, working on fix but easy work around.
Press ALT+TAB and find the Spotify Login window, close that
Go back to gta 5, it should not be frozen anymore.
Once in game, change your display settings to windowed.
Reload the mod.
Sign into spotify.
Put the game back into fullscreen.
Enjoy
If you get other bugs, then one thing I recommend doing is to check if your firewall is blocking outbound connections on GTA5, if it is then it is blocking your requests to control Spotify's playback.
Changelog v1.0.5
Support for the new Community Script Hook version
v1.0.4
Podcast Support
Display track name on first person radio
Added a match mood(WIP), gameplay tries to match the music
v1.0.3
Can now set playback device in game
Added ini to change default settings
Bug fixes and better error handling
v1.0.2
Reduced the size of the mod by shortening length of empty audio files
v1.0.1
Removed unnecessary folders from SpotifyRadio folder.
v1.0
First release
First Upload: November 14, 2020
Last Updated: January 01, 2021