configure.ac: Move protocol tests to the Post Protocol Tests section.
[mpd-mk.git] / doc / mpd.conf.5
blobe0a30449e8c3d65465f634315bcb91efb6e75659
1 .TH mpd.conf 5
2 .SH NAME
3 mpd.conf \- Music Player Daemon configuration file
4 .SH DESCRIPTION
5 \fBmpd.conf\fP is the configuration file for mpd(1).  If not specified on the
6 command line, MPD first searches for it at \fB~/.mpdconf\fP then at
7 \fB~/.mpd/mpd.conf\fP and then in \fB/etc/mpd.conf\fP.
9 Lines beginning with a "#" character are comments.  All other non-empty lines
10 specify parameters and their values.  These lines contain the parameter name
11 and parameter value (surrounded by double quotes) separated by whitespace
12 (either tabs or spaces).  For example:
14 parameter "value"
16 The exception to this rule is the audio_output parameter, which is of the form:
18 audio_output {
19 .br
20         parameter1 "value"
21         parameter2 "value"
22 .br
25 Parameters that take a file or directory as an argument should use absolute
26 paths.
28 See \fBdocs/mpdconf.example\fP in the source tarball for an example
29 configuration file.
30 .SH REQUIRED PARAMETERS
31 .TP
32 .B follow_outside_symlinks <yes or no>
33 Control if MPD will follow symbolic links pointing outside the music dir.
34 You must recreate the database after changing this option.
35 The default is "yes".
36 .TP
37 .B follow_inside_symlinks <yes or no>
38 Control if MPD will follow symbolic links pointing inside the music dir,
39 potentially adding duplicates to the database.
40 You must recreate the database after changing this option.
41 The default is "yes".
42 .TP
43 .B db_file <file>
44 This specifies where the db file will be stored.
45 .TP
46 .B sticker_file <file>
47 The location of the sticker database.  This is a database which
48 manages dynamic information attached to songs.
49 .TP
50 .B log_file <file>
51 This specifies where the log file should be located.
52 The special value "syslog" makes MPD use the local syslog daemon.
53 .SH OPTIONAL PARAMETERS
54 .TP
55 .B pid_file <file>
56 This specifies the file to save mpd's process ID in.
57 .TP
58 .B music_directory <directory>
59 This specifies the directory where music is located.
60 If you do not configure this, you can only play streams.
61 .TP
62 .B playlist_directory <directory>
63 This specifies the directory where saved playlists are stored.
64 If you do not configure this, you cannot save playlists.
65 .TP
66 .B state_file <file>
67 This specifies if a state file is used and where it is located.  The state of
68 mpd will be saved to this file when mpd is terminated by a TERM signal or by
69 the "kill" command.  When mpd is restarted, it will read the state file and
70 restore the state of mpd (including the playlist).
71 .TP
72 .B user <username>
73 This specifies the user that MPD will run as, if set.  MPD should
74 never run as root, and you may use this option to make MPD change its
75 user id after initialization.  Do not use this option if you start MPD
76 as an unprivileged user.
77 .TP
78 .B bind_to_address <ip address or hostname or any>
79 This specifies which address mpd binds to and listens on.  Multiple
80 bind_to_address parameters may be specified.  The default is "any", which binds
81 to all available addresses.
83 To bind to a Unix domain socket, specify an absolute path.  For a
84 system-wide MPD, we suggest the path "\fB/var/run/mpd/socket\fP".
85 .TP
86 .B port <port>
87 This specifies the port that mpd listens on.  The default is 6600.
88 .TP
89 .B log_level <default, secure, or verbose>
90 This specifies how verbose logs are.  "default" is minimal logging, "secure"
91 reports from what address a connection is opened, and when it is closed, and
92 "verbose" records excessive amounts of information for debugging purposes.  The
93 default is "default".
94 .TP
95 .B zeroconf_enabled <yes or no>
96 If yes, and MPD has been compiled with support for Avahi or Bonjour, service
97 information will be published with Zeroconf.  The default is yes.
98 .TP
99 .B zeroconf_name <name>
100 If Zeroconf is enabled, this is the service name to publish.  This name should
101 be unique to your local network, but name collisions will be properly dealt
102 with.  The default is "Music Player".
104 .B password <password@permissions>
105 This specifies a password for access to mpd.  The format is
106 "password@permissions" where permissions is a comma delimited list composed
107 of "read", "add", "control", and/or "admin".  "read" allows for reading of the
108 database, displaying the current playlist, and current status of mpd.  "add"
109 allows for adding songs and loading playlists.  "control" allows for all other
110 player and playlist manipulations.  "admin" allows the db to be updated and for
111 the client to kill mpd.  An example value is "somePassword@read,add".  Multiple
112 password parameters may be specified.
114 .B default_permissions <permissions>
115 This specifies the permissions of a client that has not been authenticated
116 using a password.  The format of permissions is specified in the description of
117 the "password" config parameter.  If no passwords are specified, the default is
118 "read,add,control,admin", otherwise it is "" (no permissions).
120 .B audio_output
121 See \fBDESCRIPTION\fP and the various \fBAUDIO OUTPUT PARAMETERS\fP sections
122 for the format of this parameter.  Multiple audio_output sections may be
123 specified.  If no audio_output section is specified, then MPD will scan for a
124 usable audio output.
126 .B audio_output_format <sample_rate:bits:channels>
127 This specifies the sample rate, bits per sample, and number of channels of
128 audio that is sent to each audio output.  Note that audio outputs may specify
129 their own audio format which will be used for actual output to the audio
130 device.  An example is "44100:16:2" for 44100Hz, 16 bits, and 2 channels.  The
131 default is to use the audio format of the input file.
132 Any of the three attributes may be an asterisk to specify that this
133 attribute should not be enforced
135 .B samplerate_converter <integer or prefix>
136 This specifies the libsamplerate converter to use.  The supplied value should
137 either be an integer or a prefix of the name of a converter.  The default is
138 "Fastest Sinc Interpolator".
140 At the time of this writing, the following converters are available:
143 Best Sinc Interpolator (0)
145 Band limited sinc interpolation, best quality, 97dB SNR, 96% BW.
147 Medium Sinc Interpolator (1)
149 Band limited sinc interpolation, medium quality, 97dB SNR, 90% BW.
151 Fastest Sinc Interpolator (2)
153 Band limited sinc interpolation, fastest, 97dB SNR, 80% BW.
155 ZOH Interpolator (3)
157 Zero order hold interpolator, very fast, very poor quality with audible
158 distortions.
160 Linear Interpolator (4)
162 Linear interpolator, very fast, poor quality.
164 internal
166 Poor quality, no floating point operations.  This is the default (and
167 only choice) if MPD was compiled without libsamplerate.
170 For an up-to-date list of available converters, please see the libsamplerate
171 documentation (available online at <\fBhttp://www.mega-nerd.com/SRC/\fP>).
173 .B replaygain <off or album or track>
174 If specified, mpd will adjust the volume of songs played using ReplayGain tags
175 (see <\fBhttp://www.replaygain.org/\fP>).  Setting this to "album" will adjust
176 volume using the album's ReplayGain tags, while setting it to "track" will
177 adjust it using the track ReplayGain tags.  Currently only FLAC, Ogg Vorbis,
178 Musepack, and MP3 (through ID3v2 ReplayGain tags, not APEv2) are supported.
180 .B replaygain_preamp <-15 to 15>
181 This is the gain (in dB) applied to songs with ReplayGain tags.
183 .B volume_normalization <yes or no>
184 If yes, mpd will normalize the volume of songs as they play.  The default is no.
186 .B audio_buffer_size <size in KiB>
187 This specifies the size of the audio buffer in kibibytes.  The default is 2048,
188 large enough for nearly 12 seconds of CD-quality audio.
190 .B buffer_before_play <0-100%>
191 This specifies how much of the audio buffer should be filled before playing a
192 song.  Try increasing this if you hear skipping when manually changing songs.
193 The default is 10%, a little over 1 second of CD-quality audio with the default
194 buffer size.
196 .B http_proxy_host <hostname>
197 This setting is deprecated.  Use the "proxy" setting in the "curl"
198 input block.  See MPD user manual for details.
200 .B connection_timeout <seconds>
201 If a client does not send any new data in this time period, the connection is
202 closed.  The default is 60.
204 .B max_connections <number>
205 This specifies the maximum number of clients that can be connected to mpd.  The
206 default is 5.
208 .B max_playlist_length <number>
209 This specifies the maximum number of songs that can be in the playlist.  The
210 default is 4096.
212 .B max_command_list_size <size in KiB>
213 This specifies the maximum size a command list can be.  The default is 2048.
215 .B max_output_buffer_size <size in KiB>
216 This specifies the maximum size of the output buffer to a client.  The default
217 is 8192.
219 .B filesystem_charset <charset>
220 This specifies the character set used for the filesystem.  A list of supported
221 character sets can be obtained by running "iconv -l".  The default is
222 determined from the locale when the db was originally created.
224 .B id3v1_encoding <charset>
225 This specifies the character set which ID3v1 tags are encoded in.  A list of
226 supported character sets can be obtained by running "iconv -l".  The default is
227 to let libid3tag convert them (from ISO-8859-1, as the standard specifies) and
228 do no additional conversion.
230 .B gapless_mp3_playback <yes or no>
231 This specifies whether to support gapless playback of MP3s which have the
232 necessary headers.  Useful if your MP3s have headers with incorrect
233 information.  If you have such MP3s, it is highly recommended that you fix them
234 using vbrfix (available from <http://www.willwap.co.uk/Programs/vbrfix.php>)
235 instead of disabling gapless MP3 playback.  The default is to support gapless
236 MP3 playback.
238 .B save_absolute_paths_in_playlists <yes or no>
239 This specifies whether relative or absolute paths for song filenames are used
240 when saving playlists.  The default is "no".
242 .B metadata_to_use <tags>
243 This specifies the tag types that will be scanned for and made available to
244 clients.  Note that you must recreate (not update) your database for changes to
245 this parameter to take effect.  Possible values are artist, album, title,
246 track, name, genre, date, composer, performer, comment, and disc.  Multiple
247 tags may be specified as a comma separated list.  An example value is
248 "artist,album,title,track".  The special value "none" may be used alone to
249 disable all metadata.  The default is to use all known tag types except for
250 comments.
252 .B auto_update <yes or no>
253 This specifies the wheter to support automatic update of music database when
254 files are changed in music_directory. The default is to disable autoupdate
255 of database.
257 .B auto_update_depth <N>
258 Limit the depth of the directories being watched, 0 means only watch
259 the music directory itself.  There is no limit by default.
260 .SH REQUIRED AUDIO OUTPUT PARAMETERS
262 .B type <type>
263 This specifies the audio output type.  See the list of supported outputs in mpd
264 --version for possible values.
266 .B name <name>
267 This specifies a unique name for the audio output.
268 .SH OPTIONAL AUDIO OUTPUT PARAMETERS
270 .B format <sample_rate:bits:channels>
271 This specifies the sample rate, bits per sample, and number of channels of
272 audio that is sent to the audio output device.  See documentation for the
273 \fBaudio_output_format\fP parameter for more details.  The default is to use
274 whatever audio format is passed to the audio output.
275 Any of the three attributes may be an asterisk to specify that this
276 attribute should not be enforced
278 .B replay_gain_handler <software, mixer or none>
279 Specifies how replay gain is applied.  The default is "software",
280 which uses an internal software volume control.  "mixer" uses the
281 configured (hardware) mixer control.  "none" disables replay gain on
282 this audio output.
283 .SH OPTIONAL ALSA OUTPUT PARAMETERS
285 .B device <dev>
286 This specifies the device to use for audio output.  The default is "default".
288 .B mixer_type <hardware, software or none>
289 Specifies which mixer should be used for this audio output: the
290 hardware mixer (available for ALSA, OSS and PulseAudio), the software
291 mixer or no mixer ("none").  By default, the hardware mixer is used
292 for devices which support it, and none for the others.
294 .B mixer_device <mixer dev>
295 This specifies which mixer to use.  The default is "default".  To use
296 the second sound card in a system, use "hw:1".
298 .B mixer_control <mixer ctrl>
299 This specifies which mixer control to use (sometimes referred to as
300 the "device").  The default is "PCM".  Use "amixer scontrols" to see
301 the list of possible controls.
303 .B mixer_index <mixer index>
304 A number identifying the index of the named mixer control.  This is
305 probably only useful if your alsa device has more than one
306 identically\-named mixer control.  The default is "0".  Use "amixer
307 scontrols" to see the list of controls with their indexes.
309 .B use_mmap <yes or no>
310 Setting this allows you to use memory-mapped I/O.  Certain hardware setups may
311 benefit from this, but most do not.  Most users do not need to set this.  The
312 default is to not use memory-mapped I/O.
314 .B auto_resample <yes or no>
315 Setting this to "no" disables ALSA's software resampling, if the
316 hardware does not support a specific sample rate.  This lets MPD do
317 the resampling.  "yes" is the default and allows ALSA to resample.
319 .B auto_channels <yes or no>
320 Setting this to "no" disables ALSA's channel conversion, if the
321 hardware does not support a specific number of channels.  Default: "yes".
323 .B auto_format <yes or no>
324 Setting this to "no" disables ALSA's sample format conversion, if the
325 hardware does not support a specific sample format.  Default: "yes".
327 .B buffer_time <time in microseconds>
328 This sets the length of the hardware sample buffer in microseconds.  Increasing
329 it may help to reduce or eliminate skipping on certain setups.  Most users do
330 not need to change this.  The default is 500000 microseconds (0.5 seconds).
332 .B period_time <time in microseconds>
333 This sets the time between hardware sample transfers in microseconds.
334 Increasing this can reduce CPU usage while lowering it can reduce underrun
335 errors on bandwidth-limited devices.  Some users have reported good results
336 with this set to 50000, but not all devices support values this high.  Most
337 users do not need to change this.  The default is 256000000 / sample_rate(kHz),
338 or 5804 microseconds for CD-quality audio.
339 .SH OPTIONAL OSS OUTPUT PARAMETERS
341 .B device <dev>
342 This specifies the device to use for audio output.  The default is "/dev/dsp".
344 .B mixer_device <mixer dev>
345 This specifies which mixer to use.  The default is "/dev/mixer".
347 .B mixer_control <mixer ctrl>
348 This specifies which mixer control to use (sometimes referred to as the
349 "device").  The default is to use the main PCM mixer.  An example is "Pcm".
350 .SH OPTIONAL PULSE OUTPUT PARAMETERS
352 .B server <server list>
353 A space separated list of servers to try to connect to.  See
354 <\fBhttp://www.pulseaudio.org/wiki/ServerStrings\fP> for more details.  The
355 default is to let PulseAudio choose a server.
356 If you specify more than one server name, MPD tries to connect to one
357 after another until it successfully establishes a connection.
359 .B sink <sink>
360 The sink to output to.  The default is to let PulseAudio choose a sink.
361 .SH OPTIONAL JACK OUTPUT PARAMETERS
363 .B client_name <name>
364 The client name to use when connecting to JACK.  The output ports <name>:left
365 and <name>:right will also be created for the left and right channels,
366 respectively.
368 .B ports <left_port,right_port>
369 This specifies the left and right ports to connect to for the left and right
370 channels, respectively.  The default is to let JACK choose a pair of ports.
372 .B ringbuffer_size <size in bytes>
373 This specifies the size of the ringbuffer in bytes.  The default is 32768.
374 .SH OPTIONAL AO OUTPUT PARAMETERS
376 .B driver <driver>
377 This specifies the libao driver to use for audio output.  Possible values
378 depend on what libao drivers are available.  See
379 <\fBhttp://www.xiph.org/ao/doc/drivers.html\fP> for information on some
380 commonly used drivers.  Typical values for Linux include "oss" and "alsa09".
381 The default is "default", which causes libao to select an appropriate plugin.
383 .B options <opts>
384 This specifies the options to use for the selected libao driver.  For oss, the
385 only option available is "dsp".  For alsa09, the available options are: "dev",
386 "buf_size", and "periods".  See <\fBhttp://www.xiph.org/ao/doc/drivers.html\fP>
387 for available options for some commonly used drivers.  Options are assigned
388 using "=", and ";" is used to separate options.  An example for oss:
389 "dsp=/dev/dsp".  An example for alsa09: "dev=hw:0,0;buf_size=4096".  The
390 default is "".
392 .B write_size <size in bytes>
393 This specifies how many bytes to write to the audio device at once.  This
394 parameter is to work around a bug in older versions of libao on sound cards
395 with very small buffers.  The default is 1024.
396 .SH REQUIRED FIFO OUTPUT PARAMETERS
398 .B path <path>
399 This specifies the path of the FIFO to output to.  Must be an absolute path.
400 If the path does not exist it will be created when mpd is started, and removed
401 when mpd is stopped.  The FIFO will be created with the same user and group as
402 mpd is running as.  Default permissions can be modified by using the builtin
403 shell command "umask".  If a FIFO already exists at the specified path it will
404 be reused, and will \fBnot\fP be removed when mpd is stopped.  You can use the
405 "mkfifo" command to create this, and then you may modify the permissions to
406 your liking.
407 .SH REQUIRED SHOUT OUTPUT PARAMETERS
409 .B name <name>
410 This specifies not only the unique audio output name, but also the stream
411 title.
413 .B host <hostname>
414 This specifies the hostname of the icecast server to connect to.
416 .B port <port>
417 This specifies the port of the icecast server to connect to.
419 .B mount <mountpoint>
420 This specifies the icecast mountpoint to use.
422 .B password <password>
423 This specifies the password to use when logging in to the icecast server.
425 .B quality <quality>
426 This specifies the encoding quality to use.  The value must be between 0
427 and 10.  Fractional values, such as 2.5, are permitted.  Either the quality or
428 the bitrate parameter must be specified, but not both.  For Ogg, a
429 higher quality number produces higher quality output.  For MP3, it's
430 just the opposite, with lower numbers producing higher quality output.
432 .B bitrate <kbps>
433 This specifies the bitrate to use for encoding.  Either the quality or the
434 bitrate parameter must be specified, but not both.
436 .B format <sample_rate:bits:channels>
437 This specifies the sample rate, bits per sample, and number of channels to use
438 for encoding.
439 .SH OPTIONAL SHOUT OUTPUT PARAMETERS
441 .B encoding <encoding>
442 This specifies which output encoding to use.  Should be either "ogg"
443 or "mp3",  "mp3" is needed for shoutcast streaming. The default is "ogg".
445 .B protocol <protocol>
446 This specifies the protocol that wil be used to connect to the
447 icecast/shoutcast server. The options are "shoutcast", "icecast1" and
448 "icecast2". The default is "icecast2".
450 .B user <username>
451 This specifies the username to use when logging in to the icecast server.  The
452 default is "source".
454 .B public <yes or no>
455 This specifies whether to request that the stream be listed in all public
456 stream directories that the icecast server knows about.  The default is no.
458 .B timeout <seconds>
459 This specifies the number of seconds to wait before giving up on trying to
460 connect to the icecast server.  The default is 2 seconds.
462 .B description <description>
463 This specifies a description of the stream.
465 .B genre <genre>
466 This specifies the genre(s) of the stream.
467 .SH FILES
469 .BI ~/.mpdconf
470 User configuration file.
472 .BI /etc/mpd.conf
473 Global configuration file.
474 .SH SEE ALSO
475 mpd(1), mpc(1)