########################################################################
#
# 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.
#
# cf. man 5 mpd_sima.cfg
########################################################################

########################## MPD SECTION ################################
#
[MPD]
## HOST
# 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
# default: unset, not using authentication
# description: MPD host password, comment if you don't use
#password = s3cr3t

#
#######################################################################

######################## LOGGING FACILITY #############################
#
[log]
## LOGFILE
# type: string (file path)
# description: file to log to. Usually used in daemon mode.
# default: unset, logging to stdin/stdout
#logfile =

## VERBOSITY
# type: string
# description: log verbosity
# default: info
# Possible values:
#    * 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 #####################################

[crop]
## CONSUME
# type: integer
# default: 10
# description: How many played tracks to keep in the playlist.
#  Allow to maintain a fixed length playlist.
#  Set a negative value to disable cropping (or remove plugin from sima/internal)
#consume = 10

[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

## TRACK_TO_ADD
# type: integer
# description: how many tracks the plugin will try to get
# default: 1
#track_to_add = 1


[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.
#	album : Will queue whole album from similar artists.
queue_mode = track

## 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
max_art = 10

## 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 = 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

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