[WIP] XBMC + Spotify = True (an XBMC implementation that uses Spotify's official API)

  Thread Rating:
  • 9 Votes - 4.22 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
gravitezero Offline
Junior Member
Posts: 10
Joined: Aug 2012
Reputation: 0
Post: #1141
I compiled it yesterday on Ubuntu, and it seemed to work : it played music from spotify.
But now, I am on Arch, with the original package build from xbmc-bin, and it fails during the linking.
It might be due to the options I passed, but I don't know yet.
find quote
gravitezero Offline
Junior Member
Posts: 10
Joined: Aug 2012
Reputation: 0
Post: #1142
It seems that spotyxbmc isn't compatible with libspotify 12.1.51.
I got a link error when using this one instead of the 10.1.16 suggested in the Readm.md.
Will have a look later, time to sleep Smile
find quote
bigmacpaddy Offline
Junior Member
Posts: 6
Joined: May 2013
Reputation: 0
Post: #1143
Hi, I can't get 12.2 version above to compile in Windows, here are the last few lines from the log, hope it helps:

Code:
"C:\xbmc\install\project\VS2010Express\libs\UnrarXLib\Release (DirectX)\UnrarXLib.lib" /MACHINE:I386 /IGNORE:4089 /ignore:4254
     1>Application.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::enable(bool)" (?enable@Addon_music_spotify@@QAE_N_N@Z)
     1>DirectoryNodeSong.obj : error LNK2001: unresolved external symbol "class Addon_music_spotify * g_spotify" (?g_spotify@@3PAVAddon_music_spotify@@A)
     1>DirectoryNodeTop100.obj : error LNK2001: unresolved external symbol "class Addon_music_spotify * g_spotify" (?g_spotify@@3PAVAddon_music_spotify@@A)
     1>GUIWindowMusicNav.obj : error LNK2001: unresolved external symbol "class Addon_music_spotify * g_spotify" (?g_spotify@@3PAVAddon_music_spotify@@A)
     1>DirectoryNodeAlbum.obj : error LNK2001: unresolved external symbol "class Addon_music_spotify * g_spotify" (?g_spotify@@3PAVAddon_music_spotify@@A)
     1>DirectoryNodeArtist.obj : error LNK2001: unresolved external symbol "class Addon_music_spotify * g_spotify" (?g_spotify@@3PAVAddon_music_spotify@@A)
     1>DirectoryNodeOverview.obj : error LNK2001: unresolved external symbol "class Addon_music_spotify * g_spotify" (?g_spotify@@3PAVAddon_music_spotify@@A)
     1>Application.obj : error LNK2001: unresolved external symbol "class Addon_music_spotify * g_spotify" (?g_spotify@@3PAVAddon_music_spotify@@A)
     1>CodecFactory.obj : error LNK2001: unresolved external symbol "class Addon_music_spotify * g_spotify" (?g_spotify@@3PAVAddon_music_spotify@@A)
     1>MusicSearchDirectory.obj : error LNK2001: unresolved external symbol "class Addon_music_spotify * g_spotify" (?g_spotify@@3PAVAddon_music_spotify@@A)
     1>GUIWindowMusicBase.obj : error LNK2001: unresolved external symbol "class Addon_music_spotify * g_spotify" (?g_spotify@@3PAVAddon_music_spotify@@A)
     1>Application.obj : error LNK2001: unresolved external symbol "public: __thiscall Addon_music_spotify::Addon_music_spotify(void)" (??0Addon_music_spotify@@QAE@XZ)
     1>CodecFactory.obj : error LNK2001: unresolved external symbol "public: class ICodec * __thiscall Addon_music_spotify::GetCodec(void)" (?GetCodec@Addon_music_spotify@@QAEPAVICodec@@XZ)
     1>MusicSearchDirectory.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::Search(class CStdStr<char>,class CFileItemList &)" (?Search@Addon_music_spotify@@QAE_NV?$CStdStr@D@@AAVCFileItemList@@@Z)
     1>GUIWindowMusicBase.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::GetPlaylists(class CFileItemList &)" (?GetPlaylists@Addon_music_spotify@@QAE_NAAVCFileItemList@@@Z)
     1>GUIWindowMusicNav.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::GetContextButtons(class boost::shared_ptr<class CFileItem> &,class CContextButtons &)" (?GetContextButtons@Addon_music_spotify@@QAE_NAAV?$shared_ptr@VCFileItem@@@boost​@@AAVCContextButtons@@@Z)
     1>GUIWindowMusicNav.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::ToggleStarAlbum(class boost::shared_ptr<class CFileItem> &)" (?ToggleStarAlbum@Addon_music_spotify@@QAE_NAAV?$shared_ptr@VCFileItem@@@boost@@​@Z)
     1>GUIWindowMusicNav.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::ToggleStarTrack(class boost::shared_ptr<class CFileItem> &)" (?ToggleStarTrack@Addon_music_spotify@@QAE_NAAV?$shared_ptr@VCFileItem@@@boost@@​@Z)
     1>DirectoryNodeAlbum.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::GetAlbums(class CFileItemList &,class CStdStr<char> &,class CStdStr<char>)" (?GetAlbums@Addon_music_spotify@@QAE_NAAVCFileItemList@@AAV?$CStdStr@D@@V3@@Z)
     1>DirectoryNodeArtist.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::GetArtists(class CFileItemList &,class CStdStr<char> &)" (?GetArtists@Addon_music_spotify@@QAE_NAAVCFileItemList@@AAV?$CStdStr@D@@@Z)
     1>DirectoryNodeOverview.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::GetCustomEntries(class CFileItemList &)" (?GetCustomEntries@Addon_music_spotify@@QAE_NAAVCFileItemList@@@Z)
     1>DirectoryNodeSong.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::GetTracks(class CFileItemList &,class CStdStr<char> &,class CStdStr<char>,int)" (?GetTracks@Addon_music_spotify@@QAE_NAAVCFileItemList@@AAV?$CStdStr@D@@V3@H@Z)
     1>DirectoryNodeTop100.obj : error LNK2001: unresolved external symbol "public: bool __thiscall Addon_music_spotify::GetTopLists(class CFileItemList &)" (?GetTopLists@Addon_music_spotify@@QAE_NAAVCFileItemList@@@Z)
     1>XBMC\Release (DirectX)\XBMC.exe : fatal error LNK1120: 14 unresolved externals
     1>Done Building Project "C:\xbmc\install\project\VS2010Express\XBMC.vcxproj" (build target(s)) -- FAILED.

Build FAILED.

Time Elapsed 00:13:33.00
(This post was last modified: 2013-06-21 09:59 by bigmacpaddy.)
find quote
StefanK Offline
Donor
Posts: 141
Joined: Mar 2012
Reputation: 1
Post: #1144
I also experienced a fatal build after my "git checkout Frodo_12.2". I wonder if someone would be able to merge 12.2 into spotyxbmc, so we just have to clone the result and compile it?
find quote
gravitezero Offline
Junior Member
Posts: 10
Joined: Aug 2012
Reputation: 0
Post: #1145
@Clark3loyd, I doubt there will ever be a final product as it's quiet unlikely that xbmc will integrate spotyxbmc into the official release soon :/

@StefanK, if you don't post the errors, there is no way we can help you Tongue

@bigmacpaddy, I never compiled anything on windows, so I might really not be the best person to help you :/
But I will give it a try.
The error you got is a linking error, that's mean the linker is gathering all the compiled code into one big file.
These unresolved external symbol error means that the linker can't find the actual code behind the header definition you provided him.

It seems that the compiled code the linker can't find is the Addon_music_spotify, which should be in xbmc/music/SpotyXBMC.

If I got this error on linux I would give a look at the Makefiles (or windows equivalent), to make sure that the files are included (like in xnmc/music/Makefile).
And make sure Addon.music.spotify successfully compiled in the first place.

Maybe you could try to compile the 12.1 version, make sure it compile, and then try to spot any differences between the two versions.
It's very likely I missed something as I am really new to this :/

Anyway, thank you for looking at it Smile
find quote
bigmacpaddy Offline
Junior Member
Posts: 6
Joined: May 2013
Reputation: 0
Post: #1146
Thanks for the reply gravitezero, I'll have a look into it.

I currently have 12.1 spotyxbmc2 compiled and running fine, but I'm new to all this as well.
find quote
wilderkaiser Offline
Junior Member
Posts: 18
Joined: Apr 2013
Reputation: 0
Post: #1147
Hi @ all,

is someone willing to complile my the latest version for Windows? Little payment can be done via Paypal ...

Thanks in advance!
find quote
bigmacpaddy Offline
Junior Member
Posts: 6
Joined: May 2013
Reputation: 0
Post: #1148
Ok, i managed to get the latest https://github.com/akezeke/spotyxbmc2 to compile in Windows by copying the missing files from VS2010Express folder in 12.1 version and then compiling. XBMC installs,loads and shows version 12.2.

Spotify Songs/Playlists start playing fine, but they stop when i try to skip songs (can't find next item to play). Although if i don't skip and let it play the next song loads fine. Local music i added seems to play & skip fine.

I see lots of these errors in the XBMC log.

Code:
21:42:30 T:5420   ERROR: CAudioDecoder: Unable to Init Codec while loading file spotify:track:0zvCZhAvC0BYi38NS8fnHv.spotify
21:42:30 T:5420 WARNING: PAPlayer::QueueNextFileEx - Failed to create the decoder
21:42:30 T:5420   ERROR: Playlist Player: skipping unplayable item: 1, path [spotify:track:0zvCZhAvC0BYi38NS8fnHv.spotify]

Anyone have any ideas?
(This post was last modified: 2013-06-24 12:09 by bigmacpaddy.)
find quote
alexodwyer Offline
Junior Member
Posts: 17
Joined: Jul 2007
Reputation: 0
Post: #1149
I just discovered this last night. Firstly I would like to thank you for making it, I was using spotimc until now and this is exactly what I wanted, I was always frustrated by spoimc's UI and how it felt bolted on to XBMC, wheras this feels like a true integration.

It is very fast and when I was updating my playlist it was virtually instantly updated in XBMC.!! Awesome.

I had to build 12.1 due to the above discussed issues.

I had some initial feedback I would like to share, some of whic hhas been discussed previously

ISSUES
1) Local and spotify artists are duplicated in the artist list, it would be really nice if they could be stacked when the names are the same.
2) All albums are visible for an artist. It would be nice to have an option to only show albums which contain starred tracks
3) It would be nice if the starred playlist was listed as an actual playlist.
4) The album view was pretty broke for me. I removed all local files from the library and the spotify list was only 7 albums even though I have many more starred
5) Similar artists didn't work and just returned a list of artists in my library

