Home | Back
commit cfe9eca2c31a84acc84200cf0c5dd41d91711309
Author: Max Kellermann <max@duempel.org>
Date:   Thu Jun 25 22:27:25 2015 +0200

    resolver: detect getaddrinfo() at configure time


commit 6c622374ed7c5ad13a83e20d5e2ca9c60218934a
Author: Max Kellermann <max@duempel.org>
Date:   Thu Jun 25 22:31:46 2015 +0200

    configure.ac: detect gethostbyname() only if TCP is enabled


commit 7a4726844b0b27363d53267c6906b57aca47e5d9
Author: Pieter De Gendt <pieter.degendt@gmail.com>
Date:   Thu Jun 18 10:56:29 2015 +0200

    Space required before window search argument
    
    Signed-off-by: Pieter De Gendt <pieter.degendt@gmail.com>


commit 0d30c8e7ae1217d07f22ec32dd98f1905b70d911
Author: Max Kellermann <max@duempel.org>
Date:   Thu Jun 25 22:15:47 2015 +0200

    prepare for 2.11


commit fa4a0d6a60a7b0b6287e74f6669183133be9369c
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 23 22:50:13 2015 +0100

    release v2.10


commit 7e8472d41d66a012f9e34d90577ea17aa7753e96
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 23 22:52:56 2015 +0100

    Makefile.am: remove option "dist-bzip2"


commit 644c9a25fec20a14a71da9147460310cfa9df68e
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 23 22:50:50 2015 +0100

    copyright year 2015


commit f76fe7dd3139aad93285c943094ae2681c64ff26
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 23 22:46:18 2015 +0100

    search: support constraint "modified-since"


commit 398243f6b418f11d3ccd8094b25a5bb90f0231be
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 23 22:37:15 2015 +0100

    song: add automatic duration fallbacks


commit 57f57d29c47a04aedb6a4acb0bfb910ae7d61e9f
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 23 22:34:19 2015 +0100

    song: report duration with milliseconds precision


commit 9356a00a422af74f836c94768d8d98a576159fc6
Author: Max Kellermann <max@duempel.org>
Date:   Fri Jan 16 19:28:53 2015 +0100

    status: support sample formats "float" and "dsd"


commit bd402e82da176e360686f4ff64c48e4403561ec6
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 23 22:18:13 2015 +0100

    vapi: remove duplicate [Compact]


commit 16585de350b6731fe2a63c71777dfe65ee41ae34
Author: Max Kellermann <max@duempel.org>
Date:   Fri Feb 13 19:19:29 2015 +0100

    search: support parameter "window"


commit 7d8285c8d80b6fb3ff45e1bf5f0d4ceb844e02b3
Author: Max Kellermann <max@duempel.org>
Date:   Fri Feb 13 20:05:12 2015 +0100

    search: move code to mpd_search_prepare_append()


commit ea61c89c4e48ffa90ce23d768c1106d34a5ee777
Author: Max Kellermann <max@duempel.org>
Date:   Fri Feb 13 20:09:22 2015 +0100

    search: use sprintf() instead of snprintf()
    
    There is no advantage in using snprintf() because the output length
    has already been calculated.


commit a632ffc2049177da2b59e37af8a9643d9ede70ab
Author: Max Kellermann <max@duempel.org>
Date:   Fri Feb 13 19:58:02 2015 +0100

    search: eliminate a strlen() call


commit ca6c380b6f393ee1b15b14bb61e3157265f250e5
Author: Max Kellermann <max@duempel.org>
Date:   Fri Feb 13 19:25:40 2015 +0100

    search: add "char" variable


commit 4cd98edf814fe252f760a2bf0ec64ae8b16ae77d
Author: Max Kellermann <max@duempel.org>
Date:   Fri Feb 13 19:29:03 2015 +0100

    search: rename variable


commit d58dd2703243e6c6b4364a799d8bc73cfde5067b
Author: Max Kellermann <max@duempel.org>
Date:   Fri Feb 13 19:21:03 2015 +0100

    search: make variables more local


commit 9fea7871c8fe1772957fdbf63b0238fc9f3a40d9
Author: Max Kellermann <max@duempel.org>
Date:   Fri Jan 16 19:29:37 2015 +0100

    status, ...: use strtoul() instead of strtol() for unsigned values


commit 9a78ca1ef3ec95658ace63d2d750ac122dac88e9
Author: Joshua Wise <jwise@nvidia.com>
Date:   Thu Jan 15 12:01:11 2015 -0800

    socket, connection, async: add keepalive internal and external APIs


commit 37510c105d5b870d00baa2524b640af71c37fe78
Author: Max Kellermann <max@duempel.org>
Date:   Sat Oct 18 22:33:58 2014 +0200

    connection: rename mpd_clear_error() to mpd_connection_clear_error() in API doc


commit c94f1be73f292224588bb30634bb5ba4fe3431bb
Author: Wieland Hoffmann <themineo@gmail.com>
Date:   Sat Sep 27 18:38:24 2014 +0200

    Add MPD_TAG_MUSICBRAINZ_RELEASETRACKID


commit cc2ffe943dd36a4c95ec34b2f2bf413de15b7974
Author: François Revol <revol@free.fr>
Date:   Fri Jul 11 08:56:49 2014 +0200

    POSIX says fd_set is defined by <sys/select.h>
    
    Haiku requires this.
    
    cf.
    http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/select.h.html
    
    Also guard sys/select.h by ifndef WIN32 as Mingw32 doesn't provide it.
    We'll avoid a configure check just for this.


commit 50773b7af3e7047d6642309251d53b0d5cd031d5
Author: François Revol <revol@free.fr>
Date:   Fri Jul 11 08:55:59 2014 +0200

    Add libnetwork to the tested libs for socket()
    
    Haiku requires this.


commit 94400af800588253997a86fdb0d04dcfcc024b7c
Author: Max Kellermann <max@duempel.org>
Date:   Tue Jun 3 09:16:16 2014 +0200

    resolver: support abstract sockets with "@" prefix


commit ac06409de72e5eb70d9981c9a8dd848441fbc7de
Author: Max Kellermann <max@duempel.org>
Date:   Tue May 13 08:52:12 2014 +0200

    queue: remove non-existing parameter from API documentation


commit 959b12282c47a9cef610da17c5217a5a7f2c7e77
Author: Max Kellermann <max@duempel.org>
Date:   Tue May 13 08:51:09 2014 +0200

    prepare for 2.10


commit 51b2f4d5b7b1fa5ae8cf4ec6d517c81ac9bfc412
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 29 23:05:56 2013 +0100

    release v2.9


commit e6f6601fcc17fd1726afb8eacaf062710341cd50
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 29 23:15:23 2013 +0100

    directory: add missing include


commit fd70a3199e9ddb8316f89bb4bf96b44da2c69373
Author: Andrzej Rybczak <electricityispower@gmail.com>
Date:   Sat Apr 27 21:00:58 2013 +0200

    playlist: fix mpd_playlist_dup so it also copies "last_modified" attribute


commit 899d7edd245b6ab705e54f8748fc9ae021f83711
Author: Andrzej Rybczak <electricityispower@gmail.com>
Date:   Tue Oct 29 23:07:13 2013 +0100

    directory: support "Last-Modified" attribute


commit 0d368c9a1c85b2747aba3810c880a0947fa646db
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 29 21:47:33 2013 +0100

    search: support the "base" constraint


commit 7f1a7da49f05ba9bd9fd25f1d23162b915f729ef
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 29 18:34:02 2013 +0100

    mixer: support command "volume"


commit b122c057a2fb8aa3296bab46ef66f89d69ddc755
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 29 18:30:29 2013 +0100

    database: support command "toggleoutput"


commit d180dcbe8beec1cbab591978bd99cd9d432ab142
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 29 18:19:06 2013 +0100

    database: add mpd_send_read_comments()


commit 442dbe26ba3a619d0e9f9e6b464dabc3892f8d5c
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 29 18:28:18 2013 +0100

    queue: fix parameter documentation


commit fcacd4f6aec7e67352b91446de23d33e583e7f44
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 29 18:26:41 2013 +0100

    configure.ac: enable silent-rules


commit eca5889e2456a2a0b5009aab757dee1c7c50e5f4
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 29 18:25:19 2013 +0100

    Makefile.am: add dist-xz
    
    Requires automake 1.11.


commit 07febd412a754615bc00d0b5410a187951357bf5
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 29 18:22:51 2013 +0100

    configure.ac: simplify options werror and debug


commit aad0e1d8fe2fab8b34e17afca80c33046356c12f
Author: Max Kellermann <max@duempel.org>
Date:   Thu Apr 11 09:48:49 2013 +0200

    configure: fix doxygen check


commit 040a7840603a2a53fe1ab3e6a704f4b1b4529e2a
Author: Max Kellermann <max@duempel.org>
Date:   Thu Apr 11 09:49:45 2013 +0200

    prepare for 2.9


commit e327f448cee42b06c369c8a2e16d3f4c7948a568
Author: Max Kellermann <max@duempel.org>
Date:   Tue Apr 9 11:09:59 2013 +0200

    release 2.8


commit 977e30b5da347ed105578b6d5cd2a897a7343111
Author: Max Kellermann <max@duempel.org>
Date:   Tue Apr 9 11:16:08 2013 +0200

    Makefile.am: update the server in the "upload" target


commit 0d4f4582685d552abc4bf8f3b8147eeecf08d332
Author: Max Kellermann <max@duempel.org>
Date:   Tue Apr 9 10:20:59 2013 +0200

    queue: support open ranges


commit b2de63213e60896cf0bc2d9c148b2793278be281
Author: Max Kellermann <max@duempel.org>
Date:   Tue Apr 9 10:55:36 2013 +0200

    queue: fix the "prio" command with range
    
    Send a range instead of a third argument.


commit 8f2f6568bb63ae27d6c4ae1e422fe68267f3ae39
Author: Max Kellermann <max@duempel.org>
Date:   Tue Apr 9 10:18:33 2013 +0200

    send: move code to format_range()


commit e8802bd09986f09e5a18893e2b03b2a852d3ee4c
Author: Max Kellermann <max@duempel.org>
Date:   Tue Apr 9 09:45:16 2013 +0200

    autogen.sh: use $LIBTOOLIZE_FLAGS, $AUTOMAKE_FLAGS
    
    Allows caller to pass --copy.


commit 39cfeccc7ccc8e7cd471811e350b18cea8cdce49
Author: Max Kellermann <max@duempel.org>
Date:   Sat Apr 6 13:26:49 2013 +0200

    configure.ac: fail it doxygen not found
    
    This change allows improving the AM_CONDITIONAL call.


commit b9de02966d787f37ed797e9a053d902ff6548c3a
Author: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
Date:   Sun Mar 31 22:28:49 2013 +0200

    fix broken --disable-documentation in configure.ac
    
    when building libmpdclient with --disable-documentation,
    the configure script fails:
    
     checking whether C compiler accepts -Wwrite-strings... yes
     configure: error: conditional "DOXYGEN" was never defined.
     Usually this means the macro was only invoked conditionally.
    
    The following patch could be one solution for the problem,
    although probably there are better ways to solve it.
    
    Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>


commit 7a01d39b57229a4d0fee0158d704a368564e7692
Author: Quentin Glidic <sardemff7+git@sardemff7.net>
Date:   Fri Jan 4 20:04:24 2013 +0100

    configure.ac: Use AC_CONFIG_HEADERS
    
    AM_CONFIG_HEADER is deprecated


commit 653d08a4327f13c12a27de5ebbc300540611c6a1
Author: Andrzej Rybczak <electricityispower@gmail.com>
Date:   Tue Aug 14 04:00:24 2012 +0200

    song: support attribute "Prio"


commit 0845c79de49ab65391c56e48f1fa37e7379ccd85
Author: Max Kellermann <max@duempel.org>
Date:   Wed Aug 8 09:07:28 2012 +0200

    playlist: initialize the "last_modified" attribute


commit f20a299e3ee907ac8b0a0ebc01389f3954f89c6d
Author: Christoph Mende <mende.christoph@gmail.com>
Date:   Mon Jul 23 19:46:17 2012 +0200

    Ship and install a vapi file

create mode 100644 vapi/libmpdclient.vapi

commit 19fcc7058915d1dcaabec13468f6d417f2370618
Author: Max Kellermann <max@duempel.org>
Date:   Tue Jul 10 11:49:47 2012 +0200

    configure.ac: update MINOR_VERSION


