The Music Player Daemon - Developer's ManualIntroduction
This is a guide for those who wish to hack on the MPD source
code. MPD is an open project, and we are always happy about
contributions. So far, more than 50 people have contributed
patches.
This document is work in progress. Most of it may be incomplete
yet. Please help!
Code Style
indent with tabs (width 8)
don't write CPP when you can write C: use inline functions
and enums instead of macros
the code should be C99 compliant, and must compile with
GCC;
clang support is highly desirable
C++ is ok (for integrating C++ only libraries), but it
should be avoided
Some example code:
static inline int
foo(const char *abc, int xyz)
{
if (abc == NULL) {
LogWarning("Foo happened!");
return -1;
}
return xyz;
}
Hacking The Source
Always write your code against the latest git:
git clone git://git.musicpd.org/master/mpd.git
Configure with the options . Enable as many plugins as possible,
to be sure that you don't break any disabled code.
Don't mix several changes in one single patch. Create a
separate patch for every change. Tools like
stgit help you with that.
Submitting Patches
Send your patches to the mailing list:
musicpd-dev-team@lists.sourceforge.net