upmpdcli is an UPnP Media Renderer front-end to MPD, the Music Player Daemon.

Configuration

See the man page for command line details. In most situations, upmpdcli will be run as follows:

upmpdcli -D -c /etc/upmpdcli.conf

The -D option tells upmpdcli to fork and run in background. The -c option specifies a configuration file.

The configuration file has a simple name = value format.

The configuration parameters can be set from the command line, a configuration file, or the environment in this order of priority. It would be rather confusing to use a mix of methods, so you should probably chose one.

The following parameters can be set:

What

Command line

Environment

Config variable

Configuration file name

-c config

$UPMPD_CONFIG

Host name or IP address where MPD runs

-h mpdhost

$UPMPD_HOST

mpdhost

TCP port for MPD

-p mpdport

$UPMPD_PORT

mpdport

MPD password

mpdpassword

Do we own the MPD queue and fearlessly clear it

-o 0/1

ownqueue

UPnP "friendly name" for the device. This gets displayed in network search results.

-f friendlyname

$UPMPD_FRIENDLYNAME

friendlyname

Log file name. Leave empty for stderr

-d logfilename

logfilename

Verbosity level (0-4)

-l loglevel

loglevel

Boot time startup

upmpdcli will try to change its uid to user upmpdcli if it is started by root. It will refuse to run if the user does not exist.

If started by root, upmpdcli will also write its process id to /var/run/upmpdcli.pid.

There are boot-time startup scripts in the debian/ directory inside the source tree (for Debian/Ubuntu/Mint/Raspbian etc.). There is also a systemd service file under systemd/ (for Fedora et al.).

The boot scripts are installed by the pre-built packages, so will just have to edit the configuration file after installing them, all the rest should just work.

Building

For building from source, you will need a recent C++ compiler (C++11), and the development packages for libupnp version 1.6, and libmpdclient.

If you are using the source from Github, you will also need the autoconf/automake/libtool trio. Use the autogen.sh script to set things up.

Otherwise, the procedure is standard and there are currently no specific configure options:

configure --prefix=/usr
make
sudo make install