Back to Blog home

Qt (de) Spotify running on a Nokia N900

Published on Friday October 23, 2009 by Eskil Abrahamsen Blomfeldt in C++ Labs Qt Uncategorized Multimedia | Comments

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.

Subscribe to Our Blog

Stay up to date with the latest marketing, sales and service tips and news.

We are updating our comment system and you could face some issues. Please write to us at feedback@qt.io to report issues/bugs.