|
a/README.asc |
|
b/README.asc |
1 |
=== upmpdcli: an UPnP front-end to the Music Player Daemon
|
1 |
=== libupnpp : a C++ wrapper for libupnp
|
2 |
|
2 |
|
3 |
*upmpdcli* implements an *UPnP* _Media Renderer_, using *MPD* to perform
|
3 |
libupnpp defines useful objects over libupnp and can be used to create both
|
4 |
the real work.
|
4 |
devices and control points. It is shared by upmpdcli and upplay.
|
5 |
|
|
|
6 |
It has been tested with a number of *UPnP* control points running on
|
|
|
7 |
*Android* and *Windows*. Because of their good support of *OpenHome*
|
|
|
8 |
_Playlists_, which are a significant improvement over bare *UPnP*, and
|
|
|
9 |
their general quality, *Bubble UPnP* (*Android* app) and Linn *Kinsky* (free on
|
|
|
10 |
*Windows*) work best with it.
|
|
|
11 |
|
|
|
12 |
==== How things work:
|
|
|
13 |
|
|
|
14 |
The Control Points uses the *UPnP* protocols to browse the tracks on the
|
|
|
15 |
_Media Server_ and choses URIs to be played. It then talks *UPnP* to *umpdcli*,
|
|
|
16 |
which uses the *MPD* client protocol to place the URIs into the *MPD*
|
|
|
17 |
playlist. *MPD* finally retrieves the data from the _Media Server_ using HTTP.
|
|
|
18 |
|
|
|
19 |
....
|
|
|
20 |
[UPnP Control Point]
|
|
|
21 |
^ ^
|
|
|
22 |
| |
|
|
|
23 |
(UPnP) (UPnP)
|
|
|
24 |
| |
|
|
|
25 |
V |
|
|
|
26 |
[upmpdcli] |
|
|
|
27 |
^ |
|
|
|
28 |
| |
|
|
|
29 |
(MPD protocol) |
|
|
|
30 |
| |
|
|
|
31 |
V V
|
|
|
32 |
[MPD]<--(HTTP)-->[UPnP Media Server]
|
|
|
33 |
....
|
|
|
34 |
|
|
|
35 |
Each of the _Control point_, _Media Server_, *MPD* and *upmpdcli* processes
|
|
|
36 |
can run on any network host.
|
|
|
37 |
|
5 |
|
38 |
More information: http://www.lesbonscomptes.com/upmpdcli
|
6 |
More information: http://www.lesbonscomptes.com/upmpdcli
|