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 — 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 “FILES”</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]
10 # Setup internal plugins
12 history_duration=48 # 2 days
16 # Look for files with tagged with genre "electonica" OR "IDM" OR "glitch"
17 genre = electonica, IDM, glitch
20 # keep 30 played tracks in playlist
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]
28 history_duration=48 # 2 days
36 # keep 30 played tracks in playlist
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, “LONG HEADER FIELDS”); <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
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
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>
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,
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>
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 “QUEUE MODES”</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>
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,
123 it does not work out of the box.</p><p> 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>,
125 <code class="option">'label'</code> and <code class="option">'originaldate'</code>. It currently
126 supports single track queuing only, no album mode for this plugin.</p><p>In addition to supported tags above you can use an MPD filter. Please refer to
127 MPD protocol documentation for more.</p><p>All entries in this section are ANDed as a single MPD filter to look for titles
128 in the library. Moreover, with tags, comma separated values are also ORed.<br>
129 For instance setting "<code class="option">genre=rock</code>" and
130 "<code class="option">date=1982,1983,1984,1985,1986,1987,1988,1989</code>"
131 will end up looking for track tagged with genre <code class="option">rock</code>
132 and date within 1985 through 1990.<br>
133 Using an MPD filter to replace <code class="option">date</code> you can achieve
134 the same with the following setting: "<code class="option">genre=rock</code>" and
135 "<code class="option">filter=(date =~ '198[2-9]+')</code>" (provided your MPD server
136 was compiled with libpcre).
137 </p><dt><span class="term"><code class="option">[tags]</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
138 <em class="replaceable"><code>track</code></em>,
139 <em class="replaceable"><code>album</code></em> (see <a class="xref" href="#queue_mode" title="QUEUE MODES">the section called “QUEUE MODES”</a> for info about queue modes).</p></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>
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><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
142 <code class="option">album</code> queue mode.</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
143 <code class="option">queue_mode</code> presence in plugin config).
144 </p><p>mpd-sima tries preferably to chose among unplayed artists or
145 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
146 "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
147 track point of view of database build upon tracks tags
148 an album lookup for a specific artist will return
149 albums as soon as this artist appears in a single track
151 For instance looking for album from "The Velvet
152 Underground" will fetch "Last Days" and "Juno" OSTs
153 because the band appears on the soundtrack of these two
155 A solution is for you to set AlbumArtists tag to
156 something different than the actual artist of the
157 track. For compilations, OSTs etc. a strong convention
158 is to use "Various Artists" for this tag.</p><p>mpd-sima is currently looking for AlbumArtists tags
159 and avoid album where this tag is set with "Various
160 Artists". If a single track within an album is found
161 with AlbumArtists:"Various Artists" the complete album
162 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
163 <code class="filename">${HOME}/.local/share</code> and <code class="envar">XDG_CONFIG_HOME</code> to
164 <code class="filename">${HOME}/.config</code>.<br>You may override them using
165 command line option <code class="option">--var-dir</code> and <code class="option">--config</code> (cf.
166 <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>
167 <code class="filename">/usr/share/doc/mpd-sima/</code>
168 </p></div></div></body></html>