INSTALL 5.16 KB
Newer Older
Warren Dukes's avatar
Warren Dukes committed
1 2
                       Music Player Daemon (MPD) - INSTALL

3

4 5 6
Introduction
------------
This document is a very small amount of documentation about what is needed to 
7 8
install MPD. If more information is desired see the community wiki at 
http://mpd.wikia.com.
9

10 11 12 13 14 15
Dependencies
------------

gcc - http://gcc.gnu.org/
Any other C99 compliant compiler should also work.

16
GLib 2.12 - http://www.gtk.org/
17 18 19
General-purpose utility library.


J. Alexander Treuman's avatar
J. Alexander Treuman committed
20 21
Optional Output Dependencies
----------------------------
Warren Dukes's avatar
Warren Dukes committed
22

J. Alexander Treuman's avatar
J. Alexander Treuman committed
23
You will need at least one of these to compile MPD.
Warren Dukes's avatar
Warren Dukes committed
24

J. Alexander Treuman's avatar
J. Alexander Treuman committed
25 26
Most of these are available as packages on major distributions.  Be sure to
install both the library package as well as the development package.
Warren Dukes's avatar
Warren Dukes committed
27

J. Alexander Treuman's avatar
J. Alexander Treuman committed
28 29 30 31 32 33 34 35 36
AO - http://www.xiph.org/ao/
A portable library that abstracts many audio output types as one API.  Should
be used only if there is no native plugin available or if the native plugin
doesn't work.  You will need libao.

ALSA - http://www.alsa-project.org/
The Advanced Linux Sound Architecture.  Recommended audio output if you use
Linux.  You will need libasound.

37 38 39 40 41 42 43 44 45 46 47 48
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.

J. Alexander Treuman's avatar
J. Alexander Treuman committed
49 50 51
PulseAudio - http://www.pulseaudio.org/
An advanced sound daemon.  You will need libpulse.

J. Alexander Treuman's avatar
J. Alexander Treuman committed
52 53 54
JACK - http://www.jackaudio.org/
A low-latency sound daemon.

J. Alexander Treuman's avatar
J. Alexander Treuman committed
55 56
libshout - http://www.icecast.org/
For streaming to an Icecast or Shoutcast server.
57 58
You also need an encoder: either libvorbisenc (ogg), or liblame (mp3).

59 60 61
OpenAL - http://kcat.strangesoft.net/openal.html
Open Audio Library

62 63 64
libffado - http://www.ffado.org/
For FireWire audio devices.

J. Alexander Treuman's avatar
J. Alexander Treuman committed
65 66 67 68 69 70 71 72 73 74 75 76

Optional Input Dependencies
---------------------------

You will need at least one of these to compile MPD.

Most of these are available as packages on major distributions.  Be sure to
install both the library package as well as the development package.

MAD - http://www.underbit.com/products/mad/
For MP3 support.  You will need libmad, and optionally libid3tag if you want
ID3 tag support.
Warren Dukes's avatar
Warren Dukes committed
77

78 79 80
libmpg123 - http://www.mpg123.de/
Alternative for MP3 support.

Warren Dukes's avatar
Warren Dukes committed
81
Ogg Vorbis - http://www.xiph.org/ogg/vorbis/
J. Alexander Treuman's avatar
J. Alexander Treuman committed
82 83 84 85
For Ogg Vorbis support.  You will need libogg and libvorbis.

FLAC - http://flac.sourceforge.net/
For FLAC support.  You will need version 1.1.0 or higher of libflac.
Warren Dukes's avatar
Warren Dukes committed
86

J. Alexander Treuman's avatar
J. Alexander Treuman committed
87 88
Audio File - http://www.68k.org/~michael/audiofile/
For WAVE, AIFF, and AU support.  You will need libaudiofile.
Warren Dukes's avatar
Warren Dukes committed
89

J. Alexander Treuman's avatar
J. Alexander Treuman committed
90 91
FAAD2 - http://www.audiocoding.com/
For MP4/AAC support.  You will need libmp4ff.
92

J. Alexander Treuman's avatar
J. Alexander Treuman committed
93 94 95 96 97
libmpcdec - http://www.musepack.net/
For Musepack support.

