The Source repository is on GitHub.
There is a short document about building and configuration here. This will be useful if you need to build from source or customize the configuration (e.g. to change the renderer name).
For building from source, you will need a recent C++ compiler (C++11), and the development packages for libupnp ( Portable UPnP) branch 1.6, libmpdclient, libcurl, libexpat, libmicrohttpd and libjsoncpp.
I strongly advise using the patched version of libupnp6, available from packages on this page, or from the source tar file libupnp-1.6.20.jfd5.tar.gz. The patched version fixes some ennoying issues and is fully compatible with the standard one.
All the binary upmpdcli packages listed below install an appropriate systemd or init script to automatically start the daemon. For trying things out, just installing the package on the host where MPD is running will get you a usable system.
If MPD is not running on the same host, you need need to edit the configuration file, /etc/upmpdcli.conf to set the MPD host name or address.
You may also want to edit the configuration file to set the UPnP renderer name, for ease of use if you have several upmpdcli instances on the network.
When upgrading from 0.6, you need to edit the preserved configuration file to set "openhome = 1" if you want to enable the OpenHome services (new installations have have the parameter set by default).
You will find Debian packages for different releases and hardware architectures. If your configuration is not covered, you can build your own using the source packages, which is not hard. See a sample build sequence here.
Note that the repositories also includes a package for a patched version of libupnp6 1.6.20. This mostly fixes an ennoying bug which resulted in upmpdcli becoming unresponsive under certain conditions, and it is believed to be fully compatible with the default Debian libupnp6 1.6 versions. The latest release also has a fix for a problem which prevented the Linn Kazoo Control Point from attaching to upmpdcli.
Streaming services: as of upmpdcli version 1.2.4, the streaming services plugins have been split into separate packages (upmpdcli-tidal, upmpdcli-qobuz, upmpdcli-gmusic), and you need to install them separately. For using the Google Music plugin, you need to install the gmusicapi Python library. This needs Python 2.7.9 or better (e.g. the standard Python version on Ubuntu Trusty is too old). Older Python versions *will* crash.
Create and edit /etc/apt/sources.list.d/upmpdcli.list and add the following lines, depending on your system.
- Raspbian Wheezy:
deb http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian-wheezy/ unstable main deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian-wheezy/ unstable main
- Raspbian Jessie:
deb http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian-jessie/ unstable main deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian-jessie/ unstable main
- Raspbian Stretch: no packages for now, use the source package and the sample build sequence.
- Debian Jessie:
deb http://www.lesbonscomptes.com/upmpdcli/downloads/debian-jessie/ unstable main deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/debian-jessie/ unstable main
- Debian Stretch:
deb http://www.lesbonscomptes.com/upmpdcli/downloads/debian/ stretch main deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/debian/ stretch main
Then install the packages which you need (adjust to taste):
PPA for production packages:
Note that the PPA only has i386 and amd64 builds for now. If you need to build for an ARM platform, the sample Debian build sequence linked above will work.
Fedora (24 and 25) x86_64 and source packages. You need to install the libupnpp and upmpdcli packages.
Someone kindly created a Gentoo overlay.
Ubuntu and Debian backport repositories for mpd, usually of a newer versions than the official repo's and configured slightly differently. If you have no problem with the standard version, don't look for trouble and don't install this one, it's only useful in some quite exotic cases (e.g. high bitrate uncompressed streams from HTTP and L16).
The repositories currently have either:
- mpd release 0.19.19, with libsndfile and libaudiofile disabled (in my experience, these libs only bring trouble, and it's better to use ffmpeg for everything), and a patch for supporting L16.
- Vanilla mpd 0.20.4, (no source change), with libsndfile and libaudiofile disabled.
Older Debian/Ubuntu releases (wheezy and trusty) have 0.19 because the MPD guys like so much using the latest c++ gadgets that its almost impossible to backport their stuff (mpd now requires full c++14 support and I'm sure they're preparing for c++17) - end of rant.
Backport repository for Ubuntu
To use it, add the PPA:
Debian (i386, amd64) and Raspbian (armhf raspberry PI).
For ARM Debian: beware that the Raspbian packages may have dependancies which slightly differ from the equivalent Debian release, and you may have to recompile the source package on Debian.
To use the repository:
- Create and edit
/etc/apt/sources.list.d/mpd.list (you can change
the name to anything you like, e.g. mpd-backports.list),
and add the following lines:
For Raspbian and Debian 7.x Wheezy:
deb http://www.lesbonscomptes.com/upmpdcli/downloads/mpd-debian/ unstable main deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/mpd-debian/ unstable mainFor Raspbian and Debian 8.x Jessie:
deb http://www.lesbonscomptes.com/upmpdcli/downloads/mpd-debian/ jessie main deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/mpd-debian/ jessie main
sudo apt-get update sudo apt-get install mpd
Please use the Disqus comments for praise, insults, or for tips which may help others. Use the Github issue tracker for problem reports and enhancement suggestions. Use E-mail if you run into trouble, I'll be glad to help: jf at dockes dot org.comments powered by Disqus