1. Compile XBMC from source code and get that working before you attempt to integrate spotify.
http://forum.xbmc.org/showthread.php?tid=61825
I used rev 34912 Dharma branch for my integration
2. Get a spotify premium account
3. Apply spotyxbmc diff to your source code, my diff for Windows XBMC Dharma branch rev 34912 is available here:
http://www.mediafire.com/?41t22k0r7nj7mu2
The only change I remember that I have done was to make libspotify to auto-reconnect to spotify when a network outage have dropped the connection. This is because I have a flaky wireless internet connection and I got tired about the question if I want to reconnect. I always want to reconnect to spotfy... Also I bumped the cache buffer from 2MB to 4MB
4.
Get a spotify developer key and put into spotinterface.cpp.
http://developer.spotify.com/en/libspoti...ation-key/
So in spotinterface.cpp I replaced the line:
"NOTE: put your spotify development key here:"
with the lines for my application key.
The application key are around 20 lines of code looking like this:
0xD9, 0x7B, 0xC6, 0x99, 0xE3, 0x9C, 0xA7, 0x45, 0xB3, 0xA1, 0x26, 0xFC, 0x16, 0x29, 0x58, 0x3E,
5.
I downloaded libspotify ver 0.04 package from spotify.
I made sure libspotify.lib could be found by Visual C++ Express Edition compiler. I solved that by putting libspotify.lib file into:
project\BuildDependencies\lib
Also, in the source I created a folder xbmc\spotify and put the libspotify file api.h in this folder. To be clear, in the xbmc folder in the source there are subfolders addons, cdrip, cores and a few more. I created a spotify folder that have the file api.h
6.
I installed Dharma beta 3 on my computer, made sure music library was enabled and I had at least one song in my music library. Then I exit xbmc, overwrite the xbmc folder structure with my compiled version.
7.
In advancedsettings.xml I have the following:
<spotify>
<enable>true</enable>
<username>mySPOTIFYusername</username>
<password>myspotifypasswd</password>
<cachefolder>C:\temp\spotifycache</cachefolder>
<highbitrate>true</highbitrate>
<maxsearchartists>30</maxsearchartists>
<maxsearchalbums>30</maxsearchalbums>
<maxsearchtracks>150</maxsearchtracks>
</spotify>
Note: I found that the very first startup of xbmc.exe needs to have spotify enable set to false in advancedsettings.xml
Note2: the cachefolder need to exist
8. I copied libspotify.dll to the xbmc folder in program files (put it in the same folder as xbmc.exe)
9. Started xbmc.exe with spotify enable false, to make sure my compiled version of xbmc still functions without spotify enabled. Then enabled spotify in advancedsettings.xml
10. Started XBMC and enjoyed myself