########################################################################
#
-# 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
#
## LOGFILE
# type: string (file path)
# description: file to log to. Usually used in daemon mode.
-# default: logging to stdin/stdout
-logfile =
-##
+# 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
-##
-
#
#######################################################################
-######################### PLUGINS #####################################
+
+######################## 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 = "Crop, Lastfm, RandomFallBack"
+# contrib =
+# 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 pluglin, ie. RandomFallBack → randomfallback.
+#
+# Two plugins sources are available, internal and contrib
+#
+internal = Crop, Lastfm, RandomFallBack
+#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
#
-[placeholder]
-key = Value
+history_duration = 8
-[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
+## USER_DB # NOT IMPLEMENTED #
+# type: boolean
+# description: Load user database to find similar artists
+# User DB is loaded from $XDG_CONFIG_HOME/mpd_sima/sima.db
+# Use simadb_cli to edit/add entries.
+user_db = false
-[lastfm]
+## QUEUE_LENGTH
+# type: integer
+# default: 1
+# description: Queue length triggering tracks addition
+queue_length = 1
+
+## MUSICBRAINZID
+# type: boolean
+# default: True
+# description: Use of MusicBrainzIdentifier tag
+musicbrainzid = True
+
+######################### PLUGINS #####################################
+
+[crop]
+## CONSUME
+# type: integer
+# default: unset, not cropping playlist
+# description: How many played tracks to keep in the playlist.
+# Allow to maintain a fixed length playlist.
+# Leave commented to keep all tracks
+#consume = 10
+
+[randomfallback]
+## FLAVOUR
+# type: string
+# default: sensible
+# description: When no similar tracks are found, falling back to 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
-depth = 3
+## TRACK_TO_ADD
+# type: integer
+# description: how many tracks the plugin will try to get
+# default: 1
+#track_to_add = 1
-## QUEUE_MODE # NOT COMPLETED #
+
+# EchoNest or LastFM
+#[echonest]
+[lastfm]
+## QUEUE_MODE
# type: string
# description: The default is to queue random tracks from similar artists.
# Possible values:
# track : Will queue tracks from similar artists (default).
-# top : Will queue top tracks from similar artists. # NOT IMPLEMENTED #
-# album : Will queue whole album from similar artists. # NOT IMPLEMENTED #
+# 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 = 10
-## 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.:
-# plugins = 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).
-#
-#internals =
-plugins = 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
-##
-
-## CONSUME
-# type: integer
-# description: How many played tracks to keep in the playlist.
-# Allow to maintain a fixed length playlist.
-# set to 0 to keep all played tracks.
-#
-consume = 0
-##
-
-## USER_DB # NOT IMPLEMENTED #
+## CACHE
# 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
-##
+# 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>
+# Toggling http cache is only available for last.fm. EchoNest have rate limits,
+# we must then pay attention to bandwidth and use of caching is required.
+# * If set to "false", caching is still done but in memory.
+# default: True
+cache = True
#
####################### END OF CONFIGURATION ##########################
-
# vim: syntax=cfg fileencoding=utf-8