mpd_sima.cfg — mpd-sima will try to maintain some titles ahead in the queue following different policies. This manual document the configuration file for mpd-sima.
This manual page documents briefly mpd-sima configuration options available in user configuration file (see the section called “FILES”).
Here is an example of autoqueue using file tags only.
[MPD] host=example.org port=6601 [sima] # Setup internal plugins internal = Tags, Crop history_duration=48 # 2 days queue_length=2 [tags] # Look for files with tagged with genre "electonica" OR "IDM" OR "glitch" genre = electonica, IDM, glitch [crop] # keep 30 played tracks in playlist consume=30
Here is an example of album queue configuration using online recommendations system.
[MPD] host=example.org port=8000 [sima] history_duration=48 # 2 days queue_length=5 [lastfm] queue_mode=album album_to_add=2 [crop] # keep 30 played tracks in playlist consume=30
The configuration file consists of sections, led by a
[section] header and followed by name: value
entries, with continuations in the style of RFC 822 (see section
3.1.1, “LONG HEADER FIELDS”); name=value
is also accepted. Lines
beginning with '#'
or ';'
are ignored and may be used to provide comments (Nota
Bene: inline comment are possible using '#'
).
The default values are used in the options lists below.
This section is meant to configure MPD access, MPD host address / port and password if necessary.
[MPD]
host=
localhost
Set MPD host. Use IP or FQDN.
port=
6600
Set host port to access MPD to.
password=
s3cr3t
Set MPD password to use. Do not use this option if you don't have enabled password protected access on your MPD server.
Configure logging.
[log]
logfile=
File to log to, usually in dæmon mode.
Default
(empty or unset) is to log to stdin/stdout.
verbosity=
info
Logging verbosity among
debug
,
info
,
warning
,
error
.
Configure process daemon.
[daemon]
daemon=false
whether to daemonize process or not.
pidfile=
Where to store process ID.
Core mpd_sima.cfg configuration.
contrib=
internal=
Lastfm, Random, Crop
mpd-sima's plugin management for internal source plugin
and contrib (ie. external plugins).
Plugins list is a
comma separated string list.
Optional plugin's
configuration lays in its own section.
For instance a
"AwesomePlugin" declared here gets its configuration from the
corresponding section "[awesomeplugin]".
The default list of plugins to load at startup: Lastfm
,Random
,Crop
.
Crop
is an utility plugin, it does not queue any tracks (cf. below).
Random
will queue a track at random if other plugins did not return any tracks.
You can add, combine here as many plugins you want.
The priority may be used to order them.
history_duration=
8
How far to look back in history to avoid to play
twice the same track/title (duration in
hours).
The history_duration
is also used to give priority to not recently played artists.
queue_length=
2
Threshold value triggering queue process.
musicbrainzid=
true
Use MusicBrainzIdentifier to search music (mainly
for artists).
Default is True, switch to False if you don't have
MusicBrainzIdentifier set for at least 80% of you
music library.
Consider using these metadata as it
enhances a lot artist/album/tracks identification.
Use Picard to tag your file: https://picard.musicbrainz.org/.
repeat_disable_queue=
true
Prevent disabling queuing in repeat play mode.
single_disable_queue=
true
Prevent disabling queuing in single play mode.
[sima]
crop plugin's configuration:
[crop]
consume=
10
How many played tracks to keep in the queue. Allows you to maintain a fixed length queue. Set to some negative integer to keep all played tracks.
priority=
10
Plugin priority
Random plugin's configuration:
[random]
track_to_add=
1
How many track(s) to add.
flavour=
sensible
When no similar tracks are found, falling back to
random queuing. Different mode, aka random flavour,
are available:
pure
,
sensible
,
genre
.
pure
, pure random choice, even among recently played track.
sensible
, use play history to filter chosen tracks.
genre
, Not implemented yet.
priority=
50
Plugin priority
LastFM plugin's configuration.
[lastfm]
queue_mode=
track
Queue mode to use among
track
,
top
and
album
(see the section called “QUEUE MODES” for info about queue modes).
max_art=
10
Maximum number of similar artist to retrieve from local
media library.
When set to something superior
to zero, it tries to get as much similar artists
from media library.
depth=
1
How many artists to base on similar artists
search.
The first is the last played artist
and so on back in the history. Highter depth
generates wider suggestions, it might help to
reduce looping over same artists.
single_album=
false
Prevent from queueing a track from the same album
(it often happens with OST).
Only relevant in "track" queue mode.
track_to_add=
1
How many track(s) to add. Only relevant in
top
and track
queue modes. This is actually an upper limit,
min(max_art
,
track_to_add
) will be used.
album_to_add=
1
How many album(s) to add. Only relevant in
album
queue modes.
track_to_add_from_album=
0
How many track(s) to add from each selected albums. Only relevant in
album
queue modes. When set to 0 or lower the whole album is queued.
cache=
True
Whether or not to use on-disk persistent http
cache.
When set to "true", sima will use a
persistent cache for its http client. The cache is
written along with the dbfile in:
$XDG_CONFIG_HOME/mpd_sima/http/WEB_SERVICE
.
If set to "false", caching is still done but in memory.
priority=
100
Plugin priority
Tags plugin's configuration. There is no default configuration for this plugin, it does not work out of the box.
This plugin permits offline autoqueuing based on files tags only. Supported tags are
'comment'
, 'date'
, 'genre'
, 'label'
and
'originaldate'
. It currently supports single track queuing only, no album mode for this plugin.
In addition to supported tags above you can use an MPD filter. Please refer to MPD protocol documentation for more.
All entries in this section are ANDed as a single MPD filter to look for titles
in the library. Moreover, with tags, comma separated values are also ANDed.
For instance setting "genre=rock
" and
"date=1982,1983,1984,1985,1986,1987,1988,1989
"
will end up looking for track tagged with genre rock
and date within 1985 through 1990.
Using an MPD filter to replace date
you can achieve
the same with the following setting: "genre=rock
" and
"filter=(date =~ '198[2-9]')
" (provided your MPD server
was compiled with libpcre).
[tags]
filter=
You can use here any valid MPD filter as defined in MPD protocol documentation.
comment=
date=
genre=
label=
priority=
80
Plugin priority
track_to_add=
1
How many track(s) to add.
Different queue modes are available with some plugins (check for
queue_mode
presence in plugin config).
mpd-sima tries preferably to chose among unplayed artists or at least not recently played artist.
track
Queue a similar track chosen at random from a similar artist.
top
Queue a track from a similar artist, chosen among "top tracks" according to last.fm data mining.
album
Queue a whole album chosen at random from a similar artist.
Nota Bene:
Due to the
track point of view of database build upon tracks tags
an album lookup for a specific artist will return
albums as soon as this artist appears in a single track
of the album.
For instance looking for album from "The Velvet
Underground" will fetch "Last Days" and "Juno" OSTs
because the band appears on the soundtrack of these two
movies.
A solution is for you to set AlbumArtists tag to
something different than the actual artist of the
track. For compilations, OSTs etc. a strong convention
is to use "Various Artists" for this tag.
mpd-sima is currently looking for AlbumArtists tags and avoid album where this tag is set with "Various Artists". If a single track within an album is found with AlbumArtists:"Various Artists" the complete album is skipped and won't be queued.
${XDG_CONFIG_HOME}/mpd_sima/mpd_sima.cfg
Configuration file.
${XDG_DATA_HOME}/mpd_sima/sima.db
SQLite DB file.
${XDG_DATA_HOME}/mpd_sima/WEB_SERVICE/
Persistent http cache.
Usually XDG_DATA_HOME
is set to
${HOME}/.local/share
and XDG_CONFIG_HOME
to
${HOME}/.config
.
You may override them using
command line option --var-dir
and --config
(cf.
mpd-sima(1))
The maintainer would be more than happy to ear from you, don't hesitate to send feedback, https://kaliko.me/contact/.
XMPP users are welcome to join the dedicated chat room at kaliko.me@conf.azylum.org.