diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/mpdconf.example | 33 | ||||
-rw-r--r-- | doc/protocol.xml | 47 | ||||
-rw-r--r-- | doc/user.xml | 544 |
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><</function>", "<function>></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 "&" + (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> |