Commit bc31d7a0 authored by Max Kellermann's avatar Max Kellermann

Merge branch 'master' of git://git.musicpd.org/avuton/mpd

Conflicts: doc/mpdconf.example
parents a6e981c0 143b46ca
...@@ -7,7 +7,7 @@ Avuton Olrich <avuton@gmail.com> ...@@ -7,7 +7,7 @@ Avuton Olrich <avuton@gmail.com>
Max Kellermann <max@duempel.org> Max Kellermann <max@duempel.org>
general general
Jos Anarch <anarchsss@gmail.com> José Anarch <anarchsss@gmail.com>
JACK plugin JACK plugin
Guus Sliepen <guus@sliepen.eu.org> Guus Sliepen <guus@sliepen.eu.org>
......
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
Version 2, June 1991 Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. 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 ...@@ -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 General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by 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. your programs, too.
When we speak of free software, we are referring to freedom, not 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. ...@@ -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 The precise terms and conditions for copying, distribution and
modification follow. modification follow.
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
...@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions: ...@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on does not normally print such an announcement, your work based on
the Program is not required to print an announcement.) the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program, identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in and can be reasonably considered independent and separate works in
...@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent ...@@ -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 access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not distribution of the source code, even though third parties are not
compelled to copy the source along with the object code. compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program 4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is otherwise to copy, modify, sublicense or distribute the Program is
...@@ -225,7 +225,7 @@ impose that choice. ...@@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License. be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in 8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License 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 ...@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest 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. ...@@ -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 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License along
along with this program; if not, write to the Free Software with this program; if not, write to the Free Software Foundation, Inc.,
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail. 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 If the program is interactive, make it output a short notice like this
when it starts in an interactive mode: 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'. Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details. under certain conditions; type `show c' for details.
...@@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names: ...@@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
This General Public License does not permit incorporating your program into This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the 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. Public License instead of this License.
Music Player Daemon (MPD) - INSTALL 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 Dependencies
------------ ------------
...@@ -28,6 +34,18 @@ ALSA - http://www.alsa-project.org/ ...@@ -28,6 +34,18 @@ ALSA - http://www.alsa-project.org/
The Advanced Linux Sound Architecture. Recommended audio output if you use The Advanced Linux Sound Architecture. Recommended audio output if you use
Linux. You will need libasound. 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/ PulseAudio - http://www.pulseaudio.org/
An advanced sound daemon. You will need libpulse. An advanced sound daemon. You will need libpulse.
...@@ -144,16 +162,14 @@ Run ...@@ -144,16 +162,14 @@ Run
$ mpd <config file> $ mpd <config file>
(if no config file is specified, mpd's looks for ~/.mpdconf then /etc/mpd.conf) First default is ~/.mpdconf then /etc/mpd.conf. If neither of these exist
a mpd configuration file must be specified at runtime. A
an example would be:
$ mpd playlists/.mpdconf
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 The first time MPD is run it will attempt to discover all music in your
mp3's. music root, recursively. This can be affected by the symbolic link
options specified in the example mpd.conf.
Using MPD Using MPD
--------- ---------
......
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 (????/??/??) ver 0.14.0 (????/??/??)
* audio outputs: * audio outputs:
- wait 10 seconds before reopening a failed device - wait 10 seconds before reopening a failed device
...@@ -105,17 +109,21 @@ ver 0.12.0 (2006/9/22) ...@@ -105,17 +109,21 @@ ver 0.12.0 (2006/9/22)
* Lots of bug fixes, cleaned up code, and performance improvements * Lots of bug fixes, cleaned up code, and performance improvements
ver 0.11.5 (2004/11/1) 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) 2) Strip '\r' from m3u playlists (thank you windows)
3) Use random() instead of rand() for playlist randomizing 3) Use random() instead of rand() for playlist randomizing
4) Fix a bug trying skipping some commented lines in m3u playlist files 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 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 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 9) Check for ice-name in http headers
10) Be sure the strip all '\n' chars in tags 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) ver 0.11.4 (2004/7/26)
1) Fixed a segfault when decoding mp3's with corrupt id3v2 tags 1) Fixed a segfault when decoding mp3's with corrupt id3v2 tags
...@@ -125,13 +133,21 @@ ver 0.11.3 (2004/7/21) ...@@ -125,13 +133,21 @@ ver 0.11.3 (2004/7/21)
1) Add support for http authentication for streams 1) Add support for http authentication for streams
2) Added replaygain pre-amp support 2) Added replaygain pre-amp support
3) Better error handling for fread() in inputStream_file 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()). 4) Fixed a bug so that when a freeAllInterfaces is called, it sets
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) 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 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) 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 2) Fix mp3 and mp4 decoders when seeking past the end of the file
3) Fix replaygain for flac and vorbis 3) Fix replaygain for flac and vorbis
4) Fix memory leaks in flac decoder (from normalperson) 4) Fix memory leaks in flac decoder (from normalperson)
...@@ -143,16 +159,19 @@ ver 0.11.1 (2004/6/24) ...@@ -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 3) Fix move commands so they don't mess up the song id's
4) Added support for HTTP Proxy 4) Added support for HTTP Proxy
5) Detect and skip recursive links in the music directory 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) ver 0.11.0 (2004/6/18)
1) Support for playing mp3 and Ogg Vorbis streams 1) Support for playing mp3 and Ogg Vorbis streams
2) Non-blocking Update 2) Non-blocking Update
3) Replaygain support for Ogg Vorbis and FLAC (by Eric Moore aka AliasMrJones) 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 5) Own routines for to always support UTF-8 <-> ISO-8859-1 conversion
6) Added "Id" and "Pos" metadata for songs in playlist 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 8) UTF-8 validation of all tags
9) Update specific files/directories (for fast, incremental updating) 9) Update specific files/directories (for fast, incremental updating)
10) Added ACK error codes 10) Added ACK error codes
...@@ -172,14 +191,17 @@ ver 0.10.4 (2004/5/26) ...@@ -172,14 +191,17 @@ ver 0.10.4 (2004/5/26)
1) Fix configure problems on OpenBSD with langinfo and iconv 1) Fix configure problems on OpenBSD with langinfo and iconv
2) Fix an infinte loop when writing to an interface and it has expired 2) Fix an infinte loop when writing to an interface and it has expired
3) Fix a segfault in decoding flac's 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 5) Fix a segfault in processing faulty mp4 metadata
ver 0.10.3 (2004/4/2) ver 0.10.3 (2004/4/2)
1) Fix a segfault when a blanck line is sent from a client 1) Fix a segfault when a blanck line is sent from a client
2) Fix for loading playlists on platforms where char is unsigned 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) 3) When pausing, release audio device after we say pause is successful (this
4) When returning errors for unknown types by player, be sure to copy the filename 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 5) add --disable-alsa for disabling alsa mixer support
6) Use select() for a portable usleep() 6) Use select() for a portable usleep()
7) For alsa mixer, default to "Master' element, not first element 7) For alsa mixer, default to "Master' element, not first element
...@@ -193,13 +215,15 @@ ver 0.10.2 (2004/3/25) ...@@ -193,13 +215,15 @@ ver 0.10.2 (2004/3/25)
6) Fix unnecessary big endian byte swapping 6) Fix unnecessary big endian byte swapping
7) If locale is "C" or "POSIX", then use ISO-8859-1 as the fs charset 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 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 10) Report bitrate for wave files
11) Compute song length of CBR mp3's more accurately 11) Compute song length of CBR mp3's more accurately
ver 0.10.1 (2004/3/7) ver 0.10.1 (2004/3/7)
1) Check to see if we need to add "-lm" when linking mpd 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 3) Fix crossfading bug with ogg's
4) Updated libmad and libid3tag included w/ source to 0.15.1b 4) Updated libmad and libid3tag included w/ source to 0.15.1b
...@@ -219,17 +243,21 @@ ver 0.10.0 (2004/3/3) ...@@ -219,17 +243,21 @@ ver 0.10.0 (2004/3/3)
13) Fix a segfault when doing: add "" 13) Fix a segfault when doing: add ""
14) Fix a segfault with flac vorbis comments simply being "=" 14) Fix a segfault with flac vorbis comments simply being "="
15) Fix a segfault/bug in queueNextSong with repeat+random 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, 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 18) command.c cleanup by mackstann
19) directory.c and command.c cleanup by tw-nym 19) directory.c and command.c cleanup by tw-nym
ver 0.9.4 (2004/1/21) ver 0.9.4 (2004/1/21)
1) Fix a bug where updated tag info wasn't being detected 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 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) ver 0.9.3 (2003/10/31)
1) Store total time/length of songs in db and display in *info commands 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) ...@@ -245,7 +273,8 @@ ver 0.9.3 (2003/10/31)
ver 0.9.2 (2003/10/6) ver 0.9.2 (2003/10/6)
1) Fix FreeBSD Compilation Problems 1) Fix FreeBSD Compilation Problems
2) Fix bug in move command 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 4) Randomize on play -1
5) Fix a bug in toggling repeat off and at the end of the playlist 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) ...@@ -280,7 +309,8 @@ ver 0.8.7 (2003/9/3)
instead of calling fclose() on the fp that was opened with fdopen(). instead of calling fclose() on the fp that was opened with fdopen().
ver 0.8.6 (2003/8/25) 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) ver 0.8.5 (2003/8/17)
1) Fix a bug where an extra end of line is returned when attempting to play a 1) Fix a bug where an extra end of line is returned when attempting to play a
......
Music Player Daemon (MPD) Music Player Daemon (MPD)
http://www.musicpd.org http://www.musicpd.org
A daemon for playing music of various formats. Music is played through the 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, server's audio device. The daemon stores info about all available music,
and this info can be easily searched and retrieved. Player control, info and this info can be easily searched and retrieved. Player control, info
retrieval, and playlist management can all be managed remotely. 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.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment