aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/mpdconf.example33
-rw-r--r--doc/protocol.xml47
-rw-r--r--doc/user.xml544
3 files changed, 417 insertions, 207 deletions
diff --git a/doc/mpdconf.example b/doc/mpdconf.example
index 4b55f8801..73a71f1f4 100644
--- a/doc/mpdconf.example
+++ b/doc/mpdconf.example
@@ -325,13 +325,6 @@ input {
# mixer_type "none" # optional
#}
#
-# If MPD has been compiled with libsamplerate support, this setting specifies
-# the sample rate converter to use. Possible values can be found in the
-# mpd.conf man page or the libsamplerate documentation. By default, this is
-# setting is disabled.
-#
-#samplerate_converter "Fastest Sinc Interpolator"
-#
###############################################################################
@@ -385,29 +378,3 @@ input {
#id3v1_encoding "ISO-8859-1"
#
###############################################################################
-
-
-# SIDPlay decoder #############################################################
-#
-# songlength_database:
-# Location of your songlengths file, as distributed with the HVSC.
-# The sidplay plugin checks this for matching MD5 fingerprints.
-# See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
-#
-# default_songlength:
-# This is the default playing time in seconds for songs not in the
-# songlength database, or in case you're not using a database.
-# A value of 0 means play indefinitely.
-#
-# filter:
-# Turns the SID filter emulation on or off.
-#
-#decoder {
-# plugin "sidplay"
-# songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
-# default_songlength "120"
-# filter "true"
-#}
-#
-###############################################################################
-
diff --git a/doc/protocol.xml b/doc/protocol.xml
index 839aa2d03..49bc20160 100644
--- a/doc/protocol.xml
+++ b/doc/protocol.xml
@@ -238,9 +238,10 @@
"before" the current song in that sequence) will only be
scheduled for repeated playback if its priority has become
bigger than the priority of the current song. Decreasing the
- priority of a song will moved it farther to the end of the
+ priority of a song will move it farther to the end of the
sequence. Changing the priority of the current song has no
- effect on the sequence.
+ effect on the sequence. During playback, a song's priority is
+ reset to zero.
</para>
</section>
</chapter>
@@ -517,6 +518,15 @@
</listitem>
<listitem>
<para>
+ <varname>duration</varname>:
+ <footnote id="since_0_20"><simpara>Introduced with <application>MPD</application> 0.20</simpara></footnote>
+ <returnvalue>
+ Duration of the current song in seconds.
+ </returnvalue>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
<varname>bitrate</varname>:
<returnvalue>instantaneous bitrate in
kbps</returnvalue>
@@ -1559,6 +1569,7 @@ OK
<arg choice="req"><replaceable>TYPE</replaceable></arg>
<arg choice="req"><replaceable>WHAT</replaceable></arg>
<arg choice="opt"><replaceable>...</replaceable></arg>
+ <arg choice="opt">window <replaceable>START</replaceable>:<replaceable>END</replaceable></arg>
</cmdsynopsis>
</term>
<listitem>
@@ -1603,6 +1614,13 @@ OK
<para>
<varname>WHAT</varname> is what to find.
</para>
+
+ <para>
+ <varname>window</varname> can be used to query only a
+ portion of the real response. The parameter is two
+ zero-based record numbers; a start number and an end
+ number.
+ </para>
</listitem>
</varlistentry>
<varlistentry id="command_findadd">
@@ -1795,6 +1813,7 @@ OK
<arg choice="req"><replaceable>TYPE</replaceable></arg>
<arg choice="req"><replaceable>WHAT</replaceable></arg>
<arg choice="opt"><replaceable>...</replaceable></arg>
+ <arg choice="opt">window <replaceable>START</replaceable>:<replaceable>END</replaceable></arg>
</cmdsynopsis>
</term>
<listitem>
@@ -2119,6 +2138,30 @@ OK
</para>
</listitem>
</varlistentry>
+
+ <varlistentry id="command_sticker_find_equals">
+ <term>
+ <cmdsynopsis>
+ <command>sticker</command>
+ <arg choice="plain">find</arg>
+ <arg choice="req"><replaceable>TYPE</replaceable></arg>
+ <arg choice="req"><replaceable>URI</replaceable></arg>
+ <arg choice="req"><replaceable>NAME</replaceable></arg>
+ <arg choice="plain">=</arg>
+ <arg choice="req"><replaceable>VALUE</replaceable></arg>
+ </cmdsynopsis>
+ </term>
+ <listitem>
+ <para>
+ Searches for stickers with the given value.
+ </para>
+
+ <para>
+ Other supported operators are:
+ "<function>&lt;</function>", "<function>&gt;</function>"
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</section>
diff --git a/doc/user.xml b/doc/user.xml
index d1c7ff595..7a60b04d6 100644
--- a/doc/user.xml
+++ b/doc/user.xml
@@ -573,7 +573,7 @@ systemctl start mpd.socket</programlisting>
<row>
<entry>
<varname>mixer_type</varname>
- <parameter>hardware|software|none</parameter>
+ <parameter>hardware|software|null|none</parameter>
</entry>
<entry>
Specifies which mixer should be used for this audio
@@ -581,7 +581,9 @@ systemctl start mpd.socket</programlisting>
linkend="alsa_output">ALSA</link>, <link
linkend="oss_output">OSS</link> and <link
linkend="pulse_output">PulseAudio</link>), the
- software mixer or no mixer
+ software mixer, the "null" mixer
+ (<parameter>null</parameter>; allows setting the
+ volume, but with no effect) or no mixer
(<parameter>none</parameter>). By default, the
hardware mixer is used for devices which support it,
and none for the others.
@@ -767,177 +769,10 @@ systemctl start mpd.socket</programlisting>
</para>
<para>
- The following resamplers are available (if enabled at
- compile time):
+ Check the <link linkend="resampler_plugins">resampler plugin
+ reference</link> for a list of resamplers and how to
+ configure them.
</para>
-
- <itemizedlist>
- <listitem>
- <para>
- <ulink
- url="http://www.mega-nerd.com/SRC/"><application>libsamplerate</application></ulink>
- a.k.a. Secret Rabbit Code (SRC).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <ulink
- url="http://sourceforge.net/projects/soxr/"><application>libsoxr</application></ulink>,
- the SoX Resampler library
- </para>
- </listitem>
-
- <listitem>
- <para>
- internal: low CPU usage, but very poor quality. This is
- the fallback if <application>MPD</application> was
- compiled without an external resampler.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The setting <varname>samplerate_converter</varname> controls
- how <application>MPD</application> shall resample music.
- Possible values:
- </para>
-
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- Value
- </entry>
- <entry>
- Description
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- "<parameter>internal</parameter>"
- </entry>
- <entry>
- The internal resampler. Low CPU usage, but very
- poor quality.
- </entry>
- </row>
-
- <row>
- <entry>
- "<parameter>soxr very high</parameter>"
- </entry>
- <entry>
- Use <application>libsoxr</application> with "Very
- High Quality" setting.
- </entry>
- </row>
-
- <row>
- <entry>
- "<parameter>soxr high</parameter>" or
- "<parameter>soxr</parameter>"
- </entry>
- <entry>
- Use <application>libsoxr</application> with "High
- Quality" setting.
- </entry>
- </row>
-
- <row>
- <entry>
- "<parameter>soxr medium</parameter>"
- </entry>
- <entry>
- Use <application>libsoxr</application> with "Medium
- Quality" setting.
- </entry>
- </row>
-
- <row>
- <entry>
- "<parameter>soxr low</parameter>"
- </entry>
- <entry>
- Use <application>libsoxr</application> with "Low
- Quality" setting.
- </entry>
- </row>
-
- <row>
- <entry>
- "<parameter>soxr quick</parameter>"
- </entry>
- <entry>
- Use <application>libsoxr</application> with "Quick"
- setting.
- </entry>
- </row>
-
- <row>
- <entry>
- "<parameter>Best Sinc Interpolator</parameter>" or
- "<parameter>0</parameter>"
- </entry>
- <entry>
- <application>libsamplerate</application>: Band
- limited sinc interpolation, best quality, 97dB SNR,
- 96% BW.
- </entry>
- </row>
-
- <row>
- <entry>
- "<parameter>Medium Sinc Interpolator</parameter>" or
- "<parameter>1</parameter>"
- </entry>
- <entry>
- <application>libsamplerate</application>: Band
- limited sinc interpolation, medium quality, 97dB
- SNR, 90% BW.
- </entry>
- </row>
-
- <row>
- <entry>
- "<parameter>Fastest Sinc Interpolator</parameter>" or
- "<parameter>2</parameter>"
- </entry>
- <entry>
- <application>libsamplerate</application>: Band
- limited sinc interpolation, fastest, 97dB SNR, 80%
- BW.
- </entry>
- </row>
-
- <row>
- <entry>
- "<parameter>ZOH Sinc Interpolator</parameter>" or
- "<parameter>3</parameter>"
- </entry>
- <entry>
- <application>libsamplerate</application>: Zero order
- hold interpolator, very fast, very poor quality with
- audible distortions.
- </entry>
- </row>
-
- <row>
- <entry>
- "<parameter>Linear Interpolator</parameter>" or
- "<parameter>4</parameter>"
- </entry>
- <entry>
- <application>libsamplerate</application>: Linear
- interpolator, very fast, poor quality.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
</section>
</section>
@@ -1527,6 +1362,19 @@ buffer_size: 16384</programlisting>
<application>MPD</application> instance.
</entry>
</row>
+ <row>
+ <entry>
+ <varname>keepalive</varname>
+ <parameter>yes|no</parameter>
+ </entry>
+ <entry>
+ Send TCP keepalive packets to the "master"
+ <application>MPD</application> instance? This option can
+ help avoid certain firewalls dropping inactive
+ connections, at the expensive of a very small amount of
+ additional network traffic. Disabled by default.
+ </entry>
+ </row>
</tbody>
</tgroup>
</informaltable>
@@ -1956,6 +1804,64 @@ buffer_size: 16384</programlisting>
</informaltable>
</section>
+ <section id="sidplay_decoder">
+ <title><varname>sidplay</varname></title>
+
+ <para>
+ C64 SID decoder based on
+ <application>libsidplay</application>.
+ </para>
+
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Setting</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <varname>songlength_database</varname>
+ <parameter>PATH</parameter>
+ </entry>
+ <entry>
+ Location of your songlengths file, as distributed
+ with the HVSC. The <varname>sidplay</varname>
+ plugin checks this for matching MD5 fingerprints.
+ See <ulink
+ url="http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq">http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq</ulink>.
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <varname>default_songlength</varname>
+ <parameter>SECONDS</parameter>
+ </entry>
+ <entry>
+ This is the default playing time in seconds for
+ songs not in the songlength database, or in case
+ you're not using a database. A value of 0 means
+ play indefinitely.
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <varname>filter</varname>
+ <parameter>yes|no</parameter>
+ </entry>
+ <entry>
+ Turns the SID filter emulation on or off.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </section>
+
<section>
<title><varname>wildmidi</varname></title>
@@ -2197,6 +2103,251 @@ buffer_size: 16384</programlisting>
</section>
</section>
+ <section id="resampler_plugins">
+ <title>Resampler plugins</title>
+
+ <para>
+ The resampler can be configured in a block named
+ <varname>resampler</varname>, for example:
+ </para>
+
+ <programlisting>resampler {
+ plugin "soxr"
+ quality "very high"
+}</programlisting>
+
+ <para>
+ The following table lists the <varname>resampler</varname>
+ options valid for all plugins:
+ </para>
+
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ Name
+ </entry>
+ <entry>
+ Description
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <varname>plugin</varname>
+ </entry>
+ <entry>
+ The name of the plugin.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <section id="internal_resampler">
+ <title><varname>internal</varname></title>
+
+ <para>
+ A resampler built into <application>MPD</application>. Its
+ quality is very poor, but its CPU usage is low. This is the
+ fallback if <application>MPD</application> was compiled
+ without an external resampler.
+ </para>
+ </section>
+
+ <section id="libsamplerate_resampler">
+ <title><varname>libsamplerate</varname></title>
+
+ <para>
+ A resampler using <ulink
+ url="http://www.mega-nerd.com/SRC/"><application>libsamplerate</application></ulink>
+ a.k.a. Secret Rabbit Code (SRC).
+ </para>
+
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ Name
+ </entry>
+ <entry>
+ Description
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <varname>type</varname>
+ </entry>
+ <entry>
+ The interpolator type. See below for a list of
+ known types.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>
+ The following converter types are provided by
+ <application>libsamplerate</application>:
+ </para>
+
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ Type
+ </entry>
+ <entry>
+ Description
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ "<parameter>Best Sinc Interpolator</parameter>" or
+ "<parameter>0</parameter>"
+ </entry>
+ <entry>
+ Band limited sinc interpolation, best quality, 97dB
+ SNR, 96% BW.
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ "<parameter>Medium Sinc Interpolator</parameter>" or
+ "<parameter>1</parameter>"
+ </entry>
+ <entry>
+ Band limited sinc interpolation, medium quality,
+ 97dB SNR, 90% BW.
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ "<parameter>Fastest Sinc Interpolator</parameter>" or
+ "<parameter>2</parameter>"
+ </entry>
+ <entry>
+ Band limited sinc interpolation, fastest, 97dB SNR,
+ 80% BW.
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ "<parameter>ZOH Sinc Interpolator</parameter>" or
+ "<parameter>3</parameter>"
+ </entry>
+ <entry>
+ Zero order hold interpolator, very fast, very poor
+ quality with audible distortions.
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ "<parameter>Linear Interpolator</parameter>" or
+ "<parameter>4</parameter>"
+ </entry>
+ <entry>
+ Linear interpolator, very fast, poor quality.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </section>
+
+ <section id="soxr_resampler">
+ <title><varname>soxr</varname></title>
+
+ <para>
+ A resampler using <ulink
+ url="http://sourceforge.net/projects/soxr/"><application>libsoxr</application></ulink>,
+ the SoX Resampler library
+ </para>
+
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ Name
+ </entry>
+ <entry>
+ Description
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <varname>quality</varname>
+ </entry>
+ <entry>
+ The <application>libsoxr</application> quality
+ setting. Valid values are:
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ "<parameter>very high</parameter>"
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ "<parameter>high</parameter>" (the default)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ "<parameter>medium</parameter>"
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ "<parameter>low</parameter>"
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ "<parameter>quick</parameter>"
+ </para>
+ </listitem>
+ </itemizedlist>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <varname>threads</varname>
+ </entry>
+ <entry>
+ The number of <application>libsoxr</application>
+ threads. "0" means "automatic". The default is "1"
+ which disables multi-threading.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </section>
+ </section>
+
<section id="output_plugins">
<title>Output plugins</title>
@@ -2970,6 +3121,55 @@ buffer_size: 16384</programlisting>
Write to this file.
</entry>
</row>
+
+ <row>
+ <entry>
+ <varname>format_path</varname>
+ <parameter>P</parameter>
+ </entry>
+ <entry>
+ <para>
+ An alternative to <varname>path</varname> which
+ provides a format string referring to tag values.
+
+ The special tag <varname>iso8601</varname> emits
+ the current date and time in <ulink
+ url="https://en.wikipedia.org/wiki/ISO_8601">ISO8601</ulink>
+ format (UTC).
+ Every time a new song starts or a new tag gets
+ received from a radio station, a new file is
+ opened. If the format does not render a file
+ name, nothing is recorded.
+ </para>
+
+ <para>
+ A tag name enclosed in percent signs ('%') is
+ replaced with the tag value. Example:
+ <parameter>~/.mpd/recorder/%artist% -
+ %title%.ogg</parameter>
+ </para>
+
+ <para>
+ Square brackets can be used to group a substring.
+ If none of the tags referred in the group can be
+ found, the whole group is omitted. Example:
+ <parameter>[~/.mpd/recorder/[%artist% -
+ ]%title%.ogg]</parameter> (this omits the dash
+ when no artist tag exists; if title also doesn't
+ exist, no file is written)
+ </para>
+
+ <para>
+ The operators "|" (logical "or") and "&amp;"
+ (logical "and") can be used to select portions of
+ the format string depending on the existing tag
+ values. Example:
+ <parameter>~/.mpd/recorder/[%title|%name%].ogg</parameter>
+ (use the "name" tag if no title exists)
+ </para>
+ </entry>
+ </row>
+
<row>
<entry>
<varname>encoder</varname>