MMPD - Multi-MPD client
Goals
MMPD (or Multi- Music-Player-Daemon) is a PHP web client for controlling and managing multiple instance of MPD.
The application arose from a need to control a multi-zone audio system that is being installed in a commercial facility. Because there are multiple areas (zones, or simply - rooms, in some cases) that require sound, and the music being played in them isn't always the same, it was necessary to provide the employees some degree of control over what is played where. While there are certainly commercial solutions for this, the goal of this project was to provide a multi-zone audio system on the cheap (a server with some sound cards) and without running into copyright troubles (public playback of illegal MP3's).
MPD is a natural fit for an always-on, behind the scenes audio system simply because of its client/server design. While a single instance of MPD cannot play two different audio files, it can play it through multiple outputs (for example: sound cards, icecast streams, etc - mpd supports a variety of outputs). Nothing restricts one from running more than one instance of MPD (as long as they listen on different ports), and, it turns out, they can all use the same outputs (eg same sound cards) as long as they don't use them at the same time. This means that we can have "Audio Source 1" and "Audio Source 2" (mpd instances) both accessing sound card 1 and sound card 2 (and 3 and 4 and so on), as long as they don't step on each other. Preventing them from stepping on each other is why mmpd was created.
Features
Features are also listed on the
main sourceforge page.
At this time it can
- Control 1 or more MPD instances on one screen (basic play/volume/random/repeat/etc)
- Control outputs of each mpd instance graphically (routing screen)
- Manage Playlist (NOTE: mmpd is not intended as a replacement for a full client like phpmp, but instead is usually used in conjunction with it
- Load existing local playlists
- Load all local files
- Browse Shoutcast station lists and add to playlist
- Browse Sky.FM/Digitally Imported premium stations (hardcoded at this time) and add to playlist
- Auto-Pad remote streams with local files in the event they go down (uninterrupted playback)
Screenshots
Routing Interface
Playlist Manager