MikMod - http://mikmod.raphnet.net/
For MOD support.  You will need libmikmod.
98

99 100 101
libavcodec, libavformat (ffmpeg) - http://ffmpeg.mplayerhq.hu/
Multi-codec library.

102 103 104
libsidplay2 - http://sidplay2.sourceforge.net/
For C64 SID support.

105
libfluidsynth - http://fluidsynth.resonance.org/
106
For MIDI support (DO NOT USE - use libwildmidi instead)
107

108 109 110
libwildmidi - http://wildmidi.sourceforge.net/
For MIDI support.

111 112 113
libsndfile - http://www.mega-nerd.com/libsndfile/
WAVE, AIFF, and many others.

114 115 116
libwavpack - http://www.wavpack.com/
For WavPack playback.

117 118 119
despotify - https://github.com/SimonKagstrom/despotify
For Spotify playback.

120

Avuton Olrich's avatar
Avuton Olrich committed
121 122 123
Optional Miscellaneous Dependencies
-----------------------------------

J. Alexander Treuman's avatar
J. Alexander Treuman committed
124
Avahi - http://www.avahi.org/
Avuton Olrich's avatar
Avuton Olrich committed
125 126 127 128 129
For Zeroconf support.

libsamplerate - http://www.mega-nerd.com/SRC/
For advanced samplerate conversions.

Max Kellermann's avatar
Max Kellermann committed
130 131 132
libcurl - http://curl.haxx.se/
For playing HTTP streams.

133 134 135
libmms - https://launchpad.net/libmms
For playing MMS streams.

136 137 138
SQLite - http://www.sqlite.org/
For the sticker database.

139 140 141
libcue - http://libcue.sourceforge.net/
For CUE sheet support.

142 143 144
libcdio - http://www.gnu.org/software/libcdio/
For playing audio CDs.

Max Kellermann's avatar
Max Kellermann committed
145

146 147 148 149 150 151 152 153 154 155 156 157
pkg-config
----------

MPD uses pkg-config to locate most external libraries.  If you do not
have pkg-config, or if your version of the library does not ship the
".pc" file, you have to provide the library's build options in
environment variables.  These variables are documented in "./configure
--help".  Example:

 FLAC_CFLAGS=-I/usr/include/FLAC FLAC_LIBS=-lFLAC ./configure


Warren Dukes's avatar
Warren Dukes committed
158 159 160
Download
--------

J. Alexander Treuman's avatar
J. Alexander Treuman committed
161
Get the latest release from of MPD from <http://www.musicpd.org/>.
Warren Dukes's avatar
Warren Dukes committed
162 163 164 165 166 167 168 169

Compile
-------

1) unzip and untar the archive

$ tar zxvf mpd-x.x.x.tar.gz

J. Alexander Treuman's avatar
J. Alexander Treuman committed
170 171 172 173
or

$ tar jxvf mpd-x.x.x.tar.bz2

Warren Dukes's avatar
Warren Dukes committed
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
2) change to directory created

$ cd mpd-x.x.x

3) Run configure script (this will determine what dependencies you have)

$ ./configure

4) Compile

$ make

Install (Optional)
-------

(as root)
$ make install

Run
---

1) run mpd:

$ mpd <config file>

199 200 201
First default is ~/.mpdconf then ~/.mpd/mpd.conf then /etc/mpd.conf. If
neither of these exist a mpd configuration file must be specified at
runtime.
Warren Dukes's avatar
Warren Dukes committed
202

203
A sample config file is included with the source of MPD, mpdconf.example.
Warren Dukes's avatar
Warren Dukes committed
204

205
The first time MPD is run it will attempt to discover all music in your
206 207
music root, recursively. This can be affected by the symbolic link 
options specified in the example mpd.conf.
J. Alexander Treuman's avatar
J. Alexander Treuman committed
208

Warren Dukes's avatar
Warren Dukes committed
209 210 211
Using MPD
---------

Avuton Olrich's avatar
Avuton Olrich committed
212 213
You can download many different interfaces for MPD at 
	<http://mpd.wikia.com/wiki/Clients>
Warren Dukes's avatar
Warren Dukes committed
214 215

MPD can be interfaced directly using telnet (see COMMANDS, if you are brave).