- Music Player Daemon
-
Music Player Daemon Developer(s) Max Kellermann Initial release 2003 Stable release 0.16.5 (9 October 2011) [+/−] Preview release 0.16~alpha4 (7 November 2010) [+/−] Written in C Operating system Unix-like Type Audio player License GPL (free software) Website musicpd.org Music Player Daemon (MPD) is a music player server.
Contents
Design
MPD simply runs in the background playing music from its playlist. Client programs communicate with MPD to manipulate playback, the playlist, and the database. It is not a full-featured music player program such as Amarok, but its clients serve a similar role.
MPD uses a flat file database to maintain the basic music file information when it is not running. Once the daemon is started, the database is kept completely in-memory and no hard disk access is necessary to look up or search for local audio files. Usually, music files must be below the music root directory and are only added to the database when the update command is sent to the server. Playback of arbitrary files is only allowed for local clients which are connected to the server via Unix Domain Sockets. MPD does not provide a built-in tag editor; this functionality is handled by clients or external programs, though 3rd party patches do exist to add this functionality to the server.[1]
The client/server architecture provides several advantages over all-inclusive music players. Clients may communicate with the server remotely over an intranet or over the Internet. The server can be a headless computer located anywhere on the network. Music playback can continue seamlessly when not using X or restarting X. Different clients can be used for different purposes – a lightweight client left open all the time for controlling playback with a more fully featured client used for intensive database searches. Several clients can use the same database, even running simultaneously remotely or under different user accounts.
Features
- Plays Ogg Vorbis, FLAC, WavPack, MP2, MP3, MP4/AAC, MOD, Musepack, wave files and any other files supported by FFmpeg.
- Remotely control MPD over a network (IPv4 and IPv6 supported).
- Play FLAC, OggFLAC, MP3 and Ogg Vorbis HTTP streams.
- Reads and caches metadata information (ID3: ID3v1 and ID3v2), Vorbis Comments, and MP4 Metadata.
- Metadata information can be searched.
- Buffer support for playback (prevents skipping due to high load or network latency).
- Gapless playback.
- Crossfading support.
- Seeking support.
- Save, load, and manage playlists (in M3U format).
- Volume control (OSS, ALSA, Pulseaudio and software mixers).
- Native Zeroconf support.
- libsamplerate and native sample rate conversion.
- Native support for PulseAudio, ALSA, OSS, MVP, JACK, Windows, and Mac OS X.
- Tested on Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Windows, Mac OS X and HP-UX.
- Can be used as a source for an Icecast stream, in Ogg Vorbis and MP3. Other formats can be converted to Ogg/MP3 on the fly before output to the stream server.
- Contains a built-in HTTP streaming server, capable of producing Ogg Vorbis and MP3 streams of a chosen quality on-the-fly.
- Independent of a GUI. Music will continue playing whether a front-end is open or not, and will continue playing even if the X server is killed.
Clients
GMPC Developer(s) Qball Cow Initial release August 24, 2003 (as traymp)Stable release 0.20.0 / March 22, 2010 Preview release 0.19.0-rc2 / September 13, 2009 Development status Active Written in C, Vala Operating system Unix-like, Microsoft Windows Type Audio player License GNU General Public License Website gmpc.wikia.com MPD has a variety of front-ends which communicate with the server using a custom protocol[2] over a TCP connection. Clients usually implement different types of interfaces. mpc (part of the MPD project) is a simple command line interface to most of the server's functions. ncmpc is a more fully featured ncurses client similar in concept to MOC. ncmpcpp is another ncurses client that clones ncmpc's functionality, but includes new features, such as a tag editor. Sonata uses GTK+ to provide a graphical user interface for playing files and managing playlists. GMPC also uses GTK+, but implements a different style of UI with many search options and plugin support. QMPDClient uses Qt4 and also allows playlist management, with extras like lyrics and album covers. Qmobilempd provides a QT4 client especially for mobile devices like Symbian. Qmpdplasmoid provides a client directly embedded into the KDE desktop. Ario uses tabs in its interface. Gimmix provides a simple interface with a very small memory footprint. mpdlirc interfaces MPD via an infrared remote control.[3] Simple clients can script the mpc program to issue commands to the server. Some clients run within a web browser and can be located on the same computer as the server, requiring only a browser be installed on the client machine. There is a client implemented as a Firefox add-on,[4] one as a XFCE taskbar plugin,[5] and even one as a Wii application.[6] Libraries exist to interface with MPD from many programming languages, including C, Python, Ruby, Perl, and Lua.[7]
Gnome Music Player Client
Gnome Music Player Client or GMPC is a GTK+ music player client for the Music Player Daemon. Despite its name, it does not depend on any GNOME libraries. It is developed by Qball Cow and released under the GPL. It uses a one window/two pane interface similar to clients such as iTunes or Exaile with a sidebar containing files, playlists and various search options, and a main song list which incorporates the playlist and search results. Unusually for an MPD client, it has a plugin API allowing for three varieties of plugin: Browser Extension which can integrate itself in the playlist manager, adding options to an existing browser, or completely implement a new browser; No Gui Extension which doesn't show up anywhere in the GUI. They are meant to provide extra configuration options, or to implement notification; and a Metadata Provider plugin, which can provide GMPC with cover art.
See also
Notes
External links
- MPD website
- deejayd daemon. Similar, but independent music player daemon capable to play videos.
Categories:- Free media players
- Linux media players
- Client/server media players
- Free audio software
- Free software programmed in C
- Audio software with JACK support
Wikimedia Foundation. 2010.