########################################################################
#
-# If you need special settings, rename this file as sima.cfg within
-# your $XDG_CONFIG_HOME (default is $HOME/.config/sima/)
+# If you need special settings, rename this file as mpd_sima.cfg within
+# your $XDG_CONFIG_HOME (default is $HOME/.config/mpd_sima/)
# You can also call it with --config option.
#
-# Pay Attention:
-# * Inline comment are not possible
-#
-# WRONG:
-# host = localhost # My host
-#
-# OK:
-# # My host
-# host = localhost
-#
+# cf. man 5 mpd_sima.cfg
########################################################################
-#
-#######################################################################
-
########################## MPD SECTION ################################
#
[MPD]
## HOST
-# type: string
+# type: string (IP or FQDN)
+# description: MPD host
+# default: localhost
host = localhost
+
## PORT
# type: integer
+# description: MPD host port
+# default: 6600
port = 6600
+
## PASSWORD
# type: string
-#
-# please comment if you don't use
+# default: unset, not using authentication
+# description: MPD host password, comment if you don't use
#password = s3cr3t
#
#######################################################################
+########################## DAEMON SECTION ################################
+#
+[daemon]
+## DAEMON
+# type: boolean
+# description: whether to daemonize process or not
+# default: False
+daemon=false
+
+## PIDFILE
+# type: string (path to the pid file)
+# description: where to store process ID
+# default: unset, process ID not saved to file
+#pidfile=
+#
+#######################################################################
+
######################## LOGGING FACILITY #############################
#
[log]
## LOGFILE
# type: string (file path)
-# description: file to log to. Usually used in daemon mode.
-# default: logging to stdin/stdout
+# description: file to log to. Usually used when process is daemonized.
+# default: unset, logging to stdin/stdout
#logfile =
-##
## VERBOSITY
# type: string
# description: log verbosity
+# default: info
# Possible values:
-# * debug, *DEBUG LEVEL MIGHT PRINT OUT YOUR PASSWORD*
-# * info, default
-# * warning
-# * error
-#
+# * debug, PAY ATTENTION: *DEBUG LEVEL MIGHT PRINT OUT YOUR PASSWORD*
+# * info, default
+# * warning
+# * error
verbosity = info
-##
+#
+#######################################################################
+######################## SIMA CORE ####################################
+#
+# These settings deal with MPD_sima core behaviour.
+[sima]
+## PLUGINS
+# type: comma separated string list
+# for ex.:
+# contrib = Scrobble, AwesomePlugin,
+# ExperimentalTest, AnotherTest
+# default:
+# internal = "Lastfm, Random, Crop"
+# contrib =
+#
+# Possible values for internal
+# Lastfm : Queue using last.fm web service for suggestions.
+# Random : Queue a track at random (different flavour, cf. documentation)
+# Crop : Remove old tracks from queue
+#
+# description: Plugins list declaration.
+# Optional plugin's configuration lays in its own section.
+# For instance a "AwesomePlugin" declared here
+# gets its configuration from the corresponding section:
+# "[awesomeplugin]"
+# internal plugins will look for a section named after the lower-cased name
+# of the plugin, ie. AwesomePlugin → awesomeplugin.
+#
+# Two plugins sources are available, internal and contrib
+#
+internal = Lastfm, Random, Crop
+#contrib =
+
+## HISTORY_DURATION
+# type: integer (in hours)
+# default: 8
+# description: How far to look back in history to avoid to play twice the same
+# track/title
+#
+history_duration = 8
+
+## QUEUE_LENGTH
+# type: integer
+# default: 2
+# description: Queue length threshold triggering tracks addition
+queue_length = 2
+
+## MUSICBRAINZID
+# type: boolean
+# default: True
+# description: Use of MusicBrainzIdentifier tag
+musicbrainzid = True
+
+## REPEAT_DISABLE_QUEUE
+# type: boolean
+# default: True
+# description: Prevent repeat play mode to disable queuing
+repeat_disable_queue = True
+
+## SINGLE_DISABLE_QUEUE
+# type: boolean
+# default: True
+# description: Prevent single play mode to disable queuing
+single_disable_queue = True
#
#######################################################################
######################### PLUGINS #####################################
#
-[placeholder]
-key = Value
+[genre]
+## Offline genre queing
+
+## QUEUE_MODE
+# type: string
+# description: Configure queue mode, a single track or an album
+# Possible values:
+# track : Will queue single track artists (default).
+# album : Will queue whole album from artists.
+queue_mode = track
+
+## SINGLE_ALBUM
+# type: boolean
+# scope: "track" queue mode only
+# description: Prevent from queueing a track from the same album (for instance
+# with OST).
+single_album = false
+
+## TRACK_TO_ADD
+# type: integer
+# scope: "track" and "top" queue modes
+# description: how many tracks the plugin will try to get
+track_to_add = 1
+
+## ALBUM_TO_ADD
+# type: integer
+# scope: "album" queue mode
+# description: how many albums the plugin will try to get
+album_to_add = 1
+
-#[crop]
+[tags]
+## Offline tags queing
+# This plugin has no defaults set
+
+# TAGS, any of the supported tags below
+# type: string
+# default: not set
+# description:
+comment=
+date=
+genre=
+label=
+originaldate=
+
+## FILTER
+# type: string
+# default: not set
+# description: Forge your own MPD filter (cf MPD protocol documentation)
+filter=
+
+## QUEUE_MODE
+# type: string
+# description: Configure queue mode, a single track or an album
+# Possible values:
+# track : Will queue single track artists (default).
+# album : Will queue whole album from artists.
+queue_mode = track
+
+## SINGLE_ALBUM
+# type: boolean
+# scope: "track" queue mode only
+# description: Prevent from queueing a track from the same album (for instance
+# with OST).
+single_album = false
+
+## TRACK_TO_ADD
# type: integer
+# scope: "track" and "top" queue modes
+# description: how many tracks the plugin will try to get
+track_to_add = 1
+
+## ALBUM_TO_ADD
+# type: integer
+# scope: "album" queue mode
+# description: how many albums the plugin will try to get
+album_to_add = 1
+
+[crop]
+## CONSUME
+# type: integer
+# default: 10
# description: How many played tracks to keep in the playlist.
# Allow to maintain a fixed length playlist.
-# Leave commented to keep all tracks
+# Set a negative value to disable cropping (or remove plugin from sima/internal)
#consume = 10
-[RandomFallback]
-# random falvour :
-# * pure: complete ramdom choice among all tracks available in the player media library
-# * sensible: use play history to filter chosen tracks
-# * genre: chose among the same genre as current track (tagged genre). If
-# no genre tag is available "sensible" flavour is used instead
-flavour=pure
+[random]
+## FLAVOUR
+# type: string
+# default: sensible
+# description: Random queuing, different mode, aka random flavour, are available.
+# random flavour :
+# * pure: complete random choice among all tracks available in the
+# player media library
+# * sensible: use play history to filter chosen tracks
+# * genre: # NOT IMPLEMENTED #
+# chose among the same genre as current track (using genre
+# tag). If no genre tag is available "sensible" flavour
+# is used instead
+flavour=sensible
-[lastfm]
+## TRACK_TO_ADD
+# type: integer
+# description: how many tracks the plugin will try to get
+# default: 1
+#track_to_add = 1
-depth = 1
-## QUEUE_MODE # NOT COMPLETED #
+[lastfm]
+## QUEUE_MODE
# type: string
-# description: The default is to queue random tracks from similar artists.
+# description: Does it queue a single track, top track or an album.
# Possible values:
-# track : Will queue tracks from similar artists (default).
-# top : Will queue top tracks from similar artists. # NOT IMPLEMENTED #
+# track : Will queue single tracks from similar artists (default).
+# top : Will queue top tracks from similar artists.
# album : Will queue whole album from similar artists.
queue_mode = track
-## SIMILARITY
-# type: integer in [0 100]
-# description: Similarity as a percentage of similarity between artists
-# (this is a last.fm metric)
-similarity = 15
-
-## DYNAMIC
+## MAX_ART
# type: integer
# description: Number of similar artist to retrieve from local media library.
# When set to something superior to zero, MPD_sima tries to get as much similar
-# artists from media library provided artists similarity is superior to
-# similarity value.
-dynamic = 10
+# artists from media library
+max_art = 20
-## SINGLE_ALBUM # NOT IMPLEMENTED #
+## DEPTH
+# type: integer in [1, +∞]
+# default: 1
+# description: TBD
+depth = 1
+
+## SINGLE_ALBUM
# type: boolean
# scope: "track" and "top" queue modes
-# description: Prevent from queueing a track from the same album (for instance with OST).
-single_album = true
+# description: Prevent from queueing a track from the same album (for instance
+# with OST).
+single_album = false
## TRACK_TO_ADD
# type: integer
# description: how many albums the plugin will try to get
album_to_add = 1
-#
-#######################################################################
-
-
-######################## SIMA CORE ####################################
-#
-# These settings deal with MPD_sima core behaviour.
-[sima]
-## PLUGINS
-# type: comma separated string list
-# for ex.:
-# contrib = Scrobble, AwesomePlugin,
-# ExperimentalTest,AnotherTest
-#
-# Plugins list declaration.
-# Optional plugin's configuration must be in its own section. For instance an
-# "AwesomePlugin" declared here gets its configuration from the
-# "[AwesomePlugin]" or "[awesomeplugin]" section (case insensitive).
-#
-#internal = Crop, History, MpdOptions, Lastfm, RandomFallBack
-contrib = PlaceHolder
-
-## HISTORY_DURATION
-# type: integer (in hours)
-#
-# How far to look back in history to avoid to play twice the same track/title
-#
-history_duration = 8
-##
+## TRACK_TO_ADD_FROM_ALBUM
+# type: integer
+# scope: "album" queue mode
+# description: how many tracks from one album the plugin will try to get
+# defaults to 0 to queue the whole album
+track_to_add_from_album = 0
-## USER_DB # NOT IMPLEMENTED #
+## SHUFFLE_ALBUM
# type: boolean
-# description: Load user database to find similar artists
-# User DB is loaded from $XDG_CONFIG_HOME/sima/sima.db
-# Use simadb_cli to edit/add entries.
-user_db = false
-##
-
-#####################################################################
-# You do not need to set up options below.
-# But well, you got bored of the way MPD_sima is behaving, then go ahead
-# play with it :)
-
-## QUEUE_LENGTH
-# type: integer
-#
-# Queue length triggering tracks addition
-queue_length = 1
-##
+# scope: "album" queue mode
+# description: should the tracks of the album be shuffled
+shuffle_album = false
+## CACHE
+# type: boolean
+# description: 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>
+# Until #7 is closed LastFM is broken; cf. https://gitlab.com/kaliko/sima/issues/7
+# * If set to "false", caching is still done but in memory.
+# default: True
+cache = True
#
-####################### END OF CONFIGURATION ##########################
+#######################################################################
# vim: syntax=cfg fileencoding=utf-8