Eskil Abrahamsen Blomfeldt

Qt (de) Spotify running on a Nokia N900

Published Friday October 23rd, 2009
5 Comments on Qt (de) Spotify running on a Nokia N900
Posted in C++, Labs, Multimedia, Qt, Uncategorized

Since there is currently no official Spotify client that can run on Embedded Linux (wine doesn’t run on arm architectures), and since I really wanted to have access to my Spotify account from my N900, I decided to give the open source Spotify client library called “despotify” a run. This is a library of C functions used to access different parts of the Spotify API for use with premium Spotify accounts.

By playing around with the console clients that are included with despotify, I was able to access my play lists and play songs perfectly. However, I was unable to use any of the GUI front ends to despotify that I could find. My guess is that they do not play well with Maemo 5 as they were originally written for the n800-series.

Inspired by the fact that all this stuff actually existed, I decided to write my own front end to Despotify, using Qt 4.6. The results can be found in Gitorious, at:

http://qt.gitorious.org/qt-labs/qtspotify

To build the application, first compile and install despotify as explained here.

Make sure you enable “pulseaudio” as the back end for despotify by editing the Makefile, as the default gstreamer back end has some threading issues and will cause crashes if you access the GUI while it’s playing. When you are done, do a “make install”.

To build the front end, you also need to have Qt 4.6 available. For best results on the N900, use the Maemo branch of Qt.

When you are done, copy the executable to your phone and start it up. Use the menu to log in, and the search field to search for music. If you want to access your play lists, select the “Retrieve play lists” menu option and they will pop up in the search field menu.

This is what it will look like:
Qt (de) Spotify on a Nokia N900

Note that this is an early version, so there are still bugs and some missing features (e.g. you don’t get more than fifty results for a search) that I intend to implement when I get the time, but the client should be usable as it is.

Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in C++, Labs, Multimedia, Qt, Uncategorized

5 comments

gunnar-eee says:

deSpotify really gives a developer some sense of the enormous power that lays in the Spotify backend. Blistering response times, a world of music on tap. Only issue; Spotify won’t allow you to officially release an app to the world based on the independent engineering effort.They have stringent agreements with the music industry that explicitly limits what applications may be used to access their service. The premium accounts of those who run rouge clients could easily be locked out should they choose to. Seems until evident threat to their deals occur they leave it open for the clever to experiment.

Morten says:

Actually, Spotify seems to encourage writing custom applications, at least if you use the official libspotify (see http://developer.spotify.com/en/libspotify/overview/)

Quote: “The libspotify C API package allows third party developers to write applications that utilize the Spotify music streaming service. Hopefully, this will enable and inspire you to build some really cool stuff. We’re looking forward to seeing what you can come up with.”

deep23 says:

Happy day all ! de Spotify seem to fine making custom applications . It is fine software. Thanks. Yours Deep

slubman says:

I don’t think you can use the official libspotify for a N900 client, if you read the Terms of use [ http://developer.spotify.com/en/libspotify/terms-of-use/ ], it’s forbidden to use it for any handheld device not approved by spotify.

Kagee says:

The source should work with gstreamer as of 3 days ago, after som threading-updates for the gstreamer-code.

Commenting closed.

Get started today with Qt Download now