News

Open source Spotify clients and development frameworks

Posted in News on February 11th, 2010 by noah – Comments

It’s been almost a year since Despotify was first released so we figured it was time for an update on what third party, open source apps are out there.

This list is merely an overview and it’s by no means complete.  If your open source Spotify project is not listed here, feel free to mention it in the comments thread!

NOTE: All third party applications and development libraries require a Spotify premium subscription to work!

Third party Spotify clients

despotify-simple

The despotify-simple client is a pure textmode client that’s built on top of the libdespotify-simple library.

Features:

  • Playlists (list tracks, play tracks, rename, set/unset collaboration)
  • Display information about a Spotify URI
  • Play an album
  • Searching for tracks/album/artists
  • Platforms: Linux, Mac OS X
  • Author: Björn Stenberg
  • URL: http://despotify.se/source-code/
Screenshot of the despotify simple client

Screenshot of the despotify simple client

despotify

The despotify client is an ncurses based client that’s built on top libdespotify-simple. It’s been written by dstien.

Features:

  • Searching
  • Playback of tracks found in a search
  • Playlists are not supported
  • Platforms: Linux, Mac OS X
  • Author: Daniel Stein
  • URL: http://despotify.se/source-code/
The splash screen in despotify

The splash screen in despotify

View of a search result

View of a search result

polspot

Polspot is basically the same as the above despotify client, only it’s using the Spotify client library API.

Features:

  • Searching
  • Playback of tracks found in a search
  • Playlists are not supported
  • Works with either libspotify or libopenspotify
  • Platforms: Linux, Mac OS X (Mac OS X requires libopenspotify)
  • Author: Daniel Stien
  • URL: http://github.com/dstien/polspot

jotify

Jotify is a clone of the official Spotify client, written in pure Java.

Features:

The playlist view in Jotify

The playlist view in Jotify

qtify

Qtify is a GUI client that’s written in Qt (C++) that was primarily written to bring Spotify to the Nokia N900 platform (Maemo). It also works on Linux, and with Qt being a crossplatform development framework, adding support for other OSes such as Mac OS X or Windows merely requires the audio part to be ported.

Features

  • Playlists
  • Searching for tracks, artists and albums
  • Playback (play, pause, resume)
  • Qt 4.6 based minimalistic GUI
  • Uses libspotify
  • Platforms: Linux
  • Author: Robin Nilsson
  • URL: https://garage.maemo.org/projects/qtify/
The login screen in Qtify

The login screen in Qtify

The main view in Qtify, with a playlist listing and a search box

The main view in Qtify, with a playlist listing and a search box

HTS Showtime

From its homepage: “Linux based Media player for usage on HTPCs — Listen to Music, watch Photos, play DVD and Movies, watch TV, all from within the same spiffy application.

Easy to setup, no configuration files. All configuration is tuned from inside the program itself.”

Features:

HTS Showtime main view

HTS Showtime main view

GSpot

GSpot is a GTK-based GUI Spotify client for Linux.

Features:

Junpier

Juniper is a Qt-based GUI Spotify client.

Features:

SpotyXBMC

Spotyxbmc is a project to bring support for Spotify to the popular Xbox Media Center platform.

Features:

  • Integrates with XBMC
  • Supports playlists
  • Searching
  • Album, artist and toplists browsing
  • Uses libopenspotify (due to GPL licensing issues with libspotify)
  • Platforms: Linux, Mac OS X, Windows
  • Author: David Erenger
  • URL: http://spotyxbmc.tumblr.com
An early view of a Spotify search in XBMC

An early view of a Spotify search in XBMC

Album browsing in Spotyxbmc

Album browsing in Spotyxbmc

Third party Spotify client libraries

On April 7th, 2009 Spotify released libspotify, a client library that can be used to build applications around Spotify’s music streaming platform. Initially only 32-bit Linux was supported but as of January 15th, 2010 it also sports support for Linux on 64-bit platforms. Hopefully we’ll see support for even more platforms in the future.