commit 51e435ef6a0c35094c5c7198579dd1eefb7318c9
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sat Feb 4 14:37:12 2012 -0800

    Modify version string to post-release version 2.8~git


commit 8a07eb7800d4e67afcec27d6b78436770222dd5a
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sat Feb 4 14:37:12 2012 -0800

    libmpdclient version 2.7


commit 247cebbac739ff14507be9e2fe17b3bc30d7ba0d
Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Date:   Wed Jan 4 22:58:51 2012 +0100

    configure.ac: "(default: enabled)" -> "[default=enabled]"


commit 9739679488a73edc92b56724df13db834fa42c1c
Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Date:   Wed Jan 4 22:58:50 2012 +0100

    idle.h: improve some grammar in doxygen comments


commit e325c0a01c49390caefe9bfddfc3ed86cf581358
Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Date:   Wed Jan 4 19:34:42 2012 +0100

    status: add nextsong/nextsongid support


commit 822315647a10f9276ef8f63ca2fea61c40fe1a46
Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Date:   Wed Jan 4 19:38:10 2012 +0100

    status: "currently song" -> "current song"


commit 07f2eca6fdf79e8cd95134c938aab2b215c42f4c
Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Date:   Wed Jan 4 19:21:44 2012 +0100

    status: declare mpd_status_get_song_id as mpd_pure


commit 61cdbfc14c6ff5a20f5a30b7dd093d3185681880
Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Date:   Wed Jan 4 19:56:32 2012 +0100

    doxygen: disable alphabetic sorting of functions


commit 6a3153a65f5a124ea47bd5a1235346edd1d9efdc
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Oct 23 19:44:03 2011 -0700

    Modify version string to post-release version 2.7~git


commit 64fa7a1cf781bb26f941853ae94f453747bc9831
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Oct 23 19:44:03 2011 -0700

    libmpdclient version 2.6


commit 33a374f601dc9ca1a6f86008b96166387045e1ad
Author: Max Kellermann <max@duempel.org>
Date:   Sun Oct 23 13:18:57 2011 +0200

    queue: support song priorities


commit 92350e60188e7731c0d64832b554b6acb162756c
Author: Max Kellermann <max@duempel.org>
Date:   Sun Oct 23 13:24:56 2011 +0200

    configure.ac: use AC_SEARCH_LIBS instead of AC_CHECK_LIB
    
    AC_SEARCH_LIBS does exactly what we need here: check if a function is
    available; if not, check if it's available in the specified library,
    and add it to LIBS.


commit d219c16fdbb0d6feb1cfc0eec5aad80c5a5578ed
Author: Max Kellermann <max@duempel.org>
Date:   Sun Oct 23 13:23:26 2011 +0200

    NEWS: new version number is 2.6


commit bbc7d4a72547eda26512a0d2e0c91d3eb50541ea
Author: Christoph Mende <mende.christoph@gmail.com>
Date:   Wed Jul 6 20:05:23 2011 +0200

    Minor documentation improvements


commit a2868059d90f4fc5698336c60f5cb915a141d757
Author: Christoph Mende <mende.christoph@gmail.com>
Date:   Wed Jul 6 20:05:05 2011 +0200

    Make building API docs optional


commit 9d7c1c098156963ca3409bcd81ae622d64bfa952
Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Date:   Sun Sep 18 00:11:24 2011 +0200

    idle.h: fix a typo ("receivedd")


commit d29497afa7703e5f760f93c9941fff8b5c16a87a
Author: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Date:   Fri Aug 26 00:20:38 2011 +0200

    let doxygen find the source code
    
    @top_srcdir@ expands to the source code base directory relative to the
    file being processed. This prevents doxygen from working, as it is
    called from the top directory but expects the source code in
    ../include/mpd.
    To work around this problem, this patch changes @top_srcdir@ to
    @abs_top_srcdir@, which expands to the absolute path of the top source
    directory[1].
    
    [1] http://www.gnu.org/s/hello/manual/autoconf/Preset-Output-Variables.html


commit e39d1df808ea089f5c441401f8223793c2437cf1
Author: Max Kellermann <max@duempel.org>
Date:   Mon Jul 11 23:00:40 2011 +0200

    mpd/client.h: include message.h
    
    Was missing; users shouldn't include mpd/message.h directly.


commit 854a1979c35cba8b2ebe228006ddc42683fd0a0c
Author: Max Kellermann <max@duempel.org>
Date:   Mon Jul 11 23:00:10 2011 +0200

    NEWS: new version number is 2.5.1
    
    Prepare for minor change.


commit b828fb57665f3fee6e405a3d3e05428d0bfe2434
Author: Avuton Olrich <avuton@gmail.com>
Date:   Wed Jul 6 06:06:52 2011 -0700

    Modify version string to post-release version 2.6~git


commit 41806750bea9ce1f22cfe41278f0632b57dccaf0
Author: Avuton Olrich <avuton@gmail.com>
Date:   Wed Jul 6 06:06:52 2011 -0700

    libmpdclient version 2.5


commit 721bc25416311ea8b201ec56cb821c0c48d8c18d
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 21 22:02:42 2011 +0100

    support the client-to-client protocol
    
    Implemented in MPD 0.17.

create mode 100644 include/mpd/message.h
create mode 100644 src/cmessage.c
create mode 100644 src/message.c

commit 0fe3b9241f41bc9426785ad0877f47d319616c34
Author: Max Kellermann <max@duempel.org>
Date:   Tue Feb 22 09:05:44 2011 +0100

    example: move code to handle_error()


commit 1d13271eac04e2cc46692ccb2822abf149299449
Author: Max Kellermann <max@duempel.org>
Date:   Tue Feb 22 10:23:55 2011 +0100

    configure.ac: increase version number constant to 2.5


commit 7f33f5161d6e62d3b1d696d26e5bf512d678a247
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 21 23:39:59 2011 +0100

    example: add "idle" demo


commit 4547881a2762902e55140e2a0de9ea77f4f302d2
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 21 21:27:49 2011 +0100

    idle: support event "sticker"


commit c5942ea947fe889b6cd93ee098ffb4aa5e4d8c21
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 21 21:24:15 2011 +0100

    playlist: implement the command "listplaylists"


commit 64e0e6a4abdee2a0422d632ce3b3e5b50188388d
Author: Max Kellermann <max@duempel.org>
Date:   Mon Feb 21 23:18:40 2011 +0100

    capabilities: fix typo in documentation


commit 5a6b05a60954a1115d191b9f775f917fec4cf969
Author: Avuton Olrich <avuton@gmail.com>
Date:   Mon Jan 3 18:18:53 2011 -0800

    Modify version string to post-release version 2.5~git


commit 924d19f3cb5e2a4ca64e319134f5297649ad355f
Author: Avuton Olrich <avuton@gmail.com>
Date:   Mon Jan 3 18:18:47 2011 -0800

    libmpdclient version 2.4


commit ff0c2487d118173980bbf7a985e7605ec679bb61
Author: Max Kellermann <max@duempel.org>
Date:   Fri Dec 24 00:16:49 2010 +0100

    Makefile.am: fix doxygen in out-of-tree build
    
    Use @top_srcdir@ in doxygen.conf.in.


commit 66088e74a5646a44c4c219a31b74fe0d6643863a
Author: Max Kellermann <max@duempel.org>
Date:   Thu Dec 23 23:40:37 2010 +0100

    test.sh: shell script which runs the build

create mode 100755 test.sh

commit ac5c48622d0571254a7091e31377478bee7717ce
Author: Max Kellermann <max@duempel.org>
Date:   Fri Dec 24 00:09:32 2010 +0100

    iso8601, send: format string workarounds for WIN32


commit 00b4378f6ee959242825d7a90b285b95da23a9c2
Author: Max Kellermann <max@duempel.org>
Date:   Fri Dec 24 00:08:42 2010 +0100

    fd_util: fd_set_cloexec() returns 0 on WIN32


commit 8b280fa9158cceb8d7f824eafc48c01dc7e28e8a
Author: Max Kellermann <max@duempel.org>
Date:   Thu Dec 23 21:08:04 2010 +0100

    settings: expose connection settings
    
    To determine connection settings.  Move code from
    mpd_connection_new().

create mode 100644 include/mpd/settings.h
create mode 100644 src/settings.c

commit ab7c3db55ec4caebc71594368d1010c919bc0969
Author: Max Kellermann <max@duempel.org>
Date:   Thu Dec 23 18:31:40 2010 +0100

    connection: add function mpd_connection_get_server_error_location()
    
    For checking which item in a command lists failed.


commit 4bd0800881900e8e3eae3c76aa0d0a96d555f1fd
Author: Max Kellermann <max@duempel.org>
Date:   Thu Dec 23 18:47:26 2010 +0100

    update NEWS again


commit 052e1886e9cc5ee68ab4e0dc77f04bda3735d6e5
Author: Max Kellermann <max@duempel.org>
Date:   Thu Dec 23 18:28:31 2010 +0100

    update NEWS


commit a0648821a06ee23b4a1afd2c7208d1608044dbc0
Author: Krzysztof Warzecha <kwarzecha7@gmail.com>
Date:   Wed Oct 27 21:20:55 2010 +0200

    resolver: fix IPv4/IPv6 on the loopback device
    
    My mpc didn't work when I'm offline (i.e. when all my interfaces -
    eth0, wlan0 - are down). After some investigation I found that this is
    caused by libmpdclient in function resolver_new() in resolver.c:108.
    
    [When you pass the flag AI_ADDRCONFIG to getaddrinfo(), it does not
    consider address families on the loopback device.  When run on a
    machine without an external network card, just with "lo", it was
    unable to look up any address.]


commit bfc41084af4c4e78bdd1c7ec93c35fc96611a0b9
Author: Zev Weiss <zevweiss@gmail.com>
Date:   Thu Sep 2 00:48:42 2010 -0500

    Increment MINOR_VERSION to 4.


commit 00bc1106b11697d1b69ec454d23207149af0e1f2
Author: Zev Weiss <zevweiss@gmail.com>
Date:   Wed Sep 1 22:01:08 2010 -0500

    Add support for clearerror command.


commit f6bd0e03869f387163b1884e6c2b15e852a89a0a
Author: Max Kellermann <max@duempel.org>
Date:   Sun Aug 15 12:29:23 2010 +0200

    configure.ac, resolver: implement flag --disable-tcp
    
    This disables TCP support.  By removing the TCP and resolver code, you
    can build a very slim libmpdclient binary.


commit e6b412aaf8c71b6c172bb66fb35cdd87a645a2b0
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Jul 25 10:21:00 2010 -0700

    Modify version string to post-release version 2.4~git


commit 883938789bfe349e7abf64fc70b049dd1364833a
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Jul 25 10:21:00 2010 -0700

    libmpdclient version 2.3


commit 2f52eeea1c434bd30924df8c0ddc970a6cf381a5
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Jul 25 10:14:53 2010 -0700

    build: Add uri.h to distribution.


commit 9047aedb580e69bd3e1c17cad7fad7c07f3b60aa
Author: Max Kellermann <max@duempel.org>
Date:   Sun Jul 25 14:12:42 2010 +0200

    song: support attribute "Range"
    
    Map to attributes start/end.


commit d022e1abbaba3cb3a1b8209c85f4e61053b064cb
Author: Max Kellermann <max@duempel.org>
Date:   Sun Jul 25 14:16:43 2010 +0200

    configure.ac: disable -Wdeclaration-after-statement


commit 2146f4e99344f14de6ea4881af1eb9746f2ac8d3
Author: Max Kellermann <max@duempel.org>
Date:   Sun Jul 25 14:10:00 2010 +0200

    configure.ac: update MINOR_VERSION and LIBMPDCLIENT_LIBTOOL_VERSION


commit 3ecffbecf0c3136fe6ad30eca7881d8186c394e9
Author: Max Kellermann <max@duempel.org>
Date:   Sun Jul 25 14:06:54 2010 +0200

    Makefile.am: fix out-of-tree doxygen call
    
    This hack creates a copy of doc/doxygen.conf with the INPUT setting
    replaced.


commit 8985c5fe9b135982740e59ca41a1530301319759
Author: Serge Ziryukin <ftrvxmtrx@gmail.com>
Date:   Mon Jul 12 11:18:45 2010 +0300

    Makefile.am: simplify (de)installation of doxygen-generated documentation
    
    This also fixes installation when no *.gif files found in 'doc/api/html' folder.
    
    Signed-off-by: Serge Ziryukin <ftrvxmtrx@gmail.com>


