Switch to unified view

a/doc/upmpdcli.txt b/doc/upmpdcli.txt
1
= Upmpdcli: an UPnP Renderer Front-End to the Music Player Daemon
1
= Upmpdcli: MPD UPnP Renderer Front-End
2
2
3
[[upmpdcli.intro]]
4
== Introduction
5
3
6
*upmpdcli* is an UPnP Media Renderer front-end to *MPD*, the Music Player
4
*upmpdcli* is an UPnP Media Renderer front-end to *MPD*, the Music Player
7
Daemon. It turns *MPD* into an UPnP Media Renderer, supporting gapless
5
Daemon. 
8
track transitions.
9
10
*upmpdcli* is open-source, free and licensed under the GPL. It is written
11
in C++ and uses the *libupnp* (1.6) and *libmpdclient* libraries.
12
13
The typical setup is a home network with:
14
15
 An UPnP media server (e.g. *Minidlna*, *Mediatomb*, or some commercial
16
  device).
17
 An UPnP control point (e.g. *Audionet* or *Bubble UPnP* running on a
18
  tablet or phone). 
19
 *MPD* running on some Linux device (e.g. Raspberry PI hooked up to your
20
  bedroom stereo). 
21
 *upmpdcli* running on any Linux computer on the network (the same as
22
  *MPD* or not). It will be discovered by the UPnP control point in a
23
  standard fashion.
24
25
image::upmpdcli.png["Basic flow", float="right"]
26
27
In this usage, *MPD* does not manage the audio files directly and its
28
configured music directory will typically be empty. It fetches them from
29
the Media Server through HTTP, using the *curl* input plugin, and does not
30
need a local tags database.
31
32
When used with an appropriate control point, the *upmpdcli*/*MPD*
33
combination supports gapless playback.
34
35
_What's the point ?_ If you are running an UPnP network with multiple
36
devices, you may prefer to use a single control application (UPnP-based)
37
for everything. *MPD* is a very capable and robust music-playing application,
38
which runs well on small computers (e.g. Raspberry PI or other "plug" type
39
computers). However it needs a specific control application.
40
41
*upmpdcli* lets you control your *MPD*-based players with your UPnP control
42
point.
43
6
44
== Configuration
7
== Configuration
45
[[upmpdcli.config]]
8
[[upmpdcli.config]]
46
9
47
See the man page for command line details. In most situations, *upmpdcli*
10
See the man page for command line details. In most situations, *upmpdcli*
...
...
64
|========================
27
|========================
65
|What|Command line|Environment|Config variable
28
|What|Command line|Environment|Config variable
66
|Configuration file name|-c config|$UPMPD_CONFIG|
29
|Configuration file name|-c config|$UPMPD_CONFIG|
67
|Host name or IP address where *MPD* runs|-h mpdhost|$UPMPD_HOST|mpdhost
30
|Host name or IP address where *MPD* runs|-h mpdhost|$UPMPD_HOST|mpdhost
68
|TCP port for *MPD*|-p mpdport|$UPMPD_PORT|mpdport
31
|TCP port for *MPD*|-p mpdport|$UPMPD_PORT|mpdport
32
|*MPD* password|||mpdpassword
69
|Do we own the *MPD* queue and fearlessly clear it|-o 0/1||ownqueue
33
|Do we own the *MPD* queue and fearlessly clear it|-o 0/1||ownqueue
70
|UPnP "friendly name" for the device. This gets displayed in network search
34
|UPnP "friendly name" for the device. This gets displayed in network search
71
  results.|-f friendlyname|$UPMPD_FRIENDLYNAME|friendlyname 
35
  results.|-f friendlyname|$UPMPD_FRIENDLYNAME|friendlyname 
72
|Log file name. Leave empty for stderr|-d logfilename||logfilename
36
|Log file name. Leave empty for stderr|-d logfilename||logfilename
73
|Verbosity level (0-4)|-l loglevel||loglevel
37
|Verbosity level (0-4)|-l loglevel||loglevel
74
|===========================    
38
|===========================    
75
39
76
[[upmpdcli.boot]]
40
[[upmpdcli.boot]]
77
== Boot time startup
41
== Boot time startup
78
42
79
*upmpdcli* will will try to change its `uid` to user `upmpdcli` if it is
43
*upmpdcli* will try to change its `uid` to user `upmpdcli` if it is
80
started by root. It will refuse to run if the user does not exist.
44
started by root. It will refuse to run if the user does not exist.
81
45
82
If started by `root`, *upmpdcli* will also write its process id to
46
If started by `root`, *upmpdcli* will also write its process id to
83
`/var/run/upmpdcli.pid`.
47
`/var/run/upmpdcli.pid`.
84
48