2641 lines
77 KiB
XML
2641 lines
77 KiB
XML
<?xml version='1.0' encoding="utf-8"?>
|
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"docbook/dtd/xml/4.2/docbookx.dtd">
|
|
<book>
|
|
<title>The Music Player Daemon - User's Manual</title>
|
|
|
|
<chapter>
|
|
<title>Introduction</title>
|
|
|
|
<para>
|
|
This document is work in progress. Most of it may be incomplete
|
|
yet. Please help!
|
|
</para>
|
|
|
|
<para>
|
|
MPD (Music Player Daemon) is, as the name suggests, a server
|
|
software allowing you to remotely play your music, handle
|
|
playlists, deliver music (HTTP STREAMS with various
|
|
sub-protocols) and organizze playlists.
|
|
</para>
|
|
|
|
<para>
|
|
It has been written with minimal resource usage and stability in
|
|
mind! Infact, it runs fine on a Pentium 75, allowing you to use
|
|
your cheap old PC to create a stereo system!
|
|
</para>
|
|
|
|
<para>
|
|
MPD supports also Gapless playback, buffered audio output, and
|
|
crossfading!
|
|
</para>
|
|
|
|
<para>
|
|
The separate client and server design allows users to choose a
|
|
user interface that best suites their tastes independently of
|
|
the underlying daemon, which actually plays music!
|
|
</para>
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<title>Installation</title>
|
|
|
|
<para>
|
|
We recommend that you use the software installation routines of
|
|
your distribution to install MPD. Most operating systems have a
|
|
MPD package, which is very easy to install.
|
|
</para>
|
|
|
|
<section>
|
|
<title>Installing on Debian/Ubuntu</title>
|
|
|
|
<para>
|
|
Install the package <filename>mpd</filename> via APT:
|
|
</para>
|
|
|
|
<programlisting>apt-get install mpd</programlisting>
|
|
|
|
<para>
|
|
When installed this way, MPD by default looks for music in
|
|
/var/lib/mpd/music/; this may not be correct. Look at your
|
|
/etc/mpd.conf file...
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Compiling from source</title>
|
|
|
|
<para>
|
|
Download the source tarball from <ulink
|
|
url="http://www.musicpd.org/download.html">the MPD home
|
|
page</ulink> and unpack it:
|
|
</para>
|
|
|
|
<programlisting>tar xf mpd-version.tar.xz
|
|
cd mpd-version</programlisting>
|
|
|
|
<para>
|
|
Make sure that all the required libraries and build tools are
|
|
installed. The <filename>INSTALL</filename> file has a list.
|
|
</para>
|
|
|
|
<para>
|
|
For example, the following installs a fairly complete list of
|
|
build dependencies on Debian Wheezy:
|
|
</para>
|
|
|
|
<programlisting>
|
|
apt-get install g++ automake autoconf \
|
|
libmad0-dev libmpg123-dev libid3tag0-dev \
|
|
libflac-dev libvorbis-dev libopus-dev \
|
|
libadplug-dev libaudiofile-dev libsndfile1-dev libfaad-dev \
|
|
libfluidsynth-dev libgme-dev libmikmod2-dev libmodplug-dev \
|
|
libmpcdec-dev libwavpack-dev libwildmidi-dev \
|
|
libsidplay2-dev libsidutils-dev libresid-builder-dev \
|
|
libavcodec-dev libavformat-dev \
|
|
libmp3lame-dev \
|
|
libsamplerate0-dev \
|
|
libbz2-dev libcdio-paranoia-dev libiso9660-dev libmms-dev \
|
|
libzzip-dev \
|
|
libcurl4-gnutls-dev libyajl-dev \
|
|
libasound2-dev libao-dev libjack-jackd2-dev libopenal-dev \
|
|
libpulse-dev libroar-dev libshout3-dev \
|
|
libmpdclient-dev \
|
|
libavahi-client-dev \
|
|
libsqlite3-dev \
|
|
libsystemd-daemon-dev libwrap0-dev \
|
|
libcppunit-dev xmlto \
|
|
libboost-dev \
|
|
libglib2.0-dev
|
|
</programlisting>
|
|
|
|
<para>
|
|
Now configure the source tree:
|
|
</para>
|
|
|
|
<programlisting>./configure</programlisting>
|
|
|
|
<para>
|
|
The <parameter>--help</parameter> argument shows a list of
|
|
compile-time options. When everything is ready and
|
|
configured, compile:
|
|
</para>
|
|
|
|
<programlisting>make</programlisting>
|
|
|
|
<para>
|
|
And install:
|
|
</para>
|
|
|
|
<programlisting>make install</programlisting>
|
|
</section>
|
|
|
|
<section>
|
|
<title><filename>systemd</filename> socket activation</title>
|
|
|
|
<para>
|
|
Using <filename>systemd</filename>, you can launch
|
|
<filename>mpd</filename> on demand when the first client
|
|
attempts to connect.
|
|
</para>
|
|
|
|
<para>
|
|
MPD comes with two <filename>systemd</filename> unit files: a
|
|
"service" unit and a "socket" unit. These will only be
|
|
installed when MPD was configured with
|
|
<parameter>--with-systemdsystemunitdir=/lib/systemd</parameter>.
|
|
</para>
|
|
|
|
<para>
|
|
To enable socket activation, type:
|
|
</para>
|
|
|
|
<programlisting>systemctl enable mpd.socket
|
|
systemctl start mpd.socket</programlisting>
|
|
|
|
<para>
|
|
In this configuration, <filename>mpd</filename> will ignore
|
|
the <varname>bind_to_address</varname> and
|
|
<varname>port</varname> settings.
|
|
</para>
|
|
</section>
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<title>Configuration</title>
|
|
|
|
<section>
|
|
<title>Configuring the music directory</title>
|
|
|
|
<para>
|
|
When you play local files, you should organize them within a
|
|
directory called the "music directory". This is configured in
|
|
MPD with the <varname>music_directory</varname> setting.
|
|
</para>
|
|
|
|
<para>
|
|
By default, MPD follows symbolic links in the music directory.
|
|
This behavior can be switched off:
|
|
<varname>follow_outside_symlinks</varname> controls whether
|
|
MPD follows links pointing to files outside of the music
|
|
directory, and <varname>follow_inside_symlinks</varname> lets
|
|
you disable symlinks to files inside the music directory.
|
|
</para>
|
|
|
|
<para>
|
|
Instead of using local files, you can use storage plugins to
|
|
access files on a remote file server. For example, to use
|
|
music from the SMB/CIFS server "myfileserver" on the share
|
|
called "Music", configure the music directory
|
|
"<parameter>smb://myfileserver/Music</parameter>".
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Configuring database plugins</title>
|
|
|
|
<para>
|
|
If a music directory is configured, one database plugin is
|
|
used. To configure this plugin, add a
|
|
<varname>database</varname> block to
|
|
<filename>mpd.conf</filename>:
|
|
</para>
|
|
|
|
<programlisting>database {
|
|
plugin "simple"
|
|
path "/var/lib/mpd/db"
|
|
}
|
|
</programlisting>
|
|
|
|
<para>
|
|
The following table lists the <varname>database</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>
|
|
|
|
<section>
|
|
<title>Configuring input plugins</title>
|
|
|
|
<para>
|
|
To configure an input plugin, add a <varname>input</varname>
|
|
block to <filename>mpd.conf</filename>:
|
|
</para>
|
|
|
|
<programlisting>input {
|
|
plugin "despotify"
|
|
user "foo"
|
|
password "bar"
|
|
}
|
|
</programlisting>
|
|
|
|
<para>
|
|
The following table lists the <varname>input</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>
|
|
<row>
|
|
<entry>
|
|
<varname>enabled</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
Allows you to disable a input plugin without
|
|
recompiling. By default, all plugins are enabled.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Configuring decoder plugins</title>
|
|
|
|
<para>
|
|
Most decoder plugins do not need any special configuration.
|
|
To configure a decoder, add a <varname>decoder</varname> block
|
|
to <filename>mpd.conf</filename>:
|
|
</para>
|
|
|
|
<programlisting>decoder {
|
|
plugin "wildmidi"
|
|
config_file "/etc/timidity/timidity.cfg"
|
|
}
|
|
</programlisting>
|
|
|
|
<para>
|
|
The following table lists the <varname>decoder</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>
|
|
<row>
|
|
<entry>
|
|
<varname>enabled</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
Allows you to disable a decoder plugin without
|
|
recompiling. By default, all plugins are enabled.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Configuring encoder plugins</title>
|
|
|
|
<para>
|
|
Encoders are used by some of the output plugins (such as
|
|
<varname>shout</varname>). The encoder settings are included
|
|
in the <varname>audio_output</varname> section.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Configuring audio outputs</title>
|
|
|
|
<para>
|
|
Audio outputs are devices which actually play the audio chunks
|
|
produced by MPD. You can configure any number of audio output
|
|
devices, but there must be at least one. If none is
|
|
configured, MPD attempts to auto-detect. Usually, this works
|
|
quite well with ALSA, OSS and on Mac OS X.
|
|
</para>
|
|
|
|
<para>
|
|
To configure an audio output manually, add an
|
|
<varname>audio_output</varname> block to
|
|
<filename>mpd.conf</filename>:
|
|
</para>
|
|
|
|
<programlisting>audio_output {
|
|
type "alsa"
|
|
name "my ALSA device"
|
|
device "hw:0"
|
|
}
|
|
</programlisting>
|
|
|
|
<para>
|
|
The following table lists the <varname>audio_output</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>type</varname>
|
|
</entry>
|
|
<entry>
|
|
The name of the plugin.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>name</varname>
|
|
</entry>
|
|
<entry>
|
|
The name of the audio output. It is visible to the
|
|
client. Some plugins also use it internally, e.g. as
|
|
a name registered in the PULSE server.
|
|
</entry>
|
|
</row>
|
|
<row id="ao_format">
|
|
<entry>
|
|
<varname>format</varname>
|
|
</entry>
|
|
<entry>
|
|
<para>
|
|
Always open the audio output with the specified audio
|
|
format (samplerate:bits:channels), regardless of the
|
|
format of the input file. This is optional for most
|
|
plugins.
|
|
</para>
|
|
<para>
|
|
Any of the three attributes may be an asterisk to
|
|
specify that this attribute should not be enforced,
|
|
example: <parameter>48000:16:*</parameter>.
|
|
<parameter>*:*:*</parameter> is equal to not having
|
|
a <varname>format</varname> specification.
|
|
</para>
|
|
<para>
|
|
The following values are valid for
|
|
<varname>bits</varname>: <varname>8</varname>
|
|
(signed 8 bit integer samples),
|
|
<varname>16</varname>, <varname>24</varname> (signed
|
|
24 bit integer samples padded to 32 bit),
|
|
<varname>32</varname> (signed 32 bit integer
|
|
samples), <varname>f</varname> (32 bit floating
|
|
point, -1.0 to 1.0).
|
|
</para>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>enabled</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
Specifies whether this audio output is enabled when
|
|
MPD is started. By default, all audio outputs are
|
|
enabled.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>tags</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
If set to "no", then MPD will not send tags to this
|
|
output. This is only useful for output plugins that
|
|
can receive tags, for example the
|
|
<varname>httpd</varname> output plugin.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>always_on</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
If set to "yes", then MPD attempts to keep this audio
|
|
output always open. This may be useful for streaming
|
|
servers, when you don't want to disconnect all
|
|
listeners even when playback is accidentally stopped.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>mixer_type</varname>
|
|
<parameter>hardware|software|none</parameter>
|
|
</entry>
|
|
<entry>
|
|
Specifies which mixer should be used for this audio
|
|
output: the hardware mixer (available for ALSA, OSS
|
|
and PulseAudio), the software mixer or no mixer
|
|
("none"). By default, the hardware mixer is used for
|
|
devices which support it, and none for the others.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>replay_gain_handler</varname>
|
|
<parameter>software|mixer|none</parameter>
|
|
</entry>
|
|
<entry>
|
|
Specifies how replay gain is applied. The default is
|
|
"software", which uses an internal software volume
|
|
control. "mixer" uses the configured (hardware) mixer
|
|
control. "none" disables replay gain on this audio
|
|
output.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Configuring filters</title>
|
|
|
|
<para>
|
|
Filters are plugins which modify an audio stream.
|
|
</para>
|
|
|
|
<para>
|
|
To configure a filter, add a <varname>filter</varname> block
|
|
to <filename>mpd.conf</filename>:
|
|
</para>
|
|
|
|
<programlisting>filter {
|
|
plugin "volume"
|
|
name "software volume"
|
|
}
|
|
</programlisting>
|
|
|
|
<para>
|
|
The following table lists the <varname>filter</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>
|
|
<row>
|
|
<entry>
|
|
<varname>name</varname>
|
|
</entry>
|
|
<entry>
|
|
The name of the filter.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Configuring playlist plugins</title>
|
|
|
|
<para>
|
|
Playlist plugins are used to load remote playlists. This is
|
|
not related to MPD's playlist directory.
|
|
</para>
|
|
|
|
<para>
|
|
To configure a playlist plugin, add a
|
|
<varname>playlist_plugin</varname> block to
|
|
<filename>mpd.conf</filename>:
|
|
</para>
|
|
|
|
<programlisting>playlist_plugin {
|
|
name "m3u"
|
|
enabled "true"
|
|
}
|
|
</programlisting>
|
|
|
|
<para>
|
|
The following table lists the
|
|
<varname>playlist_plugin</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>name</varname>
|
|
</entry>
|
|
<entry>
|
|
The name of the plugin.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>enabled</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
Allows you to disable a input plugin without
|
|
recompiling. By default, all plugins are enabled.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Audio Format Settings</title>
|
|
|
|
<section>
|
|
<title>Global Audio Format</title>
|
|
|
|
<para>
|
|
The setting <varname>audio_output_format</varname> forces
|
|
MPD to use one audio format for all outputs. Doing that is
|
|
usually not a good idea. The values are the same as in
|
|
<link linkend="ao_format"><varname>format</varname> in the
|
|
<varname>audio_output</varname> section</link>.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Resampler</title>
|
|
|
|
<para>
|
|
Sometimes, music needs to be resampled before it can be
|
|
played; for example, CDs use a sample rate of 44,100 Hz
|
|
while many cheap audio chips can only handle 48,000 Hz.
|
|
Resampling reduces the quality and consumes a lot of CPU.
|
|
There are different options, some of them optimized for high
|
|
quality and others for low CPU usage, but you can't have
|
|
both at the same time. Often, the resampler is the
|
|
component that is responsible for most of MPD's CPU usage.
|
|
Since MPD comes with high quality defaults, it may appear
|
|
that MPD consumes more CPU than other software.
|
|
</para>
|
|
|
|
<para>
|
|
The following resamplers are available (if enabled at
|
|
compile time):
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<ulink
|
|
url="http://www.mega-nerd.com/SRC/">libsamplerate</ulink>
|
|
a.k.a. Secret Rabbit Code (SRC).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<ulink
|
|
url="http://sourceforge.net/projects/soxr/">libsoxr</ulink>,
|
|
the SoX Resampler library
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
internal: low CPU usage, but very poor quality. This is
|
|
the fallback if MPD was compiled without an external
|
|
resampler.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
The setting <varname>samplerate_converter</varname> controls
|
|
how MPD 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 libsoxr with "Very High Quality" setting.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
"<parameter>soxr high</parameter>" or
|
|
"<parameter>soxr</parameter>"
|
|
</entry>
|
|
<entry>
|
|
Use libsoxr with "High Quality" setting.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
"<parameter>soxr medium</parameter>"
|
|
</entry>
|
|
<entry>
|
|
Use libsoxr with "Medium Quality" setting.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
"<parameter>soxr low</parameter>"
|
|
</entry>
|
|
<entry>
|
|
Use libsoxr with "Low Quality" setting.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
"<parameter>soxr quick</parameter>"
|
|
</entry>
|
|
<entry>
|
|
Use libsoxr with "Quick" setting.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
"<parameter>Best Sinc Interpolator</parameter>" or
|
|
"<parameter>0</parameter>"
|
|
</entry>
|
|
<entry>
|
|
libsamplerate: 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>
|
|
libsamplerate: 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>
|
|
libsamplerate: Band limited sinc interpolation,
|
|
fastest, 97dB SNR, 80% BW.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
"<parameter>ZOH Sinc Interpolator</parameter>" or
|
|
"<parameter>3</parameter>"
|
|
</entry>
|
|
<entry>
|
|
libsamplerate: 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>
|
|
libsamplerate: Linear interpolator, very fast, poor
|
|
quality.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
</section>
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<title>Using MPD</title>
|
|
|
|
<section>
|
|
<title>The client</title>
|
|
|
|
<para>
|
|
After you have installed, configured and started MPD, you
|
|
choose a client to control the playback.
|
|
</para>
|
|
|
|
<para>
|
|
The most basic client is <filename>mpc</filename>, which
|
|
provides a command line interface. It is useful in shell
|
|
scripts. Many people bind specific <filename>mpc</filename>
|
|
commands to hotkeys.
|
|
</para>
|
|
|
|
<para>
|
|
The <ulink url="http://www.musicpd.org/clients/">MPD
|
|
Wiki</ulink> contains an extensive list of clients to choose
|
|
from.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>The music directory and the database</title>
|
|
|
|
<para>
|
|
The "music directory" is where you store your music files.
|
|
MPD stores all relevant meta information about all songs in
|
|
its "database". Whenever you add, modify or remove songs in
|
|
the music directory, you have to update the database, for
|
|
example with <filename>mpc</filename>:
|
|
</para>
|
|
|
|
<programlisting>mpc update</programlisting>
|
|
|
|
<para>
|
|
Depending on the size of your music collection and the speed
|
|
of the storage, this can take a while.
|
|
</para>
|
|
|
|
<para>
|
|
To exclude a file from the update, create a file called
|
|
<filename>.mpdignore</filename> in its parent directory. Each
|
|
line of that file may contain a list of shell wildcards.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title>The queue</title>
|
|
|
|
<para>
|
|
The queue (sometimes called "current playlist") is a list of
|
|
songs to be played by MPD. To play a song, add it to the
|
|
queue and start playback. Most clients offer an interface to
|
|
edit the queue.
|
|
</para>
|
|
</section>
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<title>Plugin reference</title>
|
|
|
|
<section>
|
|
<title>Database plugins</title>
|
|
|
|
<section>
|
|
<title><varname>simple</varname></title>
|
|
|
|
<para>
|
|
The default plugin. Stores a copy of the database in
|
|
memory. A file is used for permanent storage.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>path</varname>
|
|
</entry>
|
|
<entry>
|
|
The path of the database file.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>proxy</varname></title>
|
|
|
|
<para>
|
|
Provides access to the database of another MPD instance
|
|
using <filename>libmpdclient</filename>. This is useful
|
|
when you run mount the music directory via NFS/SMB, and the
|
|
file server already runs a MPD instance. Only the file
|
|
server needs to update the database.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>host</varname>
|
|
</entry>
|
|
<entry>
|
|
The host name of the "master" MPD instance.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>port</varname>
|
|
</entry>
|
|
<entry>
|
|
The port number of the "master" MPD instance.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>upnp</varname></title>
|
|
|
|
<para>
|
|
Provides access to UPnP media servers.
|
|
</para>
|
|
</section>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Storage plugins</title>
|
|
|
|
<section>
|
|
<title><varname>local</varname></title>
|
|
|
|
<para>
|
|
The default plugin which gives MPD access to local files.
|
|
It is used when <varname>music_directory</varname> refers to
|
|
a local directory.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>smbclient</varname></title>
|
|
|
|
<para>
|
|
Load music files from a SMB/CIFS server. It used used when
|
|
<varname>music_directory</varname> contains a
|
|
<parameter>smb://</parameter> URI, for example
|
|
"<parameter>smb://myfileserver/Music</parameter>".
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>nfs</varname></title>
|
|
|
|
<para>
|
|
Load music files from a NFS server. It used used when
|
|
<varname>music_directory</varname> contains a
|
|
<parameter>nfs://</parameter> URI according to <ulink
|
|
url="http://tools.ietf.org/html/rfc2224">RFC2224</ulink>,
|
|
for example "<parameter>nfs://servername/path</parameter>".
|
|
</para>
|
|
</section>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Input plugins</title>
|
|
|
|
<section>
|
|
<title><varname>alsa</varname></title>
|
|
|
|
<para>
|
|
Allows MPD on Linux to play audio directly from a soundcard using
|
|
the scheme <filename>alsa://</filename>. Audio is formatted as
|
|
44.1 kHz 16-bit stereo (CD format). Examples:
|
|
</para>
|
|
|
|
<para>
|
|
<filename>mpc add alsa://</filename> plays audio from device hw:0,0
|
|
</para>
|
|
<para>
|
|
<filename>mpc add alsa://hw:1,0</filename> plays audio from device
|
|
hw:1,0
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>cdio_paranoia</varname></title>
|
|
|
|
<para>
|
|
Plays audio CDs. The URI has the form:
|
|
"<filename>cdda://[DEVICE][/TRACK]</filename>". The
|
|
simplest form <filename>cdda://</filename> plays the whole
|
|
disc in the default drive.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>default_byte_order</varname>
|
|
<parameter>little_endian|big_endian</parameter>
|
|
</entry>
|
|
<entry>
|
|
If the CD drive does not specify a byte order, MPD
|
|
assumes it is the CPU's native byte order. This
|
|
setting allows overriding this.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>curl</varname></title>
|
|
|
|
<para>
|
|
Opens remote files or streams over HTTP.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>proxy</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets the address of the HTTP proxy server.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>proxy_user</varname>,
|
|
<varname>proxy_password</varname>
|
|
</entry>
|
|
<entry>
|
|
Configures proxy authentication.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
<varname>verify_peer</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
Verify the peer's SSL certificate? <ulink
|
|
url="http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html">More
|
|
information</ulink>.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
<varname>verify_host</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
Verify the certificate's name against host? <ulink
|
|
url="http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html">More
|
|
information</ulink>.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>despotify</varname></title>
|
|
|
|
<para>
|
|
Plays <ulink url="http://www.spotify.com">Spotify</ulink> tracks using the despotify
|
|
library. The despotify plugin uses a <filename>spt://</filename> URI and a Spotify
|
|
URL. So for example, you can add a song with:
|
|
</para>
|
|
|
|
<para>
|
|
<filename>mpc add spt://spotify:track:5qENVY0YEdZ7fiuOax70x1</filename>
|
|
</para>
|
|
|
|
<para>
|
|
You need a Spotify premium account to use this plugin, and you need
|
|
to setup username and password in the configuration file. The
|
|
configuration settings are global since the despotify playlist plugin
|
|
use the same settings.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>despotify_user</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets up the Spotify username (required)
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>despotify_password</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets up the Spotify password (required)
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>despotify_high_bitrate</varname>
|
|
</entry>
|
|
<entry>
|
|
Set up if high bitrate should be used for Spotify tunes.
|
|
High bitrate sounds better but slow systems can have problems
|
|
with playback (default yes).
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>file</varname></title>
|
|
|
|
<para>
|
|
Opens local files.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>mms</varname></title>
|
|
|
|
<para>
|
|
Plays streams with the MMS protocol.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>nfs</varname></title>
|
|
|
|
<para>
|
|
Allows MPD to access files on NFSv3 servers without actually
|
|
mounting them (i.e. in userspace, without help from the
|
|
kernel's VFS layer). All URIs with the
|
|
<filename>nfs://</filename> scheme are used according to
|
|
<ulink
|
|
url="http://tools.ietf.org/html/rfc2224">RFC2224</ulink>.
|
|
Example:
|
|
</para>
|
|
|
|
<para>
|
|
<filename>mpc add nfs://servername/path/filename.ogg</filename>
|
|
</para>
|
|
|
|
<para>
|
|
Note that this usually requires enabling the "insecure" flag
|
|
in the server's <filename>/etc/exports</filename> file,
|
|
because MPD cannot bind to so-called "privileged" ports.
|
|
Don't fear: this will not make your file server insecure;
|
|
the flag was named in a time long ago when privileged ports
|
|
were thought to be meaningful for security. By today's
|
|
standards, NFSv3 is not secure at all, and if you believe it
|
|
is, you're already doomed.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>smbclient</varname></title>
|
|
|
|
<para>
|
|
Allows MPD to access files on SMB/CIFS servers (e.g. Samba
|
|
or Microsoft Windows). All URIs with the
|
|
<filename>smb://</filename> scheme are used. Example:
|
|
</para>
|
|
|
|
<para>
|
|
<filename>mpc add smb://servername/sharename/filename.ogg</filename>
|
|
</para>
|
|
</section>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Decoder plugins</title>
|
|
|
|
<section>
|
|
<title><varname>dsdiff</varname></title>
|
|
|
|
<para>
|
|
Decodes DFF files containing DSDIFF data (e.g. SACD rips).
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>lsbitfirst</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
Decode the least significant bit first. Default is
|
|
"no".
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>dsf</varname></title>
|
|
|
|
<para>
|
|
Decodes DSF files containing DSDIFF data (e.g. SACD rips).
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>fluidsynth</varname></title>
|
|
|
|
<para>
|
|
MIDI decoder based on libfluidsynth.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>sample_rate</varname>
|
|
</entry>
|
|
<entry>
|
|
The sample rate that shall be synthesized by the
|
|
plugin. Defaults to 48000.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>soundfont</varname>
|
|
</entry>
|
|
<entry>
|
|
The absolute path of the soundfont file. Defaults
|
|
to
|
|
<filename>/usr/share/sounds/sf2/FluidR3_GM.sf2</filename>.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>mikmod</varname></title>
|
|
|
|
<para>
|
|
Module player based on MikMod.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>loop</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
Allow backward loops in modules. Default is
|
|
<parameter>no</parameter>.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>sample_rate</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets the sample rate generated by
|
|
<filename>libmikmod</filename>. Default is 44100.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>modplug</varname></title>
|
|
|
|
<para>
|
|
Module player based on MODPlug.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>loop_count</varname>
|
|
</entry>
|
|
<entry>
|
|
Number of times to loop the module if it uses backward loops.
|
|
Default is <parameter>0</parameter> which prevents looping.
|
|
<parameter>-1</parameter> loops forever.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>wildmidi</varname></title>
|
|
|
|
<para>
|
|
MIDI decoder based on libwildmidi.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>config_file</varname>
|
|
</entry>
|
|
<entry>
|
|
The absolute path of the timidity config file. Defaults
|
|
to
|
|
<filename>/etc/timidity/timidity.cfg</filename>.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Encoder plugins</title>
|
|
|
|
<section>
|
|
<title><varname>flac</varname></title>
|
|
|
|
<para>
|
|
Encodes into FLAC (lossless).
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>compression</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets the <filename>libFLAC</filename> compression
|
|
level. The levels range from 0 (fastest, least
|
|
compression) to 8 (slowest, most compression).
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>lame</varname></title>
|
|
|
|
<para>
|
|
Encodes into MP3 using the LAME library.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>quality</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets the quality for VBR. 0 is the highest quality,
|
|
9 is the lowest quality. Cannot be used with
|
|
<varname>bitrate</varname>.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>bitrate</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets the bit rate in kilobit per second. Cannot be
|
|
used with <varname>quality</varname>.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>null</varname></title>
|
|
|
|
<para>
|
|
Does not encode anything, passes the input PCM data as-is.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>shine</varname></title>
|
|
|
|
<para>
|
|
Encodes into MP3 using the shine library.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>bitrate</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets the bit rate in kilobit per second.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>twolame</varname></title>
|
|
|
|
<para>
|
|
Encodes into MP2 using the <filename>twolame</filename>
|
|
library.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>quality</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets the quality for VBR. 0 is the highest quality,
|
|
9 is the lowest quality. Cannot be used with
|
|
<varname>bitrate</varname>.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>bitrate</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets the bit rate in kilobit per second. Cannot be
|
|
used with <varname>quality</varname>.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>vorbis</varname></title>
|
|
|
|
<para>
|
|
Encodes into Ogg Vorbis.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>quality</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets the quality for VBR. -1 is the lowest quality,
|
|
10 is the highest quality. Cannot be used with
|
|
<varname>bitrate</varname>.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>bitrate</varname>
|
|
</entry>
|
|
<entry>
|
|
Sets the bit rate in kilobit per second. Cannot be
|
|
used with <varname>quality</varname>.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>wave</varname></title>
|
|
|
|
<para>
|
|
Encodes into WAV (lossless).
|
|
</para>
|
|
</section>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Output plugins</title>
|
|
|
|
<section>
|
|
<title><varname>alsa</varname></title>
|
|
|
|
<para>
|
|
The "Advanced Linux Sound Architecture" plugin uses
|
|
<filename>libasound</filename>. It is recommended if you
|
|
are using Linux.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>device</varname>
|
|
<parameter>NAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the device which should be used. This can be
|
|
any valid ALSA device name. The default value is
|
|
"default", which makes
|
|
<filename>libasound</filename> choose a device. It
|
|
is recommended to use a "hw" or "plughw" device,
|
|
because otherwise, <filename>libasound</filename>
|
|
automatically enables "dmix", which has major
|
|
disadvantages (fixed sample rate, poor resampler,
|
|
...).
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>use_mmap</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
If set to <parameter>yes</parameter>, then
|
|
<filename>libasound</filename> will try to use
|
|
memory mapped I/O.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>buffer_time</varname>
|
|
<parameter>US</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the device's buffer time in microseconds.
|
|
Don't change unless you know what you're doing.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>period_time</varname>
|
|
<parameter>US</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the device's period time in microseconds.
|
|
Don't change unless you really know what you're
|
|
doing.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>auto_resample</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
If set to <parameter>no</parameter>, then
|
|
<filename>libasound</filename> will not attempt to
|
|
resample, handing the responsibility over to MPD.
|
|
It is recommended to let MPD resample (with
|
|
libsamplerate), because ALSA is quite poor at doing
|
|
so.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>auto_channels</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
If set to <parameter>no</parameter>, then
|
|
<filename>libasound</filename> will not attempt to
|
|
convert between different channel numbers.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>auto_format</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
If set to <parameter>no</parameter>, then
|
|
<filename>libasound</filename> will not attempt to
|
|
convert between different sample formats (16 bit, 24
|
|
bit, floating point, ...).
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>dsd_usb</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
If set to <parameter>yes</parameter>, then DSD over
|
|
USB according to the <ulink
|
|
url="http://www.sonore.us/DoP_openStandard_1v1.pdf">pro
|
|
posed standard by dCS and others</ulink> is enabled. This wraps
|
|
DSD samples in fake 24 bit PCM, and is understood by
|
|
some DSD capable products, but may be harmful to
|
|
other hardware. Therefore, the default is
|
|
<parameter>no</parameter> and you can enable the
|
|
option at your own risk.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>ao</varname></title>
|
|
|
|
<para>
|
|
The <varname>ao</varname> plugin uses the portable
|
|
<filename>libao</filename> library.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>driver</varname>
|
|
<parameter>D</parameter>
|
|
</entry>
|
|
<entry>
|
|
The <filename>libao</filename> driver to use for
|
|
audio output. Possible values depend on what libao
|
|
drivers are available. See <ulink
|
|
url="http://www.xiph.org/ao/doc/drivers.html">http://www.xiph.org/ao/doc/drivers.html</ulink>
|
|
for information on some commonly used drivers.
|
|
Typical values for Linux include "oss" and "alsa09".
|
|
The default is "default", which causes libao to
|
|
select an appropriate plugin.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
<varname>options</varname>
|
|
<parameter>O</parameter>
|
|
</entry>
|
|
<entry>
|
|
Options to pass to the selected
|
|
<filename>libao</filename> driver.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
<varname>write_size</varname>
|
|
<parameter>O</parameter>
|
|
</entry>
|
|
<entry>
|
|
This specifies how many bytes to write to the audio
|
|
device at once. This parameter is to work around a
|
|
bug in older versions of libao on sound cards with
|
|
very small buffers. The default is 1024.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>fifo</varname></title>
|
|
|
|
<para>
|
|
The <varname>fifo</varname> plugin writes raw PCM data to a
|
|
FIFO (First In, First Out) file. The data can be read by
|
|
another program.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>path</varname>
|
|
<parameter>P</parameter>
|
|
</entry>
|
|
<entry>
|
|
This specifies the path of the FIFO to write to.
|
|
Must be an absolute path. If the path does not
|
|
exist, it will be created when MPD is started, and
|
|
removed when MPD is stopped. The FIFO will be
|
|
created with the same user and group as MPD is
|
|
running as. Default permissions can be modified by
|
|
using the builtin shell command "umask". If a FIFO
|
|
already exists at the specified path it will be
|
|
reused, and will not be removed when MPD is stopped.
|
|
You can use the "mkfifo" command to create this, and
|
|
then you may modify the permissions to your liking.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>jack</varname></title>
|
|
|
|
<para>
|
|
The <varname>jack</varname> plugin connects to a JACK
|
|
server.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>client_name</varname>
|
|
<parameter>NAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
The name of the JACK client. Defaults to "Music
|
|
Player Daemon".
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>server_name</varname>
|
|
<parameter>NAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
Optional name of the JACK server.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>autostart</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
If set to <parameter>yes</parameter>, then
|
|
<filename>libjack</filename> will automatically
|
|
launch the JACK daemon. Disabled by default.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>source_ports</varname>
|
|
<parameter>A,B</parameter>
|
|
</entry>
|
|
<entry>
|
|
The names of the JACK source ports to be created.
|
|
By default, the ports "left" and "right" are
|
|
created. To use more ports, you have to tweak this
|
|
option.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>destination_ports</varname>
|
|
<parameter>A,B</parameter>
|
|
</entry>
|
|
<entry>
|
|
The names of the JACK destination ports to connect to.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>ringbuffer_size</varname>
|
|
<parameter>NBYTES</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the size of the ring buffer for each channel.
|
|
Do not configure this value unless you know what
|
|
you're doing.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>httpd</varname></title>
|
|
|
|
<para>
|
|
The <varname>httpd</varname> plugin creates a HTTP server,
|
|
similar to ShoutCast / IceCast. HTTP streaming clients like
|
|
<filename>mplayer</filename> can connect to it.
|
|
</para>
|
|
|
|
<para>
|
|
You must configure either <varname>quality</varname> or
|
|
<varname>bitrate</varname>. It is highly recommended to
|
|
configure a fixed <varname>format</varname>, because a
|
|
stream cannot switch its audio format on-the-fly when the
|
|
song changes.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>port</varname>
|
|
<parameter>P</parameter>
|
|
</entry>
|
|
<entry>
|
|
Binds the HTTP server to the specified port.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>bind_to_address</varname>
|
|
<parameter>ADDR</parameter>
|
|
</entry>
|
|
<entry>
|
|
Binds the HTTP server to the specified address (IPv4 or
|
|
IPv6). Multiple addresses in parallel are not supported.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>encoder</varname>
|
|
<parameter>NAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
Chooses an encoder plugin,
|
|
e.g. <parameter>vorbis</parameter>.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>quality</varname>
|
|
<parameter>Q</parameter>
|
|
</entry>
|
|
<entry>
|
|
Configures the encoder quality (for VBR) in the
|
|
range -1 .. 10.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>bitrate</varname>
|
|
<parameter>BR</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets a constant encoder bit rate, in kilobit per
|
|
second.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>max_clients</varname>
|
|
<parameter>MC</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets a limit, number of concurrent clients. When set
|
|
to 0 no limit will apply.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>null</varname></title>
|
|
|
|
<para>
|
|
The <varname>null</varname> plugin does nothing. It
|
|
discards everything sent to it.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>sync</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
If set to <parameter>no</parameter>, then the timer
|
|
is disabled - the device will accept PCM chunks at
|
|
arbitrary rate (useful for benchmarking). The
|
|
default behaviour is to play in real time.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>oss</varname></title>
|
|
|
|
<para>
|
|
The "Open Sound System" plugin is supported on most Unix
|
|
platforms.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>device</varname>
|
|
<parameter>PATH</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the path of the PCM device. If not specified,
|
|
then MPD will attempt to open
|
|
<filename>/dev/sound/dsp</filename> and
|
|
<filename>/dev/dsp</filename>.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>openal</varname></title>
|
|
|
|
<para>
|
|
The "OpenAL" plugin uses <filename>libopenal</filename>.
|
|
It is supported on many platforms.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>device</varname>
|
|
<parameter>NAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the device which should be used. This can be
|
|
any valid OpenAL device name. If not specified, then
|
|
<filename>libopenal</filename> will choose a default device.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>osx</varname></title>
|
|
|
|
<para>
|
|
The "Mac OS X" plugin uses Apple's CoreAudio API.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>pipe</varname></title>
|
|
|
|
<para>
|
|
The <varname>pipe</varname> plugin starts a program and
|
|
writes raw PCM data into its standard input.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>command</varname>
|
|
<parameter>CMD</parameter>
|
|
</entry>
|
|
<entry>
|
|
This command is invoked with the shell.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>pulse</varname></title>
|
|
|
|
<para>
|
|
The <varname>pulse</varname> plugin connects to a PulseAudio
|
|
server.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>server</varname>
|
|
<parameter>HOSTNAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the host name of the PulseAudio server. By
|
|
default, MPD connects to the local PulseAudio
|
|
server.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>sink</varname>
|
|
<parameter>NAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
Specifies the name of the PulseAudio sink MPD should
|
|
play on.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>roar</varname></title>
|
|
|
|
<para>
|
|
The <varname>roar</varname> plugin connects to a <ulink
|
|
url="http://roaraudio.keep-cool.org/">RoarAudio</ulink>
|
|
server.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>server</varname>
|
|
<parameter>HOSTNAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
The host name of the RoarAudio server. If not
|
|
specified, then MPD will connect to the default
|
|
locations.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>
|
|
<varname>role</varname>
|
|
<parameter>ROLE</parameter>
|
|
</entry>
|
|
<entry>
|
|
The "role" that MPD registers itself as in the
|
|
RoarAudio server. The default is "music".
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>recorder</varname></title>
|
|
|
|
<para>
|
|
The <varname>recorder</varname> plugin writes the audio
|
|
played by MPD to a file. This may be useful for recording
|
|
radio streams.
|
|
</para>
|
|
|
|
<para>
|
|
You must configure either <varname>quality</varname> or
|
|
<varname>bitrate</varname>.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>path</varname>
|
|
<parameter>P</parameter>
|
|
</entry>
|
|
<entry>
|
|
Write to this file.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>encoder</varname>
|
|
<parameter>NAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
Chooses an encoder plugin,
|
|
e.g. <parameter>vorbis</parameter>.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>quality</varname>
|
|
<parameter>Q</parameter>
|
|
</entry>
|
|
<entry>
|
|
Configures the encoder quality (for VBR) in the
|
|
range -1 .. 10.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>bitrate</varname>
|
|
<parameter>BR</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets a constant encoder bit rate, in kilobit per
|
|
second.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>shout</varname></title>
|
|
|
|
<para>
|
|
The <varname>shout</varname> plugin connects to a ShoutCast
|
|
or IceCast server. It forwards tags to this server.
|
|
</para>
|
|
|
|
<para>
|
|
You must set a <varname>format</varname>.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>host</varname>
|
|
<parameter>HOSTNAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the host name of the Shoutcast/Icecast server.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>port</varname>
|
|
<parameter>PORTNUMBER</parameter>
|
|
</entry>
|
|
<entry>
|
|
Connect to this port number on the specified host.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>timeout</varname>
|
|
<parameter>SECONDS</parameter>
|
|
</entry>
|
|
<entry>
|
|
Set the timeout for the shout connection in seconds.
|
|
Defaults to 2 seconds.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>protocol</varname>
|
|
<parameter>icecast2|icecast1|shoutcast</parameter>
|
|
</entry>
|
|
<entry>
|
|
Specifies the protocol that wil be used to connect
|
|
to the icecast/shoutcast server. The default
|
|
is "<parameter>icecast2</parameter>".
|
|
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>mount</varname>
|
|
<parameter>URI</parameter>
|
|
</entry>
|
|
<entry>
|
|
Mounts the MPD stream in the specified URI.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>user</varname>
|
|
<parameter>USERNAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the user name for submitting the stream to the
|
|
server. Default is "source".
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>password</varname>
|
|
<parameter>PWD</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the password for submitting the stream to the
|
|
server.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>name</varname>
|
|
<parameter>NAME</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the name of the stream.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>genre</varname>
|
|
<parameter>GENRE</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the genre of the stream (optional).
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>description</varname>
|
|
<parameter>DESCRIPTION</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets a short description of the stream (optional).
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>url</varname>
|
|
<parameter>URL</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets a URL associated with the stream (optional).
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>public</varname>
|
|
<parameter>yes|no</parameter>
|
|
</entry>
|
|
<entry>
|
|
Specifies whether the stream should be "public".
|
|
Default is "no".
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>
|
|
<varname>encoder</varname>
|
|
<parameter>PLUGIN</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the name of the encoder plugin. Default is
|
|
"vorbis". "vorbis" and "lame" are valid encoder
|
|
plugins (provided that you enabled them at compile
|
|
time).
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>solaris</varname></title>
|
|
|
|
<para>
|
|
The "Solaris" plugin runs only on SUN Solaris, and plays via
|
|
<filename>/dev/audio</filename>.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>device</varname>
|
|
<parameter>PATH</parameter>
|
|
</entry>
|
|
<entry>
|
|
Sets the path of the audio device, defaults to
|
|
<filename>/dev/audio</filename>.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</section>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Playlist plugins</title>
|
|
|
|
<section>
|
|
<title><varname>embcue</varname></title>
|
|
|
|
<para>
|
|
Reads CUE sheets from the "CUESHEET" tag of song files.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>m3u</varname></title>
|
|
|
|
<para>
|
|
Reads <filename>.m3u</filename> playlist files.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>extm3u</varname></title>
|
|
|
|
<para>
|
|
Reads extended <filename>.m3u</filename> playlist files.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>pls</varname></title>
|
|
|
|
<para>
|
|
Reads <filename>.pls</filename> playlist files.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>xspf</varname></title>
|
|
|
|
<para>
|
|
Reads <ulink url="http://www.xspf.org/">XSPF</ulink>
|
|
playlist files.
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>despotify</varname></title>
|
|
|
|
<para>
|
|
Adds <ulink url="http://www.spotify.com/">Spotify</ulink>
|
|
playlists. Spotify playlists use the <filename>spt://</filename> URI,
|
|
and a Spotify playlist URL. So for example, you can load a playlist
|
|
with
|
|
</para>
|
|
|
|
<para>
|
|
<filename>mpc load spt://spotify:user:simon.kagstrom:playlist:3SUwkOe5VbVHysZcidEZtH</filename>
|
|
</para>
|
|
|
|
<para>
|
|
See the despotify input plugin for configuration options (username
|
|
and password needs to be setup)
|
|
</para>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>soundcloud</varname></title>
|
|
|
|
<para>
|
|
Adds <ulink url="https://www.soundcloud.com/">Soundcloud</ulink>
|
|
playlists. SoundCloud playlists use the <filename>soundcloud://</filename> URI,
|
|
and with a number of arguments, you may load different playlists with
|
|
</para>
|
|
|
|
<programlisting>
|
|
mpc load soundcloud://track/TRACK_ID
|
|
mpc load soundcloud://playlist/PLAYLIST_ID
|
|
mpc load soundcloud://user/USERNAME
|
|
mpc load soundcloud://search/SEARCH_QUERY
|
|
mpc load soundcloud://url/https://soundcloud.com/ARTIST/TRACK-NAME
|
|
</programlisting>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Setting</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>
|
|
<varname>apikey</varname>
|
|
<parameter>client_id</parameter>
|
|
</entry>
|
|
<entry>
|
|
User apikey/client_id can override the MPD token provided by SoundCloud.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
</chapter>
|
|
</book>
|