commit 0a5f793782ff763e115db64dacb6759387d14157
Author: Max Kellermann <max@duempel.org>
Date:   Sun Jun 6 21:48:34 2010 +0200

    added missing file src/uri.h

create mode 100644 src/uri.h

commit 95964070a01c9ac85bb09db9734bd32f137cbb51
Author: Max Kellermann <max@duempel.org>
Date:   Mon May 31 22:52:53 2010 +0200

    directory, song, playlist: fix assertion failures on malformed URI
    
    Added runtime checks in mpd_X_begin(), before the assertion is
    triggered.


commit 87674690560f66020a6773fd02fbc4fd209fa9ab
Author: Max Kellermann <max@duempel.org>
Date:   Mon May 31 22:40:04 2010 +0200

    directory, playlist: moved URI verification code to uri.h


commit 1648b6c246e11214f7cd577bb444d7bd59ad768a
Author: Max Kellermann <max@duempel.org>
Date:   Mon May 31 22:44:40 2010 +0200

    set errno=EINVAL on malformed input in mpd_X_begin()
    
    To allow the caller to see the difference between "out of memory" and
    "malformed input", set errno.  This is not documented, and should only
    be used internally.


commit 7d58f8c44180defe2d20e8343dc958ad02869248
Author: Max Kellermann <max@duempel.org>
Date:   Mon May 31 10:32:16 2010 +0200

    connection: get default timeout from environment variable MPD_TIMEOUT


commit 40d07c6ca723798bbe96d0361a7d1fb624a83a88
Author: Max Kellermann <max@duempel.org>
Date:   Mon May 31 10:27:57 2010 +0200

    connection: moved default timeout to mpd_default_timeout()


commit 1c59c5d7eaa0b1e39a7a96dc795bdacf85f3ef1d
Author: Max Kellermann <max@duempel.org>
Date:   Mon May 31 10:33:11 2010 +0200

    connection: document the environment variables MPD_{HOST,PORT}


commit 888dffb306f10071318c5adf091e1ffbe66b7dbf
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Apr 25 17:52:40 2010 -0700

    Modify version string to post-release version 2.3~git


commit 2cd52ce0b0058016fa09edeb9a36991066778a81
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Apr 25 17:52:40 2010 -0700

    libmpdclient version 2.2


commit 6d03364f42fec03057a60a001276f411c2e0f653
Author: Max Kellermann <max@duempel.org>
Date:   Sun Mar 28 19:05:21 2010 +0200

    fix the LIBMPDCLIENT_CHECK_VERSION() macro
    
    The comparison operators were the wrong way around.  Sorry for this
    major f*ckup.


commit d397cb0626b28d297fc25903b929b4a3d495cfc1
Author: Max Kellermann <max@duempel.org>
Date:   Mon Mar 22 16:39:36 2010 +0100

    NEWS: added MixRamp notice


commit 4060c5666d26202fefa3f1cc46ea02bfb29ce5ec
Author: Max Kellermann <max@duempel.org>
Date:   Mon Mar 22 16:39:16 2010 +0100

    configure.ac: bump MINOR_VERSION to 2 (for v2.2)


commit 5ff6ba9b014604643116a13c430f66e122fa7b38
Author: Tim Phipps <mpd@phipps-hutton.freeserve.co.uk>
Date:   Mon Mar 22 07:22:46 2010 +0100

    MixRamp support
    
    This patch add the mixrampdb and mixrampdelay commands.


commit 0f3847a4eeb0f21693fa79b2b2f57f810c024849
Author: Avuton Olrich <avuton@gmail.com>
Date:   Fri Jan 1 06:14:06 2010 -0800

    Update copyright notices


commit fd18fb4bd60d2feca311372cca0df6b61564ab30
Author: Ali Polatel <alip@exherbo.org>
Date:   Thu Dec 24 12:41:16 2009 +0200

    Make stats arguments of mpd_stats_get* functions const
    
    These functions don't modify their arguments.
    It's good coding practise to set them as const.
    
    Signed-off-by: Ali Polatel <alip@exherbo.org>


commit e234a1dc610893aa73f8877da5af7ef2018d97f1
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Dec 6 13:39:26 2009 -0800

    Modify version string to post-release version 2.2~git


commit 43f2f8066952a9fb81e01fff942a569171a14316
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Dec 6 13:39:26 2009 -0800

    libmpdclient version 2.1


commit 0f11609708c61fd9f6b55c4ce07229648f94b22d
Author: Max Kellermann <max@duempel.org>
Date:   Sun Dec 6 19:08:17 2009 +0100

    sticker: attach "malloc" attribute to mpd_recv_sticker()


commit 8cedfd33daeded8e30adfd9629a79b5dbbac986c
Author: Max Kellermann <max@duempel.org>
Date:   Sun Dec 6 18:58:58 2009 +0100

    sticker: added function mpd_return_sticker()
    
    Just a wrapper for mpd_return_pair() for now.


commit 3371be3552af6eb07420cfbb9c4683800e4c7639
Author: Max Kellermann <max@duempel.org>
Date:   Sun Dec 6 18:53:30 2009 +0100

    update the NEWS file


commit d39d9f61d825145d062465623cc116bc456b0a85
Author: Max Kellermann <max@duempel.org>
Date:   Wed Dec 2 14:38:13 2009 +0100

    sticker: added function mpd_parse_sticker()


commit fb9abe5218bd7c50b6aecaa5bcb5e24005564ace
Author: Max Kellermann <max@duempel.org>
Date:   Wed Dec 2 13:24:06 2009 +0100

    remove deleted sticker functions from LD script


commit 55bda2e44ce61919df2db9fa3a8a6f6f06d5d861
Author: Max Kellermann <max@duempel.org>
Date:   Sat Nov 14 20:49:48 2009 +0100

    sticker: new sticker enumeration functions
    
    Removed the struct mpd_sticker, and the old functions.  The new
    functions are more generic.


commit 602525869e9a6e6c9d5154d78a80a22b2a9332a4
Author: Max Kellermann <max@duempel.org>
Date:   Sat Nov 14 19:33:42 2009 +0100

    sticker: added mpd_send_sticker_delete()
    
    Replaces mpd_sticker_song_delete().


commit b6f37834e027a5471ee9f2063d0c7409440747cd
Author: Max Kellermann <max@duempel.org>
Date:   Sat Nov 14 19:00:03 2009 +0100

    sticker: removed old function mpd_sticker_song_set()
    
    Superseded by mpd_send_sticker_set(), mpd_run_sticker_set().


commit d83833cc6709abd73eae70ff007652127bc40f51
Author: Max Kellermann <max@duempel.org>
Date:   Sat Nov 14 18:04:25 2009 +0100

    parser: added doxygen tag for struct mpd_parser


commit 3fdd0e9aeddfe163cfce08be3c9ab86e41d73470
Author: Max Kellermann <max@duempel.org>
Date:   Sun Nov 8 22:29:00 2009 +0100

    socket: set the close-on-exec flag
    
    Copy the fd_util library from MPD, which provides wrappers for setting
    O_CLOEXEC and O_NONBLOCK.

create mode 100644 src/fd_util.c
create mode 100644 src/fd_util.h

commit 8979f27b95aecfdfc8a3d98066648465ea8260f7
Author: Max Kellermann <max@duempel.org>
Date:   Sun Nov 8 22:18:33 2009 +0100

    INSTALL: added instructions for dietlibc


commit a2147d87ffdaad2f290613b932e16ee1bcd4c473
Author: Max Kellermann <max@duempel.org>
Date:   Sun Nov 8 18:55:37 2009 +0100

    sticker: added generic "set" functions


commit a9a2c9dd69fca1a70a1ccbef0d88474760f09e8f
Author: Max Kellermann <max@duempel.org>
Date:   Sun Nov 8 18:54:33 2009 +0100

    Makefile.am: install version.h


commit 0aedf7e55bbf58bb5fb83d87a616fb283f9e3e8e
Author: Max Kellermann <max@duempel.org>
Date:   Sun Nov 8 17:59:31 2009 +0100

    added library version compile-time checks
    
    This allows programs to check which version of libmpdclient2 they are
    compiled with.

create mode 100644 include/mpd/version.h.in

commit a353f839d2914f01b7b034c8bc77db7376f5580f
Author: Romain Bignon <romain@peerfuse.org>
Date:   Wed Nov 4 10:52:58 2009 +0100

    hide the mpd_sticker structure.
    
    Signed-off-by: Romain Bignon <romain@peerfuse.org>


commit c43cabafe249bd46f8c739990f06961836b3577e
Author: Romain Bignon <romain@peerfuse.org>
Date:   Wed Nov 4 02:16:50 2009 +0100

    functions to manage stickers
    
    There are six new functions exported:
    
    struct mpd_sticker* mpd_sticker_free(struct mpd_sticker* sticker);
    bool mpd_sticker_song_set(struct mpd_connection* conn, const char* uri,
                              const char* key, const char* value);
    bool mpd_sticker_song_delete(struct mpd_connection* conn, const char* uri,
                                 const char* key);
    struct mpd_sticker* mpd_sticker_song_get(struct mpd_connection* conn,
                                             const char* uri, const char* key);
    struct mpd_sticker* mpd_sticker_song_list(struct mpd_connection* conn,
                                              const char* uri);
    struct mpd_sticker* mpd_sticker_song_find(struct mpd_connection* conn,
                                              const char* dir, const char* key);
    
    These are documented in sticker.h.
    Some functions return a mpd_sticker object. Library user must free it
    after usage with mpd_sticker_free().
    
    Signed-off-by: Romain Bignon <romain@peerfuse.org>

create mode 100644 include/mpd/sticker.h
create mode 100644 src/sticker.c

commit 1e48efc7fb1c264ca5fc9ef8afc4d0753b2516a2
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 21:40:27 2009 +0100

    iso8601: use strtol() instead of sscanf()
    
    strtol() is more light-weight than sscanf(), and gives us better
    control.


commit ee94c6b52a17ad5daea9ae2c2b69f0717f72a461
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 21:39:46 2009 +0100

    added test suite, test iso8601.c

create mode 100644 test/t_iso8601.c

commit 8cc156ea5a2b3b872e8902264b9ff0829372d9b6
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 21:39:42 2009 +0100

    Makefile.am: fix out-of-tree "sparse-check"
    
    Prefix with $(srcdir)/.


commit 5ca813bf3b03fd24ed36350c1e8baf3bb3bee5b9
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 09:05:47 2009 +0100

    sync: optimistic write
    
    When flushing the output buffer, always assume that the socket is
    writable.  Most of the time, it really is, and the select() is a waste
    of time.  In case it is not, libmpdclient falls back to select().


commit 35470b12671ea03a9ca492eded2f7f64ea3558c8
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 09:05:08 2009 +0100

    socket: connect in non-blocking mode
    
    Enable non-blocking mode before connect().  Return immediately with
    success if connect() returns 0; we don't have to wait and check the
    socket in this case.


commit 72ef726a348a7f7935ab74f6973870e62e582828
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 09:05:01 2009 +0100

    socket: check for "write" and "error" in mpd_socket_wait()
    
    After connection, we need to wait for the socket to become writable -
    or until an error occurs.  Waiting for the socket to become readable
    is not a good test, and broke the WIN32 build.


commit aea234470abe0491fc499e03b33ca7e5648ffb62
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 08:41:42 2009 +0100

    socket: moved code to disable_blocking()
    
    This lets us eliminate do_connect_fail(), which would now be a trivial
    function.


commit 70c21cc7999a38fccc38e7791266b32a9702f819
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 08:41:34 2009 +0100

    use WSAGetLastError() instead of errno on WIN32
    
    The errno emulated by mingw32 isn't valid for socket calls.  We have
    to use WSAGetLastError() (and FormatMessage()) instead.


commit be736f04d8aa8f9bfc343b00a17c4a05ee31e365
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 08:37:07 2009 +0100

    socket: set SO_ERROR error code after non-blocking connect
    
    The errno value is not valid at this point; we have to use the error
    code returned by getsockopt(SO_ERROR).


commit cb2c60f299f8e6248c6ad47c4d5ce9ef1ca3addd
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 08:06:01 2009 +0100

    include winsock2.h instead of winsock.h
    
    We're using ws2_32.dll, and should use the winsock2.h header.
    Include ws2tcpip.h only if really needed.


commit ed4d640ce1367d65e56035bc0a89acbd2e860c52
Author: Max Kellermann <max@duempel.org>
Date:   Wed Oct 28 08:04:02 2009 +0100

    ierror: renamed parameter "system"
    
    Work around a shadow compiler warning.