WISHLIST
1) Starring tracks in XBMC
2) Creating, deleting and modifying spotify playlists
3) Artist and playlist radio playback
4) Integration of the discover tab fro mthe spotify main app

Once again, thank you very much for making the spotify integration I have been waiting for!!
(This post was last modified: 2013-06-24 20:20 by alexodwyer.)
find quote
gravitezero Offline
Junior Member
Posts: 10
Joined: Aug 2012
Reputation: 0
Post: #1150
@alexodwyer & @bigmacpaddy :
I think you should open issues on the github repository instead of posting here (and make sure it's not an already known issue !!).
https://github.com/akezeke/spotyxbmc2/issues?state=open
find quote
Zebbe152 Offline
Junior Member
Posts: 10
Joined: Aug 2012
Reputation: 0
Post: #1151
(2013-06-24 12:05)bigmacpaddy Wrote:  Ok, i managed to get the latest https://github.com/akezeke/spotyxbmc2 to compile in Windows by copying the missing files from VS2010Express folder in 12.1 version and then compiling. XBMC installs,loads and shows version 12.2.

Spotify Songs/Playlists start playing fine, but they stop when i try to skip songs (can't find next item to play). Although if i don't skip and let it play the next song loads fine. Local music i added seems to play & skip fine.

I see lots of these errors in the XBMC log.

Code:
21:42:30 T:5420   ERROR: CAudioDecoder: Unable to Init Codec while loading file spotify:track:0zvCZhAvC0BYi38NS8fnHv.spotify
21:42:30 T:5420 WARNING: PAPlayer::QueueNextFileEx - Failed to create the decoder
21:42:30 T:5420   ERROR: Playlist Player: skipping unplayable item: 1, path [spotify:track:0zvCZhAvC0BYi38NS8fnHv.spotify]

Anyone have any ideas?

(2013-06-24 21:37)gravitezero Wrote:  @alexodwyer & @bigmacpaddy :
I think you should open issues on the github repository instead of posting here (and make sure it's not an already known issue !!).
https://github.com/akezeke/spotyxbmc2/issues?state=open

I think this issue or at least a similar issue was addressed before. I found this: https://github.com/akezeke/spotyxbmc2/pull/45

Everything works fine in 12.1, but in 12.2 I have the same issue as bigmacpaddy
find quote
wilderkaiser Offline
Junior Member
Posts: 18
Joined: Apr 2013
Reputation: 0
Post: #1152
Ok not that problem with 12.2, is anyone able to gimme a downloadlink for a running 12.0 or 12.1 Version?
find quote
pearce Offline
Junior Member
Posts: 2
Joined: Jun 2013
Reputation: 0
Post: #1153
When using buildmingwlibs.bat I always get this error message:

Code:
make: cl: Command not found
make: *** [xbmc_asap.dll] Error 127
cp: cannot stat `xbmc_asap.dll': No such file or directory
failed to compile /xbmc/system/players/paplayer/xbmc_asap.dll
nm

Tried it several times now downloading the git source several times but stuck on this error (Windows[/quote]). Can someone help me?
find quote
locoguano Offline
Fan
Posts: 451
Joined: Sep 2012
Reputation: 3
Post: #1154
Anyone have any success with this on a Raspberry Pi?
find quote
locoguano Offline
Fan
Posts: 451
Joined: Sep 2012
Reputation: 3
Post: #1155
Anyone compiled this for Android?
find quote
Post Reply