]> kaliko git repositories - mpd-sima.git/blob - data/man/mpd_sima.cfg.5.html
5efec5ddaf19666c93e67618c573002a28013ebc
[mpd-sima.git] / data / man / mpd_sima.cfg.5.html
1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>mpd_sima.cfg</title><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>mpd_sima.cfg &#8212; mpd-sima will try to maintain some titles ahead in the queue
2             following different policies. This manual document the
3             configuration file for mpd-sima.</p></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>This manual page documents briefly <span class="command"><strong>mpd-sima</strong></span>
4             configuration options available in user configuration file
5             (see <a class="xref" href="#files" title="FILES">the section called &#8220;FILES&#8221;</a>).</p></div><div class="refsect1"><a name="examples"></a><h2>EXAMPLES</h2><div class="refsect2"><a name="tags"></a><h3>File tags queue mode (offline mode).</h3><p>Here is an example of autoqueue using file tags only.</p><pre class="programlisting">[MPD]
6 host=example.org
7 port=6601
8
9 [sima]
10 # Setup internal plugins
11 internal = Tags, Crop
12 history_duration=48  # 2 days
13 queue_length=2
14
15 [tags]
16 # Look for files with tagged with genre "electonica" OR "IDM" OR "glitch"
17 genre = electonica, IDM, glitch
18
19 [crop]
20 # keep 30 played tracks in playlist
21 consume=30
22
23             </pre></div><div class="refsect2"><a name="album"></a><h3>Album queue mode using last.fm recommendations (online mode).</h3><p>Here is an example of album queue configuration using online recommendations system.</p><pre class="programlisting">[MPD]
24 host=example.org
25 port=8000
26
27 [sima]
28 history_duration=48  # 2 days
29 queue_length=5
30
31 [lastfm]
32 queue_mode=album
33 album_to_add=2
34
35 [crop]
36 # keep 30 played tracks in playlist
37 consume=30
38
39             </pre></div></div><div class="refsect1"><a name="options"></a><h2>Configuration file</h2><p>The configuration file consists of sections, led by a
40             <span class="command"><strong>[section]</strong></span> header and followed by <code class="option">name: value</code>
41             entries, with continuations in the style of RFC 822 (see section
42             3.1.1, &#8220;LONG HEADER FIELDS&#8221;); <code class="option">name=value</code> is also accepted. Lines
43             beginning with <em class="parameter"><code>'#'</code></em> or <em class="parameter"><code>';'</code></em>
44             are ignored and may be used to provide comments (<span class="emphasis"><em>Nota
45                 Bene:</em></span> inline comment are possible using <em class="parameter"><code>'#'</code></em>).</p><p>The default values are used in the options lists below.</p><div class="refsect2"><a name="MPD"></a><h3>MPD section</h3><p>This section is meant to configure MPD access, MPD host
46                 address / port and password if necessary.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">[MPD]</code></span></dt><dd></dd><dt><span class="term"><code class="option">host=</code><em class="replaceable"><code>localhost</code></em></span></dt><dd><p>Set MPD host. Use IP or FQDN.</p></dd><dt><span class="term"><code class="option">port=</code><em class="replaceable"><code>6600</code></em></span></dt><dd><p>Set host port to access MPD to.</p></dd><dt><span class="term"><code class="option">password=</code><em class="replaceable"><code>s3cr3t</code></em></span></dt><dd><p>Set MPD password to use. Do not use this option
47                             if you don't have enabled password protected access
48                             on your MPD server.</p></dd></dl></div></div><div class="refsect2"><a name="log"></a><h3>log section</h3><p>Configure logging.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">[log]</code></span></dt><dd><p></p></dd><dt><span class="term"><code class="option">logfile=</code></span></dt><dd><p>File to log to, usually in dæmon mode.<br>Default
49                             (empty or unset) is to log to stdin/stdout.</p></dd><dt><span class="term"><code class="option">verbosity=</code><em class="replaceable"><code>info</code></em></span></dt><dd><p>Logging verbosity among
50                             <em class="replaceable"><code>debug</code></em>,
51                             <em class="replaceable"><code>info</code></em>,
52                             <em class="replaceable"><code>warning</code></em>,
53                             <em class="replaceable"><code>error</code></em>.</p></dd></dl></div></div><div class="refsect2"><a name="daemon"></a><h3>Process daemonization</h3><p>Configure process daemon.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">[daemon]</code></span></dt><dd><p></p></dd><dt><span class="term"><code class="option">daemon=false</code></span></dt><dd><p>whether to daemonize process or not.</p></dd><dt><span class="term"><code class="option">pidfile=</code></span></dt><dd><p>Where to store process ID.</p></dd></dl></div></div><div class="refsect2"><a name="sima"></a><h3>sima section</h3><p>Core mpd_sima.cfg configuration.</p><div class="variablelist"><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">contrib=</code><em class="replaceable"><code></code></em></span></dt><dd><p></p></dd><dt><span class="term"><code class="option">internal=</code><em class="replaceable"><code>Lastfm, Random, Crop</code></em></span></dt><dd><p>mpd-sima's plugin management for internal source plugin
54                                 and contrib (ie. external plugins).<br> Plugins list is a
55                                 comma separated string list.<br> Optional plugin's
56                                 configuration lays in its own section.<br>For instance a
57                                 "AwesomePlugin" declared here gets its configuration from the
58                                 corresponding section "[awesomeplugin]".
59                             </p><p>The default list of plugins to load at startup: <code class="option">Lastfm</code>,<code class="option">Random</code>,<code class="option">Crop</code>.<br>
60                                 <code class="option">Crop</code> is an utility plugin, it does not queue any tracks (cf. below).<br>
61                                 <code class="option">Random</code> will queue a track at random if other plugins did not return any tracks.<br>
62                             </p><p>You can add, combine here as many plugins you want.<br>
63                                 The priority may be used to order them.
64                             </p></dd><dt><span class="term"><code class="option">history_duration=</code><em class="replaceable"><code>8</code></em></span></dt><dd><p>How far to look back in history to avoid to play
65                                 twice the same track/title (duration in
66                                 hours).<br>
67                                 The <code class="option">history_duration</code> is also used to give priority to not recently played artists.
68                             </p></dd><dt><span class="term"><code class="option">queue_length=</code><em class="replaceable"><code>2</code></em></span></dt><dd><p>Threshold value triggering queue process.</p></dd><dt><span class="term"><code class="option">musicbrainzid=</code><em class="replaceable"><code>true</code></em></span></dt><dd><p>Use MusicBrainzIdentifier to search music (mainly
69                                 for artists).
70                                 Default is True, switch to False if you don't have
71                                 MusicBrainzIdentifier set for at least 80% of you
72                                 music library.<br> Consider using these metadata as it
73                                 enhances a lot artist/album/tracks identification.
74                                 Use Picard to tag your file: <a class="ulink" href="https://picard.musicbrainz.org/" target="_top">https://picard.musicbrainz.org/</a>.
75                             </p></dd><dt><span class="term"><code class="option">repeat_disable_queue=</code><em class="replaceable"><code>true</code></em></span></dt><dd><p>Prevent disabling queuing in repeat play mode.
76                             </p></dd><dt><span class="term"><code class="option">single_disable_queue=</code><em class="replaceable"><code>true</code></em></span></dt><dd><p>Prevent disabling queuing in single play mode.
77                             </p></dd></dl></div><dl class="variablelist"><dt><span class="term"><code class="option">[sima]</code></span></dt><dd><p></p></dd></dl></div></div><div class="refsect2"><a name="crop"></a><h3>Crop section</h3><p>crop plugin's configuration:</p><dt><span class="term"><code class="option">[crop]</code></span></dt><dd></dd><dt><span class="term"><code class="option">consume=</code><em class="replaceable"><code>10</code></em></span></dt><dd><p>How many played tracks to keep in the queue.
78                             Allows you to maintain a fixed length queue.
79                             Set to some negative integer to keep all played tracks.
80                         </p></dd><dt><span class="term"><code class="option">priority=</code><em class="replaceable"><code>10</code></em></span></dt><dd><p>
81                             Plugin priority
82                         </p></dd></div><div class="refsect2"><a name="random"></a><h3>Random section</h3><p>Random plugin's configuration:</p><dt><span class="term"><code class="option">[random]</code></span></dt><dd></dd><dt><span class="term"><code class="option">track_to_add=</code><em class="replaceable"><code>1</code></em></span></dt><dd><p>How many track(s) to add.</p></dd><dt><span class="term"><code class="option">flavour=</code><em class="replaceable"><code>sensible</code></em></span></dt><dd><p>When no similar tracks are found, falling back to
83                             random queuing. Different mode, aka random flavour,
84                             are available:
85                             <em class="replaceable"><code>pure</code></em>,
86                             <em class="replaceable"><code>sensible</code></em>,
87                             <em class="replaceable"><code>genre</code></em>.
88                             </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: bullet; "><li class="listitem" style="list-style-type: disc"><p><em class="replaceable"><code>pure</code></em>, pure random choice, even among recently played track.
89                                     </p></li><li class="listitem" style="list-style-type: disc"><p><em class="replaceable"><code>sensible</code></em>, use play history to filter chosen tracks.
90                                     </p></li><li class="listitem" style="list-style-type: disc"><p><em class="replaceable"><code>genre</code></em>, Not implemented yet.
91                                     </p></li></ul></div><p>
92                         </p></dd><dt><span class="term"><code class="option">priority=</code><em class="replaceable"><code>50</code></em></span></dt><dd><p>
93                             Plugin priority
94                         </p></dd></div><div class="refsect2"><a name="lastfm"></a><h3>LastFm section</h3><p>LastFM plugin's configuration.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">[lastfm]</code></span></dt><dd></dd><dt><span class="term"><code class="option">queue_mode=</code><em class="replaceable"><code>track</code></em></span></dt><dd><p>Queue mode to use among
95                             <em class="replaceable"><code>track</code></em>,
96                             <em class="replaceable"><code>top</code></em> and
97                             <em class="replaceable"><code>album</code></em> (see <a class="xref" href="#queue_mode" title="QUEUE MODES">the section called &#8220;QUEUE MODES&#8221;</a> for info about queue modes).</p></dd><dt><span class="term"><code class="option">max_art=</code><em class="replaceable"><code>10</code></em></span></dt><dd><p>Maximum number of similar artist to retrieve from local
98                             media library.<br>When set to something superior
99                             to zero, it tries to get as much similar artists
100                             from media library.</p></dd><dt><span class="term"><code class="option">depth=</code><em class="replaceable"><code>1</code></em></span></dt><dd><p>How many artists to base on similar artists
101                             search.<br> The first is the last played artist
102                             and so on back in the history. Highter depth
103                             generates wider suggestions, it might help to
104                             reduce looping over same artists.
105                             </p></dd><dt><span class="term"><code class="option">single_album=</code><em class="replaceable"><code>false</code></em></span></dt><dd><p>Prevent from queueing a track from the same album
106                             (it often happens with OST).<br>
107                             Only relevant in "track" queue mode.</p></dd><dt><span class="term"><code class="option">track_to_add=</code><em class="replaceable"><code>1</code></em></span></dt><dd><p>How many track(s) to add. Only relevant in
108                             <code class="option">top</code> and <code class="option">track</code>
109                             queue modes. This is actually an upper limit,
110                             min(<code class="option">max_art</code>,
111                             <code class="option">track_to_add</code>) will be used.</p></dd><dt><span class="term"><code class="option">album_to_add=</code><em class="replaceable"><code>1</code></em></span></dt><dd><p>How many album(s) to add. Only relevant in
112                             <code class="option">album</code> queue modes.</p></dd><dt><span class="term"><code class="option">track_to_add_from_album=</code><em class="replaceable"><code>0</code></em></span></dt><dd><p>How many track(s) to add from each selected albums. Only relevant in
113                           <code class="option">album</code> queue modes. When set to 0 or lower the whole album is queued.
114                           </p></dd><dt><span class="term"><code class="option">cache=</code><em class="replaceable"><code>True</code></em></span></dt><dd><p>Whether or not to use on-disk persistent http
115                             cache.<br>When set to "true", sima will use a
116                             persistent cache for its http client. The cache is
117                             written along with the dbfile in:<br>
118                             <code class="filename">$XDG_CONFIG_HOME/mpd_sima/http/WEB_SERVICE</code>.<br>
119                             If set to "false", caching is still done but in memory.
120                         </p></dd><dt><span class="term"><code class="option">priority=</code><em class="replaceable"><code>100</code></em></span></dt><dd><p>
121                             Plugin priority
122                         </p></dd></dl></div></div><div class="refsect2"><a name="tags"></a><h3>Tags section</h3><p>Tags plugin's configuration. There is no default configuration for this plugin, it does not work out of the box.</p><p>
123                 This plugin permits offline autoqueuing based on files tags only. Supported tags are
124               <code class="option">'comment'</code>, <code class="option">'date'</code>, <code class="option">'genre'</code>, <code class="option">'label'</code> and
125               <code class="option">'originaldate'</code>. It currently supports single track queuing only, no album mode for this plugin.
126               </p><p>
127               In addition to supported tags above you can use an MPD filter. Please refer to MPD protocol documentation for more.
128             </p><p>
129               All entries in this section are ANDed as a single MPD filter to look for titles
130               in the library. Moreover, with tags, comma separated values are also ANDed.<br>
131               For instance setting "<code class="option">genre=rock</code>" and
132               "<code class="option">date=1982,1983,1984,1985,1986,1987,1988,1989</code>"
133               will end up looking for track tagged with genre <code class="option">rock</code>
134               and date within 1985 through 1990.<br>
135               Using an MPD filter to replace <code class="option">date</code> you can achieve
136               the same with the following setting: "<code class="option">genre=rock</code>" and
137               "<code class="option">filter=(date =~ '198[2-9]')</code>" (provided your MPD server
138               was compiled with libpcre).
139             </p><dt><span class="term"><code class="option">[tags]</code></span></dt><dd></dd><dt><span class="term"><code class="option">filter=</code></span></dt><dd><p>You can use here any valid MPD filter as defined in MPD protocol documentation.</p></dd><dt><span class="term"><code class="option">comment=</code></span></dt><dd></dd><dt><span class="term"><code class="option">date=</code></span></dt><dd></dd><dt><span class="term"><code class="option">genre=</code></span></dt><dd></dd><dt><span class="term"><code class="option">label=</code></span></dt><dd></dd><dt><span class="term"><code class="option">priority=</code><em class="replaceable"><code>80</code></em></span></dt><dd><p>
140                             Plugin priority
141                         </p></dd><dt><span class="term"><code class="option">track_to_add=</code><em class="replaceable"><code>1</code></em></span></dt><dd><p>How many track(s) to add.</p></dd></div></div><div class="refsect1"><a name="queue_mode"></a><h2>QUEUE MODES</h2><p>Different queue modes are available with some plugins (check for
142         <code class="option">queue_mode</code> presence in plugin config).
143         </p><p>mpd-sima tries preferably to chose among unplayed artists or
144         at least not recently played artist.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">track</code></span></dt><dd><p>Queue a similar track chosen at random from a similar artist.</p></dd><dt><span class="term"><code class="option">top</code></span></dt><dd><p>Queue a track from a similar artist, chosen among
145                 "top tracks" according to last.fm data mining.</p></dd><dt><span class="term"><code class="option">album</code></span></dt><dd><p>Queue a whole album chosen at random from a similar artist.</p><p><span class="emphasis"><em>Nota Bene:</em></span><br> Due to the
146                 track point of view of database build upon tracks tags
147                 an album lookup for a specific artist will return
148                 albums as soon as this artist appears in a single track
149                 of the album.<br>
150                 For instance looking for album from "The Velvet
151                 Underground" will fetch "Last Days" and "Juno" OSTs
152                 because the band appears on the soundtrack of these two
153                 movies.<br>
154                 A solution is for you to set AlbumArtists tag to
155                 something different than the actual artist of the
156                 track. For compilations, OSTs etc. a strong convention
157                 is to use "Various Artists" for this tag.</p><p>mpd-sima is currently looking for AlbumArtists tags
158                 and avoid album where this tag is set with "Various
159                 Artists". If a single track within an album is found
160                 with AlbumArtists:"Various Artists" the complete album
161                 is skipped and won't be queued.</p></dd></dl></div></div><div class="refsect1"><a name="files"></a><h2>FILES</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="filename">${XDG_CONFIG_HOME}/mpd_sima/mpd_sima.cfg</code></span></dt><dd><p>Configuration file.</p></dd><dt><span class="term"><code class="filename">${XDG_DATA_HOME}/mpd_sima/sima.db</code></span></dt><dd><p>SQLite DB file.</p></dd><dt><span class="term"><code class="filename">${XDG_DATA_HOME}/mpd_sima/WEB_SERVICE/</code></span></dt><dd><p>Persistent http cache.</p></dd></dl></div><p>Usually <code class="envar">XDG_DATA_HOME</code> is set to
162             <code class="filename">${HOME}/.local/share</code> and <code class="envar">XDG_CONFIG_HOME</code> to
163             <code class="filename">${HOME}/.config</code>.<br>You may override them using
164             command line option <code class="option">--var-dir</code> and <code class="option">--config</code> (cf.
165             <span class="citerefentry"><span class="refentrytitle">mpd-sima</span>(1)</span>)</p></div><div class="refsect1"><a name="feedback"></a><h2>FEEDBACK/BUGS</h2><p>The maintainer would be more than happy to ear from you, don't hesitate to send feedback, <a class="ulink" href="https://kaliko.me/contact/" target="_top">https://kaliko.me/contact/</a>.</p><p><acronym class="acronym">XMPP</acronym> users are welcome to join the dedicated chat room at <a class="ulink" href="kaliko.me@conf.azylum.org" target="_top">kaliko.me@conf.azylum.org</a>.</p></div><div class="refsect1"><a name="see_also"></a><h2>SEE ALSO</h2><p><span class="citerefentry"><span class="refentrytitle">mpc</span>(1)</span>, <span class="citerefentry"><span class="refentrytitle">mpd</span>(1)</span></p><p>
166         <code class="filename">/usr/share/doc/mpd-sima/</code>
167     </p></div></div></body></html>