mpd_sima.cfg¶
DESCRIPTION¶
This manual page documents briefly mpd-sima
configuration options available
in user configuration file (see FILES).
EXAMPLES¶
File tags queue mode (offline mode).¶
Here is an example of autoqueue using file tags only.
[MPD]
# Uses defaults for MPD connection
#host = localhost
#port = 6600
#password = s3cr3t
[sima] # Setup internal plugins
# Tags plugin falls back to Random if nothing is found then Crop the queue
internal = Tags, Random, Crop
history_duration = 48 # 48h / 24 = 2 days
queue_length = 2 # triggers autoqueue when 2 tracks remains to play
[tags]
# Look for files with tagged with genre "electronica" OR "IDM" OR "glitch"
genre = electronica, IDM, glitch
[crop]
# keep 30 played tracks in playlist
consume = 30
Album queue mode using last.fm recommendations (online mode).¶
Here is an example of album queue configuration using online recommendations system.
[sima]
history_duration = 96 # 4 days in hours, get a larger history for album mode
queue_length = 5
[crop]
consume = 20
[lastfm]
queue_mode = album
album_to_add = 1
Configuration file¶
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.
MPD section¶
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.
log section¶
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.
Process daemonization¶
Configure process daemon.
[daemon]
- daemon=false
Whether to daemonize process or not.
- pidfile=
Where to store process ID.
sima section¶
Core mpd-sima configuration.
[sima]
- 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. Artist/tracks not in the scope of history have higther priority.
- 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 mod
Crop section¶
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 section¶
When no similar tracks are found, falling back to random queuing.
Random plugin’s configuration:
[random]
- track_to_add=1
How many track(s) to add.
- flavour=sensible
Different mode, aka random flavour, are available: pure, sensible,
pure: pure random choice, even among recently played track.
sensible: use play history to filter chosen tracks.
- priority=50
Plugin priority
LastFm section¶
LastFM plugin’s configuration.
[lastfm]
queue_mode=track
Queue mode to use among track, top and album (see QUEUE MODE section for info about queue modes).
max_art=20
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
andtrack
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_DATA_HOME/mpd_sima/http/WEB_SERVICE
. If set to “false”, caching is still done but in memory.- priority=100
Plugin priority
Genre section¶
Genre plugin’s configuration.
This plugin permits offline autoqueuing based on files genre tag only.
It will try to queue tracks with similar genres (track’s genre being read from tags).
[genre]
- queue_mode=track
Queue mode to use among track, album (see QUEUE MODE section for more info).
- single_album=false
Prevent from queueing a track from the same album (it often happens with OST). Only relevant in “track” queue mode.
- priority=80
Plugin priority
- track_to_add=1
How many track(s) to add.
- album_to_add=1
How many album(s) to add. Only relevant in
album
queue mode.
Tags section¶
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'
.
In addition to supported tags above you can use an MPD filter. Please refer to MPD protocol documentation for more.
All tag entries in this section are ANDed as a single MPD filter to look
for titles in the library. Moreover, for each tags, comma separated
values are also ORed. 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 1982 through 1989.
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]
- queue_mode=track
Queue mode to use among track, album (see QUEUE MODES section for info).
- single_album=false
Prevent from queueing a track from the same album (it often happens with OST). Only relevant in “track” queue mode.
- filter=
You can use here any valid MPD filter as defined in MPD protocol documentation.
comment=
date=
genre=
label=
originaldate=
- priority=80
Plugin priority
- track_to_add=1
How many track(s) to add.
- album_to_add=1
How many album(s) to add. Only relevant in
album
queue mode.
QUEUE MODES¶
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.
FILES¶
${XDG_CONFIG_HOME}/mpd_sima/mpd_sima.cfg
Configuration file.
${XDG_DATA_HOME}/mpd_sima/sima.db
SQLite internal DB file. Stores play history and blocklists.
${XDG_DATA_HOME}/mpd_sima/WEB_SERVICE/
HTTP cache.
Usually XDG_DATA_HOME
is set to ${HOME}/.local/share
and
XDG_CONFIG_HOME
to ${HOME}/.config
(for regular users).
You may override them using command line option --var-dir
and --config
(cf. mpd-sima)
SEE ALSO¶
mpc(1)
, mpd(1)
FEEDBACK/BUGS¶
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