MPD_sima 0.16.0

MPD_sima v0.16.0 is available.

The package is available on pypi.org and tagged 0.16.0 in git:

pip install MPD-sima==0.16.0
# Or from git
pip install git+https://gitlab.com/kaliko/sima.git@0.16.0#egg=MPD-sima

Main changes

Python 3.6

This release needs ate least python 3.6.

New offline autoqueue plugin

The new Tags plugin allows offline autoqueuing (no request to external service to find similarities). This is the first early release of this plugin, it still needs some polishing, please be kind and report issues if needed :)

The plugin relies on tags to find similar tracks. Available tags are ‘comment’, ‘date’, ‘genre’, ‘label’ and ‘originaldate’. This queue mode is static though, once you configured a set of tag to look for MPD_sima will queue tracks according to these tags only.

For instance, assuming you want to listen to Rock from the last century, here is the config for the plugin:

# mpd_sima.cfg
...
[tags]
genre = Rock, Hard Rock, Punk Rock
date = 1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990

This will look for tracks tags with one of the genre set and one of the year set in date :
In pseudo code:

track.genre in [ "Rock", "Hard Rock", "Punk Rock" ]
AND
track.date in [ 1980,1981,1982,1983,1984,1985,1986,1987,1988,1989 ]

In addition to supported tag above, you can use MPD filter as well.

It allows using any tags MPD exposes and to write more concise expression. For instance for the example above you can configure the plugin with this filter:

# mpd_sima.cfg
...
[tags]
genre = Rock, Hard Rock, Punk Rock
filter = ( date =~ '198[0-9]+' )

An interesting feature with filters is the availability to query extra metadata like duration, AudioFormat or Last-Modified. For example you queue files modifed since december 2020 :

[tags]
filter = (modified-since '2020-12-01')

Testing the plugin configuration is possible with the new executable test-tags-config. Testing your config in /etc/mpd-sima.cfg :

test-tags-config /etc/mpd-sima.cfg
Filter forged: "((date =~ '199[0-9]+') AND (genre =~ '(Rock|Hardcore|Punk)'))"
{'Swans', 'Metallica', 'The Business', 'The Ejected', 'Raised Fist', 'Catharsis', 'The
Jesus Lizard', 'Nada Surf', 'Mogwai', 'Jeff Buckley', 'blink‐182', 'Korn', 'Faith No More',
'Mr. Bungle', 'Dodgy', 'Beck', 'Soundgarden', 'Pennywise', 'Filter', 'Kyuss', 'Bad Religion',
'Neurosis', 'Slaughter and The Dogs', 'GunsN’ Roses', 'Jimmy Page & Robert Plant',
'The Posies', 'Menace', 'Body Count', 'The Smashing Pumpkins', …}

MPD client refactoring

The refactoring will hopefully make the client catch more artists (looking for last.fm artists in the local music library). It should also behave better in album mode. Finally the top track mode is also faster (new cache system speeding up the loop).

Please report issue on gitlab: gitlab.com/kaliko/sima/-/issues

Happy listening
 k

page last updated: Sat 09 Jan 2021