commit 0108729ceb3a67f570a09fc488018b41aff07d77
Author: Max Kellermann <max@duempel.org>
Date:   Fri Oct 23 18:59:41 2009 +0200

    socket: ignore EINPROGRESS instead of EAGAIN
    
    According to the connect() manpage, EINPROGRESS is returned when it
    would block.  EAGAIN is not documented here.


commit 59e9370869ce15f0c67e1dfb190d8c564d31025e
Author: Andrzej Rybczak <electricityispower@gmail.com>
Date:   Fri Oct 23 16:35:32 2009 +0200

    tag: wrap function prototypes in extern "C" if __cplusplus is defined
    
    it fixes the problem with linking these functions in C++ programs.


commit afb51efe3ddbefc72cb37dc7cafc8274e815ca82
Author: Max Kellermann <max@duempel.org>
Date:   Thu Oct 22 16:33:30 2009 +0200

    socket: replace SELECT_ERRNO_IGNORE with ignore_errno()
    
    Prefer C inline functions over CPP macros.


commit b85aee931c28d5cbc061422db938398cc6b44317
Author: Max Kellermann <max@duempel.org>
Date:   Thu Oct 22 16:33:27 2009 +0200

    socket: removed unused macros


commit fc6eff70b96a58785c7ed6b49b2c954c7a2be0e9
Author: Max Kellermann <max@duempel.org>
Date:   Thu Oct 22 16:33:03 2009 +0200

    sync: removed redundant error checks
    
    We don't need to check mpd_async_get_error() right before calling
    another async function.  All async functions perform error checking
    already.


commit 3a6cef1b980a581f39172ce29193d97f41c70d7c
Author: Max Kellermann <max@duempel.org>
Date:   Thu Oct 22 16:32:54 2009 +0200

    Makefile.am: enable the "subdir-objects" option
    
    Don't clutter the top directory with *.o files.


commit 54c31b75d2a38d2aaf8a87b7e3a7cd36d1c2dd51
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 20 14:56:19 2009 +0200

    Makefile.am: use --version-script only with GNU ld
    
    --version-script is a GNU extension, and fails on non-GNU platforms.


commit 374ade71d0e55236546760f1f29cbf96ecd025e8
Author: Max Kellermann <max@duempel.org>
Date:   Tue Oct 20 14:54:01 2009 +0200

    search: added assertions on connection!=NULL


commit 73c71c2561268c046b8b05229fc97111c13d12d9
Author: Andrzej Rybczak <electricityispower@gmail.com>
Date:   Sat Oct 10 20:28:04 2009 +0200

    song: copy last_modified value in mpd_song_dup()


commit 00047ddcbffeec70715af56f2d40b11802d58bb5
Author: Max Kellermann <max@duempel.org>
Date:   Mon Oct 5 07:54:52 2009 +0200

    status: added mpd_status_get_elapsed_ms()


commit f245ee7d24f87baa435939fcb4157f023c203fbb
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sat Oct 3 16:42:16 2009 -0700

    Modify version string to post-release version 2.1~git


commit 463f3538a60688d8da3fc57d853bdcff1e4c3534
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sat Oct 3 16:42:16 2009 -0700

    libmpdclient version 2.0


commit 395815bdea32811b39e0d571edabfd80aa5a1ef5
Author: Max Kellermann <max@duempel.org>
Date:   Sat Oct 3 18:38:06 2009 +0200

    NEWS: fix typo in 0.13 comment


commit 4c9c16cca6584c00196fe87d8decee2ce304b2e1
Author: Max Kellermann <max@duempel.org>
Date:   Sat Oct 3 18:37:02 2009 +0200

    idle: flush only if disable_timeout==true
    
    When the parameter disable_timeout is not set, there's no reason to
    flush the connection.


commit 6bb9fa604a423068c55cf0b5dd06805cec8d2511
Author: Max Kellermann <max@duempel.org>
Date:   Sat Oct 3 17:19:05 2009 +0200

    search: added support for the "findadd" command


commit 411f34448a122fb220f6f8c4a36908de5d705a6e
Author: Max Kellermann <max@duempel.org>
Date:   Sat Oct 3 17:17:38 2009 +0200

    search: merge code from search begin functions
    
    Merged code from mpd_search_db_songs() and mpd_search_queue_songs()
    into a common internal function.


commit 779d1b48a5bb0e7dfe25db7d3aa675eb30d95ee4
Author: Max Kellermann <max@duempel.org>
Date:   Sat Oct 3 16:27:17 2009 +0200

    recv: work around "unused parameter" warning
    
    That "pair" parameter is only used for assertions in !NDEBUG.
    Technically, we wouldn't need it, but the API looks cleaner.


commit 95223f23d86ffc0289f4a227138e608a466bbdc3
Author: Max Kellermann <max@duempel.org>
Date:   Sat Oct 3 16:26:12 2009 +0200

    idle: fixed bogus "uninitialized" gcc warning
    
    The variable is never used when it's not uninitialized, because the
    same condition is used on both uses.


commit 51785ca214cb9d4b57f859a067ae00dbd4ddbb96
Author: Max Kellermann <max@duempel.org>
Date:   Fri Oct 2 10:13:30 2009 +0200

    queue: support "addid" with position parameter


commit 9f242b1be5b09cb8012e5ede241716d8630dab0e
Author: Max Kellermann <max@duempel.org>
Date:   Fri Oct 2 10:02:49 2009 +0200

    database: support the new "rescan" command


commit 39c7773d4f397e33554c79236d5fb3dc00cc57bb
Author: Max Kellermann <max@duempel.org>
Date:   Fri Oct 2 09:59:15 2009 +0200

    idle: don't disable timeout in mpd_run_noidle()
    
    This patch adds the "disable_timeout" parameter to mpd_recv_idle() to
    give the caller more control (hopefully the last API change before the
    final 2.0 release).


commit 86ab62eeddb3302200bc4a140554155c8dd868df
Author: Max Kellermann <max@duempel.org>
Date:   Fri Oct 2 09:50:25 2009 +0200

    search: added mpd_search_cancel()


commit 8d0304b12d0a5158da02ed8f3017753a2b592a65
Author: Max Kellermann <max@duempel.org>
Date:   Thu Oct 1 07:54:46 2009 +0200

    idle: added MPD_IDLE_QUEUE
    
    MPD_IDLE_PLAYLIST (same value) is deprecated.


commit e6f11c0ab2be54c080c84f924d240701878f913c
Author: Max Kellermann <max@duempel.org>
Date:   Thu Oct 1 07:53:53 2009 +0200

    idle: changed MPD_IDLE_UPDATE to 0x80
    
    No gap between the last two events.


commit a18b027b01ee09e2ebc94f0890b775a375f7cf72
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 30 23:20:13 2009 +0200

    queue: added mpd_send_delete_range()


commit a5a6c5ecc6f19e13981c47250c357c1dbc066e0b
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 30 23:17:49 2009 +0200

    queue: added mpd_run_add(), mpd_run_delete(), mpd_run_delete_id()
    
    Several missing "run" functions.


commit 275b256d8f496703c0f6d16a04dad1bba9810cff
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 30 07:56:25 2009 +0200

    status: removed MPD_STATUS_NO_VOLUME
    
    Just document -1.


commit 1dac3157ac03c064f2a7dcf524146925ba13ea09
Author: Max Kellermann <max@duempel.org>
Date:   Tue Sep 29 17:17:28 2009 +0200

    fixed function mpd_parser_get_server_error() in LD script


commit 4f35405be21a0d96e2a1ef25fd19d6188cd8be85
Author: Max Kellermann <max@duempel.org>
Date:   Tue Sep 29 16:44:01 2009 +0200

    connection: corrected references in API documentation
    
    It's mpd_connection_get_error(), not mpd_get_error().


commit 5f752dfbebef0000276d1b5d8fa9938aa10d5135
Author: Max Kellermann <max@duempel.org>
Date:   Tue Sep 29 16:42:18 2009 +0200

    idle: added function mpd_run_noidle()


commit fc3bae298ed51bd5b776d81a79653654cf1203c5
Author: Max Kellermann <max@duempel.org>
Date:   Tue Sep 29 12:53:47 2009 +0200

    response: fix command list assertion in mpd_response_finish()
    
    When a list_OK was received, the assertion after mpd_recv_pair()
    failed.  This patch corrects mpd_response_finish(), and makes it skip
    all further responses properly.


commit 848c1358ef5b9b8ba4f8bb0f25358fde85ad9aa2
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 28 19:47:52 2009 +0200

    idle: reset the "receiving" flag in mpd_send_noidle()
    
    We need this workaround, because "noidle" may be sent while the "idle"
    response is being received.


commit 092d1be2a6a45446f7f8b9abb5b62a7bfc3f44cd
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 19:56:06 2009 +0200

    example, test: advanced error handling
    
    Use return values instead of checking "mpd_connection_get_error(conn)
    != MPD_ERROR_SUCCESS".


commit 7977f7445ce2f7265a012e58893e25cb6a348af0
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 19:51:05 2009 +0200

    queue: added ranged "move" commands


commit ad8cbaeb0ff079af2acad803ae7f13d759023ddb
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 19:51:04 2009 +0200

    queue: added range function mpd_send_list_queue_range_meta()


commit c0c3c7ae405fa8cc35d5c00a99f5531d67699a86
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 19:50:57 2009 +0200

    queue: added run functions


commit 5237125503ed87e726543b94b7aa38df520adc83
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Sep 27 08:19:46 2009 -0700

    Fix a few minor misspellings.


commit 99e406a6a65ea88275f488e9e544a7b3bdb451b9
Author: Avuton Olrich <avuton@gmail.com>
Date:   Sun Sep 27 08:03:24 2009 -0700

    Modify AC_INIT to make it more friendly to release scripts.


commit cb57c6e5ef626375aa3ae23dbbbd93c9a30d916c
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 14:03:44 2009 +0200

    Makefile.am: distribute autogen.sh


commit d321f91452f5105cd1194439dd9debe22b55b07c
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 14:03:24 2009 +0200

    added NEWS file

create mode 100644 NEWS

commit c13b4b846546c795ba722e638e0b0655cbdd929f
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 13:49:09 2009 +0200

    ierror: added function mpd_error_get_message()


commit a846e862d0cf2aed9269e29d9f34f265899dddb4
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 13:44:41 2009 +0200

    connection: expose the underlying mpd_async object


commit f1273bac9c8224e82459bfb3c98e69c4cdb2d325
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 13:38:12 2009 +0200

    ierror: copy errno value in mpd_error_copy()


commit a233d6954e280ef14362507408bd1763fdb62270
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 13:33:40 2009 +0200

    async, connection: provide errno
    
    Some programs might want to process the system's errno, and this patch
    adds two methods for getting it.


commit c5db325c49eb98c302c7f266742fea760735a050
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 13:33:37 2009 +0200

    socket: removed more host/port from error messages


commit c81fe769b975aad2dc749fdcf36d1e55c159f15f
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 13:31:00 2009 +0200

    socket: don't add text to socket errno message


commit f0dccf3d42af74a2d27eddbfcd60af84e7642c87
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 13:05:46 2009 +0200

    song: clarified song_get_uri() API documentation


commit 83abd374f6032b56ca289e0fd980b47ca61d36bf
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 13:02:48 2009 +0200

    song: free uri in mpd_song_free()


commit 70f13a94297a09e6545ece458f7f036a9dd9417e
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 13:00:51 2009 +0200

    response: include cleanup


commit a5edf4e80cb7c16dd3a8e0b8af8786bf22af5441
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 13:00:06 2009 +0200

    response: check for existing error in mpd_response_next()


commit 575d5de64c6f9db82b76aea89099d9a3a49692d1
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 27 12:55:32 2009 +0200

    response: check for errors in mpd_response_next()
    
    This fixes an assertion failure.


commit 83e87b4af111161ef03956ef15ca993623428c2d
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 26 21:06:59 2009 +0200

    recv: reset the "receiving" flag on malformed response line
    
    This fixes an assertion failure in mpd_response_finish().


commit a763c4c7510140399c7cbe73e58579f8b202e84d
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 26 21:01:06 2009 +0200

    connection: added support for password@host


commit efff29bf4e3995e18f3ecf02caf9932780facdb4
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 26 20:55:23 2009 +0200

    connection: moved code to mpd_check_host(), mpd_check_port()


commit 4fc4791ed24e7f64f91c7f53ad757596854b8081
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 26 20:55:15 2009 +0200

    sync: added the "sentinel" attribute to mpd_sync_send_command()
    
    Let gcc print warnings about missing NULL sentinel.


