This is a rewrite of the s potyxbmc project, the code is cleaner and better encapsulated from XBMC. It is now being prepared to be lifted out to a binary addon. The code is not heavily tested and has known issues, don´t install if you don´t know what you are doing.
The main discussion for spotyxbmc is here A discussion concerning a unified music addon front-end can be read here.
You must have a valid spotify premium account to be able to use spotyXBMC.
This implementation adds spotify content to the regular music categories under the music section, do not try to run the addon, its only there for settings!
A video showing most of the features can be seen here.
Enable preloading of artists together with preloading of top 100 lists and/or a massive collection of starred tracks will result in a short freeze of XBMC during start (about 5-10 seconds depending on your Internet speed, computer...).
Memory leaks do exist, beware.
A lot of other bugs, the implementation is not heavily tested.
Right now the there is a lot of trace prints, they are printed out straight to the console so be sure that you start XBMC from a console in order to fetch the traces and create a bug report.
Please submit a report to the github issues and provide all relevant data like logs, OS info, what track, playlist or album you have problems with. Or even better, fix it yourself and send me a pull request or an e-mail.
Thanks to Tompen a version of OpenElec with spotyXBMC2 integration is available.
Read about it here.
Obtain spotyXBMC2 source
Use your favorite git tool to clone the repo: git://github.com/akezeke/spotyxbmc2.git
Spotify API key Get your own spotify API key from https://developer.spotify.com/technologies/libspotify/#application-keys Click on c-code and copy the content to a new file called appkey.h placed in the xbmc source root folder. (where this readme is located).
Build Follow a guide from XBMC.org and build it yourself, if you are not using the Win32BuildSetup utility make sure that you copy libspotify.dll to your XBMC install location.
Start xbmc From the start menu.
Start spotyXBMC start the preinstalled music addon spotyXBMC and set the settings
Restart XBMC
Enable the music library and enjoy spotify music inside xbmc The spotify music is located inside the normal music categories, do not try to start the spotyXBMC addon!
Download libSpotify
For 32 bit:
$ wget http://developer.spotify.com/download/libspotify/libspotify-10.1.16-Linux-i686-release.tar.gz
64 bit OS:
$ wget http://developer.spotify.com/download/libspotify/libspotify-10.1.16-Linux-x86_64-release.tar.gz
Untar:
$ tar xzf libspotify-*.tar.gz
Install libspotify
$ cd libspotify-Linux...
$ sudo make install prefix=/usr/local
Obtain spotyXBMC2 source
Make sure you have git installed, if not and in ubuntu install with sudo apt-get install git-core
$ cd ..
$ git clone git://github.com/akezeke/spotyxbmc2.git
$ cd xbmc
Spotify API key Get your own spotify API key from https://developer.spotify.com/technologies/libspotify/#application-keys Click on c-code and copy the content to a new file called appkey.h placed in the xbmc source root folder. (where this readme is located).
Install all XBMC dependencies listed in the corresponding readme file. For ubuntu 11.04 run:
$ sudo apt-get install git-core make g++ gcc gawk pmount libtool nasm yasm automake cmake gperf zip unzip bison libltdl-dev libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound2-dev python-sqlite libglew-dev libcurl3 libcurl4-gnutls-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libenca-dev libxt-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmpeg3-dev libflac-dev libiso9660-dev libass-dev libssl-dev fp-compiler gdc libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs python-dev libyajl-dev libboost-thread-dev libplist-dev libusb-dev libudev-dev autopoint default-jre swig
Configure, make and install xbmc
$ ./bootstrap
$ ./configure
$ make
$ sudo make install
Start xbmc
$ xbmc
Start spotyXBMC start the preinstalled music addon spotyXBMC and set the settings
Restart XBMC
Enable the music library and enjoy spotify music inside xbmc The spotify music is located inside the normal music categories, do not try to start the spotyXBMC addon!
Done!
The spotify related code lives all in xbmc/music/spotyXBMC/ and can (fairly) easely be extracted and used in other applications.
Added files:
lib/libspotify/*
xbmc/music/spotyXBMC/Addon.music.spotify.cpp
xbmc/music/spotyXBMC/Addon.music.spotify.h
xbmc/music/spotyXBMC/Logger.cpp
xbmc/music/spotyXBMC/Logger.h
xbmc/music/spotyXBMC/SxSettings.cpp
xbmc/music/spotyXBMC/SxSettings.h
xbmc/music/spotyXBMC/Utils.cpp
xbmc/music/spotyXBMC/Utils.h
xbmc/music/spotyXBMC/radio/SxRadio.cpp
xbmc/music/spotyXBMC/radio/SxRadio.h
xbmc/music/spotyXBMC/radio/RadioHandler.cpp
xbmc/music/spotyXBMC/radio/RadioHandler.h
xbmc/music/spotyXBMC/album/SxAlbum.cpp
xbmc/music/spotyXBMC/album/SxAlbum.h
xbmc/music/spotyXBMC/album/AlbumStore.cpp
xbmc/music/spotyXBMC/album/AlbumStore.h
xbmc/music/spotyXBMC/album/AlbumContainer.cpp
xbmc/music/spotyXBMC/album/AlbumContainer.h
xbmc/music/spotyXBMC/artist/SxArtist.cpp
xbmc/music/spotyXBMC/artist/SxArtist.h
xbmc/music/spotyXBMC/artist/ArtistStore.cpp
xbmc/music/spotyXBMC/artist/ArtistStore.h
xbmc/music/spotyXBMC/artist/ArtistContainer.cpp
xbmc/music/spotyXBMC/artist/ArtistContainer.h
xbmc/music/spotyXBMC/search/Search.cpp
xbmc/music/spotyXBMC/search/Search.h
xbmc/music/spotyXBMC/search/SearchHandler.cpp
xbmc/music/spotyXBMC/search/SearchHandler.h
xbmc/music/spotyXBMC/search/SearchBackgroundLoader.cpp
xbmc/music/spotyXBMC/search/SearchBackgroundLoader.h
xbmc/music/spotyXBMC/player/Codec.cpp
xbmc/music/spotyXBMC/player/Codec.h
xbmc/music/spotyXBMC/player/PlayerHandler.cpp
xbmc/music/spotyXBMC/player/PlayerHandler.h
xbmc/music/spotyXBMC/playlist/TopLists.cpp
xbmc/music/spotyXBMC/playlist/TopLists.h
xbmc/music/spotyXBMC/playlist/SxPlaylist.cpp
xbmc/music/spotyXBMC/playlist/SxPlaylist.h
xbmc/music/spotyXBMC/playlist/StarredList.cpp
xbmc/music/spotyXBMC/playlist/StarredList.h
xbmc/music/spotyXBMC/playlist/StarredBackgroundLoader.cpp
xbmc/music/spotyXBMC/playlist/StarredBackgroundLoader.h
xbmc/music/spotyXBMC/playlist/PlaylistStore.cpp
xbmc/music/spotyXBMC/playlist/PlaylistStore.h
xbmc/music/spotyXBMC/session/Session.cpp
xbmc/music/spotyXBMC/session/Session.h
xbmc/music/spotyXBMC/session/SessionCallbacks.cpp
xbmc/music/spotyXBMC/session/SessionCallbacks.h
xbmc/music/spotyXBMC/session/BackgroundThread.cpp
xbmc/music/spotyXBMC/session/BackgroundThread.h
xbmc/music/spotyXBMC/thumb/SxThumb.cpp
xbmc/music/spotyXBMC/thumb/SxThumb.h
xbmc/music/spotyXBMC/thumb/ThumbStore.cpp
xbmc/music/spotyXBMC/thumb/ThumbStore.h
xbmc/music/spotyXBMC/track/SxTrack.cpp
xbmc/music/spotyXBMC/track/SxTrack.h
xbmc/music/spotyXBMC/track/TrackStore.cpp
xbmc/music/spotyXBMC/track/TrackStore.h
xbmc/music/spotyXBMC/track/TrackContainer.cpp
xbmc/music/spotyXBMC/track/TrackContainer.h
addons/plugin.music.spotyXBMC/icon.png
addons/plugin.music.spotyXBMC/fanart.jpg
addons/plugin.music.spotyXBMC/default.py
addons/plugin.music.spotyXBMC/changelog.txt
addons/plugin.music.spotyXBMC/addon.xml
addons/plugin.music.spotyXBMC/resources/settings.xml
addons/plugin.music.spotyXBMC/resources/language/English/strings.xml
addons/skin.confluence/media/flagging/audio/spotify.png
Modified files:
http://github.com/akezeke/spotyxbmc david.erenger@gmail.com
/David