=== upmpdcli: an UPnP front-end to the Music Player Daemon *upmpdcli* implements an *UPnP* _Media Renderer_, using *MPD* to perform the real work. It has been tested with a number of *UPnP* control points running on *Android* and *Windows*. Because of their good support of *OpenHome* _Playlists_, which are a significant improvement over bare *UPnP*, *Bubble UPnP* (*Android* app) and Upplay (*Linux* and *Windows*) are recommended, but many other control points are usable. ==== How things work: The Control Points uses the *UPnP* protocols to browse the tracks on the _Media Server_ and choses URIs to be played. It then talks *UPnP* to *umpdcli*, which uses the *MPD* client protocol to place the URIs into the *MPD* playlist. *MPD* finally retrieves the data from the _Media Server_ using HTTP. .... [UPnP Control Point] ^ ^ | | (UPnP) (UPnP) | | V | [upmpdcli] | ^ | | | (MPD protocol) | | | V V [MPD]<--(HTTP)-->[UPnP Media Server] .... Each of the _Control point_, _Media Server_, *MPD* and *upmpdcli* processes can run on any network host. More information: http://www.lesbonscomptes.com/upmpdcli