211 lines
5.1 KiB
Plaintext
211 lines
5.1 KiB
Plaintext
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, read the user manual:
|
|
|
|
http://www.musicpd.org/doc/user/
|
|
|
|
Dependencies
|
|
------------
|
|
|
|
gcc 4.6 or later - http://gcc.gnu.org/
|
|
clang 3.2 or later - http://clang.llvm.org/
|
|
Any other C++11 compliant compiler should also work.
|
|
|
|
GLib 2.28 - 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.
|
|
|
|
OSS - http://www.opensound.com
|
|
Open Sound System.
|
|
|
|
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
|
|
|
|
|
|
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 0.2.3 - 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 <http://www.musicpd.org/>.
|
|
|
|
Compile
|
|
-------
|
|
|
|
1) unpack the archive
|
|
|
|
$ tar xf mpd-x.x.x.tar.xz
|
|
|
|
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>
|
|
|
|
First default is $XDG_CONFIG_HOME/mpd/mpd.conf then ~/.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
|
|
|
|
http://www.musicpd.org/clients/
|