Totally revamped Spotify support in Tizonia 0.15.0

Jun 15, 2018 • juanrubio

Tizonia version 0.15.0 codenamed “Pulpi” is out with 74 commits, 215 files changed, 7645 insertions(+), and 785 deletions(-)

Actually this is an emergency release to fix Spotify playlist search functionality that became broken in Tizonia just a couple of weeks ago, when playlist retrieval suddenly stopped working in the official (but deprecated) libspotify.

Luckily, libspotify’s audio streaming capabilities are, for the time being, intact (touch wood!). libspotify is still capable of streaming audio when its fed with Spotify URIs. Therefore, to ‘fix’ playlist search in Tizonia, we just needed to obtain playlist metadata (URIs) from Spotify. And this can be done through the newer Spotify Web API.

Tizonia 0.15.0 integrates the Spotify Web API by making use of the spotipy Python wrapper. This has not only allowed us to fix playlist search; Tizonia has also gained Spotify track, artist and album playback (see below for more info).

But how long until libspotify audio streaming capabilities are permanently switched off? Nobody knows. At some point there has been rumours pointing at a Spotify replacement library. This probably already exists inside Spotify’s iOS and Android SDKs. But it is unknown whether this newer facility would ever be available for non-commercial products in other platforms.

So let’s just keep enjoying Spotify streaming from the Linux command-line…, while it is still possible!


Spotify track, artist and album search [NEW!]

Three new Spotify commands are available:

tizonia --spotify-tracks <track-name>

tizonia --spotify-artist <artist-name>

tizonia --spotify-album <album-name>

No surprises here, these new commands let you search and stream from Spotify by track, artist and album names. The performance is really remarkable.

tizonia --spotify-tracks/artist/album



Spotify playlist search [REVAMPED!]

tizonia --spotify-playlist <album-name> [--spotify-owner <spotify-user-name>]

This command has changed its behaviour in the currently release. Previously --spotify-playlist allowed us to stream any of the configured user’s playlists, whether it was a playlist created by the user (private and public) or a followed playlist from another user, including Spotify’s own playlists.

In 0.15.0, this command has a different behaviour, as it only streams the public playlists owned by the user.

In order to stream a public playlist from another user, a new command-line switch has been introduced: --spotify-owner. When this switch is used in conjunction with --spotify-playlist, we can search and stream public playlists from any user. For example, to explore Spotify’s own playlists, just give --spotify-owner 'spotify'.

If you have been paying attention, you will have noticed that the new Spotify playlist commands incur in an important omission: private playlists. In 0.15.0 is not possible to stream private playlists. This is because Tizonia is currently unable to access the user’s private data through the Web API. There is some work to do to figure out how to do this correctly. So hopefully in the next release!

tizonia --spotify-playlist --spotify-owner



Other updates

As usual CHANGELOG.md contains all the details.

Tizonia v0.15.0 will be hitting the usual distribution channels in a few days:

Note that docker-tizonia is still in need of an update!.

Credits

Thanks to those who have provided feedback via the project’s bug tracker on GitHub.

Coming up

Pandora support is currently work-in-progress:

Airsonic/Subsonic support has been requested:

  • Airsonic/Subsonic (#496)