aboutsummaryrefslogtreecommitdiffstats
path: root/doc/user.xml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doc/user.xml544
1 files changed, 372 insertions, 172 deletions
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>