]> kaliko git repositories - mpd-sima.git/blob - data/man/mpd_sima.cfg.5.xml
Fixed mpd_sima.cfg.5, regenerate manual
[mpd-sima.git] / data / man / mpd_sima.cfg.5.xml
1 <?xml version='1.0' encoding='UTF-8'?>
2 <!--
3
4 `xsltproc -''-nonet \
5           -''-param man.charmap.use.subset "0" \
6           -''-param make.year.ranges "1" \
7           -''-param make.single.year.ranges "1" \
8           /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
9           manpage.xml'
10
11 A manual page <package>.<section> will be generated. You may view the
12 manual page with: nroff -man <package>.<section> | less'. A typical entry
13 in a Makefile or Makefile.am is:
14
15 DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
16 XP     = xsltproc -''-nonet -''-param man.charmap.use.subset "0"
17
18 manpage.1: manpage.xml
19         $(XP) $(DB2MAN) $<
20
21 The xsltproc binary is found in the xsltproc package. The XSL files are in
22 docbook-xsl. A description of the parameters you can use can be found in the
23 docbook-xsl-doc-* packages. Please remember that if you create the nroff
24 version in one of the debian/rules file targets (such as build), you will need
25 to include xsltproc and docbook-xsl in your Build-Depends control field.
26 Alternatively use the xmlto command/package. That will also automatically
27 pull in xsltproc and docbook-xsl.
28
29 Notes for using docbook2x: docbook2x-man does not automatically create the
30 AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
31 <refsect1> ... </refsect1>.
32
33 To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
34 read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
35 found in the docbook-xsl-doc-html package.
36
37 Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`
38
39 General documentation about man-pages and man-page-formatting:
40 man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/
41
42 -->
43 <!DOCTYPE refentry [
44
45   <!ENTITY dhsection   "5">
46   <!ENTITY dhpackage "mpd-sima">
47   <!ENTITY dhutils "mpd_sima.cfg">
48
49 ]>
50
51 <refentry xmlns="http://docbook.org/ns/docbook"
52           xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0">
53   <xi:include href="info.xml" />
54   <refmeta>
55       <refentrytitle>&dhutils;</refentrytitle>
56       <manvolnum>&dhsection;</manvolnum>
57   </refmeta>
58     <refnamediv>
59         <refname>&dhutils;</refname>
60         <refpurpose>&dhpackage; will try to maintain some titles ahead in the queue
61             following different policies. This manual document the
62             configuration file for &dhpackage;.</refpurpose>
63     </refnamediv>
64     <refsect1 id="description">
65         <title>DESCRIPTION</title>
66         <para>This manual page documents briefly <command>&dhpackage;</command>
67             configuration options available in user configuration file
68             (see <xref linkend="files"/>).</para>
69     </refsect1>
70     <refsect1 id="examples">
71         <title>EXAMPLES</title>
72         <!--
73         <refsect2 id="track">
74             <title>Default queue mode, similar artist.</title>
75             <para></para>
76             <para></para>
77         </refsect2> -->
78         <refsect2 id="album">
79             <title>Album queue mode.</title>
80             <para>Here is an example of album queue configuration.</para>
81             <programlisting><xi:include href="album.cfg" parse="text" />
82             </programlisting>
83         </refsect2>
84     </refsect1>
85
86     <refsect1 id="options">
87         <title>Configuration file</title>
88         <para>The configuration file consists of sections, led by a
89             <command>[section]</command> header and followed by <option>name: value</option>
90             entries, with continuations in the style of RFC 822 (see section
91             3.1.1, “LONG HEADER FIELDS”); <option>name=value</option> is also accepted. Lines
92             beginning with <parameter>'#'</parameter> or <parameter>';'</parameter>
93             are ignored and may be used to provide comments (<emphasis>Nota
94                 Bene:</emphasis> inline comment are possible using <parameter>'#'</parameter>).</para>
95         <title>OPTIONS</title>
96         <para>The default values are used in the options lists below.</para>
97         <refsect2 id="MPD">
98             <title>MPD section</title>
99             <para>This section is meant to configure MPD access, MPD host
100                 address / port and password if necessary.</para>
101             <variablelist>
102                 <!-- Use the variablelist.term.separator and the
103                 variablelist.term.break.after parameters to
104                 control the term elements. -->
105                 <varlistentry> <!-- MPD -->
106                     <term><option>[MPD]</option></term>
107                     <listitem></listitem>
108                 </varlistentry>
109                 <varlistentry> <!-- MPD.host -->
110                     <term><option>host=</option><replaceable>localhost</replaceable></term>
111                     <listitem>
112                         <para>Set MPD host. Use IP or FQDN.</para>
113                     </listitem>
114                 </varlistentry>
115                 <varlistentry> <!-- MPD.port -->
116                     <term><option>port=</option><replaceable>6600</replaceable></term>
117                     <listitem>
118                         <para>Set host port to access MPD to.</para>
119                     </listitem>
120                 </varlistentry>
121                 <varlistentry> <!-- MPD.password -->
122                     <term><option>password=</option><replaceable>s3cr3t</replaceable></term>
123                     <listitem>
124                         <para>Set MPD password to use. Do not use this option
125                             if you don't have enabled password protected access
126                             on your MPD server.</para>
127                     </listitem>
128                 </varlistentry>
129             </variablelist>
130         </refsect2>
131         <refsect2 id="log">
132             <para>Configure logging.</para>
133             <title>log section</title>
134             <variablelist>
135                 <varlistentry> <!-- LOG -->
136                     <term><option>[log]</option></term>
137                     <listitem><para></para></listitem>
138                 </varlistentry>
139                 <varlistentry> <!-- log.logfile -->
140                     <term><option>logfile=</option></term>
141                     <listitem>
142                         <para>File to log to, usually in dæmon mode.<sbr />Defaut
143                             (empty or unset) is to log to stdin/stdout.</para>
144                     </listitem>
145                 </varlistentry>
146                 <varlistentry> <!-- log.verbosity -->
147                     <term><option>verbosity=</option><replaceable>info</replaceable></term>
148                     <listitem>
149                         <para>Logging verbosity among
150                             <replaceable>debug</replaceable>,
151                             <replaceable>info</replaceable>,
152                             <replaceable>warning</replaceable>,
153                             <replaceable>error</replaceable>.</para>
154                     </listitem>
155                 </varlistentry>
156             </variablelist>
157         </refsect2>
158         <refsect2 id="sima">
159             <title>sima section</title>
160             <para>Core &dhutils; configuration.</para>
161             <variablelist>
162                 <varlistentry> <!-- SIMA -->
163                     <term><option>[sima]</option></term>
164                     <listitem><para></para></listitem>
165                 </varlistentry>
166                 <varlistentry> <!-- sima.history_duration -->
167                     <term><option>history_duration=</option><replaceable>8</replaceable></term>
168                     <listitem>
169                         <para>How far to look back in history to avoid to play
170                             twice the same track/title (duration in
171                             hours).</para>
172                     </listitem>
173                 </varlistentry>
174                 <varlistentry> <!-- sima.queue_length -->
175                     <term><option>queue_length=</option><replaceable>1</replaceable></term>
176                     <listitem>
177                         <para>This value triggers queue process if the queue
178                             length is less than specified
179                             queue_length.</para>
180                     </listitem>
181                 </varlistentry>
182                 <varlistentry> <!-- sima.user_db -->
183                     <term><option>user_db=</option><replaceable>false</replaceable></term>
184                     <listitem>
185                         <para>Temporarily removed feature</para>
186                         <!--<para>Look for user defined similarities in user data base.</para>-->
187                     </listitem>
188                 </varlistentry>
189             </variablelist>
190             <para>&dhpackage;'s plugin management for internal source plugin
191                 and contrib (ie. external plugins).<sbr /> Plugins list is a
192                 comma separated string list.<sbr /> Optional plugin's
193                 configuration lays in its own section.<sbr />For instance a
194                 "AwesomePlugin" declared here gets its configuration from the
195                 corresponding section "[awesomeplugin]".<sbr />internal plugins
196                 will look for a section named after the lower-cased name of the
197                 pluglin, ie.  RandomFallBack → randomfallback.
198             </para>
199             <variablelist>
200                 <varlistentry> <!-- sima.internal -->
201                     <term><option>internal=</option><replaceable>Crop, RandomFallBack, Lastfm</replaceable></term>
202                     <listitem>
203                         <para><option>Crop</option> and <option>RandomFallback</option>
204                             are utilities plugins while <option>Lastfm</option> is the
205                             actual queue plugin.<sbr /> Another queue plugin is available as
206                             a "techno preview", it relies on EchoNest web services, replace
207                             <option>LastFm</option> with <option>EchoNest</option> to try.</para>
208                     </listitem>
209                 </varlistentry>
210                 <varlistentry> <!-- sima.contrib -->
211                     <term><option>contrib=</option><replaceable></replaceable></term>
212                     <listitem>
213                         <para></para>
214                     </listitem>
215                 </varlistentry>
216             </variablelist>
217         </refsect2>
218         <refsect2 id="crop">
219             <title>Crop section</title>
220             <para>crop plugin's configuration:</para>
221                 <varlistentry> <!-- crop -->
222                     <term><option>[crop]</option></term>
223                 </varlistentry>
224                 <varlistentry> <!-- crop.consume -->
225                     <term><option>consume=</option><replaceable>0</replaceable></term>
226                     <listitem>
227                         <para>How many played tracks to keep in the queue.
228                             Allows you to maintain a fixed length queue.
229                             Set to 0 to keep all played tracks.
230                         </para>
231                     </listitem>
232                 </varlistentry>
233         </refsect2>
234         <refsect2 id="randomfallback">
235             <title>RandomFallback section</title>
236             <para>RandomFallback plugin's configuration:</para>
237                 <varlistentry> <!-- randomfallback -->
238                     <term><option>[randomfallback]</option></term>
239                 </varlistentry>
240                 <varlistentry> <!-- randomfallback.flavour -->
241                     <term><option>flavour=</option><replaceable>sensible</replaceable></term>
242                     <listitem>
243                         <para>When no similar tracks are found, falling back to
244                             random queuing. Different mode, aka random flavour,
245                             are available:
246                             <replaceable>pure</replaceable>,
247                             <replaceable>sensible</replaceable>,
248                             <replaceable>genre</replaceable>.
249                             <itemizedlist mark='bullet'>
250                                 <listitem>
251                                     <para><replaceable>pure</replaceable>, pure random choice, even among recently played track.
252                                     </para>
253                                 </listitem>
254                                 <listitem >
255                                     <para><replaceable>sensible</replaceable>, use play history to filter chosen tracks.
256                                     </para>
257                                 </listitem>
258                                 <listitem>
259                                     <para><replaceable>genre</replaceable>, Not implemented yet.
260                                     </para>
261                                 </listitem>
262                             </itemizedlist>
263                         </para>
264                     </listitem>
265                 </varlistentry>
266         </refsect2>
267         <refsect2 id="lastfm">
268             <title>LastFm section</title>
269             <para>LastFM plugin's configuration.</para>
270             <variablelist>
271                 <varlistentry> <!-- lastfm -->
272                     <term><option>[lastfm]</option></term>
273                 </varlistentry>
274                 <varlistentry> <!-- lastfm.queue_mode -->
275                     <term><option>queue_mode=</option><replaceable>track</replaceable></term>
276                     <listitem>
277                         <para>Queue mode to use among
278                             <replaceable>track</replaceable>,
279                             <replaceable>top</replaceable> and
280                             <replaceable>album</replaceable> (see <xref linkend="queue_mode"/> for info about queue modes).</para>
281                     </listitem>
282                 </varlistentry>
283                 <varlistentry> <!-- lastfm.max_art -->
284                     <term><option>max_art=</option><replaceable>10</replaceable></term>
285                     <listitem>
286                         <para>Number of similar artist to retrieve from local
287                             media library.<sbr />When set to something superior
288                             to zero, it tries to get as much similar artists
289                             from media library.</para>
290                     </listitem>
291                 </varlistentry>
292                 <varlistentry> <!-- lastfm.depth -->
293                     <term><option>depth=</option><replaceable>1</replaceable></term>
294                     <listitem>
295                         <para>How many artists to base on similar artists
296                             search.<sbr /> The first is the last played artist
297                             and so on back in the history. Highter depth
298                             generates wider suggestions, it might help to
299                             reduce looping over same artists.
300                             </para>
301                     </listitem>
302                 </varlistentry>
303                 <varlistentry> <!-- lastfm.single_album -->
304                     <term><option>single_album=</option><replaceable>false</replaceable></term>
305                     <listitem>
306                         <para>Prevent from queueing a track from the same album
307                             (it often happens with OST).<sbr />
308                             Only relevant in "track" queue mode.</para>
309                     </listitem>
310                 </varlistentry>
311                 <varlistentry> <!-- lastfm.track_to_add -->
312                     <term><option>track_to_add=</option><replaceable>1</replaceable></term>
313                     <listitem>
314                         <para>How many track(s) to add. Only relevant in
315                             <option>top</option> and <option>track</option>
316                             queue modes.</para>
317                     </listitem>
318                 </varlistentry>
319                 <varlistentry> <!-- lastfm.album_to_add -->
320                     <term><option>album_to_add=</option><replaceable>1</replaceable></term>
321                     <listitem>
322                         <para>How many album(s) to add. Only relevant in
323                             <option>album</option> queue modes.</para>
324                     </listitem>
325                 </varlistentry>
326                 <varlistentry> <!-- lastfm.cache -->
327                     <term><option>cache=</option><replaceable>True</replaceable></term>
328                     <listitem>
329                         <para>Whether or not to use on-disk persistent http
330                             cache.<sbr />When set to "true", sima will use a
331                             persistent cache for its http client. The cache is
332                             written along with the dbfile in:<sbr />
333                             <filename>$XDG_CONFIG_HOME/mpd_sima/http/WEB_SERVICE</filename>.<sbr/>
334                             If set to "false", caching is still done but in memory.
335                         </para>
336                     </listitem>
337                 </varlistentry>
338             </variablelist>
339         </refsect2>
340     </refsect1>
341     <refsect1 id="queue_mode">
342         <title>QUEUE MODES</title>
343         <para>&dhpackage; offers different queue modes. All of them pick up
344             tracks from artists similar to the last track in the queue.</para>
345         <para>&dhpackage; tries preferably to chose among unplayed artists or
346             at least not recently played artist. Concerning track and album
347             queue modes titles are chosen purely at random among unplayed
348             tracks.</para>
349         <variablelist>
350             <varlistentry>
351                 <term><option>track</option></term>
352                 <listitem>
353                     <para>Queue a similar track chosen at random from a similar artist.</para>
354                 </listitem>
355             </varlistentry>
356             <varlistentry>
357                 <term><option>top</option></term>
358                 <listitem>
359                     <para>Queue a track from a similar artist, chosen among
360                         "top tracks" according to last.fm data mining.</para>
361                 </listitem>
362             </varlistentry>
363             <varlistentry>
364                 <term><option>album</option></term>
365                 <listitem>
366                     <para>Queue a whole album chosen at random from a similar artist.</para>
367                     <para><emphasis>Nota Bene:</emphasis><sbr /> Due to the
368                         track point of view of database build upon tracks tags
369                         an album lookup for a specific artist will return
370                         albums as soon as this artist appears in a single track
371                         of the album.<sbr />
372                         For instance looking for album from "The Velvet
373                         Underground" will fetch "Last Days" and "Juno" OSTs
374                         because the band appears on the soundtrack of these two
375                         movies.<sbr />
376                         A solution is for you to set AlbumArtists tag to
377                         something different than the actual artist of the
378                         track. For compilations, OSTs etc. a strong convention
379                         is to use "Various Artists" for this tag.</para>
380                     <para>&dhpackage; is currently looking for AlbumArtists tags
381                         and avoid album where this tag is set with "Various
382                         Artists". If a single track within an album is found
383                         with AlbumArtists:"Various Artists" the complete album
384                         is skipped and won't be queued.<sbr />
385                         It is planned to allow users to set the values of
386                         AlbumArtists tag triggering this behaviour.  cf.
387                         feature request #2085 on the tracker.</para>
388                 </listitem>
389             </varlistentry>
390         </variablelist>
391     </refsect1>
392   <xi:include href="files.xml" />
393   <xi:include href="feedback.xml" />
394   <xi:include href="seealso.xml" />
395 </refentry>