Hi,

the libmpdclient project has suffered in the past: instead of having a
shared library with a stable API, all clients chose to copy
libmpdclient.c into their source directory.  That resulted in many
forked and different versions of libmpdclient.

To fix that, to account for new requirements and to support new MPD
features (e.g. "idle"), I decided to start the project "libmpdclient
v2.0".  Although there never was a 1.0, "2" will be the SO version
(i.e. libmpdclient.so.2).

The goals of the project:

- provide a slim and fast C API for connecting to MPD
- no dependencies except C99/POSIX (maybe compile-time optional GLib
  for memory slices, etc.)
- portability - even Windows?  There's no good C99 compiler on
  Windows..  mingw32?
- consume few resources
- API is lean, but powerful
- very low-level (i.e. stateless)
- maybe provide a second, high-level library (merge code from libmpd?)
- maybe provide a C++ OO API (merge code from ncmpcpp?)
- support asynchronous (=non-blocking) I/O, but don't mandate a
  framework (libevent, GLib)
- keep support for synchronous (=blocking) I/O (with timeout?)
- support all MPD features, including "idle"

I have started to work on the current libmpdclient.git, and merged a
lot of patches from ncmpc.

 http://git.musicpd.org/cgit/cirrus/libmpdclient.git

Some of you already promised to help me with that.  From now on, I
will accept patches (git pull requests preferred).  Please keep your
git repository rebased on mine.

First TODO list fragment:
- remove CamelCase
- struct forward-declarations instead of typedefs
- make structs opaque
- separate libmpdclient.c into separate sub-libraries
- rename includes with mpd/ prefix: mpd/client.h mpd/song.h ...
- .... much more

Max

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to