MPD_SIMA.CFG(5)

NAME
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.

DESCRIPTION

This manual page documents briefly mpd-sima configuration options available in user configuration file (see the section called “FILES”).

EXAMPLES

  File tags queue mode (offline mode).

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

  Album queue mode using last.fm recommendations (online mode).

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

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.cfg configuration.

[sima]

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.

  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 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_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 base on genre tags of tracks in the queue.

[genre]

queue_mode=track
    Queue mode to use among track, album (see the section called “QUEUE MODES” for info about queue modes).

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 the section called “QUEUE MODES” for info about queue modes).

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 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))

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.

SEE ALSO

mpc(1), mpd(1)

/usr/share/doc/mpd-sima/

AUTHOR

kaliko <kaliko@azylum.org>
    Wrote this man page and is currently leading MPD_sima project.

COPYRIGHT
Copyright © 2009-2021 kaliko

This manual page was written for the Debian system (and may be used by others).

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.