Skip to content
This repository

spotyXBMC is a fork of XBMC with spotify support

branch: master

This branch is 0 commits ahead and 0 commits behind master

Changed htbackdrops address to .org, solves missing fanart. Make sure…

… to delete fanart.txt or replace all .com with .org in it
latest commit 4112b2f16e
David Erenger authored
Octocat-spinner-32 XBMC-ATV2.xcodeproj merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 XBMC-IOS.xcodeproj merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 XBMC.xcodeproj merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 addons merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 build-aux Use an auxilary directory for build tools and ensure they're not plac… March 26, 2010
Octocat-spinner-32 docs [droid] Update docs to reflect which ndk to use December 04, 2012
Octocat-spinner-32 doxygen_resources updated: doxygen "build" script. March 17, 2010
Octocat-spinner-32 language merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 lib merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 m4 Code changes for external python. Changes include submissions by cpts… April 05, 2011
Octocat-spinner-32 media merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 project merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 sounds step 3/4: Move linuxport to trunk. How'd I get roped into this? September 23, 2009
Octocat-spinner-32 system merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 tools merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 userdata merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 xbmc Changed htbackdrops address to .org, solves missing fanart. Make sure… September 03, 2013
Octocat-spinner-32 .dummy.am Use AM_INIT_AUTOMAKE to install config.guess and config.sub. March 26, 2010
Octocat-spinner-32 .gitignore merged with Frodo February 01, 2013
Octocat-spinner-32 .gitmodules changed, do not show skin.touched submodule changes October 11, 2011
Octocat-spinner-32 CONTRIBUTORS changed: added myself to new contributor file October 27, 2010
Octocat-spinner-32 LICENSE.GPL step 3/4: Move linuxport to trunk. How'd I get roped into this? September 23, 2009
Octocat-spinner-32 Makefile.in remove broken itunes visualization November 24, 2012
Octocat-spinner-32 Makefile.include.in autotools: fix build hitting wrong config header (ticket #13364) November 19, 2012
Octocat-spinner-32 README Update README with copied "About" message from xbmc.org. May 05, 2012
Octocat-spinner-32 Readme.md update broken application key links July 26, 2013
Octocat-spinner-32 bootstrap build: try to code-gen during bootstrap November 08, 2012
Octocat-spinner-32 bootstrap.mk [linux] remove remaining references to libid3tag/libapetag October 05, 2012
Octocat-spinner-32 codegenerator.mk build: re-run the code-generator when headers change November 11, 2012
Octocat-spinner-32 configure.in merge Frodo 12.2 with spotyxbmc2 June 19, 2013
Octocat-spinner-32 copying.txt step 3/4: Move linuxport to trunk. How'd I get roped into this? September 23, 2009
Octocat-spinner-32 gitrev.sh fixed: git version script was broken on OSX - replace sed with awk May 10, 2010
Octocat-spinner-32 xbmc-xrandr.c cosmetic: silent compiler warnings in xbmc-xrandr August 01, 2012
Readme.md

SPOTYXBMC2

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.

Features and usage

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.

  • Starred tracks, albums and artists will show up in the songs, albums and artists sections alongside the local music.
  • Spotify playlists shows up in the playlist section.
  • The normal music search will return local music and spotify search result.
  • Top 100 spotify lists with artists, albums and tracks is available in the top 100 section.
  • Modifying playlists and star/unstar items in the spotify client will result in that the lists is updated in XBMC.
  • Multi-disc albums are split up into separate albums with suffix "disc #".
  • Browsing artist albums will provide a "similar artists" folder with spotify similar artists.
  • Navigate to the album artist from an album or to the artist or album from a track using the context menu.
  • Star/unstar albums and tracks from within XBMC using the context menu.
  • The settings is changed from within a built-in addon.
  • Two spotify "radios" is provided int the music root, visit the settings to set name, years and genres.
  • Top-lists will update once every 24 hour.

Missing features

  • Interaction with spotify items like creating and modify playlists, adding spotify tracks to playlists and so on is not supported yet.
  • The year and genre nodes will not lead to any spotify items yet.
  • A lot more I guess.

Platforms

  • Linux - supported
  • Windows - supported
  • OSX - Not supported

Known issues

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.

Want to help killing a bug?

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.

SpotyXBMC2 for OpenElec

Thanks to Tompen a version of OpenElec with spotyXBMC2 integration is available.

Read about it here.

Installation instructions for Microsoft Windows

  1. Obtain spotyXBMC2 source Use your favorite git tool to clone the repo: git://github.com/akezeke/spotyxbmc2.git

  2. 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).

  3. 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.

  4. Start xbmc From the start menu.

  5. Start spotyXBMC start the preinstalled music addon spotyXBMC and set the settings

  6. Restart XBMC

  7. 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!

Installation instructions for Ubuntu Linux 32/64

  1. 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

  2. Untar: $ tar xzf libspotify-*.tar.gz

  3. Install libspotify $ cd libspotify-Linux... $ sudo make install prefix=/usr/local

  4. 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

  5. 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).

  6. 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

  1. Configure, make and install xbmc $ ./bootstrap $ ./configure $ make $ sudo make install

  2. Start xbmc $ xbmc

  3. Start spotyXBMC start the preinstalled music addon spotyXBMC and set the settings

  4. Restart XBMC

  5. 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!

Source

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:

  • xbmc/cores/paplayer/CodecFactory.cpp
  • xbmc/filesystem/MusicSearchDirectory.cpp
  • xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeAlbum.cpp
  • xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeArtist.cpp
  • xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeOverview.cpp
  • xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeSong.cpp
  • xbmc/filesystem/MusicDatabaseDirectory/DirectoryNodeTop100.cpp
  • xbmc/music/windows/GUIWindowMusicBase.cpp
  • xbmc/music/Windows/GuiWindowMusicNav.cpp
  • xbmc/music/Makefile
  • xbmc/dialogs/GUIDialogContextMenu.h
  • xbmc/settings/Settings.cpp
  • xbmc/Application.cpp
  • xbmc/GUIInfoManager.cpp
  • configure.in

Buy me a beer?

Click here to lend your support to: spotyXBMC2 and make a donation at www.pledgie.com !

Contact

http://github.com/akezeke/spotyxbmc david.erenger@gmail.com

/David

Something went wrong with that request. Please try again.