commit 71ccbb5f04eda155271a19643811bb73a6bd2616
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 26 20:23:50 2009 +0200

    search: fixed parameter "oper" in API documentation


commit 262b33cd6f47c488f43ea8911c84dbcfa2648994
Author: Jason Pleau <me@oxez.net>
Date:   Sat Sep 26 11:35:30 2009 -0400

    search: changed 'operator' argument value to 'oper'


commit 823a4a43c9b98f6da735540061306b45ac0015bf
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 23:55:53 2009 +0200

    Makefile.am: require automake 1.10


commit 14c58f2b50b76037ac4ac85fd5b5d8843bcd87e3
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 23:52:29 2009 +0200

    configure.ac: build a DLL on Windows.
    
    Add AC_LIBTOOL_WIN32_DLL to configure.ac, add -no-undefined to
    LDFLAGS.


commit ed62f0257927685bbe933ffa52a3741d7b51a2a6
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 23:27:43 2009 +0200

    tag: added case-insensitive version of mpd_tag_name_parse()


commit 886e2d805a4206d920c47a6b3e6d5d2571cd1de1
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 23:00:07 2009 +0200

    tag: removed the artificial tags FILE and ANY
    
    Those were a hack to keep the search API simple, but we don't need
    them anymore.


commit d63ca91c72992a99be9b4fa580692d5461c47bb1
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 22:59:55 2009 +0200

    song: added attribute "uri" to the song struct
    
    Don't store it as MPD_TAG_FILE.


commit a7e551fdaa0495bbfc4dfe0c1d204d7362e56c80
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 22:59:15 2009 +0200

    search: added reserved parameter "operator"
    
    This is reserved for a future protocol extension which will allow us
    to specify a comparison operator.


commit 166044a0c1f1aeecfc80f9b3326ad42925e76f43
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 22:45:54 2009 +0200

    search: split mpd_search_add_constraint()


commit 7860fbc3e8f4e30a5d399bce9f3b6db53df1dc4e
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 22:37:29 2009 +0200

    search: updated API documentation


commit 0919f8da51194fb0a239010af6beb09cf4de1385
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 09:57:17 2009 +0200

    compiler: fixed mpd_sentinel macro
    
    It was attribute "const" instead of "sentinel".  Bloody typo!


commit 553cc1ea8fd974da6fef50c2f28efdbae1efac46
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 09:56:43 2009 +0200

    socket: declare ioctlsocket() argument as u_long
    
    Why cast a int* to u_long*?  This will overflow on 64 bit machines.


commit 6bdade036ebf2242496c820bbe15963e0e24f03e
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 24 09:56:05 2009 +0200

    idle: added missing sentinel in mpd_send_command() call


commit bc9782f727d77ea380665d2054b293e1bb78c07b
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 23 22:42:40 2009 +0200

    search: change "playlist" to "queue"


commit 6e4c94506466a1e382742e262e179cac42684028
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 23 22:42:39 2009 +0200

    added "do not include directly" warning to headers


commit 8bb0d26e868ae95874449e2da5448d78108f1967
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 23 22:42:29 2009 +0200

    song: remove deleted functions from LD script


commit 7fe970de8ce38c68476096c13a304c90dc06092a
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 23 22:23:42 2009 +0200

    song: prevent song modification after it was finished
    
    When a song is parsed with mpd_song_feed(), remember that it was
    finished, and abort if the caller still tries to call mpd_song_feed()
    again.


commit df79a54a537efc318e410f107fa1ac262744c849
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 23 22:16:49 2009 +0200

    song: removed mpd_song_add_tag(), mpd_song_clear_tag()
    
    The song object should be immutable, and that affects the tags, too.


commit 044c67063f2de0a225994dcaf8d216b394d26d7a
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 23 22:13:15 2009 +0200

    compiler: added a wrapper for the "unused" attribute


commit 00dcd5750d6aba35f142c845b647d1e0fa6db4ad
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 23 12:32:01 2009 +0200

    song: removed setter methods
    
    It should not be possible to modify the duration, time stamp and id of
    a song.  The position however needs to be modified sometimes, when
    evaluating the mpd_send_queue_changes_brief() response.


commit be6a85b5223c23a023ea2bc2829356b597abcd9f
Author: Andrzej Rybczak <electricityispower@gmail.com>
Date:   Tue Sep 22 21:55:38 2009 +0200

    make functions from playlist.h take unsigned args instead of int
    
    the interface of both queue and playlists
    related functions should be consistent.


commit 3ddaa45d2a5f9fdde6d3ced2b7b75b4ef77955af
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 22:28:58 2009 +0200

    updated README
    
    Added pointer to the API documentation.


commit 0c4726da34f262d8633086733375531870375de8
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 22:27:31 2009 +0200

    added files INSTALL and AUTHORS

create mode 100644 AUTHORS
create mode 100644 INSTALL

commit 9db003a9c4e6d2415f152993234a9146d37e76a1
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 22:10:54 2009 +0200

    configure.ac: fixed double dollar sign (typo)


commit 7be3f0cc32e8170aaa676e60f67a84d810900d15
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 21:59:21 2009 +0200

    protocol: renamed mpd_ack to mpd_server_error


commit 1415affe2761c56d07c34e6050fb6ff92eff6aba
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 21:54:35 2009 +0200

    error: renamed MPD_ERROR_ACK to MPD_ERROR_SERVER


commit 764e5a8cb9bac464a468777714306a00bf781dd2
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 21:51:39 2009 +0200

    error: removed MPD_ERROR_BUFFEROVERRUN
    
    Using MPD_ERROR_MALFORMED instead.


commit e6339e9a2944d1ef719a01c642c661fee6c73fb5
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 21:49:17 2009 +0200

    error: removed MPD_ERROR_SENDING, it's unused
    
    Using MPD_ERROR_SYSTEM instead.


commit 374a2e258c96132d6fe9087e33b7170fc32e9e4d
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 21:46:48 2009 +0200

    send: auto-flush if not in command list mode


commit 53f05e7f96bb1f5c7235936859c3dd16bdfbc05d
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 21:21:07 2009 +0200

    connection: insert "connection" into function names


commit 8830b11d86fd65c3cf83749864918d2d19ae4e66
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 21:03:06 2009 +0200

    connection: added mpd_connection_get_fd()


commit b65668217399cd5487bbe622cfa7b28aab5c304a
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 20:59:18 2009 +0200

    async: renamed mpd_async_fd() to mpd_async_get_fd()


commit 70213316587632f5a5690ab9c88432cace24474c
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:47:52 2009 +0200

    Makefile.am: added "upload" target
    
    This uploads the API documentation to www.musicpd.org.


commit 000fba04931e100041da3bd4fbe3995032c71f7e
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:43:09 2009 +0200

    connection: get default socket/host/port from autoconf
    
    This patch adds the option --with-default-socket, and cleans up the
    existing --with-default-host and --with-default-port options.


commit 5f95b5140fd001e496093e139dc58856e934469b
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:27:08 2009 +0200

    .gitignore: ignore tarballs and *.exe


commit 7a6a1727d084e2ad2a3d835945389e4780c10362
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:27:08 2009 +0200

    updated ld script


commit e8a0c7d21984efac0d2a7b4dfbe0d219323705c2
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:27:07 2009 +0200

    sync: include winsock.h
    
    Required for select().


commit 00f60f225e89fc35445d1094a71aa3adce2664c4
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:27:07 2009 +0200

    socket: cast file descriptor to unsigned in FD_SET() call
    
    Suppress a warning on WIN32.


commit 6b6ebf27a69206689c0099eb39b7f6affb973501
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:27:06 2009 +0200

    socket: correct the do_connect_fail() WIN32 implementation
    
    This code was outdated.


commit 0aaa0001e58dba7b8933792f0146a43444872436
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:27:06 2009 +0200

    iso8601: implemented fallback for gmtime_r() on WIN32
    
    It's not exactly a valid callback, because it's not thread-safe, but
    that's the best we can do now.


