Kodi Community Forum
[WIP] XBMC + Spotify = True (an XBMC implementation that uses Spotify's official API) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Discussions (https://forum.kodi.tv/forumdisplay.php?fid=222)
+--- Forum: Kodi related discussions (https://forum.kodi.tv/forumdisplay.php?fid=6)
+--- Thread: [WIP] XBMC + Spotify = True (an XBMC implementation that uses Spotify's official API) (/showthread.php?tid=67012)



- alex84 - 2011-06-20

@akezeke

Can it be installed from your instructions on a livecd installation ?

Im running 10.1 installed to hd from livecd, im very happy with the bare system and dont want to run a full linux install on my asrock htcp.

Best regards.


- akezeke - 2011-06-21

@alex84

I dont know, I have never used xbmc live but I suppose it should work.


- Jackdaw - 2011-06-23

Akezeke, many thanks for your continued efforts.
I have tried following your instructions with with libspotify 0.08 but I get the following error towards the end of the "make" phase:

xbmc/xbmc.a(spotinterface.o): In function `SpotifyInterface::connect(bool)':
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:812: undefined reference to `sp_session_create'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:824: undefined reference to `sp_session_set_connection_type'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:825: undefined reference to `sp_session_set_connection_rules'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:822: undefined reference to `sp_session_preferred_bitrate'
xbmc/xbmc.a(spotinterface.o): In function `SpotifyInterface::getBrowseToplistTracks(CFileItemList&)':
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1653: undefined reference to `sp_session_user_country'
xbmc/xbmc.a(spotinterface.o): In function `SpotifyInterface::getBrowseToplistAlbums(CFileItemList&)':
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1626: undefined reference to `sp_session_user_country'
xbmc/xbmc.a(spotinterface.o): In function `SpotifyInterface::getBrowseToplistArtists(CFileItemList&)':
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1599: undefined reference to `sp_session_user_country'
xbmc/xbmc.a(spotinterface.o): In function `SpotifyInterface::getPlaylistItems(CFileItemList&)':
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1392: undefined reference to `sp_playlistcontainer_is_loaded'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1397: undefined reference to `sp_playlistcontainer_add_ref'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1417: undefined reference to `sp_playlist_get_image'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1423: undefined reference to `sp_track_is_local'
collect2: ld returned 1 exit status
make: *** [xbmc.bin] Error 1

Have you any idea what is going wrong. Your previous instructions for libspotify 0.03 worked fine for me. I am running ubuntu maverick 64 bit.
Thanks.


- akezeke - 2011-06-23

Jackdaw Wrote:Akezeke, many thanks for your continued efforts.
I have tried following your instructions with with libspotify 0.08 but I get the following error towards the end of the "make" phase:

xbmc/xbmc.a(spotinterface.o): In function `SpotifyInterface::connect(bool)':
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:812: undefined reference to `sp_session_create'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:824: undefined reference to `sp_session_set_connection_type'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:825: undefined reference to `sp_session_set_connection_rules'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:822: undefined reference to `sp_session_preferred_bitrate'
xbmc/xbmc.a(spotinterface.o): In function `SpotifyInterface::getBrowseToplistTracks(CFileItemList&)':
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1653: undefined reference to `sp_session_user_country'
xbmc/xbmc.a(spotinterface.o): In function `SpotifyInterface::getBrowseToplistAlbums(CFileItemList&)':
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1626: undefined reference to `sp_session_user_country'
xbmc/xbmc.a(spotinterface.o): In function `SpotifyInterface::getBrowseToplistArtists(CFileItemList&)':
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1599: undefined reference to `sp_session_user_country'
xbmc/xbmc.a(spotinterface.o): In function `SpotifyInterface::getPlaylistItems(CFileItemList&)':
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1392: undefined reference to `sp_playlistcontainer_is_loaded'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1397: undefined reference to `sp_playlistcontainer_add_ref'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1417: undefined reference to `sp_playlist_get_image'
/home/xbmc/downloads/xbmcspotify_v8/xbmc/xbmc/spotinterface.cpp:1423: undefined reference to `sp_track_is_local'
collect2: ld returned 1 exit status
make: *** [xbmc.bin] Error 1

Have you any idea what is going wrong. Your previous instructions for libspotify 0.03 worked fine for me. I am running ubuntu maverick 64 bit.
Thanks.

It seems that libspotify didn't get installed correctly. Try to reinstall it and also try to install to an other path with prefix=...

I tryed the instructions on a natty 64 and it works, don't know if anything is different with maverick.


- Jackdaw - 2011-06-24

I have tried this under natty 64 also but get precisely the same error.
I have tried installing libspotify with prefix=usr/local but this makes no difference too. I don't know what's going wrong.


- akezeke - 2011-06-24

That's weird, I'm sure you installed the 64 bit version of the lib. Did the lib install correct? No errors?


- Jackdaw - 2011-06-24

Yes to all.
I am using a minimal install, XBMCbuntu.
I will try later today on a full install to see if it works that way.


- Jackdaw - 2011-06-24

It worked for me on a full install.
I can't see what is missing on my minimal install. As I say I was able to compile with the old 0.03 version and instructions.


- tsint - 2011-06-27

This works fine for me except that it crashes when browsing playlists. Seems that the userdata passed to cb_imageLoaded contains corrupt data.


- akezeke - 2011-06-28

@tsint

Is it crashing every time? Is it also crashing if you have only playlists without local files?

I have made a small fix that hopefully solves it, it works for me even if I have local files in playlists.

Please try the updated version and report back.

/David


- Jackdaw - 2011-06-28

This compiled and installed on a Lucid 64 bit minimal install: http://wiki.xbmc.org/?title=XBMCbuntu
Many thanks for your efforts.


- tsint - 2011-06-28

@akezeke: same problem with the new version, both with and without local tracks.

As a workaround I just return from the method, no thumbnail is loaded but I can browse the playlist and playback also works.

This is the row that causes the seg fault:
Code:
129: fileName.Format("%s", item->GetExtraInfo());



- akezeke - 2011-06-28

tsint Wrote:@akezeke: same problem with the new version, both with and without local tracks.

As a workaround I just return from the method, no thumbnail is loaded but I can browse the playlist and playback also works.

This is the row that causes the seg fault:
Code:
129: fileName.Format("%s", item->GetExtraInfo());

Ok, Iĺl take a look at it tomorrow!


- akezeke - 2011-06-29

@tsint I am not able to reproduce the error you are seeing, I added a small fix that might solve it.

I have updated the visual studio 2010 files and added the needed files for making it work on windows!

I also created an addon that jumps to the spotyXBMC menu, it allows you to add spotyXBMC as a shortcut in the main menu. (it is not a spotify addon, simply a starter script)


- tsint - 2011-06-29

Thanks, but the fault remains. I will give it a try during the weekend, are you also using libspotify 0.0.8?