Music Player Daemon

Music Player Daemon (MPD) is a flexible, powerful, server-side
application for playing music. Through plugins and libraries it can
play a variety of sound files while being controlled by its network
protocol.

News

A problem with the modified-since filter has been fixed. Pulse
streams are “corked” while paused due to “single” mode. The DSD
decoders support more MIME types and larger ID3 tags. The Opus
decoder supports the R128_ALBUM_GAIN tag. The Android and Windows
builds have the proxy database plugin.

Two crash bugs (search screen and chat screen) and a tab completion
bug have been fixed. The look of the progress bar has been slightly
improved. ncmpc has been rewritten in C++, and the manual is now
built with Sphinx.

Music Player Daemon0.20.17
has been released. A crash bug in the ALSA output and a rounding
error in the ALSA mixer plugin has been fixed. Real-time scheduling
with Musl has been fixed. The Android builds are now compatible with
Android version 4.0.
Change log

mpc0.29
has been released. Build with recent C compilers (GCC 7 and
clang 4.0) has been fixed. There is now the --format directive
“%prio”. The default format falls back to “performer” if there is
no “artist” tag. The outputs command now prints attributes. mpc
now uses Meson/ninja instead of autotools to build.
Change log

libmpdclient2.14
has been released. It can receive output attributes (MPD 0.21) and
has improved support for local and abstract sockets.
Change log

Cary Audio sells a product called “DMS-500” which is based on MPD.
Their MPD binary has been linked with various proprietary libraries,
including the Roon RAAT SDK and a MQA decoder.

After my request for the source code, Cary Audio has sent me a tarball
with only a part of the source, and it doesn’t even compile. The most
important parts have been ripped out of that tarball. So far, Cary
Audio has not replied to my complaint.

According to the
GPLv2 section 4,
Cary Audio’s license to distribute MPD is terminated. Hence, Cary
Audio products containing MPD are illegal due to copyright violation.

A crash bug after seek failure has been fixed, and two bugs related to
restoring mounts from the state file. The soxr resampler clears its
internal state after manual song change. The Android port no longer
crashes from Android 8’s seccomp filter.

It fixes random crashes when compiled with a recent clang version due
to a new compiler optimization gone wrong. Two more crash bugs were
fixed which could occur with implausible audio buffer settings.
Directory loop detection on NFS was broken because MPD truncated inode
numbers to 32 bit; now MPD uses the full 64 bit.

After the Mantis hack, I have decided to rely less on self-hosted
servers and use GitHub instead. For this, I have created the
MusicPlayerDaemon organization on GitHub
and moved my projects there. These are now the official repositories
and the official place to report bugs and feature requests.

Client developers interested in moving a project into the organization
shall drop me an email (max+github@musicpd.org).

I could curse that it’s the usual PHP-style bug, and how I wish there
was a usable non-PHP bug tracker, but it really boils down to my
failure to set up the backup script after migrating to a new server
(which was too long ago already). D’oh!

Please help: please write new tickets, for bugs and feature requests.
And sorry for the trouble.

This release fixes GCC 7 warnings, eliminates flickering, adds
compatibility with lirc 0.9.4. DSD and floating point formats are
displayed properly. The connection to MPD is established
asynchronously, i.e. ncmpc stays responsive while waiting for the
connect.

It fixes the HTTP redirect headers in the curl input plugin, stream
tags after automatic song change, and a crash bug in the mpcdec
decoder plugin. Two build failures with old compilers/libraries have
been fixed as well.

It fixes problems with ReplayGain, the proxy database plugin, and the
playlistadd command. When playing stereo on a multi-channel-only
DAC, the two stereo channels are copied only to front-left and
front-right, while the other channels remain silent.

Again, there are various serious bug fixes for old & new bugs. The
alsa output plugin can now properly play DSD_U32 (previously
broken), and initial support for DSD_U16 was added. The recorder
output plugin had a problem with the format_path setting. A general
problem with static noise after song change was fixed. A problem with
skipping songs within a CUE sheet has been fixed. The alsa input
plugin has a crash bug fix and a major optimization, fixing buffer
overruns.