commit 9bb700329728b91fa049b95aa292bd9e548f8530
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:27:05 2009 +0200

    internal.h: include sys/time.h for struct timeval
    
    This works on Windows, too (which doesn't have sys/select.h).


commit 559ff67076a375d4b64f183a65af48c58ded258c
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:11:29 2009 +0200

    resolver: unix domain socket always fails on WIN32


commit 1c563d8ba8e8d40594b77e09a5f589907ab2ea07
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:11:27 2009 +0200

    resolver: don't include netdb.h twice


commit 51871f6e672ab01987bccf9ea55100b17a915621
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:11:25 2009 +0200

    configure.ac: simplified checks for socket()/getaddrinfo()
    
    The socket() check fails on mingw32 (probably because autoconf's
    prototype is wrong?), but it's safe to say the function is present.
    We just need to check if we need -lsocket.


commit 71bd2d970ea76fb1dde74710ebd92e4d080059ad
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:09:12 2009 +0200

    configure.ac: link with ws2_32.dll on windows


commit 31f6bba346347d572dfd3d957518c69cfd1af221
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:08:58 2009 +0200

    connection: moved code to error.c

create mode 100644 src/error.c

commit 405e42e22999c89d72f2c1e747cd8428d9498731
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:08:53 2009 +0200

    removed the string pool
    
    Users of this library should implement their own string pooling.
    Pooling may not be a good idea for some clients, e.g. mpc.

delete mode 100644 src/str_pool.c
delete mode 100644 src/str_pool.h

commit ebe624d3c2fa436a3dab19e8f98a9444faeb6ee1
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:08:49 2009 +0200

    playlist: removed function mpd_playlist_set_last_modified()
    
    Callers should not manipulate the object.


commit ac45c3eb00e503f46b521db2177a809d9a5bb040
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:08:13 2009 +0200

    recv: removed mpd_recv_value_named()
    
    Don't return allocated strings.  mpd_recv_pair_named() is the way to
    go.


commit b6dab11c138afa19795129042c99e4faa33285ce
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:08:12 2009 +0200

    database: change "ls" to "list"
    
    Be consistent with naming.


commit da6a1ca732beee81b0218824e45c6bac203f8e53
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:07:37 2009 +0200

    song: added range check to mpd_song_clear_tag()


commit 87b0618e39a17e3767867bed62880a1b55a4abca
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:07:29 2009 +0200

    song: disallow operations on MPD_TAG_FILE
    
    MPD_TAG_FILE is initialized with mpd_song_new() and should not be
    modified later.


commit 85a3752c5fe230854bd68b076896c82f1f2d5a1b
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:07:26 2009 +0200

    status: renamed mpd_status_new() to mpd_status_begin()


commit 2d0cda588b936aa916e1e5a5095548032559ff6a
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:07:24 2009 +0200

    stats: renamed mpd_stats_new() to mpd_stats_begin()


commit c3cbe03d19ed63865ffdda2ac465c65ab7de63f7
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:07:21 2009 +0200

    song: removed mpd_song_new()
    
    Callers should use mpd_song_begin().


commit 9c076a0dd62e57bc121aa1047d7acb6b4b60f3de
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:07:20 2009 +0200

    playlist: removed mpd_playlist_new
    
    Callers should use mpd_playlist_begin().


commit f7810e408912e2490538277420039b0332523f30
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:06:48 2009 +0200

    directory: removed mpd_directory_new()
    
    Callers should use mpd_directory_begin().


commit 36736c87b5cd11e7da8b33213917d39a2e9144da
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 18:06:45 2009 +0200

    capabilities: make the recv functions return mpd_pair
    
    And make them inline.  For these small functions, it isn't worth it to
    have a real function, and an exported symbol.


commit a39661811649a3122a46564984ef6c7d0789b59b
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 01:06:12 2009 +0200

    Makefile.am: uninstall doxygen files
    
    Repair "make distcheck".


commit 05008db6bbaaa1069147b6494d8a7c8449ad4af1
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 00:49:30 2009 +0200

    declare functions with gcc attributes
    
    Allow libmpdclient users to compile more efficiently.

create mode 100644 include/mpd/compiler.h

commit 6f7bd74fb91e6db48231e2bc23e3b89e4533288e
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 00:16:59 2009 +0200

    async: fixed parameter type in mpd_async_io()
    
    Should be "enum mpd_async_event" instead of "unsigned".


commit a27198917841464b36c56369870abc06fc732ca0
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 00:16:55 2009 +0200

    Makefile.am: define __CHAR_BIT__ for sparse
    
    Eliminate a bogus warning.


commit 35328c9012996b61f4171b7bc0b34276aadc0e2e
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 00:15:40 2009 +0200

    isend.h: include stdbool.h


commit 213f9a26b2274d4334c4bd036ea046fc63cdec11
Author: Max Kellermann <max@duempel.org>
Date:   Mon Sep 21 00:03:17 2009 +0200

    connection: moved code to mpd_connect()


commit cfc1a31405c0be4921f81aa343fce9d0d1cb2116
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 20 14:39:02 2009 +0200

    connection: connect to unix socket by default


commit 191f134d880625470a085850a1d7bb230a0333c4
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 20 14:32:31 2009 +0200

    status: renamed "playlist" to "queue"


commit 235b794388e62440df5cbb61aeaa12c21a701ffa
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 10:51:14 2009 +0200

    response: moved functions to capabilities.c


commit 79b7895a6c93c736149d1a3f6eef21b5c06030a3
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 10:45:03 2009 +0200

    playlist: updated API documentation


commit cd1711d0d0d541883852fded6264771570141e18
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 10:41:33 2009 +0200

    list: documented all parameters


commit edff97fb5405f50eb007b1a95ddda953168cb7c0
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 10:41:07 2009 +0200

    parser: updated API documentation


commit 15f7a71bbf46a4836aaa810ab68471537ca6ee52
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 10:39:32 2009 +0200

    parser: make mpd_parser_get_at() unsigned
    
    If the value is unknown, it's safe to return 0.


commit 5afd6eeb1ce45086fc1ae5ac5af92ed4c5773ff6
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 09:59:14 2009 +0200

    queue: removed struct mpd_cpos
    
    Pass those two members by reference to mpd_recv_queue_change_brief().


commit a743c56e4560e99195f017e3daa5d8a9426a710a
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 09:56:38 2009 +0200

    queue: renamed plchanges functions
    
    Make that queue_changes.


commit baa03fe21136bdf25dfb8946a9b49dab71e375de
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 09:21:08 2009 +0200

    search: replace mpd_get_next_tag(), return pair
    
    mpd_get_next_tag() returns an allocated string.  This however is
    disadvantagous: memory allocations are expensive, and the caller needs
    an API where he can free it.  Let's just return a mpd_pair, which is
    cheap.


commit bdcb27df789414d71775247281d26ae857a75eb0
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 03:48:18 2009 +0200

    idle: return pairs in mpd_recv_idle()
    
    Broken by d3c8bd9b.


commit 6278b33afc3bce7f236d8f6c07ada70381780eae
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 03:48:15 2009 +0200

    idle: added mpd_idle_name() and mpd_idle_name_parse()
    
    libmpdclient2 users should be able to access the "idle" event list.


commit 2b5e799dc62509adcb06463496f41443b24bac2d
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 03:45:20 2009 +0200

    tag: change "Filename" to "file"
    
    "Filename" for MPD_TAG_FILE has been deprecated years ago.


commit 250a07d70fb29395fda79ffbb191acaff455b83e
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 03:45:19 2009 +0200

    tag: make the MPD_TAG_ANY string lower-case
    
    Lower-case is MPD's canonical representation of that special tag type.


commit 03d3bd8413e7c3ee96f9c821aa6f1a1898c67f83
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 03:45:15 2009 +0200

    idle: disable timeout during idle receive


commit e8d542bc0a1bd9f1a9aa1fd7387f53b23eca03d6
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 03:44:00 2009 +0200

    isend: added mpd_flush()


commit 83f4483b5ede53916e90ab8afce5255a621f22e4
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 03:39:27 2009 +0200

    sync: added function mpd_sync_flush()


commit 7ec5aa29de61341be57e68e13f37d63b7e06a6fc
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 03:38:47 2009 +0200

    sync: negate the ignore_errno() check
    
    The old version was wrong, it ignored all errnos which should be
    fatal.


commit 924f75c4f73ec9f597479d7758f162ca49e023a9
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:39 2009 +0200

    send, recv: disable timeout when it's 0


commit d9fce1dc9291dd82f3e2708d6f01c9f8912cab49
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:38 2009 +0200

    internal.h: removed mpd_run_check() prototype
    
    This one lives in run.h.


commit eefb53ba82fb20611f8483470131214af356a9a6
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:37 2009 +0200

    connection: set default timeout when 0 is passed


commit 1fc8f1befb80d624f49e343193df10f3a4d4555f
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:37 2009 +0200

    sync: support tv==NULL, no timeout


commit 3abcbb7fa81f11d0d87d0276e036413affeb4c8d
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:36 2009 +0200

    idle: added mpd_send_idle_mask()
    
    Send a specific idle mask to MPD.


commit caaf7272fdb9464a17a087220e6620f728e00ca4
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:23 2009 +0200

    idle: added function mpd_run_idle()


commit 42ec6b79f7c56d5e1c4bea55247fe0ff018d1311
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:17 2009 +0200

    recv: use mpd_connection_sync_error()
    
    Detect receive timeout.


commit 1ef1147d28a733aabfb17559acbd97be152821d9
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:14 2009 +0200

    connection: removed mpd_copy_async_error()
    
    This function has been superseded by mpd_async_copy_error().


commit d77247c8c25c943053e983359ae09efd0a6f11a8
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:10 2009 +0200

    async: eliminated the "alive" flag
    
    Use mpd_error_is_defined() instead.


commit 3032907e5380faf705b4e30eda089823c98a62ea
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:05 2009 +0200

    async, connection: document the character set of error messages


commit 8f018bc0a14122a0f8a74be9ccdca388f68ea4db
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:46:03 2009 +0200

    error: better error constant names


commit 4e6be25862b52d7c5ae9650898516fdfbed2fcb7
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:45:58 2009 +0200

    error: removed redundant error codes


commit 4110da26f8dec5473a4ea391df30da6c89db1645
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 02:45:54 2009 +0200

    mpd/client.h: include mixer.h


commit 7290f7791c935b544c7c316be71051694ca99829
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 00:03:28 2009 +0200

    database: more API documentation


commit cfa190abd45451027aed771e7a5445dbefbfb0a9
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 00:03:13 2009 +0200

    cpos: moved all functions to queue.h

delete mode 100644 include/mpd/cpos.h
delete mode 100644 src/cpos.c

commit 00618fbae65e36da124d7175002fbd9a5091a1f1
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 00:02:52 2009 +0200

    cpos: use mpd_recv_pair_named() to obtain the song id
    
    This allows us to eliminate the whole loop.


commit bb60c725a2cf134581b580cde52ae6a9cfee31fe
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 19 00:01:29 2009 +0200

    connection: use default host/port when host==NULL/port==0


commit 1d008ba2e0e9f1fab0912bb7a750fb04e9163213
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:51 2009 +0200

    connection: make the "port" unsigned


commit e91f059cbb6817cdc9d0d275bdc08320f34bbc97
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:50 2009 +0200

    connection: corrected API documentation


commit 508c45bc9dda0671a1456af9ce4c02ad45413d84
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:50 2009 +0200

    capabilities: revised function names


commit 9d97cf754c36264cc0ef699902e5ffd86620bcae
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:50 2009 +0200

    capabilities: added API documentation


commit 6cecd2c039e095a4fc74733e43ff635fbf3446e2
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:49 2009 +0200

    renamed command.c to capabilities.c

create mode 100644 include/mpd/capabilities.h
delete mode 100644 include/mpd/command.h
create mode 100644 src/capabilities.c
delete mode 100644 src/command.c

commit 7c9c699a3ea5323d69b13862edc4f2eb40aca53f
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:49 2009 +0200

    mixer: added mpd_run_set_volume()


commit febca151a6e1e8ef6d3d220f158be056842c22b0
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:48 2009 +0200

    mixer: added API documentation


commit 95ff36a0a5310c53d56f1c8e5c223d5a7733b296
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:48 2009 +0200

    mixer: rename mpd_send_setvol()
    
    Rename mpd_send_setvol() to mpd_send_set_volume(), and make the
    argument unsigned.


commit ff86ae67c9ace3129c5264bc8e5a105fd819af96
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:47 2009 +0200

    command: moved mpd_send_setvol() to mixer.c

create mode 100644 include/mpd/mixer.h
create mode 100644 src/mixer.c

commit b4d0fa7b093a6f1df336db59aabb985a41ff79bd
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:19 2009 +0200

    command: removed mpd_send_volume()
    
    That server side command is deprecated.


commit 1abb5f726e5c43bc0e0fd7560ba9d64ab029c8ce
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:19 2009 +0200

    renamed enum mpd_async_events to mpd_async_event


commit bf491dedea12daa67fe06d2924e2ee5cf7815f3d
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:18 2009 +0200

    player: added underscores to function names


commit 14989159b2bbb475f348050fbfad7af837e6c95b
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 21:30:14 2009 +0200

    database: revised function names
    
    info -> meta; added underscores.


commit 7a4f7da8d69447f71d065ebdde0175d6480ad586
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 18:33:27 2009 +0200

    playlist: revised function names
    
    info -> meta; added underscores.


commit b91d2e0c752f1d1f37e3f6d57d55455327654367
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 18 16:27:37 2009 +0200

    search: don't lower-case the tag names
    
    MPD ignores case here.


commit d889f2905ee6beba212a180aceb9a0281a7dd876
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 13 13:42:17 2009 +0200

    connection: convert the timeout parameter to an integer
    
    Accept the timeout setting as unsigned integer in milliseconds


commit fab2770547a5a14f23c7c6e33a6191485625b6df
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 13 13:33:23 2009 +0200

    connection: added constructor mpd_connection_new_async()
    
    This constructor uses a mpd_async object which was created by the
    caller.


commit a13e51654fd63d3f4c3dbd874ea57e2f600918f7
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 13 13:33:16 2009 +0200

    connection: new version parser, require only one number
    
    Instead of strictly requiring three numbers separated by a point,
    require only one.  Don't cite the malformed line in the error message.


commit 280a164c5d8be71d1079bf5b57ad1670ff903d1c
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 13 13:33:14 2009 +0200

    connection: don't pass host and port to mpd_parse_welcome()
    
    Don't show the host name in the error message.


commit 70509548c1f5622919a867c3db794e093d410281
Author: Max Kellermann <max@duempel.org>
Date:   Sun Sep 13 13:05:34 2009 +0200

    async: return NULL instead of false in mpd_async_recv_line()


commit 65f07aef9b713fe45c0605e5601bec5c470c2532
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 22:49:43 2009 +0200

    queue: added API documentation
    
    Most importantly: documentation for mpd_send_move_id(), its "to"
    parameter is a position, not an id!


commit e45f4bf9b6a4b80a97690b73351f7171ccee261b
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 22:25:12 2009 +0200

    queue: return "bool" from the "run" functions


commit eeb4ad9aa6de9aa1d456ef2e9d9df432e4875869
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 22:11:00 2009 +0200

    queue: added underscore for "_id" suffix


commit 799a3791a5649465bae919a67c22e5820495d479
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 22:10:58 2009 +0200

    song, queue: make song position and id unsigned
    
    In song.h, unknown positon or id is encoded as 0.  Actually, callers
    should not query these values if they didn't obtain the song from the
    queue.


commit caf664f8313dfdcf7492789316f58a297198a1f6
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 22:07:30 2009 +0200

    song: renamed "time" to "duration"
    
    "time" is not a good name when you mean the "duration" of a song.


commit b6ad423b8b1c0e05c301c01388aee47bdf8e4768
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 22:07:30 2009 +0200

    song: time==0 is for "unknown duration"
    
    MPD internally manages song with unknown duration as "time = 0".
    Let's make mpd_song_get_time() unsigned, and the unknown value 0.


commit 5fd3d61edf9b03d5a39fa215ae0a56bdb71e8e5f
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 22:07:26 2009 +0200

    queue: renamed queue request functions


commit a8a8ebed3a238c9f67ac114e0b647e488b05a1a9
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 21:45:57 2009 +0200

    queue: make the queue version "unsigned"
    
    No 64 bit long required to store the version.


commit b028fc0d58b2592c506000d39431d04d3b61a6dc
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 13:44:06 2009 +0200

    status: added mpd_status_get_audio_format()
    
    Replaced mpd_status_get_sample_rate(), mpd_status_get_bits(),
    mpd_status_get_channels() by returning an audio_format struct, similar
    to MPD's audio_format struct.

create mode 100644 include/mpd/audio_format.h

commit 69cf897814b94a8384f5428319caad0021283a8a
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 13:23:36 2009 +0200

    status: make bit_rate unsigned
    
    And rename it to kbit_rate, because it actually stores the value in
    kilobit per second.


commit 8e8b79ee0493a17db51b7c056ea44729124ad809
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 13:19:58 2009 +0200

    status: simplified the elapsed:total time parser
    
    Use strtol() and its endptr to get the next token.


commit e716904bba7a505ce26f174a333d38ddd6baa9c7
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 13:18:27 2009 +0200

    status: make mpd_status_get_*_time() unsigned


commit 6f10e2ca3b8188aafd346b140bd060435326fc77
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 13:15:49 2009 +0200

    status: make mpd_status_get_crossfade() unsigned
    
    Return 0 when cross-fading is disabled.


commit 14c8a824ad9e2f7b2eeeb351d85aa3a3aef178ac
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 13:09:55 2009 +0200

    status: renamed mpd_status_get_song()
    
    Renamed mpd_status_get_song() to mpd_status_get_song_pos().  Make it
    return -1 if there is no current song, same for mpd_status_get_song_id().


commit 6cd1f0d49c03e92f1cac963983d0ef0a0a7e6ac3
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 13:02:53 2009 +0200

    status: updated mpd_status_get_state() documentation


commit 50def2557eecbf73325e90f604f7dd03e643418c
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 13:01:07 2009 +0200

    status: make mpd_status_get_playlist_length() unsigned
    
    "Unknown" is 0 now.


commit 1ac59645dc2e6520d9a32f949b9d88dd696f37eb
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 13:00:58 2009 +0200

    status: renamed mpd_status_get_playlist()
    
    Renamed mpd_status_get_playlist() to
    mpd_status_get_playlist_version(), and make the result unsigned.  We
    don't need "long long" here.


commit 621ed3b19bd128331795f2372a63f9f9d55d6b7d
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 12:49:41 2009 +0200

    status: renamed mpd_status_get_updatingdb()
    
    Renamed mpd_status_get_updatingdb() to mpd_status_get_update_id() and
    make the result unsigned.


commit 690ffc571fd1e0d140847de67be7e4c1ec0dda35
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 00:15:19 2009 +0200

    queue: added more "run" functions


commit 351acf30410493ed8a7922bc11f473dbe37f30e6
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 00:15:17 2009 +0200

    stats: renamed mpd_get_stats() to mpd_run_stats()
    
    Be consistent about naming.


commit a3c65303b663ddc6c26d17c20c23dde64c94534a
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 00:13:40 2009 +0200

    playlist: added function mpd_recv_playlist()

create mode 100644 src/rplaylist.c

commit b967cac8e1451eed471a7f728770119e59fc1099
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 00:13:39 2009 +0200

    directory: added function mpd_recv_directory()

create mode 100644 src/rdirectory.c

commit 099e99c883126215ae317009a9f2b66a624d2b01
Author: Max Kellermann <max@duempel.org>
Date:   Sat Sep 12 00:13:25 2009 +0200

    client.h: include idle.h


commit 137630fc05facf8014510612e159284a7a4309ec
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 11 18:15:22 2009 +0200

    player: removd mpd_send_seek()
    
    That feature is not supported by MPD, unfortunately.


commit 95ebe4e40cbe9cc290b8d3481129bfaaf3b960de
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 11 18:02:18 2009 +0200

    output: added "run" functions


commit a70fe6df16e3082100288989da13c98466b7be55
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 11 18:00:25 2009 +0200

    output: moved enable/disable output functions down
    
    Make it convention to have the object functions first, then the
    connection-related MPD commands.


commit 34b79fa42b37031d8cc6fa72c90767a4028b7e7b
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 11 17:31:50 2009 +0200

    playlist: added "run" functions


commit 4f1f1794e548e96082aceef4cb9b55cc5693b815
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 11 17:26:21 2009 +0200

    command: moved playlist functions to cplaylist.c

create mode 100644 src/cplaylist.c

commit d51044b71ce216661ef0c152dac687b7ecb1c79c
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 11 17:13:31 2009 +0200

    queue: added "run" functions


commit 3b2e004f9d59556931060cdda2206f77fad1852d
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 11 17:13:30 2009 +0200

    tag: added mpd_tag_name(), mpd_tag_name_parse()
    
    Make the mpd_tag_type_names array static.


commit 5f5c03c9af72ebefdecbaacb80cf06df174eaf1e
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:29:27 2009 +0200

    player: added "run" functions


commit 9877355a7c624215d9b464c214e9cb0d190cd5de
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:29:27 2009 +0200

    player: make integer arguments unsigned


commit db585850f4b9ac54b09dad0b967907daeffc498c
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:29:26 2009 +0200

    player: convert the mode flags to "bool"


commit bd2c4dde2f0e0dba4399234888e613c86a0a0c08
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:29:26 2009 +0200

    player: added function mpd_send_toggle_pause()
    
    The existing function mpd_send_pause() does not allow sending the
    "pause" command without arguments.


commit 20e4334478c87a325cad2ee3c684dc3c8b22eb11
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:29:26 2009 +0200

    player: added mpd_send_playpos(), mpd_seek_playpos()
    
    Added suffix "pos" to functions which take a "song_pos" argument.
    Added new functions without the suffix, to refer to the current song.
    We can now remove MPD_PLAY_AT_BEGINNING.


commit 12e99f5b44e1e560f17d67aee67f7cb131b24795
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:29:25 2009 +0200

    player: renamed "time" parameter
    
    Don't shadow the time() function.


commit 40c8107f6ae6565b8a7b1b03df4504f788d0fbcd
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:29:24 2009 +0200

    command: moved player functions to player.c

create mode 100644 include/mpd/player.h
create mode 100644 src/player.c

commit a1878e3053648161919b1ce84245faa72cf28e5c
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:27:52 2009 +0200

    renamed mpd_stored_playlist to mpd_playlist


commit 58742baac6221c335923eb0d6d9b308b566a464e
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:27:43 2009 +0200

    renamed stored_playlist.c to playlist.c

create mode 100644 include/mpd/playlist.h
delete mode 100644 include/mpd/stored_playlist.h
create mode 100644 src/playlist.c
delete mode 100644 src/stored_playlist.c

commit a8356842a6dcac81ea9b7a2a631776fcbcc2c4d5
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:27:33 2009 +0200

    renamed playlist.c to queue.c

delete mode 100644 include/mpd/playlist.h
create mode 100644 include/mpd/queue.h
delete mode 100644 src/playlist.c
create mode 100644 src/queue.c

commit a5004b2eef7f2a9388ccdac680900f13462de72a
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:26:54 2009 +0200

    command: moved mpd_send_enable_output() to coutput.c


commit 883f4154e9da2524bc5ed1636399c9fa5836dca0
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:26:53 2009 +0200

    database: added function mpd_run_update()


commit 744f5530dde14efb298eecd439bc7b72d11fe040
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:26:53 2009 +0200

    database: make mpd_recv_update_id() unsigned


commit a1452862db88e4bcdf1e6fe2fdc898ea8b23fefa
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:26:52 2009 +0200

    database: completed API documentation


commit 699c0c9822bead172c380d0437c74330119ee971
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:26:52 2009 +0200

    command: moved database functions to database.c

create mode 100644 include/mpd/database.h
create mode 100644 src/database.c

commit 615f36834aa18ed5dfa658d23215bb13f4f9653d
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:26:49 2009 +0200

    run: don't include <mpd/run.h>
    
    That header was removed earlier today.


commit f82f2da1b597026e471d414d31ff9ebd807a5659
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 22:26:48 2009 +0200

    Makefile.am: install password.h, playlist.h


commit 2dd4b7ca97b57afb890f53eff65d589241f903a1
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:43:31 2009 +0200

    password: added mpd_run_password()


commit acaa96a1ea54d2f12380d9fadc667e34559ddeff
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:42:59 2009 +0200

    command: moved mpd_send_password() to password.c

create mode 100644 include/mpd/password.h
create mode 100644 src/password.c

commit 07ab8f44dda9490c2eb59aeaa429df354d21bb4b
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:42:44 2009 +0200

    playlist: change "return false" to "return -1"
    
    -1 is the correct return value in case of error.


commit 2df466462e4e14b7aef7f959158d524b819a8a54
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:42:01 2009 +0200

    command: moved functions to playlist.c

create mode 100644 include/mpd/playlist.h
delete mode 100644 include/mpd/run.h
create mode 100644 src/playlist.c

commit 627201bd36d3088a622f9465d063f3273952e78c
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:39:26 2009 +0200

    internal.h: moved mpd_run_check() prototype to run.h

create mode 100644 src/run.h

commit 75ec0cf35a8057325310bc599673a2d4af65944c
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:36:39 2009 +0200

    command: moved send utility functions to send.c/isend.h

create mode 100644 src/isend.h

commit 3b54517faf1a415370120f43e05719c69c8e472a
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:26:31 2009 +0200

    Makefile.am: distribute iasync.h
    
    It was missing in $(src_libmpdclient_la_SOURCES).


commit 4ba67b77b80c6b273296cf72718c58a133bd885a
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 07:06:22 2009 +0200

    cstatus: don't call mpd_response_finish()
    
    The mpd_recv_status() function already finishes the response.  No need
    to call mpd_response_finish() again.


commit 86fc2db2d659aec72afd7320c5caf50620a26d75
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:05:53 2009 +0200

    mpd/send.h: don't include stddef.h


commit 983222f1a4c6ef87568d3213c0f8c91858a056ff
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:05:53 2009 +0200

    output: moved connection specific code to coutput.c
    
    Make output.c without internal.h.

create mode 100644 src/coutput.c

commit aceaa484a6b99cc2c9170cc2972303cc35247856
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:05:52 2009 +0200

    output: added mpd_output_begin(), mpd_output_feed()
    
    Expose the mpd_output parser.


commit 8d851d09280202ec39938f5c9ed8ae2da20f7465
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 09:05:52 2009 +0200

    output: allow mpd_output.name==NULL


commit 77f8db99c09cc62aa6d19e9891ea01e83e2d598f
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 08:40:39 2009 +0200

    status: moved mpd_send_status() and mpd_run_status() to cstatus.c


commit 5d21b598cc38c2994faa39c482caec6e12cc04be
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 08:40:38 2009 +0200

    run: export run_check() in internal.h


commit fd3ee4406a5a456e9ecc21adc7f06dcbd97340a8
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 08:40:37 2009 +0200

    status: moved connection specific code to cstatus.c
    
    Make status.c without internal.h.

create mode 100644 src/cstatus.c

commit 3c0d9004bcc62cc6e80dac227f197bc100ffcf1a
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 08:38:37 2009 +0200

    stats: moved connection specific code to cstats.c
    
    Make stats.c without internal.h.

create mode 100644 src/cstats.c

commit 9ab4ef992d61297df70e84a6675a1e8b2c5087c0
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 08:25:46 2009 +0200

    stats: added mpd_stats_new(), mpd_stats_feed()
    
    Expose the mpd_stats parser.


commit c306ad25002b5250b17b3571ed054616d8c7d645
Author: Max Kellermann <max@duempel.org>
Date:   Thu Sep 10 07:58:51 2009 +0200

    connection: new documentation for error handling


commit 03fba1665f052d3c7e46904e49e549a12dbd60ee
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 9 19:40:58 2009 +0200

    recv: check connection->async's error
    
    If an error has occured, copy it to the connection's error object.


commit 7ba7b31c22f945ded379350da320bf0e0b3b718c
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 9 19:40:29 2009 +0200

    async: added internal function mpd_async_copy_error()

create mode 100644 src/iasync.h

commit 6d9ae0d26af1d4becd09eb8f24e210f1d8ed1653
Author: Max Kellermann <max@duempel.org>
Date:   Wed Sep 9 18:41:05 2009 +0200

    ierror: added function mpd_error_copy()


commit ffcf2bebd93c890f7709e5f16c10e8d9ef4ae01a
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 4 23:11:17 2009 +0200

    recv: added mpd_value_free()
    
    On some OS, it is not possible to use the caller's C library to free
    the mpd_recv_value_named() value.  To be safe, add a free() wrapper.


commit d3c8bd9b5479b8dcb05022c81940878645364837
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 4 23:06:17 2009 +0200

    idle: added function mpd_idle_parse_pair()


commit 41ccd083689306650e769ffa4f498932977f02c0
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 4 22:55:05 2009 +0200

    stats, search: added missing out-of-memory checks


commit 0f484721e2ffa11af734e8c717ec418761033477
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 4 22:49:13 2009 +0200

    removed redundant error checks before mpd_recv_pair()
    
    mpd_recv_pair() checks the error state of the connection.  Its caller
    does not need to do this check again.


commit f3cd6fe169ce3b0bfdd85d07331e909dbf31b3bf
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 4 22:44:39 2009 +0200

    added doxygen markup for struct names


commit a4be8a18e694ad847ab1cfc3a18a01239828cf1b
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 4 22:40:04 2009 +0200

    added doxygen.conf

create mode 100644 doc/doxygen.conf.in

commit 37c51b0c1374df6cf48f32a5a4ec1d5138ea9209
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 4 22:10:54 2009 +0200

    command: moved mpd_send_outputs() to output.h


commit 38911498671fb465b753b9cc9ae69b87bd89b1e1
Author: Max Kellermann <max@duempel.org>
Date:   Fri Sep 4 22:05:41 2009 +0200

    output: renamed mpd_output_get_next() to mpd_recv_output()


commit 912509aac25838d4ba568c93c86cfc25812a70dd
Author: Max Kellermann <max@duempel.org>
Date:   Thu Aug 27 10:54:14 2009 +0200

    output: make struct mpd_output opaque


commit 29d139bb784db092f46fe4a0780378497718bc44
Author: Max Kellermann <max@duempel.org>
Date:   Thu Aug 27 10:53:20 2009 +0200

    output: added getter functions


commit f862fbc7e2b78534a22a34bd9d7b6212708f9b6b
Author: Max Kellermann <max@duempel.org>
Date:   Thu Aug 27 10:34:14 2009 +0200

    run: added mpd_run_status()


commit bac803499c366a3b6e29720ca3bcc46c174fcd79
Author: Max Kellermann <max@duempel.org>
Date:   Thu Aug 27 10:23:37 2009 +0200

    status: added doxygen tags to mpd_status_free()


commit 3616a2f4dfe8b71e1ca2e278d0f588b79565739a
Author: Max Kellermann <max@duempel.org>
Date:   Thu Aug 27 10:22:59 2009 +0200

    status: renamed mpd_get_status() to mpd_recv_status()
    
    Added doxygen tags.


commit fb8982ff1b77c5434f901cdb1fc77680ffd7250c
Author: Max Kellermann <max@duempel.org>
Date:   Thu Aug 27 10:13:45 2009 +0200

    status: added mpd_status_feed()
    
    Expose the mpd_status parser.


commit 6193a91c08042491a89f336d62a829cd8a6fb188
Author: Max Kellermann <max@duempel.org>
Date:   Thu Aug 27 10:09:28 2009 +0200

    status: added mpd_status_new()


commit f057e2d6e4afc3f973711d5d9fa50b806a369ced
Author: Max Kellermann <max@duempel.org>
Date:   Thu Aug 27 09:54:25 2009 +0200

    stored_playlist: added mpd_stored_playlist_set_last_modified() implementation


commit 95f29a86de834092e2009a1a8862037685aa4160
Author: Max Kellermann <max@duempel.org>
Date:   Thu Aug 27 09:49:18 2009 +0200

    stored_playlist: added mpd_stored_playlist_feed()
    
    Expose the mpd_stored_playlist parser, and use it in
    mpd_entity_feed().


commit aad287319c7ba3ce933195149ebbd319d253343b
Author: Max Kellermann <max@duempel.org>
Date:   Thu Aug 27 09:27:23 2009 +0200

    directory: added mpd_directory_feed()
    
    Expose the mpd_directory parser, and use it in mpd_entity_feed().


commit e7c2c7ac9b9a58264f2542a2d2d20b21518dd900
Author: Max Kellermann <max@duempel.org>
Date:   Tue Aug 25 00:42:23 2009 +0200

    output: added two missing mpd_return_pair() calls
    
    1.) the first pair ("outputid") was never returned.
    
    2.) when there is no output name, the last pair was never returned.
    
    This patch also adds an assertion on pair==NULL in the error path.
    An error should only be set when mpd_recv_pair() has returned NULL.


