aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-12-21 19:39:08 +0100
committerMax Kellermann <max@duempel.org>2008-12-21 19:39:08 +0100
commitbc31d7a0ee0a999cdb2d21fb8f0c64ac0a263263 (patch)
tree4fe1de8f00a14274b9146d48a4addb18b49acf1b
parenta6e981c08d8f37e86bb6040d23486fd18b05d111 (diff)
parent143b46caf527ca8e53c186db751930ad1d343b4d (diff)
downloadmpd-bc31d7a0ee0a999cdb2d21fb8f0c64ac0a263263.tar.gz
mpd-bc31d7a0ee0a999cdb2d21fb8f0c64ac0a263263.tar.xz
mpd-bc31d7a0ee0a999cdb2d21fb8f0c64ac0a263263.zip
Merge branch 'master' of git://git.musicpd.org/avuton/mpd
Conflicts: doc/mpdconf.example
Diffstat (limited to '')
-rw-r--r--AUTHORS2
-rw-r--r--COPYING27
-rw-r--r--INSTALL32
-rw-r--r--NEWS74
-rw-r--r--README17
-rw-r--r--doc/mpdconf.example367
6 files changed, 295 insertions, 224 deletions
diff --git a/AUTHORS b/AUTHORS
index dbc4a1623..6943b8bbd 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -7,7 +7,7 @@ Avuton Olrich <avuton@gmail.com>
Max Kellermann <max@duempel.org>
general
-José Anarch <anarchsss@gmail.com>
+José Anarch <anarchsss@gmail.com>
JACK plugin
Guus Sliepen <guus@sliepen.eu.org>
diff --git a/COPYING b/COPYING
index d60c31a97..d511905c1 100644
--- a/COPYING
+++ b/COPYING
@@ -1,8 +1,8 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
+the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
-
+
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
-
+
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
-
+
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
-
+
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
-
+
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
@@ -303,17 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
- Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
@@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
+library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
diff --git a/INSTALL b/INSTALL
index b1a24fd06..cb58a5cd0 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,12 @@
Music Player Daemon (MPD) - INSTALL
+Introduction
+------------
+This document is a very small amount of documentation about what is needed to
+install MPD. If more information is desired see the community wiki at
+http://mpd.wikia.com.
+
Dependencies
------------
@@ -28,6 +34,18 @@ ALSA - http://www.alsa-project.org/
The Advanced Linux Sound Architecture. Recommended audio output if you use
Linux. You will need libasound.
+FIFO
+This is a mostly undocumented, developer plugin to transmit raw data.
+
+MVP - http://en.wikipedia.org/wiki/Hauppauge_MediaMVP
+A network media player.
+
+OSS - http://www.opensound.com
+Open Sound System.
+
+OSX - http://www.apple.com
+Necessary if you are on Mac OSX.
+
PulseAudio - http://www.pulseaudio.org/
An advanced sound daemon. You will need libpulse.
@@ -144,16 +162,14 @@ Run
$ mpd <config file>
-(if no config file is specified, mpd's looks for ~/.mpdconf then /etc/mpd.conf)
-
-an example would be:
-
-$ mpd playlists/.mpdconf
+First default is ~/.mpdconf then /etc/mpd.conf. If neither of these exist
+a mpd configuration file must be specified at runtime. A
-A sample config file is included with the source of MPD, mpdconf.example .
+A sample config file is included with the source of MPD, mpdconf.example.
-Note: The first time you run mpd, it will "explore" your mp3 directory for
-mp3's.
+The first time MPD is run it will attempt to discover all music in your
+music root, recursively. This can be affected by the symbolic link
+options specified in the example mpd.conf.
Using MPD
---------
diff --git a/NEWS b/NEWS
index e65eeebe9..9dfadb167 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,7 @@
+This is not a reference log, but a rather random set of things that seemed
+significant to the person creating this file. For more detailed information on
+what happened for a certain release, see the developer repository logs.
+
ver 0.14.0 (????/??/??)
* audio outputs:
- wait 10 seconds before reopening a failed device
@@ -105,17 +109,21 @@ ver 0.12.0 (2006/9/22)
* Lots of bug fixes, cleaned up code, and performance improvements
ver 0.11.5 (2004/11/1)
-1) New id3v1_encoding config option to configure the id3v1 tag encoding (patch from dottedmag)
+1) New id3v1_encoding config option to configure the id3v1 tag encoding (patch
+from dottedmag)
2) Strip '\r' from m3u playlists (thank you windows)
3) Use random() instead of rand() for playlist randomizing
4) Fix a bug trying skipping some commented lines in m3u playlist files
-5) Fix a bug when fetching metadata from streams that may cause certain weirdnesses
+5) Fix a bug when fetching metadata from streams that may cause certain
+weirdnesses
6) Fix a bug where replaygain preamp was used on files w/o replaygain tags
7) Fix a busy loop when trying to prebuffer a nonexistant or missing stream
-8) Fix a bug in forgetting to remove leading ' ' in content-type for http streams
+8) Fix a bug in forgetting to remove leading ' ' in content-type for http
+streams
9) Check for ice-name in http headers
10) Be sure the strip all '\n' chars in tags
-11) Set $HOME env variable when setuid'ing, this should fix the /root/.mcop errors triggered by arts/libao
+11) Set $HOME env variable when setuid'ing, this should fix the /root/.mcop
+errors triggered by arts/libao
ver 0.11.4 (2004/7/26)
1) Fixed a segfault when decoding mp3's with corrupt id3v2 tags
@@ -125,13 +133,21 @@ ver 0.11.3 (2004/7/21)
1) Add support for http authentication for streams
2) Added replaygain pre-amp support
3) Better error handling for fread() in inputStream_file
-4) Fixed a bug so that when a freeAllInterfaces is called, it sets max_interface_connections to 0. This prevents potential segfaults and other nastiness for forked processes, like the player and update-er (do to interfacePrintWithFD()).
-5) Allow blockingWrite() to handle errors more gracefully (for example, if the disc is full, and thus the write() fails or can't be completed, we just skip this write() and continue, instead of getting stuck in an infinite loop until the write() becomes successful)
+4) Fixed a bug so that when a freeAllInterfaces is called, it sets
+max_interface_connections to 0. This prevents potential segfaults and other
+nastiness for forked processes, like the player and update-er (do to
+interfacePrintWithFD()).
+5) Allow blockingWrite() to handle errors more gracefully (for example, if the
+disc is full, and thus the write() fails or can't be completed, we just skip
+this write() and continue, instead of getting stuck in an infinite loop until
+the write() becomes successful)
6) Updated mpdconf.example from sbh/avuton
-7) If "user" is specified, then convert ~ in paths to the user's home path specified by "user" config paramter (not the actual current user running mpd).
+7) If "user" is specified, then convert ~ in paths to the user's home path
+specified by "user" config paramter (not the actual current user running mpd).
ver 0.11.2 (2004/7/5)
-1) Work around in computing total time for mp3's whose first valid mpeg frame is not layer III
+1) Work around in computing total time for mp3's whose first valid mpeg frame is
+not layer III
2) Fix mp3 and mp4 decoders when seeking past the end of the file
3) Fix replaygain for flac and vorbis
4) Fix memory leaks in flac decoder (from normalperson)
@@ -143,16 +159,19 @@ ver 0.11.1 (2004/6/24)
3) Fix move commands so they don't mess up the song id's
4) Added support for HTTP Proxy
5) Detect and skip recursive links in the music directory
-6) Fix addPathToDB() so updating on a specific path doesn't exist correctly adds the parent directories to the DB
+6) Fix addPathToDB() so updating on a specific path doesn't exist correctly adds
+the parent directories to the DB
ver 0.11.0 (2004/6/18)
1) Support for playing mp3 and Ogg Vorbis streams
2) Non-blocking Update
3) Replaygain support for Ogg Vorbis and FLAC (by Eric Moore aka AliasMrJones)
-4) audio_output_format option that allows for all audio output to be converted to a format compatible with any sound card
+4) audio_output_format option that allows for all audio output to be converted
+to a format compatible with any sound card
5) Own routines for to always support UTF-8 <-> ISO-8859-1 conversion
6) Added "Id" and "Pos" metadata for songs in playlist
-7) Added commands: plchanges, currentsong, playid, seekid, playlistid, moveid, swapid, deleteid
+7) Added commands: plchanges, currentsong, playid, seekid, playlistid, moveid,
+swapid, deleteid
8) UTF-8 validation of all tags
9) Update specific files/directories (for fast, incremental updating)
10) Added ACK error codes
@@ -172,14 +191,17 @@ ver 0.10.4 (2004/5/26)
1) Fix configure problems on OpenBSD with langinfo and iconv
2) Fix an infinte loop when writing to an interface and it has expired
3) Fix a segfault in decoding flac's
-4) Ingore CRC stuff in mp3's since some encoders did not compute the CRC correctly
+4) Ingore CRC stuff in mp3's since some encoders did not compute the CRC
+correctly
5) Fix a segfault in processing faulty mp4 metadata
ver 0.10.3 (2004/4/2)
1) Fix a segfault when a blanck line is sent from a client
2) Fix for loading playlists on platforms where char is unsigned
-3) When pausing, release audio device after we say pause is successful (this makes pause appear to not lag)
-4) When returning errors for unknown types by player, be sure to copy the filename
+3) When pausing, release audio device after we say pause is successful (this
+makes pause appear to not lag)
+4) When returning errors for unknown types by player, be sure to copy the
+filename
5) add --disable-alsa for disabling alsa mixer support
6) Use select() for a portable usleep()
7) For alsa mixer, default to "Master' element, not first element
@@ -193,13 +215,15 @@ ver 0.10.2 (2004/3/25)
6) Fix unnecessary big endian byte swapping
7) If locale is "C" or "POSIX", then use ISO-8859-1 as the fs charset
8) Fix a bug where alsa mixer wasn't detecting volume changes
-9) For alsa and software mixer, show volume to be the same as it was set (even if its not the exact volume)
+9) For alsa and software mixer, show volume to be the same as it was set (even
+if its not the exact volume)
10) Report bitrate for wave files
11) Compute song length of CBR mp3's more accurately
ver 0.10.1 (2004/3/7)
1) Check to see if we need to add "-lm" when linking mpd
-2) Fix issues with skipping bad frames in an mp3 (this way we get the correct samplerate and such)
+2) Fix issues with skipping bad frames in an mp3 (this way we get the correct
+samplerate and such)
3) Fix crossfading bug with ogg's
4) Updated libmad and libid3tag included w/ source to 0.15.1b
@@ -219,17 +243,21 @@ ver 0.10.0 (2004/3/3)
13) Fix a segfault when doing: add ""
14) Fix a segfault with flac vorbis comments simply being "="
15) Fix a segfault/bug in queueNextSong with repeat+random
-16) Fix a bug, where one process may segfault, and cause more processes to spawn w/o killing ones that lost their parent.
+16) Fix a bug, where one process may segfault, and cause more processes to spawn
+w/o killing ones that lost their parent.
17) Fix a bug when the OSS device was unable to fetch the current volume,
-it would close the device (when it maybe previously closed by the exact same code)
+it would close the device (when it maybe previously closed by the exact same
+code)
18) command.c cleanup by mackstann
19) directory.c and command.c cleanup by tw-nym
ver 0.9.4 (2004/1/21)
1) Fix a bug where updated tag info wasn't being detected
-2) Set the default audio write size to 1024 bytes (should decrease cpu load a bit on some machines).
+2) Set the default audio write size to 1024 bytes (should decrease cpu load a
+bit on some machines).
3) Make audio write size configurable via "audio_write_size" config option
-4) Tweak output buffer size for connections by detecting the kernel output buffer size.
+4) Tweak output buffer size for connections by detecting the kernel output
+buffer size.
ver 0.9.3 (2003/10/31)
1) Store total time/length of songs in db and display in *info commands
@@ -245,7 +273,8 @@ ver 0.9.3 (2003/10/31)
ver 0.9.2 (2003/10/6)
1) Fix FreeBSD Compilation Problems
2) Fix bug in move command
-3) Add mixer_control options to configure which mixer control/device mpd controls
+3) Add mixer_control options to configure which mixer control/device mpd
+controls
4) Randomize on play -1
5) Fix a bug in toggling repeat off and at the end of the playlist
@@ -280,7 +309,8 @@ ver 0.8.7 (2003/9/3)
instead of calling fclose() on the fp that was opened with fdopen().
ver 0.8.6 (2003/8/25)
-1) Fix a memory leak when a buffered existed, and a connection was unexpectedly closed, and i wasn't free'ing the buffer apropriatly.
+1) Fix a memory leak when a buffered existed, and a connection was unexpectedly
+closed, and i wasn't free'ing the buffer apropriatly.
ver 0.8.5 (2003/8/17)
1) Fix a bug where an extra end of line is returned when attempting to play a
diff --git a/README b/README
index b6c4740a4..bc3cbc18f 100644
--- a/README
+++ b/README
@@ -1,16 +1,17 @@
- Music Player Daemon (MPD)
- http://www.musicpd.org
+ Music Player Daemon (MPD)
+ http://www.musicpd.org
A daemon for playing music of various formats. Music is played through the
server's audio device. The daemon stores info about all available music,
and this info can be easily searched and retrieved. Player control, info
retrieval, and playlist management can all be managed remotely.
-To install MPD, see INSTALL.
+For basic installation information see the INSTALL file.
+
+MPD is released under the GNU General Public License version 2, which is
+distributed in the COPYING file.
+
+You should have received a copy of the GNU General Public License along with
+this program. If not, see <http://www.gnu.org/licenses/>.
-MPD is released under the GNU General Public License version 2.
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-For the full license, see COPYING.
diff --git a/doc/mpdconf.example b/doc/mpdconf.example
index 83eb0ab16..ccbb00395 100644
--- a/doc/mpdconf.example
+++ b/doc/mpdconf.example
@@ -1,92 +1,138 @@
# An example configuration file for MPD
# See the mpd.conf man page for a more detailed description of each parameter.
-######################## REQUIRED PATHS ########################
-music_directory "~/music"
-playlist_directory "~/.mpd/playlists"
-db_file "~/.mpd/mpd.db"
-log_file "~/.mpd/mpd.log"
-error_file "~/.mpd/mpd.error"
-#follow_outside_symlinks "yes"
-#follow_inside_symlinks "yes"
-################################################################
+# Required files and directories ##############################################
+#
+# From this directory MPD will discover the available audio files and add them
+# to the daemon's online database.
+#
+music_directory "~/music"
+#
+# This is the MPD internal playlist directory. This directory is not intended
+# for preexisting playlists which were not created by MPD.
+#
+playlist_directory "~/.mpd/playlists"
+#
+# This is the database file. This holds MPDs audio file locations when the
+# daemon is down.
+#
+db_file "~/.mpd/database"
+#
+# The log files for the daemon. Great for troubleshooting, depending on your
+# log_level.
+#
+log_file "~/.mpd/log"
+error_file "~/.mpd/error-log"
+###############################################################################
-######################## OPTIONAL PATHS ########################
+# Optional files ##############################################################
#
-# If you wish to use mpd --kill to stop MPD, then you must
-# specify a file here in which to store MPD's process ID.
+# This file is required for mpd --kill, and some init script, usage.
#
-#pid_file "~/.mpd/mpd.pid"
+#pid_file "~/.mpd/pid"
#
-# If specified, MPD will save its current state (playlist,
-# current song, playing/paused, etc.) at exit. This will be
-# used to restore the session the next time it is run.
+# This file contains information about most variables to get MPD back into the
+# same general shape it was in before it was brought down. This file must be
+# specified to utilize this feature.
#
-#state_file "~/.mpd/mpdstate"
+#state_file "~/.mpd/state"
#
-################################################################
+###############################################################################
-######################## DAEMON OPTIONS ########################
+# General music daemon options ################################################
#
# This specifies the user that MPD will run as, if set. MPD should
# never run as root, and you may use this option to make MPD change
# its user id after initialization. Do not use this option if you
# start MPD as an unprivileged user.
#
-#user "nobody"
+#user "nobody"
+#
+# The address for the daemon to listen on. Careful attention should be paid
+# if this is assigned to anything other then the default, any. This option can
+# deny access to control of the daemon.
+#
+# For network
+#bind_to_address "any"
#
-# The address and port to listen on.
+# And for Unix Socket
+#bind_to_address "~/.mpd/socket"
#
-#bind_to_address "any"
-#port "6600"
+# The port that is desired for the daemon to get assigned to.
#
-# Bind to a Unix domain socket:
+#port "6600"
#
-#bind_to_address "/var/run/mpd/socket"
+# Controls the type of information which is logged. Available options are
+# "default", "secure" or "verbose". The verbose option recommended
+# for troubleshooting, though can quickly stretch available resources on
+# limited hardware.
#
-# Controls the amount of information that is logged. Can be
-# "default", "secure", or "verbose".
+#log_level "default"
#
-#log_level "default"
+# If you have a problem with your MP3s ending abruptly it is recommended that
+# you set this argument to "no" to attempt to fix the problem. If this solves
+# the problem, it is highly recommended to fix the MP3 files with vbrfix
+# (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
+# point gapless MP3 playback can be enabled.
#
-################################################################
+#gapless_mp3_playback "yes"
+#
+# Enable this have MPD create playlists in a format usable by other music
+# players.
+#
+#save_absolute_paths_in_playlists "no"
+#
+# A list of tag types that MPD will discover during audio file discovery.
+# Optionally, comments can be added to this list.
+#
+#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
+#
+###############################################################################
+# Symbolic link behavior ######################################################
+#
+# Allow MPD to discover audio files by following symbolic links outside of the
+# configured music_directory.
+#
+#follow_outside_symlinks "yes"
+#
+# Allow MPD to discover audio files by following symbolic links inside of the
+# configured music_directory.
+#
+#follow_inside_symlinks "yes"
+#
+###############################################################################
-########################### ZEROCONF ###########################
+# Zeroconf / Avahi Service Discovery ##########################################
#
-# If yes, service information will be published with Zeroconf.
+# If yes, service information will be published with Zeroconf / Avahi.
#
-#zeroconf_enabled "yes"
+#zeroconf_enabled "yes"
#
-# The service name to publish. This name should be unique on
-# your local network.
+# The unique name for this MPD server for your network.
#
-#zeroconf_name "Music Player"
+#zeroconf_name "Music Player"
#
-################################################################
+###############################################################################
-########################## PERMISSIONS #########################
+# Permissions #################################################################
#
-# MPD can require that users specify a password before using it.
-# You may specify one ore more here, along with what users who
-# log in with that password are allowed to do.
+# MPD can require password authorization. This can be specified multiple times
+# for different user profiles.
#
#password "password@read,add,control,admin"
#
-# Specifies what permissions a user who has not logged in with a
-# password has. By default, all users have full access to MPD
-# if no password is specified above, or no access if one or
-# more passwords are specified.
+# This specifies the permissions a user has who has not yet logged in.
#
#default_permissions "read,add,control,admin"
#
-################################################################
+###############################################################################
-########################## AUDIO OUTPUT ########################
+# Audio Output ################################################################
#
# MPD supports many audio output types, as well as playing
# through multiple audio outputs at the same time. You can
@@ -99,194 +145,173 @@ error_file "~/.mpd/mpd.error"
# An example of an ALSA output:
#
#audio_output {
-# type "alsa"
-# name "My ALSA Device"
-# device "hw:0,0" # optional
-# format "44100:16:2" # optional
+# type "alsa"
+# name "My ALSA Device"
+# device "hw:0,0" # optional
+# format "44100:16:2" # optional
#}
#
# An example of an OSS output:
#
#audio_output {
-# type "oss"
-# name "My OSS Device"
-# device "/dev/dsp" # optional
-# format "44100:16:2" # optional
+# type "oss"
+# name "My OSS Device"
+# device "/dev/dsp" # optional
+# format "44100:16:2" # optional
#}
#
# An example of a shout output (for streaming to Icecast):
#
#audio_output {
-# type "shout"
-# encoding "ogg" # optional
-# name "My Shout Stream"
-# host "localhost"
-# port "8000"
-# mount "/mpd.ogg"
-# password "hackme"
-# quality "5.0"
-# bitrate "128"
-# format "44100:16:1"
-# protocol "icecast2" # optional
-# user "source" # optional
-# description "My Stream Description" # optional
-# genre "jazz" # optional
-# public "no" # optional
-# timeout "2" # optional
+# type "shout"
+# encoding "ogg" # optional
+# name "My Shout Stream"
+# host "localhost"
+# port "8000"
+# mount "/mpd.ogg"
+# password "hackme"
+# quality "5.0"
+# bitrate "128"
+# format "44100:16:1"
+# protocol "icecast2" # optional
+# user "source" # optional
+# description "My Stream Description" # optional
+# genre "jazz" # optional
+# public "no" # optional
+# timeout "2" # optional
#}
#
-# An example of a null output (for no audio output):
+# An example of a pulseaudio output (streaming to a remote pulseaudio server)
#
#audio_output {
-# type "null"
-# name "My Null Output"
+# type "pulse"
+# name "My Pulse Output"
+# server "remote_server"
+# sink "remote_server_sink"
#}
#
-# Force all decoded audio to be converted to this format before
-# being passed to the audio outputs.
+## An example of a null output (for no audio output):
+#
+#audio_output {
+# type "null"
+# name "My Null Output"
+#}
#
-#audio_output_format "44100:16:2"
+# Force all decoded audio to be converted to this format before being passed
+# to the audio outputs. By default, this option is disabled.
#
-# If MPD has been compiled with libsamplerate support, this
-# specifies the sample rate converter to use. Possible
-# values can be found in the mpd.conf man page or the
-# libsamplerate documentation.
+#audio_output_format "44100:16:2"
#
-#samplerate_converter "Fastest Sinc Interpolator"
+# If MPD has been compiled with libsamplerate support, this 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 option is
+# disabled.
#
-################################################################
+#samplerate_converter "Fastest Sinc Interpolator"
+#
+###############################################################################
-############################# MIXER ############################
+# Volume control mixer ########################################################
#
-# MPD needs to know what mixer settings to change when you
-# adjust the volume. If you don't specify one here, MPD will
-# pick one based on which ones it was compiled with support for.
+# MPD has limited volume controls, to use them pick one below. If one is not
+# specified it may be autodetected at startup, depending on available options.
#
# An example for controlling an ALSA mixer:
#
-#mixer_type "alsa"
-#mixer_device "default"
-#mixer_control "PCM"
+#mixer_type "alsa"
+#mixer_device "default"
+#mixer_control "PCM"
#
# An example for controlling an OSS mixer:
#
-#mixer_type "oss"
-#mixer_device "/dev/mixer"
-#mixer_control "PCM"
+#mixer_type "oss"
+#mixer_device "/dev/mixer"
+#mixer_control "PCM"
#
-# If you want MPD to adjust the volume of audio sent to the
-# audio outputs, you can tell it to use the software mixer:
+# This example is a general volume control mixer, it is used to adjust the
+# volume of the audio sent to the audio output.
#
-#mixer_type "software"
+#mixer_type "software"
#
-################################################################
+###############################################################################
-######################### NORMALIZATION ########################
+# Normalization automatic volume adjustments ##################################
#
-# Specifies the type of ReplayGain to use. Can be "album" or
-# "track". ReplayGain will not be used if not specified. See
-# <http://www.replaygain.org> for more details.
+# Specifies the type of ReplayGain to use. This option can either be "album" or
+# "track". See <http://www.replaygain.org> for more details. If this option is
+# unset it is disabled.
#
-#replaygain "album"
+#replaygain "album"
#
-# Sets the pre-amp used for files that have ReplayGain tags.
+# Sets the pre-amp used for files that have ReplayGain tags, if enabled.
#
-#replaygain_preamp "0"
+#replaygain_preamp "0"
#
-# Enable on the fly volume normalization. This will cause the
-# volume of all songs played to be adjusted so that they sound
-# as though they are of equal loudness.
+# Enable on-the-fly normalization volume adjustment. This will result in the
+# volume of all playing audio to be adjusted so the output has equal
+# "loudness".
#
-#volume_normalization "no"
+#volume_normalization "no"
#
-################################################################
+###############################################################################
-########################### BUFFERING ##########################
-#
-# The size of the buffer containing decoded audio. You probably
-# shouldn't change this.
+# MPD Internal Buffering ######################################################
#
-#audio_buffer_size "2048"
+# The size of internal decoded audio buffering. Changing this can have
+# ill effects. Don't change this if you don't know what you are doing.
#
-# How much of the buffer to fill before beginning to play.
-# Increase this if you hear skipping when changing songs.
+#audio_buffer_size "2048"
#
-#buffer_before_play "10%"
+# The percent of the buffer to fill before beginning to play. Increasing this
+# reduces the chance of audio file skipping, but increases the time before
+# audio playback.
#
-# Similar options for the HTTP stream buffer. If you hear
-# skipping while playing HTTP streams, you may wish to increase
-# these.
+#buffer_before_play "10%"
#
-#http_buffer_size "128"
-#http_prebuffer_size "25%"
-#
-################################################################
+###############################################################################
-########################### HTTP PROXY #########################
+# HTTP Streaming Proxy ########################################################
#
-# Specifies the HTTP proxy to use for playing HTTP streams.
+# Specifies the HTTP proxy to use for playing HTTP streams. By default, these
+# options will be disabled.
#
-#http_proxy_host "proxy.isp.com"
-#http_proxy_port "8080"
-#http_proxy_user "user"
-#http_proxy_password "password"
+#http_proxy_host "proxy.isp.com"
+#http_proxy_port "8080"
+#http_proxy_user "user"
+#http_proxy_password "password"
#
-################################################################
+###############################################################################
-############################# LIMITS ###########################
+# Resource Limitations ########################################################
#
-# These are various limits to prevent MPD from using too many
-# resources. You should only change them if they start
-# restricting your usage of MPD.
+# These are various limitations to prevent MPD from using too many resources.
+# Generally, these options should be minimized to prevent security risks,
+# depending on the operating resources.
#
-#connection_timeout "60"
-#max_connections "5"
-#max_playlist_length "16384"
-#max_command_list_size "2048"
-#max_output_buffer_size "8192"
+#connection_timeout "60"
+#max_connections "10"
+#max_playlist_length "16384"
+#max_command_list_size "2048"
+#max_output_buffer_size "8192"
#
-################################################################
+###############################################################################
-###################### CHARACTER ENCODINGS #####################
+# Character Encoding ##########################################################
#
-# If file or directory names do not display correctly, then you
-# may need to change this. In most cases it should be either
-# "ISO-8859-1" or "UTF-8". You must recreate your database
-# after changing this (use mpd --create-db).
+# If file or directory names do not display correctly for your local then you
+# may need to modify this option. After option modification mpd --create-db
+# must be run.
#
-#filesystem_charset "ISO-8859-1"
+#filesystem_charset "UTF-8"
#
# The encoding that ID3v1 tags should be converted from.
#
-#id3v1_encoding "ISO-8859-1"
-#
-################################################################
-
-
-######################### OTHER OPTIONS ########################
-#
-# Try disabling this if you have MP3s which appear to end
-# abruptly. If this solves the problem, it is highly
-# recommended that you fix your MP3s with vbrfix (available from
-# <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
-# point you can re-enable support for gapless MP3 playback.
-#
-#gapless_mp3_playback "yes"
-#
-# Enable this if you wish to use your MPD created playlists in
-# other music players.
-#
-#save_absolute_paths_in_playlists "no"
-#
-# A list of tag types that MPD will scan for and make available
-# to clients.
-#
-#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
+#id3v1_encoding "ISO-8859-1"
#
-################################################################
+###############################################################################