libspotify is a closed source library  and probably needs to stay that way. Reasons for this likely include both a requirement on their part to protect the raw audio feed aswell as preventing abuse of the system that keeps track of what songs have been played so artists can get paid properly.

Since the release of despotify three different open source client libraries have been created. Their main benefits include not being dependant on what hardware platforms Spotify can actively support aswell as having permissive software licenses.

NOTE: Just as with libspotify, you need a premium subscription to be able to talk to Spotify’s platform with third party client libraries.

libdespotify-simple

Written mainly by Björn Stenberg this is a simple-to-use library for accessing Spotify. The library is synchronous in its operations and hides the complexity behind Spotify’s multiplexing protocol.

Features:

  • Playlist retrieving
  • Playlist modifications (renaming, controlling collaboration flag)
  • Searching
  • Cover art
  • Audio playback
  • Simple to use
  • Language: C
  • Platforms: Linux, FreeBSD, Mac OS X, Solaris
  • Author: Björn Stenberg and others
  • URL: http://despotify.se/source-code/

jotify

Written from scratch in pure Java, Jotify is often first to support new features found in Spotify.

Features:

libopenspotify

libopenspotify aims to be a API compatible, cross-platform drop-in replacement for libspotify, free of licesing issues with its permissive 2-clause BSD license.

Features:

  • Most things libspotify supports except playlist modification
  • API compatible with libspotify 0.0.3
  • Permissive 2-clause BSD license
  • Language: C
  • Platforms: Linux, Mac OS X, Windows
  • Author: Noah Williamsson
  • URL: http://github.com/noahwilliamsson/openspotify

Bindings for Spotify client libraries

Jørgen P. Tjernø has written spytify, Python bindings for libdespotify-simple.

Jesper Särnesjö has written greenstripes, MIT-licensed Ruby bindings for libspotify.

GitHub user jptix started writing Rubi-FFI bindings for libspotify with spotifyrb.

Doug Winter has written pyspotify, Python bindings for libspotify.

Jonas Larsson has written libspotify-sharp, C# bindings for libspotify.

During Music Hack Day in Stockholm, Rasmus Andersson started spotifycocoa, a project to bring Cocoa style bindings for libspotify.

GitHub user romnes has written libqspotify, Qt bindings for libspotify.

The birth of Spot, a client for the iPhone

Posted in News on May 25th, 2009 by despotify – Comments

@nevyn is developing Spot, an open source Spotify client for the iPhone/iPod Touch based on despotify.

The source code is available on GitHub and there’s an introductionary video of it on YouTube.

Statement regarding security breach

Posted in News on May 5th, 2009 by despotify – Comments

Despotify is actively and falsely being accused of hacking into Spotify.
Under Criticism is our statement on the matter.

despotify is about providing an open source client to Spotify’s service and providing tools to allow third parties to develop new and cool services that make use of Spotify’s platform and services.

Please see our FAQ for more information.

Protocol implementation in Java

Posted in News on March 6th, 2009 by despotify – Comments

A Spotify protocol implementation in Java is being developed at http://github.com/fxb/jotify.

Update regarding the usage of ‘Free’ accounts

Posted in News on February 23rd, 2009 by despotify – Comments

Despotify has been blocked for users using ‘Free’ accounts.
You can still use Despotify using ‘Premium’ accounts.

We will not attempt to circumvent this block, nor accept any patches circumventing it. If you disagree with this decision, you are free to fork the code.

despotify released

Posted in News on February 23rd, 2009 by noah – Comments

#hack.se proudly presents an open source Spotify client

Features

  • C implementation based on F/OSS code
  • Proof of Concept multi-OS client with text-based UI
  • Proof of Concept gateway to the Spotify service (text-based protocol, for supporting REST)

Quite a few Spotify related sites have appeared since we launched in October, I’ve previously mentioned a number of them which are dedicated to sharing playlists but there are lots of other sites that talk about Spotify or have used Spotify in interesting ways.

We love stuff like this so if you’ve done something creative with Spotify please let us know, we’d like to see it and share it with everyone.

Release video