commit e849d38dcbe47e86414daf77519a8366ed757504
Author: Max Kellermann <max@duempel.org>
Date:   Tue Aug 25 00:42:10 2009 +0200

    song, stored_playlist: implement the Last-Modified attribute
    
    MPD 0.16 sends the modification times of songs and stored playlists to
    the client.


commit d0db730ffbf2d6bf4fc21352156ecf5a0591a4c0
Author: Max Kellermann <max@duempel.org>
Date:   Tue Aug 25 00:41:52 2009 +0200

    iso8601: new library for parsing ISO8601 time stamps

create mode 100644 src/iso8601.c
create mode 100644 src/iso8601.h

commit 6543490df9c84ad72bb99e7145ba35cf99a540c4
Author: Max Kellermann <max@duempel.org>
Date:   Wed Aug 19 23:18:29 2009 +0200

    song: added mpd_recv_song()
    
    Changed mpd_recv_entity() to mpd_recv_song() after "currentsong".
    mpd_recv_song() allows users of libmpdclient to simplify their code.


commit 0921c9b3c21a07ca4e0952d174cd4d91438e9a84
Author: Max Kellermann <max@duempel.org>
Date:   Wed Aug 19 23:02:36 2009 +0200

    song: added mpd_song_feed()
    
    Expose the mpd_song parser, and use it in mpd_entity_feed().


