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 ------------ gcc - http://gcc.gnu.org/ Any other C99 compliant compiler should also work. GLib 2.16 - http://www.gtk.org/ General-purpose utility library. Optional Output 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. 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. 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. JACK - http://www.jackaudio.org/ A low-latency sound daemon. libshout - http://www.icecast.org/ For streaming to an Icecast or Shoutcast server. You also need an encoder: either libvorbisenc (ogg), or liblame (mp3). OpenAL - http://kcat.strangesoft.net/openal.html Open Audio Library libffado - http://www.ffado.org/ For FireWire audio devices. 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. libmpg123 - http://www.mpg123.de/ Alternative for MP3 support. Ogg Vorbis - http://www.xiph.org/ogg/vorbis/ For Ogg Vorbis support. You will need libogg and libvorbis. libopus - http://www.opus-codec.org/ Opus codec support FLAC - http://flac.sourceforge.net/ For FLAC support. You will need version 1.2 or higher of libFLAC. Audio File - http://www.68k.org/~michael/audiofile/ For WAVE, AIFF, and AU support. You will need libaudiofile. FAAD2 - http://www.audiocoding.com/ For MP4/AAC support. libmpcdec - http://www.musepack.net/ For Musepack support. MikMod - http://mikmod.raphnet.net/ For MOD support. You will need libmikmod. libavcodec, libavformat (ffmpeg or libav) - http://ffmpeg.mplayerhq.hu/ http://libav.org/ Multi-codec library. libsidplay2 - http://sidplay2.sourceforge.net/ For C64 SID support. libfluidsynth - http://fluidsynth.resonance.org/ For MIDI support. libwildmidi - http://wildmidi.sourceforge.net/ For MIDI support. libsndfile - http://www.mega-nerd.com/libsndfile/ WAVE, AIFF, and many others. libwavpack - http://www.wavpack.com/ For WavPack playback. libadplug - http://adplug.sourceforge.net/ For AdLib playback. despotify - https://github.com/SimonKagstrom/despotify For Spotify playback. Optional Miscellaneous Dependencies ----------------------------------- Avahi - http://www.avahi.org/ For Zeroconf support. libsamplerate - http://www.mega-nerd.com/SRC/ For advanced samplerate conversions. libcurl - http://curl.haxx.se/ For playing HTTP streams. libmms - https://launchpad.net/libmms For playing MMS streams. SQLite - http://www.sqlite.org/ For the sticker database. libcdio - http://www.gnu.org/software/libcdio/ For playing audio CDs. libsystemd-daemon - http://freedesktop.org/wiki/Software/systemd/ For systemd activation. 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 Download -------- Get the latest release from of MPD from . Compile ------- 1) unzip and untar the archive $ tar zxvf mpd-x.x.x.tar.gz or $ tar jxvf mpd-x.x.x.tar.bz2 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 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. A sample config file is included with the source of MPD, mpdconf.example. 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 --------- You can download many different interfaces for MPD at MPD can be interfaced directly using telnet (see COMMANDS, if you are brave).