The first bug-fix release fixes several serious bugs: two crash bugs
in the curl input plugin, one crash bug in the wavpack decoder
plugin and one crash bug in the volume_normalization feature.

There are two new features: the alsa mixer plugin normalizes the
displayed value according to human ear perception (with code from
alsamixer). The new curl storage plugin allows using music from a
WebDAV share.

mpc 0.28 has
been released.
It improves the listall and searchplay commands, and adds a new
pause-if-playing command. The new environment variable MPC_FORMAT
is used if no other output format is specified.
Change log

ncmpc 0.25 has
been released.
It adds a new %disc% format and fixes various LyricsWiki problems.
Previously missing *.m4 files required by the configure script
have been added to the tarball.
Change log

It fixes a problem with supplementary groups on glibc 2.19+, ID3
parser problems in AIFF and RIFF files, disappearing duration of
remote songs during playback, and adds support for the TAK codec in
the ffmpeg decoder plugin.

It fixes a buffer overflow in the ape tag plugin, a crash in the
ffmpeg decoder and encoder plugin, limits the loop count in the
gme decoder and fixes a problem with lagging volume display after
enabling/disabling an output.

It allows the dsdiff and dsf decoders to read larger ID3 tags and
fixes loading duplicate tag types from the state file. The
despotify plugin has been removed because the underlying third-party
library is unmaintained and has been defunct for quite some time.
Again, various rare build failures have been fixed.

It fixes a bug in the curl input plugin, improves mms startup,
supports larger ID3 tags in dsdiff and dsf files and adds support
for floating point samples in the ffmpeg decoder. Several clang 3.6
compiler warnings has been fixed, as well as one build failure on
NetBSD.

It fixes bugs in the embedded CUE sheet parser, the ffmpeg decoder
plugin, the listplaylist protocol command and a whole bunch of bugs
in the NFS client. On the Windows port, a serious crash bug was
fixed.

It fixes various bugs: a crash in the faad plugin, playback of
redirected streams and streams with query string, negative replay gain
values in the mad plugin, problems with native DSD playback. It
adds support for *.m3u8 and audio/aacp.

It fixes two build failures with the proxy database plugins and
improves stream playback with the decoder plugins audiofile,
dsdiff, dsf, faad and sndfile. Two improvements to the
“random” mode ensure that the first and second song being played are
really random.

It improves the previous workaround for the Raspberry Pi audio driver
bug, eliminating noise during song change. Child processes launched
by the “pipe” output plugin no longer ignore signals. Several build
failures have been fixed.

At this early stage of development, the app is not particularly
useful. There is no user interface, the service is not well
integrated into the Android operating system, and all it can do is
play HTTP streams (MP3, Vorbis, Opus, FLAC). Stay tuned for updates!

It fixes more byte order bugs and build failures. The “curl” input
plugin now works around a libcurl bug that was fixed in
version 7.32.0. A clipping bug with resampling 24 bit audio was
fixed. The “proxy” database plugin has learned to forward the
“db_update” attribute.

The MPD website has been relaunched. Wikia has been hosting the MPD
website for a few years, but Wikia turned out to be an annoying
experience for many visitors. Lacking a real maintainer, the wiki
grew into a confusing mess over the years, making it harder and harder
to find the answer to a given problem. The goal is now to move
helpful information from the old wiki to the user manual
(which nobody knew it existed).

The previous forum went up in flames, and for a while we had nobody willing to step up and set up a new one. No longer! A fresh new forum is now available: http://forum.musicpd.org/ – the old data is gone, but signing up again takes just a minute or two.

The official mpd forum is once again available, with new tricks in place to prevent a spamfest like last time. So, if you want to talk about mpd or ask (or even answer) questions, you are welcome to join us on the forum.

Lately a change in ffmpeg introduced crashing issues in mpd. This issue has been fixed in ffmpeg and also mpd now has a fix to handle broken ffmpeg installations, so please update both. If you cannot update for any reason, you can disable ffmpeg in mpd.conf by adding “decoder { plugin “ffmpeg” enabled “no” }”.