commit d13438c4627683c6862c068bbf4265892baa7dee
Author: Max Kellermann <max@duempel.org>
Date:   Wed Aug 19 22:24:47 2009 +0200

    entity: make struct mpd_entity opaque


commit b89671109b22b39255e45287cefff9bcaddfcc22
Author: Max Kellermann <max@duempel.org>
Date:   Wed Aug 19 22:24:46 2009 +0200

    entity: added "get" functions
    
    Prepare to make mpd_entity opaque.


commit 9158636bd3bc116bd00e145c61079d470a7970bc
Author: Max Kellermann <max@duempel.org>
Date:   Wed Aug 19 22:22:46 2009 +0200

    example, test: converted if/else chain to switch/case


commit 9eca7d862cd344d96eff07507b827a67edde1332
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 23:31:52 2009 +0200

    entity: export mpd_pair based entity parser
    
    Allow the caller to provide mpd_pair objects it has obtained from
    parser.h to build an mpd_entity.


commit 53a47dfcc21e11ad99d6634103c90517d2feecf1
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 23:29:50 2009 +0200

    entity: moved code to mpd_entity_feed_first()


commit 90ae4aca5ee867b582041492864ab6b1f9b810b0
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 23:29:13 2009 +0200

    entity: merged 4 entity allocations
    
    Merged 4 identical allocations of a mpd_entity object into one.


commit 87211462ced825e5d33a10cb105d808f7201a832
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 23:28:50 2009 +0200

    entity: added MPD_ENTITY_TYPE_UNKNOWN
    
    Use MPD_ENTITY_TYPE_UNKNOWN instead of MPD_ERROR_MALFORMED.


commit 1454da306d5489db465b14a08f7221a9724fd399
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 23:00:50 2009 +0200

    entity: renamed mpd_get_next_entity() to mpd_recv_entity()


commit 0e05deb5352693af448d9a2c85bed34ab419cbe8
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:40:25 2009 +0200

    updated copyright year to 2003-2009


commit da410d6c692e26a70145b98ae243889afc675f2a
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:39:04 2009 +0200

    entity: don't include str_pool.h
    
    It's not used anymore here.


commit e8b751e59a60ea6424576925a14bc4786dcd6b47
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:39:03 2009 +0200

    stored_playlist: converted comments to doxygen tags


commit 6f7d22641bd7f0061adaa57823966b1eebfe918e
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:34:54 2009 +0200

    stored_playlist: don't use the string pool
    
    Playlists are better off without the string pool, since the chance
    that strings will be merged is quite low.


commit d526340aff8203e354b8c3a9b855100f8335a634
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:34:49 2009 +0200

    stored_playlist: make struct mpd_stored_playlist opaque


commit 6f78713a528913a9ef1255562f9e6174710bfd99
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:33:08 2009 +0200

    stored_playlist: pass path to mpd_stored_playlist_new()


commit 8fb8df3d29633213e7e7769592b20d0159c35a72
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:30:59 2009 +0200

    stored_playlist: added mpd_stored_playlist_get_path()


commit 0594acdc49cd0979cf9c9a486255babab968bd83
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:30:56 2009 +0200

    song: converted comments to doxygen tags


commit e3fc7e23f23b032a84109aeb9e3e41812cf5424b
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:30:43 2009 +0200

    directory: don't use the string pool
    
    Directories are better off without the string pool, since the chance
    that strings will be merged is quite low.


commit dcb0bdc456250eb3706646a3f17f49f8511f55d8
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:23:54 2009 +0200

    directory: replaced "full path" in API docs


commit 8817befda2f1284d59b17e25ced9468fd2ab3e6a
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:17:31 2009 +0200

    directory: removed typo from API documentation


commit 142444e1b602635a14d3b974f9a8e26ec2e75849
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:17:27 2009 +0200

    directory: assert that path!=NULL in mpd_directory_free()


commit f8d758374e5c9857b3d94b3caf427b8a1254bbf1
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:08:15 2009 +0200

    directory: make struct mpd_directory opaque


commit d1d4c0008d59b689e59cd3923b5dd322628ee83d
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 22:05:22 2009 +0200

    directory: pass path to mpd_directory_new()


commit 943fcced7a5c955745032ac5fa4c491c9dbbaf1d
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 21:59:06 2009 +0200

    directory: added mpd_directory_get_path()
    
    Provide functions for accessing mpd_directory's attributes.


commit e703ebd66895d8643edae30e4c438a03bc3e573e
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 21:47:36 2009 +0200

    list: assert that mpd_send_command() sets the 'receiving' flag
    
    Changed the 'receiving' flag assignment to an assertion.


commit 1b1a288c0ffcaa7fac19b33c50af4dfb789d9e59
Author: Max Kellermann <max@duempel.org>
Date:   Sat Aug 15 21:46:05 2009 +0200

    list: reset sending_command_list before "command_list_end"
    
    If sending_command_list is still true while command_list_end is sent,
    then mpd_send_command() might increase the listOks attribute, which
    is an off-by-one error.


commit fb4b3c66ff58879bb2343d6d98d53265b5603795
Author: Max Kellermann <max@duempel.org>
Date:   Fri Aug 14 22:48:05 2009 +0200

    pair: don't use str_pool, make name and value const
    
    Optimization: assign the original pointers from parser.c to the
    mpd_pair attributes.  They point to the input buffer.  Since we
    have only one mpd_pair at a time, this is safe.
    
    The pair.c callers must now care for pooling the strings.


commit fcdd0b0cd369d860632cb7ab08d3f8e0f606b67c
Author: Max Kellermann <max@duempel.org>
Date:   Fri Aug 14 22:48:02 2009 +0200

    pair: removed mpd_pair_new(), mpd_pair_free()

delete mode 100644 src/pair.c

commit 53e744fef8aa0dde74ee62b2eb594733d3f03103
Author: Max Kellermann <max@duempel.org>
Date:   Fri Aug 14 22:47:59 2009 +0200

    recv: return a statically allocated mpd_pair object
    
    There can only be one mpd_pair object per connection.  Let's include
    it in the mpd_connection struct statically, which saves us lot of heap
    allocations.


commit 1c7b5be1b5ce81394934b214da17bdffa0c1d72e
Author: Max Kellermann <max@duempel.org>
Date:   Fri Aug 14 22:47:57 2009 +0200

    recv: added mpd_return_pair()
    
    Instead of calling mpd_pair_free(), callers should use
    mpd_return_pair().  This allows recv.c to check for memory leaks.


commit c2741130278d470900c028e537273c92a638bee4
Author: Max Kellermann <max@duempel.org>
Date:   Fri Aug 14 22:47:53 2009 +0200

    connection: removed duplicate recv.h declarations
    
    When we created recv.h, we must have forgot to delete the declarations
    from the old location.


commit d3e342d40cf13178bebaf3511fdaa59f935ac4e6
Author: Max Kellermann <max@duempel.org>
Date:   Fri Aug 14 22:47:51 2009 +0200

    parser: more API documentation


commit eb34563c98158f4751a16221d811fef7f9062b0c
Author: Max Kellermann <max@duempel.org>
Date:   Fri Aug 14 22:47:49 2009 +0200

    parser: fixed function name in API docs


commit dcec1b8afa04a6c13f7e8ccc7698aee07e34f467
Author: Max Kellermann <max@duempel.org>
Date:   Fri Aug 14 22:47:47 2009 +0200

    list: don't reset sending_command_list flag yet
  ...