chiark / gitweb /
We no longer ship detailed changelogs in the source tarball. People
authorRichard Kettlewell <rjk@greenend.org.uk>
Thu, 10 Jan 2008 10:49:59 +0000 (10:49 +0000)
committerRichard Kettlewell <rjk@greenend.org.uk>
Thu, 10 Jan 2008 10:49:59 +0000 (10:49 +0000)
who want them are better off looking at bzr, arch or cvs history.

This also removes potential build-time dependencies on bzr.

CHANGES
ChangeLog.d/cvs--ChangeLog [deleted file]
ChangeLog.d/disorder--mainline--0.1 [deleted file]
Makefile.am
scripts/check [deleted file]
scripts/copyright.exceptions [deleted file]
scripts/dist

diff --git a/CHANGES b/CHANGES
index c87e7133e2285be20d544806ed927c6733ff14ba..6b80fd34c92496d6a9377f3a90845439ca7b0a5d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,3 @@
-See ChangeLog.d/* for detailed revision history.
-
 * Changes up to version 2.1
 
 ** Server
diff --git a/ChangeLog.d/cvs--ChangeLog b/ChangeLog.d/cvs--ChangeLog
deleted file mode 100644 (file)
index 050c274..0000000
+++ /dev/null
@@ -1,881 +0,0 @@
-2004-10-04 00:59:42 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * dcgi.c: proper track ordering in search.
-        
-        * regsub.c, tracks.c: chattier error messages
-        
-        * utf8.h: stricter UTF-8 parsing
-        
-2004-09-26 10:47:45 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Makefile.am, plugins/Makefile.am: tidy up to build in separate
-          object directory
-        
-2004-09-25 17:47:23 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * version 0.11
-        
-2004-09-25 17:41:21 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * BUGS: some known bugs
-        
-2004-09-25 17:25:49 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tracks.c: chattier errors
-        
-2004-09-25 17:17:25 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * api-client.c, cgi.c, cgimain.c, disorder.c, server.c: EXIT_FAILURE
-          pedantry
-        
-2004-09-18 17:28:32 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * client.c: rework handling of commands that get lists back,
-          unbreaking 'stats' in the process.
-        
-2004-09-18 16:54:58 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tracks.c: add a lockfile to prevent concurrent access to databases.
-        
-2004-07-31 19:05:38 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * debian/postinst, prerm: hopefuly better upgrade handling
-        
-2004-07-31 18:44:52 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * queue.c: don't reverse the queue on restart
-        
-        * Document queue/recent ordering a bit better.
-        
-2004-07-20 20:22:09 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tkdisorder: primitive queue widget, simplify MonitorStateThread
-        
-2004-07-20 19:42:52 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tkdisorder: python + tkinter gui, still under development
-        
-2004-07-18 14:21:12 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Extra navigation links in 'Choose' screen allow easier navigation
-          back up the directory tree.  It's not quite right yet because
-          track names are relative to the filesystem root rather than the root
-          of their collection.
-        
-          New @navigate@, @fullname@, @dirname@, @basename@, @ne@ and @eq@
-          expansions.
-        
-2004-07-18 13:22:53 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * use new label sidebar.choosewhich to determine which 'Choose' screen
-          to pick, rather than making operator edit sidebar.html
-        
-        * mention config.USERNAME in README
-        
-2004-07-18 13:05:45 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * debian/control: more detailed build deps
-        
-2004-07-18 13:03:56 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * README: dependency version notes
-        
-2004-07-18 12:57:55 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * cope with gcrypt version skew
-        
-2004-07-18 02:46:07 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Control connections can go over the net (using anything that
-          getaddrinfo() knows about) using the new 'listen' and 'connect'
-          options.
-        
-2004-07-17 19:01:25 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Increase/decrease volume buttons
-        
-2004-07-17 16:35:18 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * templates/help.html: document 'Manage'
-        
-        * templates/playing.html: extra empty buttons
-        
-2004-07-17 16:24:12 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Any track that had a filesystem encoding that differed from itself
-          when converted to UTF-8 track (that is to say, any non-ASCII track in
-          a non-UTF-8 filesystem) would not be played, as only the UTF-8
-          version of the name was passed to the player.
-        
-        * The disorder_play_track plugin interface now takes both the path and
-          the track name (the former being the raw bytes from the filesystem,
-          the latter being the UTF-8 version).
-        
-        * Document that scratch names must be UTF-8 (or ASCII).
-        
-2004-07-17 16:11:21 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * 'move' command in control protocol to move tracks around
-        
-        * New 'Manage' page allows tracks to be moved around in the queue.
-        
-2004-07-17 14:56:04 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.c: teach 'disorder play' to take multile tracks.  Hence for
-          instance you could do:
-            disorder play /path/to/some/album/*.ogg
-        
-2004-07-17 14:45:55 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * templates/help.html: mention choosealpha
-        
-2004-07-17 14:37:18 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Use regexp-filtered file listings to implement choosealpha.html,
-          which split the top-level 'Choose' page up according to the initial
-          letter of the filenames.
-        
-2004-07-17 14:19:33 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * files and directory listings can now be filtered using regexps (you
-          could do this in your client anyway but now the server does it for
-          you, thus causing less data to be transferred from server to
-          client).
-        
-        * correct disorder.py's quoting of empty strings
-        
-2004-07-17 13:07:51 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.py.in: correct exception-to-string functions
-        
-2004-07-17 13:05:06 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.py.in: add another example
-        
-2004-07-17 12:57:57 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.py.in: better docs and error handling
-        
-2004-07-17 01:06:59 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.py.in: add a full set of methods
-        
-2004-07-17 01:06:31 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * plugins/tracklength.c: quieten compiler
-        
-2004-07-16 22:31:31 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * rudimentary Python client support
-        
-2004-07-15 00:55:08 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * configuration.c: stricter syntax check for 'url'
-        
-2004-07-15 00:41:22 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder_config.5.in: clarify 'url' syntax
-        
-        * templates/help.html: link to DisOrder control protocol page
-        
-2004-07-14 19:46:38 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * config.sample.in, debian/disorder.config: play WAV files correctly
-        
-        * debian/control: depend on sox
-        
-        * scratches are now *.ogg files
-        
-2004-07-11 19:45:24 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * plugins/tracklength.c: build fix
-        
-2004-07-11 19:39:40 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * add notify_queue to notify plugin
-        
-2004-07-11 19:01:26 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tracks.c: always sync log after replay, so that upgrade works
-        
-2004-07-11 18:54:33 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * new prefs.log file records all preferences in ASCII and guarantess
-          to be up to date.  So provided you back up this file the rest of the
-          databases can be lost completely.
-        
-        * document the use and properties of the various database files
-        
-        * new prefsync configuration command controls interval between
-          minimization of prefs.log.
-        
-        * event.c, event.h: timeouts get an associated handle which can be
-          used to cancel them.
-        
-        * don't remove the search database at the drop of a hat as that would
-          require it to be rebuilt more frequently than is sensible.
-        
-2004-07-11 18:38:52 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.c: missing 'break', oops!
-        
-2004-07-10 19:43:42 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * plugins/tracklength.c: binary search over extensions
-                                 round up WAV duration
-        
-2004-07-10 19:22:50 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * plugins/tracklength.c: tracklength plugin now knows about WAV files
-                                 remember to unmap files after parsing them!
-        
-        * sounds/slap.wav: correct broken encoding (was two WAVs concatenated,
-          is now a single WAV; it worked with 'cat > /dev/audio' but doesn't
-          work with things that expect a single correctly formatted WAV file.)
-        
-2004-07-10 18:11:26 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * 'disorder --length' allows command-line access to tracklength plugin
-        
-2004-07-10 14:47:41 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * server.c: use libgcrypt for random numbers
-        
-        * configure.ac: don't need dev/[u]random any more
-        
-2004-07-10 13:33:16 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * add log command to stream logs to clients
-        
-        * disorder_protocol.5.in: new man page documenting internal
-          communications protocol
-        
-2004-07-10 11:51:54 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * use URL-encoding in dumps because it's more convenient to duck
-          encoding issues that way.  It also looks more consistent with the
-          use of URL-encoding elsewhere in DisOrder.
-        
-        * change logging interface so that messages are formatted only once.
-        
-2004-07-10 11:40:13 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * printf.c: correct number bases!
-        
-2004-07-10 00:00:33 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * send back our URL in Refresh HTTP header to work around weird Apache
-          behaviour
-        
-        * log to (in theory) multiple outputs
-        
-        * '#define NO_MEMORY_ALLOCATION' allows us to enforce rules about
-          files that shouldn't perform memory allocation
-        
-        * split *printf frontends into separate files since some need memory
-          allocation and some do not
-        
-2004-06-12 11:37:37 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Use a sink to handle writing to an ev_writer
-        
-        * disorder-dump --dump now works against a running server, so it is
-          not necessary to take the server down to back up the preference
-          data.
-        
-        * printf.c: correct handling of flags (which were completely broken)
-        
-2004-05-24 15:56:30 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * new help page, plus HTML-ized versions of man pages
-        
-        * de-dupe code in Makefile
-        
-        * template names can't have / in and can't be dot-files
-          (previously they weren't allowed . in)
-        
-        * @ is &#64; not &#40;
-        
-2004-05-24 14:00:38 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * templates/playing.html: put track title in <TITLE> element
-        
-2004-05-24 13:58:29 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * dcgi.c: remove dead code
-        
-2004-05-23 19:29:16 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Makefile.am: distribute missing files
-        
-        * dcgi.c: quiten compiler
-        
-        * printf.c: missing base and padding settings
-        
-2004-05-23 19:08:40 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.3: update for disorder_snprintf
-        
-2004-05-23 19:01:31 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * New *printf implementation, which is guaranteed to behave reliable
-          in the face of strange encoding games (standard *printf insist on
-          MBC strings in the current encoding, which isn't great for us).
-          We don't support floating point yet.
-        
-        * Log output is always ASCII (non-ASCII characters are escaped) so we
-          don't have to rely on the encoding of stderr or syslog.
-        
-        * No longer depend on the target providing a working snprintf.
-        
-        * Corrected a few broken *printf calls
-        
-2004-05-22 16:55:02 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * reach preferences edit from 'Recent'
-        
-2004-05-22 16:30:56 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * @search@ converted to new template infrastructure
-        
-2004-05-21 21:55:55 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * optionally restrict scratch and/or remove to submitting user
-        
-        * export 'become' command to command-line client
-        
-        * determine username from UID, not environment
-        
-2004-05-21 21:13:30 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder_config.5.in: minor improvements
-        
-2004-05-21 21:00:05 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder_config.5.in: rearrange into alpha order
-        
-2004-05-18 23:14:11 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.c: add {enable,disable}-random as synonyms for
-          random-{enable,disable}
-        
-2004-05-18 20:18:02 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * dcgi.c: prevent rapid web refresh is all playing is disabled
-
-2004-05-18 00:30:28 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * support libdb 4.2 as well as 3.2.  Versions inbetween might well work
-          but this hasn't been tested.
-        
-2004-05-16 23:43:34 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-        
-        * debian/control: list build depends
-        
-2004-05-16 23:34:40 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * #include <db.h> when checking libdb, to cope with variants that
-          redefine all the symbols.
-        
-2004-05-16 23:28:55 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * new disorder-dump program to read/write prefs in text format
-          (e.g. for backup, database upgrade, replication)
-
-2004-05-16 10:37:10 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Makefile.am: clean generated files
-        
-        * debian/autorules.m4: fix clean target
-        
-        * debian/rules.m4: man pages in /usr/share/man
-        
-2004-04-26 23:28:18 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * eliminate dependency on <inttypes.h>
-        
-2004-04-26 20:59:20 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * convert UTF-8 -> UCS-4 directly, rather than relying on iconv (which
-          doesn't always know how to do it).
-        
-2004-04-26 20:47:12 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Do not expand dcgi-generated txet in expansion argument values (as
-          it'll get expanded properly later on anyway).
-        
-        * Add @urlquote@ expansion.
-        
-2004-04-25 20:47:26 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * arg:directory, not arg:dir
-          Include containing directory name in choose.html
-        
-2004-04-25 20:11:49 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder_config.5.in: minor docs improvements.
-        
-2004-04-25 19:53:19 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * unify transform- web options, and make them available via the
-          @transform@ expansion.
-        
-2004-04-25 19:52:13 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tracks.c: setting a trackname_ pref would cause a crash.
-        
-2004-04-25 18:51:56 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Bring documentation up to date a bit.
-        
-2004-04-25 18:29:49  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * @choose@ converted to new template infrastructure.
-        
-2004-04-25 17:14:56  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * @prefs@ now takes a template argument, shifting the preferences
-          table furniture into the template file.
-        
-2004-04-25 15:44:38  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Portability hacks of various degrees of nastiness in the interest of
-          building on FreeBSD.
-        
-2004-04-18 19:00:52  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder_config.5.in: add some missing bits.
-        
-2004-04-18 18:05:17  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * @playing@ and @recent@ now take a template argument, allowing the
-          template file to contain the table furniture rather than having it
-          generated from inside dcgi.  Templates updated accordingly.
-          Documentation updated.
-        
-        * Moved the calculation of expected start times into the server.
-        
-2004-04-18 13:45:19  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * dcgi.c: booleans for the expansion language
-        
-2004-04-18 13:13:46  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Expansions can now take multiple parameters using a new quoting
-          syntax.  Parameters are (for all current expansions, but not for
-          some future one) recursively expanded before use.
-        
-        * sink.c: interface for things that accept output (current
-          implementations being stdio and dynstrs)
-        
-        * vacopy.h: find a va_copy somewhere.
-        
-2004-04-17 16:48:00  Richard Kettlewell  <rjk@greenend.org.uk>
-
-       * version 0.10
-
-2004-04-17 16:25:59  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Typo fixes.
-        
-2004-04-17 16:03:45  Richard Kettlewell  <rjk@greenend.org.uk>
-        
-        * README: recommend basic authentication instead of digest auth, as
-          the latter seems too poorly supported.
-        
-        * configure.ac: don't check for things that are very standard
-        
-        * debian/control: add Section and Priority fields
-        
-2004-04-04 17:45:34  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Build GNU getopt for systems where libc doesn't have it
-        
-2004-04-04 15:11:49  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * configure.ac: check that various things are available and work at
-          configure time, rather than build or (worse still!) run time.  More
-          library checks.
-        
-        * charset.c: <wchar.h> no longer needed
-        
-2004-04-04 12:06:16  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * server.c: attempt to play tracks when they are added to the queue.
-          Otherwise they wouldn't be played at all nothing was already
-          playing.
-        
-2004-04-03 13:39:30  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Use libiconv if libc doesn't have iconv
-        
-2004-04-03 12:42:05  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * configure.ac: check for both libdb and libdb3
-                        report all missing libs at once
-        
-2004-04-02 23:42:13  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Only use __attribute__ syntax under GNU C.
-        
-2004-04-02 23:16:41  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * configure.ac: use whatever libdb the system defaults to.
-        
-2004-04-02 23:06:50  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.c: add a --help-commands option giving a one-line summary
-          of each command.
-        
-        * Updated documentation a bit.
-        
-2004-04-02 20:20:47  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Ship another scratch sound.
-        
-2004-04-02 20:10:10  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Debianization fixes:
-          + distribute postrm
-          + call Libtool correctly
-          + fix shared library dependencies
-        
-        * Quieten compiler when optimization turned on.
-        
-2004-04-02 19:27:59  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Tidy up appearance of preferences screen
-        
-2004-03-28 20:01:40  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Track prefs editor in web interface.  Rather rough-edged for now.
-        
-2004-03-28 17:41:43  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * dcgi.c: add @shell@ expansion
-        
-2004-03-28 15:02:02  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * dcgi.c: handle empty search result lists correctly.
-        
-2004-03-28 14:38:01  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * split.c: quote empty strings properly
-        
-2004-03-28 14:35:39  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * README.streams: how to play streams with DisOrder
-        
-2004-03-28 14:10:51  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * play.c: unpick wait status of failed players
-        
-2004-03-28 14:07:49  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * play.c: put players in their own process group and send SIGKILL
-          rather than SIGTERM (the latter because ogg123 doesn't seem to honor
-          SIGTERM when playing streams).
-        
-2004-03-28 13:57:12  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Handle directories that contain both files and directories better
-          + dcgi.c: headings for directory/track lists
-                    correct output for choose.playall label
-          + server.c: support file listing in the root
-          + Associated label and style sheet additions
-        
-2004-03-28 12:35:20  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * New 'shell' player plugin executes a shell command with an environment
-          variable identifying the track.  Optionally, the user can control what
-          shell is used.
-        
-        * The sample config file knows how to play .wav files now.
-        
-        * Ship a default scratch sound.
-        
-2004-03-27 20:48:13  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Play tracks via a plugin.  'exec' plugin module provides previous
-          behaviour.
-        
-2004-03-27 20:28:57  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * log interesting events if a username is attached (see previous
-          change)
-        
-2004-03-27 19:30:44  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * server.c: don't log auth data any more - with the Refresh: HTTP
-          header causing disorder.cgi to run every few seconds you end up with
-          vast amounts of useless information.  It would be more sensible to
-          log actions instead.
-        
-2004-03-27 18:41:22  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Add a sidebar to the web interface, making everything available from
-          everywhere.  Tidy up the default stylesheet.
-        
-2004-03-27 18:19:40  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * dcgi.c: eliminate a spurious </div>
-        
-2004-03-27 17:17:16  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * When updating the track list, only process one track per select().
-          This makes the server much more responsive to clients during
-          rescans.
-        
-2004-03-27 16:20:30  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Don't need file extensions in stopword list by default any more.
-        
-2004-03-27 16:07:53  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Common code now lives in a shared library.
-          This library is not intended for other programs to link against,
-          so no ABI guarantees exist for it.
-        
-        * The disorder(3) API is now implemented by shim functions rather than
-          aliases.  These are always part of the executable that imports the
-          plugin, never the shared library.  Varargs functions are a bit messy
-          as you can't just write a forwarding function for them.
-        
-2004-03-27 14:22:22  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Volume control support.
-          + new 'mixer' and 'channel' configuration commands
-          + 'volume' server command
-          + disorder_set_volume and disorder_get_volume client functions
-          + get-volume and set-volume command-line client commands
-          + @volume:SPEAKER@ expansion to get current volumes
-          + 'volume' action to set volume
-          + volume.html template (a bit primitive still)
-        
-2004-03-26 19:15:09  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Bring back 'Play all' button in @choose@, and fix track selection
-        
-        * Scratch by ID, so that late scratches don't get the wrong track
-        
-2004-03-25 00:40:12  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tracks.c: report top 10 search words in server stats
-        
-2004-03-24 23:24:45  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * dcgi.c: de-dupe track/directory code in @choose@
-        
-2004-03-22 23:31:55  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * dcgi.c: fine-tune sort order.  Now we try the 'sort' transformation
-          or part context first - once case-folded, once raw; then we try the
-          'display' version, again case-folded then raw; and finally we use
-          the unprocessed track name as as tie-breaker.
-        
-          Repeated calls to casefold aren't very efficient, this should be
-          fixed.
-        
-        * templates/options.transform: correct transform-track replacement
-          string
-        
-2004-03-22 19:58:42  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Global and case-independent regexp replacement.
-        
-        * Strip out punctuation for sorting directories in @choose@.
-        
-2004-03-21 19:30:39  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tracks.c: remove search database in track_sync().  It'll be removed
-          when we re-open anyway, and there's no point occupying the disk
-          space longer than necessary.
-        
-          By the same token, we don't bother syncing it in track_sync().
-        
-2004-03-21 18:47:31  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Sort strings are now case-folded before comparison.
-        
-        * words.c: casefold now returns the original string if it was
-          malformed, rather than a null pointer.
-        
-2004-03-21 17:04:48  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.h: new function disorder_track_set_data allows plugins to
-          set preferences as well as query them.
-        
-        * disorder.3: document the above and add some general notes
-        
-        * plugins/notify.c: record time and count tracks are played at
-        
-        * plugins/pick.c: don't pick recently played tracks
-        
-2004-03-21 16:06:21  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tracks.c: server stats had the database types all wrong, leading to
-          a crash.  Fixed.
-        
-2004-03-21 15:14:12  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Separate sorting and display with new context arguments in
-          configuration and trackname_ preferences.
-        
-        * By default track numbers take part in sorting, but are not displayed
-        
-        * By default "The" is display unmodified but moved to the end for
-          sorting
-        
-2004-03-21 14:37:36  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Group search results according to 'columns search' configuration.
-        
-2004-03-21 14:25:35  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        cvs -Q up -j mergepoint-0-9-bugfixes-1 -j mergepoint-0-9-bugfixes-2
-        
-2004-03-21 14:21:34  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * templates/search.html: fix broken HTML.
-
-2004-03-20 21:11:30  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Include trackname_ preferences in searches, and rebuild search
-          database from scratch on startup (to completely eliminate any
-          contamination due to prior configuration).
-        
-2004-03-20 18:50:36  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * words.c: more characters are separators
-        
-2004-03-20 18:44:45  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Split preferences into a separate database, and automatically
-          convert the old one.
-
-2004-03-18 00:11:26  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tracks.c: correct scanning for directories, to correctly handle
-          cases where you have <path>/<prefix> and <path>/<prefix><suffix>.
-        
-2004-03-17 00:20:55  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * config.sample.in: prefer mpg321 to mpg123
-        
-2004-03-16 23:45:54  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Server statistics support:
-          o track_stats() reports stats from databases
-          o disorder_stats() reports stats in client
-          o stats command to command line interface
-          o @stats@ expansion in web interface
-        
-        * about.html: provides information about DisOrder
-        
-        * client.c: correct list parsing in client interface
-        
-        * disorder_config.5.in: add missing docs for @arg@ and @search@
-        
-2004-03-16 23:16:12  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Do all database writes synchronously and add some missing
-          transaction IDs.  In fact the missing transaction IDs probably
-          ameliorated problems caused by the asynchronous writes (which leave
-          the database actually unusable, rather than merely with bits
-          missing).
-
-2004-03-16 20:30:00  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Improved track search:
-          o Instead of encoding all track names into a single db item, we use
-            sorted duplicate data items.  libdb does all the work for us.
-          o Strip collection root and extensions from filenames
-          o Delete stopwords from search db at startup (in case new ones have
-            been added)
-          o Rename search db to search2.db so it doesn't conflict with the old
-            one
-          o Always update search db even if we've seen the track, so that
-            database format/name changes don't trash searching
-        
-        * Add a few missing transaction ID arguments.
-        
-2004-03-16 20:24:25  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * rescan.c: rescan would crash on shut down
-        
-2004-03-16 12:43:54  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * quieten compiler when optimization turned on
-        
-2004-03-16 12:12:40  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder_config.5.in: complete renaming of trackinfo.* to heading.*
-        
-2004-03-15 23:18:02  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * version 0.9
-        
-2004-03-15 19:56:50  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Define table columns with a new 'columns' web option, rather than by
-          relying on the ordering of trackinfo.* labels.  trackinfo.* labels
-          are thus only used as headings and are renamed accordingly.  The
-          button column is no longer magical.
-        
-        * Always search the config directory and data directory for templates
-          and web options (after any explicitly configured directories).
-        
-2004-03-15 19:17:02  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * make table classes more consistent
-        
-2004-03-15 18:13:39  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tracks.c: log closing databases.  Checkpoint database at shutdown.
-        
-2004-03-15 18:03:35  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * tracks.c: issue log messages from database checkpointing, since we
-          don't know how long they'll take.
-        
-2004-03-15 17:31:35  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * disorder.init.in: make 'stop' work even if server not running.
-        
-2004-03-15 14:37:59  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        Added debianization files.
-        
-2004-03-15 13:51:12  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * cgi.c: avoid UB if template path is empty
-        
-2004-03-14 16:33:12  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Makefile.am: correct dependencies on version script
-                       distribute version script
-        
-2004-03-14 16:30:56  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * eliminate zombie rescans.
-        
-2004-03-14 16:25:37  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * eliminate clash with glibc error().
-        
-2004-03-14 16:19:55  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * Use a version script to limit the exported symbols.  There's a glibc
-          naming clash with error() which should work around.  Also this
-          should be conditional on the linker actually supporting this
-          feature.
-        
-2004-03-14 15:37:56  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * configure.ac: correct wrong handling of <gc.h>
-        
-2004-03-14 15:04:44  Richard Kettlewell  <rjk@greenend.org.uk>
-
-        * DisOrder has been rewritten in C.
-        
-arch-tag:b64f2a539d1621207b46b5bd202244e9
diff --git a/ChangeLog.d/disorder--mainline--0.1 b/ChangeLog.d/disorder--mainline--0.1
deleted file mode 100644 (file)
index 2daf877..0000000
+++ /dev/null
@@ -1,6487 +0,0 @@
-# do not edit -- automatically generated by arch changelog
-# arch-tag: automatic-ChangeLog--rjk@greenend.org.uk--2004/disorder--mainline--0.1
-#
-
-2006-11-11 18:04:40 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-328
-
-    Summary:
-      Missing ship
-    Revision:
-      disorder--mainline--0.1--patch-328
-
-    * scripts/Makefile.am: Remember to ship oggrename.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 scripts/Makefile.am
-
-
-2006-11-11 13:13:27 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-327
-
-    Summary:
-      oggrename
-    Revision:
-      disorder--mainline--0.1--patch-327
-
-    * scripts/oggrename: Script to rename OGG files according to embedded
-      title information.
-
-    new files:
-     scripts/oggrename
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1
-
-
-2006-11-04 15:56:52 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-326
-
-    Summary:
-      disorderfm filename converter
-    Revision:
-      disorder--mainline--0.1--patch-326
-
-    * clients/disorderfm.c: New filename management tool.
-    * doc/disorderfm.1.in: Documentation.
-    * lib/charset.c: New entry points required for disorderfm.
-    * lib/eclient.c: Quieten compiler.
-    * clients/filename-bytes.c: Grotty utility for examining byte strings in
-      filenames.
-
-    new files:
-     clients/disorderfm.c clients/filename-bytes.c
-     doc/disorderfm.1.in
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     clients/Makefile.am doc/Makefile.am lib/charset.c
-     lib/charset.h lib/eclient.c
-
-
-2006-10-08 21:26:01 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-325
-
-    Summary:
-      Update CHANGES
-    Revision:
-      disorder--mainline--0.1--patch-325
-
-    * CHANGES: Update change description
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-
-
-2006-10-08 21:20:31 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-324
-
-    Summary:
-      Copyright dates.
-    Revision:
-      disorder--mainline--0.1--patch-324
-
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 server/trackname.c
-     templates/prefs.html
-
-
-2006-10-08 21:12:53 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-323
-
-    Summary:
-      Search by tag
-    Revision:
-      disorder--mainline--0.1--patch-323
-
-    * server/trackdb.c: Search for tags using tag: syntax.
-    
-    * templates/help.html: Mention tag: syntax.
-    * doc/disobedience.1.in: Mention tag: syntax.
-    * doc/disorder.1.in: Mention tag: syntax.
-    * doc/disorder_protocol.5.in: Mention tag: syntax.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disobedience.1.in
-     doc/disorder.1.in doc/disorder_protocol.5.in server/trackdb.c
-     templates/help.html
-
-
-2006-10-08 19:17:44 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-322
-
-    Summary:
-      Avoid needless redraws.
-    Revision:
-      disorder--mainline--0.1--patch-322
-
-    * disobedience/choose.c: Don't issue a redraw on an empty search result
-      if we were already displaying the right thing.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/choose.c
-
-
-2006-10-08 19:01:22 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-321
-
-    Summary:
-      Docs + window title.
-    Revision:
-      disorder--mainline--0.1--patch-321
-
-    * disobedience/disobedience.c: Correct window title.
-    * doc/disobedience.1.in: Document search box.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1
-     disobedience/disobedience.c doc/disobedience.1.in
-
-
-2006-10-08 18:56:29 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-320
-
-    Summary:
-      Better search responsiveness.
-    Revision:
-      disorder--mainline--0.1--patch-320
-
-    * disobedience/choose.c: More efficient initial construction of search
-      results tree.  The display of the tree is now the expensive bit (e.g
-      0.2s for 300 hits on my Athlon).  The old logic remains for expanding
-      individual items in the tree, but it does much less work in that
-      context and so isn't a performance problem.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/choose.c
-
-
-2006-10-08 18:35:13 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-319
-
-    Summary:
-      Cancel search button
-    Revision:
-      disorder--mainline--0.1--patch-319
-
-    * disobedience/choose.c: Add a cancel button to clear the current search.
-      You can do this by deleting all the text but having an obvious button
-      for it seems friendlier.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/choose.c
-
-
-2006-10-08 17:58:28 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-318
-
-    Summary:
-      Search cleanup
-    Revision:
-      disorder--mainline--0.1--patch-318
-
-    'search-parse' makes much more sense as it means we guarantee a uniform
-    interpretation of search strings across all clients.  So we make 'search'
-    do that.
-    
-    * server/server.c: 'search' takes on the meaning of 'search-parse' now.
-    * lib/eclient.c: Keep up with changed 'search' names.
-    * lib/client.c: Use new search interface.
-    * server/dcgi.c: Use new search interface.
-    * clients/disorder.c: Use new search interface.
-    
-    * doc/disorder_protocol.5.in: Document resolved search semantics
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 clients/disorder.c
-     disobedience/TODO doc/disorder_protocol.5.in lib/client.c
-     lib/client.h lib/eclient.c server/dcgi.c server/server.c
-
-
-2006-10-08 17:45:28 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-317
-
-    Summary:
-      Search in Disobedience
-    Revision:
-      disorder--mainline--0.1--patch-317
-
-    Lots of cleanup and documentation to do.
-    
-    * disobedience/choose.c: Track searching.  This is implemented as a text
-      entry in the choose window.  Whenever contains a valid search string
-      then the choose tree is replaced with the search results.
-    * disobedience/choose.c: Disable breakdown by initial letter.  The code
-      is still there and available via --choosealpha.
-    * disobedience/disobedience.c: Make report window available earlier.
-    * disobedience/disobedience.c: --choosealpha option to re-enable initial
-      letter breakup of choose tree.
-    
-    * server/server.c: search-parse parses search string instead of expecting
-      caller to do so.
-    
-    * lib/eclient.c: Implement search.
-    * lib/hash.c: Constness.
-    * lib/split.c: Cope with an absent error handler.
-    * server/trackdb.c: Directory-tree-order comparison moved to lib/trackname.c.
-    * lib/trackname.c: Export directory-tree-order comparison as compare_path().
-    
-    * doc/disorder_protocol.5.in: Document search-parse.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/choose.c
-     disobedience/disobedience.c disobedience/disobedience.h
-     disobedience/disobedience.rc doc/disobedience.1.in
-     doc/disorder_protocol.5.in lib/eclient.c lib/eclient.h
-     lib/hash.c lib/hash.h lib/split.c lib/trackname.c
-     lib/trackname.h server/server.c server/trackdb.c
-     server/trackname.c
-
-
-2006-09-17 14:53:57 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-316
-
-    Summary:
-      Support for obsolete GCC.
-    Revision:
-      disorder--mainline--0.1--patch-316
-
-    * configure.ac: Turn off -Werror for GCC 2.95.
-    
-    Not sure how worthwhile this is...
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 configure.ac
-     disobedience/TODO
-
-
-2006-09-17 10:24:35 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-315
-
-    Summary:
-      Fix popup menu behaviour.
-    Revision:
-      disorder--mainline--0.1--patch-315
-
-    * disobedience/queue.c: Pop up menu on button press, not release, giving
-      more traditional behaviour.
-    * disobedience/choose.c: Pop up menu on button press.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/choose.c
-     disobedience/queue.c
-
-
-2006-09-17 10:21:22 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-314
-
-    Summary:
-      Document Disobedience tag support.
-    Revision:
-      disorder--mainline--0.1--patch-314
-
-    * doc/disobedience.1.in: Document tag support.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disobedience.1.in
-
-
-2006-09-17 10:18:19 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-313
-
-    Summary:
-      Tags in Disobedience
-    Revision:
-      disorder--mainline--0.1--patch-313
-
-    * disobedience/properties.c: Edit tags.  Also fix boolean prefs to work
-      for prefs other than pick_at_random, not that there are any yet.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/properties.c
-
-
-2006-09-17 10:04:16 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-312
-
-    Summary:
-      Web editing for tags
-    Revision:
-      disorder--mainline--0.1--patch-312
-
-    * server/dcgi.c: Accept tags in a prefs response.
-    * templates/prefs.html: Edit tags in web prefs screen.
-    * templates/options.labels: Label for tags field.
-    * templates/help.html: Mention tags in html help.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 server/dcgi.c
-     templates/help.html templates/options.labels
-     templates/prefs.html
-
-
-2006-09-17 09:50:43 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-311
-
-    Summary:
-      Tags fiddling and documntation.
-    Revision:
-      disorder--mainline--0.1--patch-311
-
-    * server/trackdb.c: Tags are now separated by commas and can contain
-      spaces.
-    * doc/disorder.1.in: Mention tags in track preferences.
-    * doc/disorder_config.5.in; Mention tag list syntax.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder.1.in
-     doc/disorder_config.5.in server/trackdb.c
-
-
-2006-09-17 09:28:24 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-310
-
-    Summary:
-      Update copyright dates
-    Revision:
-      disorder--mainline--0.1--patch-310
-
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder.3
-     lib/client.h lib/disorder.h lib/plugin.c lib/plugin.h
-     plugins/Makefile.am server/play.h
-
-
-2006-09-17 09:22:24 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-309
-
-    Summary:
-      Fix missing events bugs (hooray)
-    Revision:
-      disorder--mainline--0.1--patch-309
-
-    * disobedience/queue.c: Only create drag target widgets when actually
-      dragging, as otherwise they sometimes(!) steal events from the widgets
-      they overlap.
-      The padding cell at the RHS of every row is now sensitive to input.
-      Add a comment describing widget hierarchy.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/queue.c
-
-
-2006-09-15 21:46:30 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-308
-
-    Summary:
-      Minor fixups
-    Revision:
-      disorder--mainline--0.1--patch-308
-
-    * server/play.c: Close the spare writing end of the player's log pipe -
-      it only needs to be visible as stdout/err.
-    
-    * disobedience/queue.c: Conditioned out diagnostic code for lost clicks.
-    
-    * scripts/completion.bash: Update completeions for current command set.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     disobedience/queue.c scripts/completion.bash server/play.c
-
-
-2006-05-14 16:49:56 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-307
-
-    Summary:
-      Heartbeat
-    Revision:
-      disorder--mainline--0.1--patch-307
-
-    * disobedience/disobedience.c: Add a (conditioned-out) heartbeat in
-      pursuit of unresponsiveness.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1
-     disobedience/disobedience.c
-
-
-2006-05-03 23:11:14 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-306
-
-    Summary:
-      Tags and global preferences.
-    Revision:
-      disorder--mainline--0.1--patch-306
-
-    Higher-level user interfaces have yet to be written and not much testing
-    has been done but the basics seem to be working.
-    
-    * server/trackdb.c: Tags.  Global preferences for recording long-term
-      server state.  This is relatively involved; although the logic for
-      maintaining tags is very simple, being similar to search, picking a
-      track at random when it must have particular tags is more annoying and
-      we don't use the database to help us much, but instead keep a cache and
-      remember to blow it in various places.
-    * server/play.c: playing_enable and random_enabled are now database
-      entries.
-    * server/disorderd.c: Need to do initial setup more directly now.
-    * server/server.c: Track protocol changes.
-    
-    * server/dcgi.c: Abolish disable-now.
-    
-    * lib/client.c: Track protocol changes.
-    * lib/configuration.c: enabled/random_enabled config options abolished in
-      favour of new global prefs.
-    * lib/hash.c: Start with a 256-slot hash.  Cope with null values.  New
-      hash_keys() returns a list of keys in no particular order.
-    
-    * clients/disorder.c: Kill disable-now.
-      Add tags, get-global, set-global, unset-global.
-    
-    * plugins/pick.c: Removed.
-    * lib/plugin.c: Pick plugin abolished.
-    
-    * doc/disorder.1.in: Document new command line options.
-    * doc/disorder.3: Document removal of pick plugin.
-    * doc/disorder_config.5.in: Document global prefs and removal of
-      enabled/random_enabled config options and disable-now CGI action.
-    * doc/disorder_protocol.5.in: Document get-global, set-global,
-      unset-global, tags.
-
-    removed files:
-     plugins/pick.c
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 README.upgrades
-     clients/disorder.c doc/disorder.1.in doc/disorder.3
-     doc/disorder_config.5.in doc/disorder_protocol.5.in
-     lib/client.c lib/client.h lib/configuration.c
-     lib/configuration.h lib/disorder.h lib/hash.c lib/hash.h
-     lib/plugin.c lib/plugin.h plugins/Makefile.am server/dcgi.c
-     server/disorderd.c server/play.c server/play.h server/server.c
-     server/trackdb.c server/trackdb.h
-
-
-2006-05-01 17:38:20 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-305
-
-    Summary:
-      Drag+drop fixing.
-    Revision:
-      disorder--mainline--0.1--patch-305
-
-    * disobedience/queue.c: Cope with dragging to the head of the queue.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/queue.c
-
-
-2006-05-01 17:32:38 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-304
-
-    Summary:
-      Quieten compiler
-    Revision:
-      disorder--mainline--0.1--patch-304
-
-    * disobedience/queue.c: Rename 'time' args to keep gcc happy.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/queue.c
-
-
-2006-05-01 17:31:14 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-303
-
-    Summary:
-      Drag+drop queue rearrangement
-    Revision:
-      disorder--mainline--0.1--patch-303
-
-    * disobedience/queue.c: Drag+drop queue rearrangement.  Use button
-      release events, not press, as the latter get confused with drag starts.
-    * disobedience/choose.c: Use button release events, not press.
-    * disobedience/disobedience.c: New log_moved() signature.
-    * disobedience/disobedience.rc: Colors for drag target zones
-    
-    * doc/disorder_protocol.5.in: Document moveafter and 'moved' log change.
-    
-    * lib/queue.c: queue_moveafter() is the underlying implementation of the
-      'moveafter' command.
-    * server/server.c: New 'moveafter' command moves a bunch of tracks to a
-      single ocation in the queue.
-    * lib/eclient.c: Support moveafter and 'moved' log change.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/TODO
-     disobedience/choose.c disobedience/disobedience.c
-     disobedience/disobedience.rc disobedience/queue.c
-     doc/disorder_protocol.5.in lib/eclient.c lib/eclient.h
-     lib/queue.c lib/queue.h server/server.c
-
-
-2006-05-01 14:33:27 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-302
-
-    Summary:
-      Reduce accidental scratching.
-    Revision:
-      disorder--mainline--0.1--patch-302
-
-    * disobedience/queue.c: Only make scratch item in popup sensitive if the
-      playing track is selected, to cut down on accidental scratching.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/TODO
-     disobedience/queue.c
-
-
-2006-05-01 12:15:02 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-301
-
-    Summary:
-      Cache fixes.
-    Revision:
-      disorder--mainline--0.1--patch-301
-
-    * lib/hash.c: Remember to actually save value.
-    * lib/cache.c: Pass correct time when expiring.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/TODO
-     lib/cache.c lib/hash.c
-
-
-2006-05-01 12:01:48 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-300
-
-    Summary:
-      More administrivia
-    Revision:
-      disorder--mainline--0.1--patch-300
-
-    More copyright dates and exceptions.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 scripts/check
-     scripts/completion.bash scripts/copyright.exceptions
-
-
-2006-05-01 11:57:48 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-299
-
-    Summary:
-      Default transform/namepart.
-    Revision:
-      disorder--mainline--0.1--patch-299
-
-    * lib/configuration.c: Default transform/namepart.
-    
-    * debian/disorder.config: Commment out transform/namepart.
-    * examples/config.sample.in: Commment out transform/namepart.
-    
-    * README.client: more notes.
-    * README.upgrades: Mention that transform/namepart are optional now.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 README.client
-     README.upgrades debian/disorder.config
-     doc/disorder_config.5.in examples/config.sample.in
-     lib/configuration.c
-
-
-2006-05-01 11:21:02 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-298
-
-    Summary:
-      Administrivia
-    Revision:
-      disorder--mainline--0.1--patch-298
-
-    * scripts/check: Easier invocation.
-    * scripts/completion.bash: Option completion for Disobedience.
-    
-    Also updated copyright dates on a bunch of files.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/rules.m4
-     disobedience/disobedience.rc doc/Makefile.am
-     images/Makefile.am lib/asprintf.c lib/authhash.c
-     lib/authhash.h lib/hash.c lib/hash.h lib/log.c lib/mem.c
-     lib/mem.h lib/printf.h lib/queue.c lib/queue.h lib/split.c
-     lib/trackname.c lib/trackname.h prepare scripts/Makefile.am
-     scripts/check scripts/completion.bash
-     scripts/copyright.exceptions server/cgi.c server/server.h
-     server/trackdb.h templates/Makefile.am templates/help.html
-
-
-2006-05-01 11:07:54 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-297
-
-    Summary:
-      Fix queue column width
-    Revision:
-      disorder--mainline--0.1--patch-297
-
-    * disobedience/queue.c: Columns should shrink to fit, not stay at their
-      maximum extent indefinitely.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/queue.c
-
-
-2006-04-30 23:22:53 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-296
-
-    Summary:
-      Memory optimization.
-    Revision:
-      disorder--mainline--0.1--patch-296
-
-    * lib/hash.c: Less memory-heavy hash implementation.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/hash.c
-
-
-2006-04-30 19:53:08 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-295
-
-    Summary:
-      More documentation.
-    Revision:
-      disorder--mainline--0.1--patch-295
-
-    * README: mention --without-* options.
-    * README.client: how to set up a standalone client install.
-
-    new files:
-     README.client
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 Makefile.am README
-     disobedience/TODO
-
-
-2006-04-30 19:42:54 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-294
-
-    Summary:
-      Documentation updates.
-    Revision:
-      disorder--mainline--0.1--patch-294
-
-    * doc/disorder.1.in: Mention the automatic rescan.
-      Add a troubleshooting section.
-    
-    * doc/disobedience.1.in: Hide --sync.  Document keyboard shortcuts and
-      recent changes to 'Choose'.
-    
-    * templates/help.html: Add a troubleshooting section.  Possibly this
-      should just be a link to the equivalent disorder(1) section.
-    
-    * CHANGES: Updated.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disobedience.1.in doc/disorder.1.in templates/help.html
-
-
-2006-04-30 19:05:29 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-293
-
-    Summary:
-      debian policy fixup
-    Revision:
-      disorder--mainline--0.1--patch-293
-
-    * debian/autorules.m4: Make binary targets depend on build target.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/autorules.m4
-
-
-2006-04-30 18:55:26 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-292
-
-    Summary:
-      Don't forget queue selection on update
-    Revision:
-      disorder--mainline--0.1--patch-292
-
-    * disobedience/queue.c: Use new selection_*() functions to record
-      selection so that it survives updates to the queue reliably.
-    
-    * lib/selection.c: Selection management functions using a hash.
-    
-    * lib/hash.c: hash_count() to count the number of items in a hash.
-    
-    * lib/queue.h: queue_entry.selected is gone.
-
-    new files:
-     lib/selection.c lib/selection.h
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1
-     disobedience/disobedience.h disobedience/queue.c
-     lib/Makefile.am lib/hash.c lib/hash.h lib/queue.c lib/queue.h
-
-
-2006-04-30 16:42:07 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-291
-
-    Summary:
-      Faster startup
-    Revision:
-      disorder--mainline--0.1--patch-291
-
-    * lib/eclient.c: Batch up command writes once authenticated.  This
-      improves Disobedience performance, in particular it fills in the track
-      names faster at startup if the server is over a network, by reducing
-      the number of round trip times.
-    * lib/log.c: DISORDER_DEBUG_ONLY allows you to limit debug output to that
-      from a single file.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/eclient.c lib/log.c
-
-
-2006-04-30 15:02:27 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-290
-
-    Summary:
-      Fix playing indicator for aliased tracks.
-    Revision:
-      disorder--mainline--0.1--patch-290
-
-    * lib/choose.c: Resolve filenames (so that the playing indicator and
-      properties window work).
-    
-    * lib/eclient.c: disorder_eclient_resolve().
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/choose.c
-     lib/eclient.c lib/eclient.h
-
-
-2006-04-30 14:40:31 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-289
-
-    Summary:
-      Popup menu and selection in choose tab
-    Revision:
-      disorder--mainline--0.1--patch-289
-
-    * disobedience/choose.c: Abolish buttons and just use labels and do our
-      own click parsing.  Maintain a selection in the same way as queue.c.
-      Popup menu to play/edit tracks, middle click to play straight away.
-    
-    * disobedience/disobedience.rc: Supply bg whenever we supply fg.
-    
-    * disobedience/menu.c: Edit menu uses callbacks to deal with different
-      kinds of tabs rather than explicit knowledge.
-    
-    * disobedience/queue.c: Callbacks for edit menu.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/TODO
-     disobedience/choose.c disobedience/disobedience.h
-     disobedience/disobedience.rc disobedience/menu.c
-     disobedience/queue.c
-
-
-2006-04-30 11:59:49 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-288
-
-    Summary:
-      Set sensitivity of main menu items.
-    Revision:
-      disorder--mainline--0.1--patch-288
-
-    * disobedience/menu.c: Move out main menu code.  Set sensitivity of
-      Properties and Select All appropriately from menu_update().
-    
-    * disobedience/queue.c: Call menu_update() when queue/recent changes.
-      Provide queue-counting functions queue_count_*() to set sensitivity of
-      main menu items.  Fix 'remove' option.
-    
-    * disobedience/disobedience.c: Move main menu out to menu.c.  Call
-      menu_update() when the user switches tabs.
-    
-    * disobedience/disobedience.h: Include almost all headers from here.
-      Organize function prototypes into logical groups.
-
-    new files:
-     disobedience/menu.c
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/Makefile.am
-     disobedience/choose.c disobedience/client.c
-     disobedience/control.c disobedience/disobedience.c
-     disobedience/disobedience.h disobedience/misc.c
-     disobedience/properties.c disobedience/queue.c
-
-
-2006-04-30 11:21:54 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-287
-
-    Summary:
-      Edit>Properties starts working.
-    Revision:
-      disorder--mainline--0.1--patch-287
-
-    * disobedience/disobedience.c: Edit>Properties menu item now works for
-      queues.
-    
-    * disobedience/queue.c: queue_properties() entry point for the above.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1
-     disobedience/disobedience.c disobedience/disobedience.h
-     disobedience/queue.c
-
-
-2006-04-29 18:00:36 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-286
-
-    Summary:
-      Document properties window.
-    Revision:
-      disorder--mainline--0.1--patch-286
-
-    * doc/disobedience.1.in: Document properties window.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disobedience.1.in
-
-
-2006-04-29 16:04:00 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-285
-
-    Summary:
-      Stock buttons in properties window
-    Revision:
-      disorder--mainline--0.1--patch-285
-
-    * disobedience/properties.c: Use stock items for properties window buttons.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/properties.c
-
-
-2006-04-29 13:46:31 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-284
-
-    Summary:
-      Stop badness if user closes progress bar window
-    Revision:
-      disorder--mainline--0.1--patch-284
-
-    * disobedience/properties.c: Cope with progress bar window being
-      destroyed part way through.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/properties.c
-
-
-2006-04-29 13:38:28 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-283
-
-    Summary:
-      Properties window
-    Revision:
-      disorder--mainline--0.1--patch-283
-
-    Only usable from queue/recent so far - need to do select and the menu bar
-    properties item too.  Also search when that is done.
-    
-    * disobedience/properties.c: New properties popup window.
-    * disobedience/queue.c: Pass queue definition as well as item to menu
-      item activation.
-      namepart_update() notifies that a namepart might have changed.
-      If we right click away from any selected item, select just the hovered
-      item.
-      Make properties menu item in popup sensitive if anything is selected,
-      and call properties() with the selected tracks when it is activated.
-      Include formerly missing backlink from first queued track to playing
-      track.
-    * lib/eclient.c: get, set and unset.
-    * disobedience/client.c: Split out popup_error().
-    * disobedience/misc.c: popup_error().
-    * disobedience/disobedience.c: Rename function to avoid collision.
-
-    new files:
-     disobedience/properties.c
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 disobedience/Makefile.am
-     disobedience/client.c disobedience/disobedience.c
-     disobedience/disobedience.h disobedience/misc.c
-     disobedience/queue.c lib/eclient.c lib/eclient.h
-
-
-2006-04-26 20:24:36 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-282
-
-    Summary:
-      Rename gdisorder to 'Disobedience'
-    Revision:
-      disorder--mainline--0.1--patch-282
-
-    Name suggested by Owen Dunn.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 configure.ac
-     disobedience/Makefile.am disobedience/choose.c
-     disobedience/client.c disobedience/control.c
-     disobedience/disobedience.c disobedience/disobedience.h
-     disobedience/disobedience.rc disobedience/misc.c
-     disobedience/queue.c doc/Makefile.am doc/disobedience.1.in
-
-    renamed files:
-     doc/gdisorder.1.in
-       ==> doc/disobedience.1.in
-     gdisorder/.arch-ids/=id
-       ==> disobedience/.arch-ids/=id
-     gdisorder/gdisorder.c
-       ==> disobedience/disobedience.c
-     gdisorder/gdisorder.h
-       ==> disobedience/disobedience.h
-     gdisorder/gdisorder.rc
-       ==> disobedience/disobedience.rc
-
-    new directories:
-     disobedience/.arch-ids
-
-    removed directories:
-     gdisorder/.arch-ids
-
-    renamed directories:
-     gdisorder
-       ==> disobedience
-
-
-2006-04-17 18:29:49 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-281
-
-    Summary:
-      Build fixes
-    Revision:
-      disorder--mainline--0.1--patch-281
-
-    * gdisorder/Makefile.am: ship gdisorder.c
-    * server/server.c: Quieten compiler.
-    * lib/eclient.c: Quieten stupid compiler.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/changelog
-     gdisorder/Makefile.am lib/eclient.c server/server.c
-
-
-2006-04-17 11:18:34 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-280
-
-    Summary:
-      Install gdisorder
-    Revision:
-      disorder--mainline--0.1--patch-280
-
-    * gdisorder/Makefile.am: Install gdisorder.
-    * doc/gdisorder.1.in: Update man page.
-    * doc/Makefile.am: Install gdisorder man page
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/Makefile.am
-     doc/gdisorder.1.in gdisorder/Makefile.am
-
-
-2006-04-17 11:02:51 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-279
-
-    Summary:
-      Popup improvements, multi-track remove.
-    Revision:
-      disorder--mainline--0.1--patch-279
-
-    * gdisorder/queue.c: Table driven popup menus.  The menu items are now
-      fixed but the sensitivity changes according to context.  Multi-track
-      remove now works.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/TODO
-     gdisorder/queue.c
-
-
-2006-04-16 23:39:34 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-278
-
-    Summary:
-      gdisorder tidying
-    Revision:
-      disorder--mainline--0.1--patch-278
-
-    * gdisorder/gdisorder.c: Remove bogus underlines.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/gdisorder.c
-
-
-2006-04-16 23:37:58 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-277
-
-    Summary:
-      Selection in queue/recent.
-    Revision:
-      disorder--mainline--0.1--patch-277
-
-    * gdisorder/queue.c: Show and maintain the selection.  You can't do
-      anything useful with the selection yet, however.
-    * lib/eclient.c: Fill in backlinks in queue lists.
-    * gdisorder/gdisorder.c: New Edit menu.  Just a placeholder right now.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/gdisorder.c
-     gdisorder/queue.c lib/eclient.c
-
-
-2006-04-16 22:47:58 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-276
-
-    Summary:
-      Popup menu in queue/recent.
-    Revision:
-      disorder--mainline--0.1--patch-276
-
-    * lib/eclient.c: disorder_eclient_scratch() now takes an ID.
-      disorder_eclient_scratch_playing() provides the old scratch-anything
-      interface for the benefit of control.c.
-    * lib/queue.h: Add a 'ql' field to the queue so gdisorder can remember
-      which queue each entry belongs to.
-    * gdisorder/queue.c: Popup menus on right button in queues.  Currently
-      only scratch and remove work, though 'properties' appears in the menu
-      for the sake of show.
-    * gdisorder/control.c: Keep up with eclient.c.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/control.c
-     gdisorder/queue.c lib/eclient.c lib/eclient.h lib/queue.c
-     lib/queue.h
-
-
-2006-04-16 18:28:04 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-275
-
-    Summary:
-      Show how much of the currently playing track has played.
-    Revision:
-      disorder--mainline--0.1--patch-275
-
-    * gdisorder/queue.c: Show how much of the currently playing track has
-      been played.  Destroy queue label widgets as well as their containing
-      eventbox.
-    
-    * gdisorder/gdisorder.c: Refetch currently playing track data whenever
-      the track is paused or resumed.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/TODO
-     gdisorder/gdisorder.c gdisorder/queue.c
-
-
-2006-04-16 17:17:27 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-274
-
-    Summary:
-      New gdisorder buttons to enable/disable play/random play
-    Revision:
-      disorder--mainline--0.1--patch-274
-
-    * gdisorder/control.c: New buttons to enable/disable play/random play.
-    
-    * lib/eclient.c: New calls to enable/disable play/random play.
-    
-    * images/random.png: Question-mark icon to enable random play.
-    * images/randomcross.png: Crossed question-mark icon to disable random play
-    * images/notescross.png: Notes icon to enable play.  We use the existing
-      notes.png to disable play.
-
-    new files:
-     images/.arch-ids/notescross.png.id
-     images/.arch-ids/random.png.id
-     images/.arch-ids/randomcross.png.id images/notescross.png
-     images/random.png images/randomcross.png
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/control.c
-     images/Makefile.am lib/eclient.c lib/eclient.h
-
-
-2006-04-14 17:06:26 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-273
-
-    Summary:
-      Volume control for gdisorder
-    Revision:
-      disorder--mainline--0.1--patch-273
-
-    * gdisorder/control.c: Volume control.  Visually rather ugly but the
-      feature is now there.
-    * gdisorder/gdisorder.c: Monitor volume.
-    * lib/eclient.c: Volume support.
-    * server/disorderd.c: Check the current volume from time to time in case
-      it's changed outside the server's control.
-    * server/server.c: Remember the (believed) current volume.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/TODO
-     gdisorder/control.c gdisorder/gdisorder.c
-     gdisorder/gdisorder.h lib/eclient.c lib/eclient.h
-     server/disorderd.c server/server.c server/server.h
-
-
-2006-04-14 10:45:35 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-272
-
-    Summary:
-      Split out icon code to control.c
-    Revision:
-      disorder--mainline--0.1--patch-272
-
-    * gdisorder/control.c: Split icon code out to a control.c.
-    * gdisorder/gdisorder.c: Split icon code out to a control.c.
-    * gdisorder/queue.c: Rename 'playing' to 'playing_track' to avoid
-      conflict with now-global playing boolean.
-
-    new files:
-     gdisorder/control.c
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/Makefile.am
-     gdisorder/gdisorder.c gdisorder/gdisorder.h gdisorder/queue.c
-
-
-2006-04-12 19:45:13 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-271
-
-    Summary:
-      Fix queue/recent title truncation.
-    Revision:
-      disorder--mainline--0.1--patch-271
-
-    * gdisorder/queue.c: Determine title cell width each time round rather
-      than stashing it.  Eliminates truncation of rightmost title.
-
-    new files:
-     gdisorder/TODO
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/queue.c
-
-
-2006-04-12 18:36:05 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-270
-
-    Summary:
-      Pause and scratch buttons for gdisorder
-    Revision:
-      disorder--mainline--0.1--patch-270
-
-    The scratch button doesn't currently use the same trick as the GUI to be
-    sure it's scratching exactly the right thing.  Since the display is much
-    more likely to be up to date that's less of an issue here.  Still, it
-    would be good to fix it sometime.
-    
-    * gdisorder/gdisorder.c: Icon bar between menu bar and tabs containing
-      pause/resume buttons and a scratch button.  Pause and resume are
-      actually separate buttons but exactly one is ever visible at any given
-      time.
-    
-    * lib/eclient.c: Implement _pause/_resume/_scratch commands.
-      protocol_error() takes an operation not a client, since the operation
-      pointer in the client may be the wrong one by the point it gets called.
-      Support the 'state' log entry.
-    
-    * server/server.c: The 'log' command now issues some initial lines to
-      synchronize the current state.
-    
-    * images/pause.png: Pause icon.
-    
-    * images/play.png: Play icon.
-
-    new files:
-     images/.arch-ids/pause.png.id images/.arch-ids/play.png.id
-     images/pause.png images/play.png
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/gdisorder.c
-     images/Makefile.am lib/eclient.c lib/eclient.h server/server.c
-
-
-2006-04-11 19:30:38 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-269
-
-    Summary:
-      Display track lengths
-    Revision:
-      disorder--mainline--0.1--patch-269
-
-    * lib/eclient.c: disorder_eclient_length()
-    * gdisorder/queue.c: Include track lengths in queue/recent.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/queue.c
-     lib/eclient.c lib/eclient.h
-
-
-2006-04-11 19:10:35 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-268
-
-    Summary:
-      Minor gdisorder fixes.
-    Revision:
-      disorder--mainline--0.1--patch-268
-
-    * lib/mem.c: Reverse test in xcalloc.  You can ask for count=0 but size=0
-      will give silly results.
-    
-    * gdisorder/choose.c: Build fixes for Mac.
-    
-    * gdisorder/queue.c: Cope with completely empty queue.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/choose.c
-     gdisorder/queue.c lib/mem.c
-
-
-2006-04-09 22:12:57 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-267
-
-    Summary:
-      More concise logging
-    Revision:
-      disorder--mainline--0.1--patch-267
-
-    * server/server.c: Don't log boring errors (EPIPE when talking to a
-      client in particular).  When we do log an error make sure it's the
-      correct one (though it usually was anyway).
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 server/server.c
-
-
-2006-04-09 22:11:42 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-266
-
-    Summary:
-      Kill a recently introduced crash...
-    Revision:
-      disorder--mainline--0.1--patch-266
-
-    * lib/cache.c: Don't try to clean the cache if it does not exist yet!
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/cache.c
-
-
-2006-04-09 22:03:52 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-265
-
-    Summary:
-      Title bar for gdisorder queue/recent listing
-    Revision:
-      disorder--mainline--0.1--patch-265
-
-    * gdisorder/queue.c: Rewrite in terms of layouts.  This proved to be the
-      least painful way of getting a title bar which panned in synch.
-    * gdisorder/gdisorder.rc: gdisorder-title style is (by default) white on
-      black in a bold font.  *.row-title is bound to it.
-    * lib/mem.c: xcalloc().
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/gdisorder.rc
-     gdisorder/queue.c lib/mem.c lib/mem.h
-
-
-2006-04-08 11:44:00 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-264
-
-    Summary:
-      Update CHANGES.
-    Revision:
-      disorder--mainline--0.1--patch-264
-
-    * CHANGES: updated.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-
-
-2006-04-08 11:42:31 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-263
-
-    Summary:
-      Cache track lookups that use regexps.
-    Revision:
-      disorder--mainline--0.1--patch-263
-
-    Top-level track lookups generally involve scanning over the whole
-    database and filtering.  This is significantly slower than any other
-    lookup - noticably slow in one slightly underpowered installation - so
-    well worthwhile caching the results.
-    
-    Note that we do not have a call to cache_expire anywhere in the server
-    yet.  It doesn't matter: there is a daily automatic rescan, and all the
-    cached file lookups are junked at the end of any rescan, so a cache entry
-    never has a lifetime much greater than a day anyway.
-    
-    * lib/cache.c: cache_clean() allows selective or total elimination of
-      cache elements.
-    * server/trackdb.c: Clean out track lookup cache when a rescan completes.
-    * server/server.c: Cache track lookups that use regexps.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/cache.c lib/cache.h
-     server/server.c server/trackdb.c server/trackdb.h
-
-
-2006-04-05 22:37:10 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-262
-
-    Summary:
-      Better reporting.
-    Revision:
-      disorder--mainline--0.1--patch-262
-
-    * lib/eclient.c: 'report' callback to signal what's going on to the
-      application.
-    * gdisorder/choose.c, gdisorder/queue.c: Set report line when we start a
-      command.
-    * lib/client.c: Clear the report line when the client goes idle.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 clients/test-eclient.c
-     gdisorder/choose.c gdisorder/client.c gdisorder/queue.c
-     lib/eclient.c lib/eclient.h
-
-
-2006-04-05 22:24:37 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-261
-
-    Summary:
-      Tidying up
-    Revision:
-      disorder--mainline--0.1--patch-261
-
-    * templates/options.transform: Removed because now obsolete.
-    * CHANGES: Note the move here too.
-
-    removed files:
-     templates/options.transform
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     templates/Makefile.am
-
-
-2006-04-05 21:34:37 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-260
-
-    Summary:
-      Correct text and sorting in track choice tab
-    Revision:
-      disorder--mainline--0.1--patch-260
-
-    * lib/configuration.c: 'transform' directive moved here from web options.
-    * lib/trackname.c: trackname_transform() and compare_tracks() moved from
-      CGI code.
-    * server/cgi.c: Don't parse 'transform' directive.  cgi_transform() moved
-      to trackname.c.
-    * server/dcgi.c: compare_multi() moved to trackname.c.
-    
-    * gdisorder/choose.c: Display and sort directory and track names using
-      'transform' directive, as the web interface.
-    
-    * README.upgrades: Mention move of 'transform'.
-    * doc/disorder_config.5.in: Move documentation for 'transform' to its new
-      section.
-    
-    * examples/config.sample.in: 'transform' directives moved to config file.
-    * debian/disorder.config: 'transform' directives moved to config file.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README.upgrades
-     debian/disorder.config doc/disorder_config.5.in
-     examples/config.sample.in gdisorder/choose.c
-     lib/configuration.c lib/configuration.h lib/trackname.c
-     lib/trackname.h server/cgi.c server/dcgi.c
-
-
-2006-04-05 20:23:12 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-259
-
-    Summary:
-      Queue fixes
-    Revision:
-      disorder--mainline--0.1--patch-259
-
-    * gdisorder/queue.c: Queue now expands to fill horizontal space
-      available.  Kill a GTK+ error message when there is nothing in the
-      queue.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/queue.c
-
-
-2006-04-02 18:58:23 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-258
-
-    Summary:
-      Memory leak
-    Revision:
-      disorder--mainline--0.1--patch-258
-
-    * gdisorder/choose.c: Don't leak tree widgets.  It seems GTK+ remembers
-      pointers to them somewhere even after thay have been deparented,
-      frustrating the garbage collector.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/choose.c
-
-
-2006-04-02 18:50:54 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-257
-
-    Summary:
-      Prettier colors
-    Revision:
-      disorder--mainline--0.1--patch-257
-
-    * gdisorder/choose.c: Don't set colors explicitly, just set widget names
-      instead.
-    
-    * gdisorder/gdisorder.c: Apply a default style.
-    
-    * gdisorder/misc.c: scroll_widget() adds a GtkViewport to non-GtkLayout
-      widgets and sets the name of the scrolled window's child (i.e. the
-      GtkViewport or the GtkLayout).
-    
-    * gdisorder/queue.c: Use a GtkTable instead of a list store in order to
-      colorize rows conveniently.  Still not happy with the queue views but
-      they look better than they did.
-    
-    * doc/gdisorder.1.in: Start of a man page for gdisorder.
-    
-    * gdisorder/gdisorder.rc: Default style information for gdisorder.
-    
-    * scripts/text2c: Script to convert gdisorder.rc (or other files) into a
-      variable in C.
-
-    new files:
-     doc/gdisorder.1.in gdisorder/gdisorder.rc scripts/text2c
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/Makefile.am
-     gdisorder/Makefile.am gdisorder/choose.c gdisorder/gdisorder.c
-     gdisorder/gdisorder.h gdisorder/misc.c gdisorder/queue.c
-     scripts/Makefile.am
-
-
-2006-04-02 14:55:02 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-256
-
-    Summary:
-      State reporting to event log.
-    Revision:
-      disorder--mainline--0.1--patch-256
-
-    * server/play.c: Report state changes to event log.
-    * server/server.c: Report volume changes to event log.
-    
-    * doc/disorder_protocol.5.in: Document the above.
-    
-    * scripts/inst: Correct path to CGI.
-    * debian/rules.m4: Correct path to CGI.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/rules.m4
-     doc/disorder_protocol.5.in scripts/inst server/play.c
-     server/server.c
-
-
-2006-04-02 14:43:19 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-255
-
-    Summary:
-      Tidying up
-    Revision:
-      disorder--mainline--0.1--patch-255
-
-    * gdisorder/Makefile.am: Lose 'gtk' prefix from source files.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/Makefile.am
-
-    renamed files:
-     gdisorder/gtkchoose.c
-       ==> gdisorder/choose.c
-     gdisorder/gtkclient.c
-       ==> gdisorder/client.c
-     gdisorder/gtkmisc.c
-       ==> gdisorder/misc.c
-     gdisorder/gtkqueue.c
-       ==> gdisorder/queue.c
-
-
-2006-04-02 14:42:14 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-254
-
-    Summary:
-      Make scroll bar arrows work.
-    Revision:
-      disorder--mainline--0.1--patch-254
-
-    * gdisorder/gtkmisc.c: Fix up scroll step increments for layouts, which
-      for some reason default to 0.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/gtkmisc.c
-
-
-2006-04-02 11:52:52 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-253
-
-    Summary:
-      Mark currently playing tracks in the choose track widget.
-    Revision:
-      disorder--mainline--0.1--patch-253
-
-    * gdisorder/gtkchoose.c: Display the notes icon next to tracks that are
-      queued or playing.
-    * gdisorder/gtkqueue.c: Notify Choose tab when then the queue or playing
-      track change.  New queued() function to tell whether a track is queued
-      or playing.
-    * gdisorder/gtkmisc.c: find_image() loads images into the cache as
-      pixbufs.
-    * lib/cache.c: More careful checking for cache expiry, since we may have
-      very large lifetimes.
-    * images/notes.png: New notes icon to mark currently playing tracks.
-    * configure.ac: Build and install images/ for GTK+ builds as well as
-      server builds.  We share the images between the two.
-    
-    * gdisorder/gtkchoose.c: If the Choose layout shrinks then invalidate the
-      regions outside it, since they are not redrawn otherwise.
-
-    new files:
-     images/.arch-ids/notes.png.id images/notes.png
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 configure.ac
-     gdisorder/gdisorder.h gdisorder/gtkchoose.c
-     gdisorder/gtkmisc.c gdisorder/gtkqueue.c images/Makefile.am
-     lib/cache.c
-
-
-2006-04-01 19:00:06 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-252
-
-    Summary:
-      Client-only (and Mac) fixups
-    Revision:
-      disorder--mainline--0.1--patch-252
-
-    The result of this works on my Mac with a minimal configuration file,
-    connecting to the server on a Linux box using TCP/IP.
-    
-    * configure.ac: Don't search fink db4 includes if not building server.
-      Fix bad test for want_server when checking db version.
-    * lib/log.c: Use explicit casts and wide types when printing timestamps
-      in debug messages.
-    * lib/configuration.c: Removed server-specific configuration checks.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 configure.ac
-     lib/configuration.c lib/log.c
-
-
-2006-04-01 18:20:39 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-251
-
-    Summary:
-      Split up clients from server and allow configure-time selection.
-    Revision:
-      disorder--mainline--0.1--patch-251
-
-    The command line clients are split into their own directory, clients/ and
-    everything else that used to be in progs/ is now in server.  You can
-    control what is built with --without-python, --without-gtk and
-    --without-server.
-    
-    * configure.ac: Tell the top-level makefile what subdirectories to build
-      based on --with/--without options.  We also only ask for libraries that
-      we actually need.
-      The shipped getopt is abolished until someone wants it enough to figure
-      out a convenient way of having it used from multiple directories.
-    * clients/disorder.c: Abolish --length option.  It was always in the
-      wrong place anyway and the client/server build split makes it even
-      siller as well as inconvenient.
-
-    new files:
-     clients/.arch-ids/=id clients/Makefile.am
-
-    removed files:
-     DESIGN2
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 Makefile.am
-     clients/disorder.c configure.ac prepare server/Makefile.am
-
-    renamed files:
-     progs/.arch-ids/=id
-       ==> server/.arch-ids/=id
-     progs/authorize.c
-       ==> clients/authorize.c
-     progs/authorize.h
-       ==> clients/authorize.h
-     progs/disorder.c
-       ==> clients/disorder.c
-     progs/test-eclient.c
-       ==> clients/test-eclient.c
-
-    new directories:
-     clients clients/.arch-ids server/.arch-ids
-
-    removed directories:
-     progs/.arch-ids
-
-    renamed directories:
-     progs
-       ==> server
-
-
-2006-04-01 14:46:11 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-250
-
-    Summary:
-      Minor fixes.
-    Revision:
-      disorder--mainline--0.1--patch-250
-
-    * gdisorder/gdisorder.c: Refetch server state once every 10m.
-    * gdisorder/gtkchoose.c: Make background white.  Probably the wrong
-      answer - we really want to make it do whatever the standard tree view
-      widget does.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/gdisorder.c
-     gdisorder/gtkchoose.c
-
-
-2006-04-01 14:27:41 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-249
-
-    Summary:
-      Show currently playing track
-    Revision:
-      disorder--mainline--0.1--patch-249
-
-    * lib/eclient.c: disorder_eclient_playing() reports currently playing
-      track.
-    * gdisorder/gtkqueue.c: Bung currently playing track at top of queue.  It
-      could really do with being a separate color or something.
-    * gdisorder/gdisorder.c: Call playing_update() when the currently playing
-      track might have changed.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/gdisorder.c
-     gdisorder/gdisorder.h gdisorder/gtkqueue.c lib/eclient.c
-     lib/eclient.h
-
-
-2006-04-01 12:57:47 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-248
-
-    Summary:
-      Pick tracks in gdisorder.
-    Revision:
-      disorder--mainline--0.1--patch-248
-
-    * gdisorder/gtkchoose.c: Choose tracks from a tree structure.
-    
-    * gdisorder/gdisorder.c: choose_widget() moved to new gtkchoose.c.
-    * gdisorder/gtkqueue.c: Use scroll_widget().
-    * gdisorder/gtkclient.c: Split out popup_protocol_error().
-    * gdisorder/gtkmisc.c: Split out scroll_widget().
-    
-    * lib/eclient.c: Support null callbacks.
-
-    new files:
-     gdisorder/gtkchoose.c gdisorder/gtkmisc.c
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 gdisorder/Makefile.am
-     gdisorder/gdisorder.c gdisorder/gdisorder.h
-     gdisorder/gtkclient.c gdisorder/gtkqueue.c lib/eclient.c
-     lib/eclient.h
-
-
-2006-03-30 22:29:29 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-247
-
-    Summary:
-      Starting blocks for a GTK+ client
-    Revision:
-      disorder--mainline--0.1--patch-247
-
-    Currently the client can display the queue and recently played list and
-    keep up to date with them, and not much else.  Hence it's noinst_ for
-    now.
-    
-    It's in a separate directory so that we can easily turn it on or off from
-    the configure with --with arguments.  At some point the server and its
-    helpers will have to be moved to a new directory for the same reason so
-    you can conveniently do a client-only build.
-    
-    * lib/cache.c: Generic cache.
-    * lib/asprintf.c: New byte_xvasprintf().
-    * lib/authhash.c: const-correct.
-    * lib/client.c: Split with_sockaddr() out to client-common.c
-    * lib/hash.c: New hash_foreach()  (used by cache expiry)
-    * lib/queue.h: New selected field in queue entries for use by client.
-      Not in marshalled form!
-    * lib/queue.c: queue_unmarshall_vec() for parsing pre-split queue
-      descriptions.
-    * lib/client-common.c: Common code for the two C client implementations.
-    * lib/eclient.c: New asynchronous C client.
-    
-    * gdisorder/gdisorder.c: Main program for GTK+ client.  Not finished!
-    * gdisorder/gtkqueue.c: Queue management in GTK+.
-    * gdisorder/gtkclient.c: Wrap an eclient up so it can be used in a GTK+
-      program.
-    * gdisorder/gdisorder.h: Header file for GTK+ client.
-    
-    * progs/test-eclient.c: Test rig for eclient.c
-    
-    * doc/disorder_protocol.5.in: XX4 description was missing from last
-      commit.
-    
-    * configure.ac: Find GTK+/Glib includes; we need to fix them up to use
-      -isystem as they can provoke warnings.
-
-    new files:
-     gdisorder/.arch-ids/=id gdisorder/Makefile.am
-     gdisorder/gdisorder.c gdisorder/gdisorder.h
-     gdisorder/gtkclient.c gdisorder/gtkqueue.c lib/cache.c
-     lib/cache.h lib/client-common.c lib/client-common.h
-     lib/eclient.c lib/eclient.h progs/test-eclient.c
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 Makefile.am configure.ac
-     doc/disorder_protocol.5.in lib/Makefile.am lib/asprintf.c
-     lib/authhash.c lib/authhash.h lib/client.c lib/hash.c
-     lib/hash.h lib/printf.h lib/queue.c lib/queue.h
-     progs/Makefile.am {arch}/=tagging-method
-
-    new directories:
-     gdisorder gdisorder/.arch-ids
-
-
-2006-03-30 21:50:14 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-246
-
-    Summary:
-      Log changes
-    Revision:
-      disorder--mainline--0.1--patch-246
-
-    Required for work that isn't checked in yet.
-    
-    * progs/server.c: Log returns 254 to indicate an indefinite body.
-    * doc/disorder_protocol.5.in: Document xx4 responses and log namespace
-      change.
-    * lib/queue.c: Change log tags so that they are valid C identifiers.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_protocol.5.in
-     lib/queue.c progs/server.c
-
-
-2006-03-26 23:28:22 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-245
-
-    Summary:
-      Tidier debug output.
-    Revision:
-      disorder--mainline--0.1--patch-245
-
-    * lib/log.c: Strip ../ from filenames in debug output.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/log.c
-
-
-2006-03-26 19:36:32 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-244
-
-    Summary:
-      Quoting bug and response code sanity
-    Revision:
-      disorder--mainline--0.1--patch-244
-
-    * lib/split.c: Quote strings containing newlines properly.
-    * progs/server.c: Coherent response code policy.
-    * doc/disorder_protocol.5.in: Document response code policy and also the
-      authentication protocol.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_protocol.5.in
-     lib/split.c progs/server.c
-
-
-2006-03-25 18:28:17 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-243
-
-    Summary:
-      Release 1.5.1
-    Revision:
-      disorder--mainline--0.1--patch-243
-
-    * configure.ac: Release 1.5.1
-    * CHANGES: Bring up to date
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 configure.ac
-     debian/changelog
-
-
-2006-03-22 20:38:03 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-242
-
-    Summary:
-      Buglet in choose page
-    Revision:
-      disorder--mainline--0.1--patch-242
-
-    * templates/choosealpha.html: correct '*' link.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/choosealpha.html
-
-
-2006-03-20 22:43:46 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-241
-
-    Summary:
-      Documentation setting
-    Revision:
-      disorder--mainline--0.1--patch-241
-
-    * doc/disorder_config.5.in: Trivial formatting fix.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-
-
-2006-03-20 22:41:00 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-240
-
-    Summary:
-      Release 1.5
-    Revision:
-      disorder--mainline--0.1--patch-240
-
-    * lib/configuration.c: Compatibility alias 'nice' for 'nice_rescan' to
-      keep old config files working (it was in the example even if it wasn't
-      documented).
-    * examples/config.sample.in: Remove 'nice' from sample config.
-    * configure.ac: Release 1.5
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 configure.ac
-     debian/changelog debian/disorder.config
-     examples/config.sample.in lib/configuration.c
-
-
-2006-03-20 22:30:00 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-239
-
-    Summary:
-      Administrivia
-    Revision:
-      disorder--mainline--0.1--patch-239
-
-    * templates/help.html: Eliminate 'just'.
-    * doc/checklist.txt: More checklist items.
-    * templates/about.html: Copyright dates
-    * scripts/dist: Copyright dates
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/checklist.txt
-     scripts/dist templates/about.html templates/help.html
-
-
-2006-03-20 21:55:48 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-238
-
-    Summary:
-      Bug blame
-    Revision:
-      disorder--mainline--0.1--patch-238
-
-    * BUGS: Point a finger of blame at Libtool.
-
-    modified files:
-     BUGS ChangeLog.d/disorder--mainline--0.1
-
-
-2006-03-19 20:04:48 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-237
-
-    Summary:
-      Attribute scratches properly.
-    Revision:
-      disorder--mainline--0.1--patch-237
-
-    * progs/play.c: Attribute scratches to the user who requested the scratch.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 progs/play.c
-
-
-2006-03-19 20:03:26 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-236
-
-    Summary:
-      Administrivia
-    Revision:
-      disorder--mainline--0.1--patch-236
-
-    * progs/rescan.c: Copyright date.
-    * progs/play.c: Copyright date.
-    * README: Copyright date.
-    * scripts/dist: cd into =build if it exists.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README progs/play.c
-     progs/rescan.c scripts/dist
-
-
-2006-03-19 00:19:32 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-235
-
-    Summary:
-      New speaker_nice option.
-    Revision:
-      disorder--mainline--0.1--patch-235
-
-    * lib/configuration.c: New speaker_nice option.
-    * progs/disorderd.c: Start speaker process as root.
-    * progs/speaker.c: Set nice value, ignore SIGPIPE and become mortal.
-    * progs/trackdb.c: Reset subprocess priority to zero.  (Ineffectual if
-      the main server is already at positive niceness.)
-    * lib/user.c: Moved to lib since shared between several programs.
-    
-    * doc/disorder_config.5.in: Document speaker_nice.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in lib/Makefile.am lib/configuration.c
-     lib/configuration.h progs/Makefile.am progs/disorderd.c
-     progs/speaker.c progs/trackdb.c templates/credits.html
-
-    renamed files:
-     progs/user.c
-       ==> lib/user.c
-     progs/user.h
-       ==> lib/user.h
-
-
-2006-03-18 23:52:04 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-234
-
-    Summary:
-      Move deployed filtering of track names closer to the right place
-    Revision:
-      disorder--mainline--0.1--patch-234
-
-    * progs/dcgi.c: Use the server's regexp filtering rather than getting all
-      the files and throwing away the ones that do not match.
-    
-    * progs/disorder.c: Correct handling of variable-argument commands
-      Make regexp support available to files/allfiles/dirs.
-    
-    * progs/trackdb.c: Correct handling of pcre_exec() return value, so we
-      don't report no match if there are subpatterns.  We still log
-      unexpected errors.
-    
-    * templates/choosealpha.html: With server-based regexp filtering, we need
-      slightly more subtle regexps to keep the initial 'the' out.  Perhaps
-      better still (for choosealpha) would be some kind of server-held cache,
-      but we'll see what performance is like in reality.
-    
-    * doc/disorder.1.in: Document regexp support in the command line client.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 doc/disorder.1.in
-     doc/disorder_config.5.in progs/dcgi.c progs/disorder.c
-     progs/trackdb.c templates/choosealpha.html
-
-
-2006-03-18 21:00:33 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-233
-
-    Summary:
-      First round of process priority changes.
-    Revision:
-      disorder--mainline--0.1--patch-233
-
-    * progs/disorderd.c: Apply nice_server config setting at startup.
-    * progs/rescan.c: nice_rescan applies to whole rescan process, not just
-      to collection scanner subprocesses.
-    * lib/configuration.c: 'nice' renamed to nice_rescan.  Added
-      nice_server.
-    * doc/disorder_config.5.in: Document nice_rescan and nice_server.  (The
-      former was never documented in its old guise as 'nice'.)
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in lib/configuration.c
-     lib/configuration.h progs/disorderd.c progs/rescan.c
-
-
-2006-03-18 20:43:50 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-232
-
-    Summary:
-      update CHANGES
-    Revision:
-      disorder--mainline--0.1--patch-232
-
-    * CHANGES: missing CHANGES note for the last commit.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-
-
-2006-03-18 20:42:17 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-231
-
-    Summary:
-      Don't crash when the user tries to pause a non-pausible track.
-    Revision:
-      disorder--mainline--0.1--patch-231
-
-    * progs/play.c: Correct test for pause-capable players, which contained
-      an embarassing parenthesization error.  Because of this mistake, if you
-      tried to pause a track using a non-pause-capable player, the server
-      would immediately crash.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/play.c
-
-
-2006-03-18 20:36:01 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-230
-
-    Summary:
-      Fix a disorder-speaker crash
-    Revision:
-      disorder--mainline--0.1--patch-230
-
-    * progs/speaker.c: If the speaker process detects underrun then it should
-      not later treat written_bytes as a byte count!  This could lead to the
-      speaker process crashing.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 progs/speaker.c
-     scripts/inst
-
-
-2006-02-19 11:39:46 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-229
-
-    Summary:
-      Missing build dependencies
-    Revision:
-      disorder--mainline--0.1--patch-229
-
-    * debian/control (Build-Depends): Was missing libao-dev.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/control
-
-
-2005-11-15 19:28:43 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-228
-
-    Summary:
-      Report track played so far properly.
-    Revision:
-      disorder--mainline--0.1--patch-228
-
-    * progs/speaker.c: Record (and therefore report) amount of a track played
-      so far, which got lost in the ALSA transition.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 doc/checklist.txt
-     progs/speaker.c
-
-    renamed files:
-     doc/ui-checklist.txt
-       ==> doc/checklist.txt
-
-
-2005-11-15 19:14:45 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-227
-
-    Summary:
-      Clean up logging FD leaks.
-    Revision:
-      disorder--mainline--0.1--patch-227
-
-    * lib/logfd.c: Don't leak reader end of log pipe when it's finished.
-    * progs/play.c: Don't leak writer end of log pipe if fork fails.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 configure.ac
-     lib/logfd.c progs/play.c
-
-
-2005-11-05 15:38:53 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-226
-
-    Summary:
-      Release 1.4
-    Revision:
-      disorder--mainline--0.1--patch-226
-
-    * BUGS: Document past problems with VIA OSS driver.
-    * configure.ac: Change version number.
-    * debian/changelog: New version number.
-
-    modified files:
-     BUGS CHANGES ChangeLog.d/disorder--mainline--0.1 configure.ac
-     debian/changelog
-
-
-2005-11-05 15:01:16 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-225
-
-    Summary:
-      Update copyright dates and testing
-    Revision:
-      disorder--mainline--0.1--patch-225
-
-    * doc/ui-checklist.txt: More checks.
-    * scripts/check: Ignore certain files.
-
-    new files:
-     scripts/copyright.exceptions
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/ui-checklist.txt
-     lib/syscalls.c lib/syscalls.h plugins/Makefile.am
-     plugins/exec.c plugins/shell.c scripts/check
-
-
-2005-11-05 14:36:15 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-224
-
-    Summary:
-      New stopwords
-    Revision:
-      disorder--mainline--0.1--patch-224
-
-    * examples/config.sample.in: Add 'for' and 'is' to stopwords.
-    * debian/disorder.config: Add 'for' and 'is' to stopwords.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/disorder.config
-     examples/config.sample.in
-
-
-2005-11-05 14:34:09 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-223
-
-    Summary:
-      Documentation cleanups.
-    Revision:
-      disorder--mainline--0.1--patch-223
-
-    * templates/help.html: Missing words.
-    * doc/disorder-dump.8.in: Typo.
-    * doc/disorder.3: Catch up with reality.
-    * doc/disorder_protocol.5.in: Document 'pause' and 'resume'.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder-dump.8.in
-     doc/disorder.3 doc/disorder_protocol.5.in doc/ui-checklist.txt
-     templates/help.html
-
-
-2005-11-05 14:19:53 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-222
-
-    Summary:
-      Make @nfiles@ consistent.
-    Revision:
-      disorder--mainline--0.1--patch-222
-
-    * progs/dcgi.c: In @nfiles@, if cgi arg files is not set then default to
-      1 (to be consistent with everywhere else).
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/dcgi.c
-
-
-2005-11-05 14:15:52 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-221
-
-    Summary:
-      No Darwin support for now.
-    Revision:
-      disorder--mainline--0.1--patch-221
-
-    Remove references to Darwin, since ALSA dependency breaks it.  You could
-    still build without support for raw players, but it won't work "out of
-    the box".
-
-    removed files:
-     README.darwin
-
-    modified files:
-     BUGS ChangeLog.d/disorder--mainline--0.1 Makefile.am
-
-
-2005-11-04 12:49:51 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-220
-
-    Summary:
-      disorder-speaker now uses ALSA.
-    Revision:
-      disorder--mainline--0.1--patch-220
-
-    This seems to work better than the various libao attempts.  We still use
-    a libao plugin to capture decoded audio from ogg123 etc.
-    
-    * progs/speaker.c: Use ALSA directly rather than libao.
-    * lib/configuration.c: Configurable ALSA device.
-    * lib/log.c: Timestamp debug messages.
-    * configure.ac: Chheck for ALSA library.
-    * doc/disorder_config.5.in: Document 'device' option.
-    * README: Mention ALSA dependency.
-    * debian/control: Depend on alsa development library package.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README configure.ac
-     debian/changelog debian/control doc/disorder_config.5.in
-     lib/configuration.c lib/configuration.h lib/log.c
-     progs/Makefile.am progs/speaker.c
-
-
-2005-11-02 17:58:28 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-219
-
-    Summary:
-      Log speaker stderr.
-    Revision:
-      disorder--mainline--0.1--patch-219
-
-    * progs/play.c: log speaker stderr
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/changelog
-     progs/play.c
-
-
-2005-11-01 15:54:37 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-218
-
-    Summary:
-      Typo fixes
-    Revision:
-      disorder--mainline--0.1--patch-218
-
-    * doc/disorder.1.in: Typo fixes.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder.1.in
-
-
-2005-10-23 13:59:59 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-217
-
-    Summary:
-      Fix process-management problems.
-    Revision:
-      disorder--mainline--0.1--patch-217
-
-    * lib/hash.c: Grow array correctly so we don't lose PIDs.
-    * lib/queue.h: Abolish per-track signal.  Too much hassle for not enough
-      gain.
-    * progs/play.c: Abolish per-track signal.  Log failures to find PIDs.
-    * progs/speaker.c: Log too-short grace periods.
-    
-    * doc/disorder_config.5.in: Document the above.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README.raw
-     debian/changelog doc/disorder_config.5.in lib/hash.c
-     lib/queue.c lib/queue.h progs/play.c progs/speaker.c
-
-
-2005-10-22 16:22:16 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-216
-
-    Summary:
-      Various shutdown fixes
-    Revision:
-      disorder--mainline--0.1--patch-216
-
-    * progs/play.c: Terminate all players on shutdown, not just the one for
-      the currently playing track.
-    * lib/configuration.c: Default signal to forcibly terminate players is
-      now SIGKILL.
-    * examples/config.sample.in: Don't use --signal=SIGKILL any more.
-    * debian/disorder.config: Don't use --signal=SIGKILL any more.
-    * doc/disorder_config.5.in: Document change to SIGKILL.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 README.raw
-     debian/disorder.config doc/disorder_config.5.in
-     examples/config.sample.in lib/configuration.c progs/play.c
-
-
-2005-10-22 16:03:27 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-215
-
-    Summary:
-      Stop web UI refreshing like mad
-    Revision:
-      disorder--mainline--0.1--patch-215
-
-    * progs/dcgi.c: Don't clamp refresh to gap if next track in queue is a
-      random track and random play is not enabled.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/changelog
-     progs/dcgi.c
-
-
-2005-10-16 20:16:30 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-214
-
-    Summary:
-      Don't forget PIDs across reconfiguration.
-    Revision:
-      disorder--mainline--0.1--patch-214
-
-    This change moves PIDs out of queue entries and instead uses a hash table
-    to map IDs to PIDs.  The reason is that on reconfigure the queue is saved
-    and reloaded, losing the PID along the way.
-    
-    * lib/hash.c: Simple hash table.
-    * lib/queue.h: Don't keep PID in queue data structure.
-    * progs/play.c: Move PID records to a hash table.
-
-    new files:
-     lib/hash.c lib/hash.h
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/Makefile.am
-     lib/queue.c lib/queue.h progs/play.c
-
-
-2005-10-16 18:12:13 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-213
-
-    Summary:
-      Clean up rescan abort.
-    Revision:
-      disorder--mainline--0.1--patch-213
-
-    * progs/trackdb.c: reap_rescan() no longer trashes PID of new rescanner.
-      trackdb_scan() is now interruptible.  Propagate debug status to
-      subprocesses.
-    * progs/deadlock.c: --no-debug option.
-    * progs/rescan.c: Cleaner abort.  --no-debug option.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/deadlock.c
-     progs/rescan.c progs/trackdb-int.h progs/trackdb.c
-
-
-2005-10-16 17:38:20 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-212
-
-    Summary:
-      Don't forget lookahead on reconfigure.
-    Revision:
-      disorder--mainline--0.1--patch-212
-
-    * progs/play.c: Commit queue after adding a random track.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/play.c
-
-
-2005-10-16 17:33:18 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-211
-
-    Summary:
-      More on disorder-rescan interruption.
-    Revision:
-      disorder--mainline--0.1--patch-211
-
-    * progs/rescan.c: SA_RESTART for SIGINT/SIGTERM.
-    * CHANGES: Mention the reconfigure hang bug as fixed.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 progs/rescan.c
-
-
-2005-10-16 17:24:05 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-210
-
-    Summary:
-      Propagate reconfigure requests to the speaker process.
-    Revision:
-      disorder--mainline--0.1--patch-210
-
-    This is more work than it sounds because previously the reconfigure code
-    would leak memory in the absence of a garbage collector.  It still will
-    on error, but this should be rather rare - if the server fails to parse
-    the configuration it doesn't tell the speaker to reload it.
-    
-    Along the way fixed a logging bug and a rescan bug than could hang the
-    server in a db close operation.
-    
-    * progs/state.c: Transmit reconfiguration requests to the speaker process.
-    * progs/play.c: Transmit reconfiguration requests to the speaker process.
-    * progs/speaker.c: Log configuration reloads.
-    * lib/configuration.c: Free old configs when new ones are installed.
-      This implies taking a bit more care over when we strdup.
-      Also put in VALUE/ADDRESS macros for less typo-prone access to
-      configuration struct members.
-    * lib/mem.c: xfree() calls free/GC_free as appropriate.  
-    * lib/charset.c: Use realloc rather than malloc to avoid leaking memory
-      in non-GC case
-    * progs/rescan.c: Shut down cleanly on SIGTERM/SIGINT to keep db happy.
-      Also use stderr rather than stdout to determine whether to log to
-      syslog or stderr.
-    * progs/trackdb.c: Only redirect subprogram output if we're not on a
-      terminal.  Also stomp db_deadlock_pid on a just-in-case basis.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/charset.c
-     lib/configuration.c lib/configuration.h lib/mem.c lib/mem.h
-     progs/play.c progs/play.h progs/rescan.c progs/speaker.c
-     progs/state.c progs/trackdb.c
-
-
-2005-10-16 15:44:40 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-209
-
-    Summary:
-      More careful checking for track termination in speaker.
-    Revision:
-      disorder--mainline--0.1--patch-209
-
-    * progs/speaker.c: Cope with player being interrupted part way through a
-      frame.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/changelog
-     progs/speaker.c
-
-
-2005-10-16 13:53:34 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-208
-
-    Summary:
-      Workarounds for various external bugs.
-    Revision:
-      disorder--mainline--0.1--patch-208
-
-    * README.raw: Document ogg123 braindamage.
-    * examples/config.sample.in: --signal=SIGKILL for ogg123.
-    * debian/disorder.config: --signal=SIGKILL for ogg123.
-    * driver/disorder.c: Call exit instead of _exit, to allow for player
-      cleanup.
-    * lib/event.c: Work around ptrace braindamage.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 README.raw
-     debian/changelog debian/disorder.config driver/disorder.c
-     examples/config.sample.in lib/event.c
-
-
-2005-10-15 19:20:46 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-207
-
-    Summary:
-      Fix crash in speaker process.
-    Revision:
-      disorder--mainline--0.1--patch-207
-
-    * progs/speaker.c: Check the number of bits per sample in the incoming
-      data, not the currently playing track.  This could not only cause the
-      answer to be potentially wrong, but would crash if there was no playing
-      track.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/speaker.c
-
-
-2005-10-15 15:59:11 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-206
-
-    Summary:
-      Catch up.
-    Revision:
-      disorder--mainline--0.1--patch-206
-
-    * CHANGES: Mention multi-track editing.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-
-
-2005-10-15 15:44:37 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-205
-
-    Summary:
-      Edit prefs for a whole directory at once.
-    Revision:
-      disorder--mainline--0.1--patch-205
-
-    * progs/dcgi.c: Support editing prefs for multiple track simultaneously.
-    * templates/choose.html: Link to whole-directory prefs edit.
-    * templates/prefs.html: Support editing prefs for multiple track
-      simultaneously.  We lose the raw prefs interface for the time being; it
-      remains available via the command line however.
-    * templates/recent.html: New prefs args.
-    * templates/options.labels: New labels for whole-directory prefs-editing.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-     progs/dcgi.c templates/choose.html templates/options.labels
-     templates/prefs.html templates/recent.html
-
-
-2005-10-15 13:07:00 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-204
-
-    Summary:
-      Random track lookahead.
-    Revision:
-      disorder--mainline--0.1--patch-204
-
-    * lib/queue.c: Support adding queue entries just before the final random
-      track.  Cope with reading back in randomly pick tracks from a saved
-      queue (they have no submitter which was previously not allowed).
-    * progs/dcgi.c: @who@ now just reports an empty string if there was no
-      submitter rather than &nbsp;.  Also correct the order of the table of
-      expansions.
-    * progs/play.c: add_random_track() adds a random track if random play is
-      enabled and there is no such track in the queue.  play() now uses that
-      instead of doing it itself, and doesn't play random tracks found in the
-      queue if random play is disabled.  It also adds a new random track just
-      after playing the old one.
-      If necessary add a random track when play/random play are enabled.
-    * progs/server.c: Add a new random track if the old one is removed.  Also
-      when random track is moved to a non-final position in the queue then we
-      make it into a normal track and add a new random track.
-    * templates/playing.html: Indicate the random track in the queue and if
-      playing, using new labels.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 lib/queue.c
-     lib/queue.h progs/dcgi.c progs/play.c progs/play.h
-     progs/server.c templates/options.labels templates/playing.html
-
-
-2005-10-15 12:28:15 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-203
-
-    Summary:
-      Cope with randomly chosen tracks in the queue.
-    Revision:
-      disorder--mainline--0.1--patch-203
-
-    At the moment nothing adds such tracks to the queue, so this is just
-    laying foundations.
-    
-    * lib/queue.h: New 'random' track state indicates that the track was a
-      randomly chosen track in the queue rather than explicitly requested.
-    * progs/dcgi.c: @state@ expansion provides access to track state field in
-      queue.  Process random tracks just as unplayed ones.
-    * progs/play.c: Handle 'random' state just like 'unplayed'.
-    * doc/disorder_config.5.in: Document @state@ expansion and track states.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-     lib/queue.c lib/queue.h progs/dcgi.c progs/play.c
-
-
-2005-10-15 11:58:37 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-202
-
-    Summary:
-      Complete label docs.
-    Revision:
-      disorder--mainline--0.1--patch-202
-
-    * templates/options.labels: Document links.css, missed in previous pass.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/options.labels
-
-
-2005-10-15 11:56:27 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-201
-
-    Summary:
-      More change detail.
-    Revision:
-      disorder--mainline--0.1--patch-201
-
-    * CHANGES: More detail.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-
-
-2005-10-15 11:39:22 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-200
-
-    Summary:
-      Move documentation of labels to options.labels.
-    Revision:
-      disorder--mainline--0.1--patch-200
-
-    * templates/options.labels: Document labels.
-    * doc/disorder_config.5.in: No longer document labels here.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in templates/options.labels
-
-
-2005-10-15 11:16:15 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-199
-
-    Summary:
-      New buttons to move to head/tail of queue.
-    Revision:
-      disorder--mainline--0.1--patch-199
-
-    * images/Makefile.am: Install new images.
-    * templates/playing.html: New buttons to move to head/tail.
-    * templates/options.labels: Labels to configure new buttons.
-    * debian/options.debian: Keep up to date.
-    * templates/help.html: Document new queue management.
-    * doc/disorder_config.5.in: Document new labels (at least as well as the
-      old ones; I am starting to think that the options.* files would be a
-      better place for this stuff.)
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     debian/options.debian doc/disorder_config.5.in
-     images/Makefile.am templates/help.html
-     templates/options.labels templates/playing.html
-
-
-2005-10-15 10:55:34 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-198
-
-    Summary:
-      new images
-    Revision:
-      disorder--mainline--0.1--patch-198
-
-    New {no,}{upup,downdown}.png images for sending a track right to the end
-    of the queue.
-
-    new files:
-     images/.arch-ids/downdown.png.id
-     images/.arch-ids/nodowndown.png.id
-     images/.arch-ids/noupup.png.id images/.arch-ids/upup.png.id
-     images/downdown.png images/nodowndown.png images/noupup.png
-     images/upup.png
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1
-
-
-2005-10-14 18:33:18 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-197
-
-    Summary:
-      more debian catchup
-    Revision:
-      disorder--mainline--0.1--patch-197
-
-    * debian/options.debian: bring images up to date
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/changelog
-     debian/options.debian
-
-
-2005-10-14 18:14:56 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-196
-
-    Summary:
-      debian config catchup
-    Revision:
-      disorder--mainline--0.1--patch-196
-
-    * debian/disorder.config: no gap between tracks
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/changelog
-     debian/disorder.config
-
-
-2005-10-09 13:31:20 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-195
-
-    Summary:
-      Documentation.
-    Revision:
-      disorder--mainline--0.1--patch-195
-
-    * templates/help.html: Bring help up to date with UI changes.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/help.html
-
-
-2005-10-09 13:24:58 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-194
-
-    Summary:
-      Release notes.
-    Revision:
-      disorder--mainline--0.1--patch-194
-
-    * CHANGES: More coherent change description.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-
-
-2005-10-09 13:07:48 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-193
-
-    Summary:
-      More release notes.
-    Revision:
-      disorder--mainline--0.1--patch-193
-
-    * README.raw: mpg321 is less buggy than ogg123.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README.raw
-
-
-2005-10-09 13:05:17 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-192
-
-    Summary:
-      Fix plugin interface.
-    Revision:
-      disorder--mainline--0.1--patch-192
-
-    * lib/disorder.h: Missing 'extern'.
-    * lib/speaker.c: Build fixes (for Darwin).
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder.3
-     lib/disorder.h lib/speaker.c
-
-
-2005-10-09 12:59:44 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-191
-
-    Summary:
-      Pre-decode raw tracks; better support for buggy players; tidy-ups.
-    Revision:
-      disorder--mainline--0.1--patch-191
-
-    * progs/play.c: prepare() and abandon() allow tracks to be prepared for
-      play (and abandoned when they are removed from the queue) before they
-      are actually to be played.
-    * progs/server.c: Call prepare() and abandon() when appropriate.
-    * driver/disorder.c: New 'fragile' option to work around players that
-      ignore write errors.
-    
-    * doc/disorder_config.5.in: Document libao driver properly.
-    * README.raw: Bring notes on raw players up to date.
-    
-    * examples/config.sample.in: Use fragile driver option for ogg213.
-    * debian/disorder.config: Use disorder libao driver.
-    * debian/control: Depend on mpg321 directly as we address its command
-      line syntax now.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README.raw debian/control
-     debian/disorder.config doc/disorder_config.5.in
-     driver/disorder.c examples/config.sample.in progs/play.c
-     progs/play.h progs/server.c
-
-
-2005-10-09 10:52:47 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-190
-
-    Summary:
-      cleanfiles
-    Revision:
-      disorder--mainline--0.1--patch-190
-
-    * progs/Makefile.am: clean up temprary files
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/Makefile.am
-
-
-2005-10-09 10:41:23 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-189
-
-    Summary:
-      miscellaneous command-line fixups
-    Revision:
-      disorder--mainline--0.1--patch-189
-
-    * progs/Makefile.am: check that command completions are up to date
-    * scripts/completion.bash: bring command completions up to date
-    * progs/disorder.c: fix help for scratch-id
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/Makefile.am
-     progs/disorder.c scripts/completion.bash
-
-
-2005-10-08 17:00:04 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-188
-
-    Summary:
-      more web pause
-    Revision:
-      disorder--mainline--0.1--patch-188
-
-    Sort out pausing labels and use thereof.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/options.labels
-     templates/playing.html
-
-
-2005-10-08 16:55:32 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-187
-
-    Summary:
-      pausing from the web
-    Revision:
-      disorder--mainline--0.1--patch-187
-
-    * progs/dcgi.c: new @paused@ expansion and pause/resume actions.
-    * templates/playing.html: pausing.  State buttons now have a uniform
-      button and a tick/cross by them to indicate state.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-     progs/dcgi.c templates/disorder.css templates/options.labels
-     templates/playing.html
-
-
-2005-10-08 16:32:49 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-186
-
-    Summary:
-      Images again
-    Revision:
-      disorder--mainline--0.1--patch-186
-
-    More coherent image naming.
-
-    removed files:
-     images/.arch-ids/cross.png.id images/cross.png
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 images/Makefile.am
-     templates/options.labels templates/playing.html
-
-    renamed files:
-     images/.arch-ids/noscratch.png.id
-       ==> images/.arch-ids/nocross.png.id
-     images/.arch-ids/scratch.png.id
-       ==> images/.arch-ids/cross.png.id
-     images/noscratch.png
-       ==> images/nocross.png
-     images/scratch.png
-       ==> images/cross.png
-
-
-2005-10-08 16:29:54 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-185
-
-    Summary:
-      new images
-    Revision:
-      disorder--mainline--0.1--patch-185
-
-    Tick and cross images.
-
-    new files:
-     images/.arch-ids/cross.png.id images/.arch-ids/tick.png.id
-     images/cross.png images/tick.png
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 images/Makefile.am
-
-
-2005-10-08 15:08:51 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-184
-
-    Summary:
-      release notes
-    Revision:
-      disorder--mainline--0.1--patch-184
-
-    * CHANGES: mention pausing
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-
-
-2005-10-08 15:05:57 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-183
-
-    Summary:
-      more pausing work
-    Revision:
-      disorder--mainline--0.1--patch-183
-
-    * lib/plugin.c: fix a rather disastrous typo
-    * lib/queue.c: new 'paused' state for a track.  queue_fix_sofar() broken
-      out as a separate function.
-    * progs/dcgi.c: cope with paused tracks
-    * progs/server.c: call queue_fix_sofar() before sending currently playing
-      track or calculating expected start times.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/plugin.c lib/queue.c
-     lib/queue.h progs/dcgi.c progs/disorder.c progs/play.c
-     progs/server.c
-
-
-2005-10-08 14:38:22 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-182
-
-    Summary:
-      support pausers that don't know how much played
-    Revision:
-      disorder--mainline--0.1--patch-182
-
-    * lib/queue.c: support a played-so-far return of -1, as described in
-      disorder.h
-    * doc/disorder.3: document played-so-far of -1.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder.3 lib/queue.c
-
-
-2005-10-08 14:26:20 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-181
-
-    Summary:
-      typo
-    Revision:
-      disorder--mainline--0.1--patch-181
-
-    * progs/disorder.c: typo fix
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/disorder.c
-
-
-2005-10-08 14:24:01 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-180
-
-    Summary:
-      more docs
-    Revision:
-      disorder--mainline--0.1--patch-180
-
-    * doc/disorder.3: note that prefork/pause functions mustn't block.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder.3
-
-
-2005-10-08 14:15:28 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-179
-
-    Summary:
-      more pause/resume work
-    Revision:
-      disorder--mainline--0.1--patch-179
-
-    * lib/play.c: Pausing is now a capabality (of standalone players) not
-      a new player type.  New notify calls for pausing/resuming.
-    * python/disorder.py.in: Python bindings for pause/resume.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder.3
-     lib/disorder.h lib/plugin.c lib/plugin.h plugins/notify.c
-     progs/play.c python/disorder.py.in
-
-
-2005-10-08 14:05:16 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-178
-
-    Summary:
-      docs + minor fixes
-    Revision:
-      disorder--mainline--0.1--patch-178
-
-    * doc/disorder.3: document updated player plugin interface
-    * doc/disorder.1.in: document pause/resume commands
-    * lib/disorder.h: correct sifnature of disorder_play_resume
-    * progs/disorder.c: correct order of commands
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder.1.in
-     doc/disorder.3 lib/disorder.h progs/disorder.c
-
-
-2005-10-08 13:49:04 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-177
-
-    Summary:
-      typo fix
-    Revision:
-      disorder--mainline--0.1--patch-177
-
-    * progs/disorder.c: typo
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/disorder.c
-
-
-2005-10-08 13:48:42 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-176
-
-    Summary:
-      implement pausing support
-    Revision:
-      disorder--mainline--0.1--patch-176
-
-    _PLAYER_PAUSES is not really tested since I don't have any playes that
-    support that protocol.  Also the web interface does not know anything
-    about this yet, and it is not documented.
-    
-    * progs/play.c: Implement pausing.  
-    
-    * lib/queue.c: Pause/resume tracking for _PLAYER_PAUSES players.
-    * lib/client.c: C pause/resume bindings.
-    * lib/plugin.c: Pause/resume stubs.
-    * progs/disorder.c: Pause/resume commands.
-    * progs/server.c: Pause/resume commands.  Automatically resumes under
-      conditions.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/client.c lib/client.h
-     lib/plugin.c lib/plugin.h lib/queue.c lib/queue.h
-     progs/disorder.c progs/play.c progs/play.h progs/server.c
-
-
-2005-10-05 21:53:29 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-175
-
-    Summary:
-      documentation catchup
-    Revision:
-      disorder--mainline--0.1--patch-175
-
-    First pass at documenting the latest batch of changes.  Also updated the
-    sample config file to use raw players for OGG and MP3, and to remove the
-    inter-track gap.
-
-    new files:
-     README.raw
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 README
-     README.upgrades doc/disorder_config.5.in
-     examples/config.sample.in
-
-
-2005-10-05 20:58:25 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-174
-
-    Summary:
-      implement and use the speaker process.
-    Revision:
-      disorder--mainline--0.1--patch-174
-
-    No documentation yet!
-    
-    * driver/disorder.c: Look at ${DISORDER_RAW_FD} for default output file
-      descriptor.
-    * lib/plugin.c: New play_get_type().  Tidy up.
-    * lib/queue.h: Correct order of enum constants.
-                   New queue entry fields:
-                   * type - type word from plugin
-                   * pid - process ID of decoder/player
-                   * sofar - how many seconds played so far
-              * signal - signal to kill decoder/player
-    * lib/queue.c: fake up sofar field where it's not filled in by the
-      speaker process
-    * lib/syscalls.c: we never use chdir, so remove it.
-    * plugins/execraw.c: exec plugin for decoders, uses modified exec.c
-    * progs/deadlock.c: use stderr not stdout to determine whether we're a
-      daemon
-    * progs/disorder.c: report sofar
-    * progs/disorderd.c: start speaker process
-    * progs/play.c: use the speaker process for _RAW players.
-      + send the speaker an SM_PLAY if a _RAW player
-      + support --wait-for-device and --signal player options
-      + act on incoming messages from the speaker
-      + split player-finished logic into process-finished and generic halves
-      + still scratch even if subprocess terminated
-      + disconnect from speaker when quitting
-    * lib/signame.c: split out of configuration.c, needed by --signal player
-      option
-    * lib/speaker.c: speaker/server communication support
-    * progs/speaker.c: the speaker process itself.
-
-    new files:
-     lib/signame.c lib/signame.h lib/speaker.c lib/speaker.h
-     plugins/execraw.c progs/speaker.c
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 driver/disorder.c
-     lib/Makefile.am lib/configuration.c lib/configuration.h
-     lib/disorder.h lib/plugin.c lib/plugin.h lib/queue.c
-     lib/queue.h lib/syscalls.c lib/syscalls.h plugins/Makefile.am
-     plugins/exec.c plugins/shell.c progs/Makefile.am
-     progs/deadlock.c progs/disorder.c progs/disorderd.c
-     progs/play.c progs/play.h progs/state.c
-
-
-2005-10-01 17:31:19 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-173
-
-    Summary:
-      Prefork/cleanup support
-    Revision:
-      disorder--mainline--0.1--patch-173
-
-    * lib/plugin.c: simplify plugin opening interface.  The main reason for
-      the plugin struct is to keep track of plugin names and to avoid repeat
-      opening, but it also allows the hiding of the dlopen() interface.
-      Also add support for the prefork/cleanup interface.
-    
-    * lib/queue.h: track plugin and its data for each track.  Currently only
-      for the playing track but perhaps also for pre-decoded tracks in the
-      future.
-    
-    * progs/play.c: Support the prefork/cleanup player plugin interface.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/plugin.c lib/plugin.h
-     lib/queue.c lib/queue.h progs/play.c
-
-
-2005-10-01 16:35:07 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-172
-
-    Summary:
-      new plugin interface
-    Revision:
-      disorder--mainline--0.1--patch-172
-
-    New plugin interface declarations.  No implementation behind them yet
-    however.
-    
-    * lib/disorder.h: new player plugin declarations
-    * plugins/shell.c: new plugin interface
-    * plugins/exec.c: new plugin interface
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/disorder.h
-     plugins/exec.c plugins/shell.c
-
-
-2005-10-01 16:16:50 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-171
-
-    Summary:
-      libao driver
-    Revision:
-      disorder--mainline--0.1--patch-171
-
-    * driver/disorder.c: libao driver that outputs in raw format with a
-      descriptive header.
-    * README: note dependency on libao
-
-    new files:
-     driver/.arch-ids/=id driver/Makefile.am driver/disorder.c
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 Makefile.am README
-     README.darwin configure.ac
-
-    new directories:
-     driver driver/.arch-ids
-
-
-2005-09-27 18:30:42 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-170
-
-    Summary:
-      random play enabled on first startup
-    Revision:
-      disorder--mainline--0.1--patch-170
-
-    If random play is enabled before we've got any tracks then
-    trackdb_random() tried to get record 1 of 0, and fails, and terminates
-    the process.  Fixed.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 progs/trackdb.c
-
-
-2005-08-07 11:11:05 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-169
-
-    Summary:
-      build against fink libraries without extra configure args
-    Revision:
-      disorder--mainline--0.1--patch-169
-
-    * configure.ac: if fink is installed, add some CPPFLAGS/LDFLAGS based on
-      its path.
-    * README.darwin: no longer need to specify paths to fink libraries.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README.darwin configure.ac
-
-
-2005-07-04 21:55:09 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-168
-
-    Summary:
-      more build-time testing
-    Revision:
-      disorder--mainline--0.1--patch-168
-
-    * lib/Makefile.am: don't automatically run checks
-    * progs/Makefile.am: check that --help options work
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/Makefile.am
-     progs/Makefile.am scripts/dist scripts/inst
-
-
-2005-07-04 21:40:14 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-167
-
-    Summary:
-      don't crash in --help-commands
-    Revision:
-      disorder--mainline--0.1--patch-167
-
-    * progs/disorder.c: don't crash in --help-commands
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/disorder.c
-
-
-2005-06-18 17:31:44 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-166
-
-    Summary:
-      correct version numbers
-    Revision:
-      disorder--mainline--0.1--patch-166
-
-    * README.upgrades: correct version numbers
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README.upgrades
-
-
-2005-06-17 17:24:01 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-165
-
-    Summary:
-      post 1.3
-    Revision:
-      disorder--mainline--0.1--patch-165
-
-    * CHANGES: remove entries up to 1.0.  200 lines is plenty of history in a
-      file people are expected to actually read.
-    * configure.ac: version changed to 1.3+dev
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 configure.ac
-
-
-2005-06-16 20:42:17 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-164
-
-    Summary:
-      release 1.2
-    Revision:
-      disorder--mainline--0.1--patch-164
-
-    * progs/server.c: save queue after move operation
-    * configure.ac: release 1.3
-    * debian/changelog: release 1.3
-    * CHANGES: release 1.3
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 configure.ac
-     debian/changelog progs/server.c
-
-
-2005-06-16 20:31:17 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-163
-
-    Summary:
-      missing documentation
-    Revision:
-      disorder--mainline--0.1--patch-163
-
-    * doc/disorder_config.5.in: document 'alias' directive
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-
-
-2005-06-16 20:16:40 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-162
-
-    Summary:
-      distribution administrivia
-    Revision:
-      disorder--mainline--0.1--patch-162
-
-    * debian/rules.m4: install all READMEs
-    * progs/Makefile.am: remember trackdb-int.h
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/changelog
-     debian/rules.m4 progs/Makefile.am
-
-
-2005-06-08 09:48:40 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-161
-
-    Summary:
-      quieten tree-lint
-    Revision:
-      disorder--mainline--0.1--patch-161
-
-    * {arch}/=tagging-method: stop tree-lint from complaining about emacs
-      droppings
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 {arch}/=tagging-method
-
-
-2005-06-01 22:45:28 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-160
-
-    Summary:
-      darwin port update
-    Revision:
-      disorder--mainline--0.1--patch-160
-
-    Build on Mac OS X again.
-    
-    * progs/trackdb.c: missing header
-    * progs/trackdb-int.h: correct types
-    * README.darwin: note requirement for db4.3
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README.darwin
-     progs/trackdb-int.h progs/trackdb.c
-
-
-2005-05-31 22:13:11 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-159
-
-    Summary:
-      update CHANGES
-    Revision:
-      disorder--mainline--0.1--patch-159
-
-    * CHANGES: mention missing files included for 1.2.1.  The fclose checked
-      in 1.2.1 isn't present any more anyway.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-
-
-2005-05-31 19:55:21 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-158
-
-    Summary:
-      web ui reports errors more gracefully
-    Revision:
-      disorder--mainline--0.1--patch-158
-
-    * progs/cgimain.c: report errors by calling disorder_cgi_error()
-    * progs/dcgi.c: disorder_cgi_error expands the 'error' template with the
-      'error' label set to an error indicator string.
-    * progs/cgi.c: cgi_set_option allows web options to be set other than
-      through the config files
-    
-    * templates/error.html: new template for error pages
-    * templates/options.labels: default error strings
-
-    new files:
-     templates/error.html
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in progs/cgi.c progs/cgi.h
-     progs/cgimain.c progs/dcgi.c progs/dcgi.h
-     templates/Makefile.am templates/options.labels
-
-
-2005-05-31 19:26:23 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-157
-
-    Summary:
-      management screen fixes
-    Revision:
-      disorder--mainline--0.1--patch-157
-
-    * templates/playing.html: put a <form> around volume input boxes, so the
-      client knows where to send the change.
-    * templates/disorder.css: management stuff is all displayed inline
-    * doc/ui-checklist.txt: new checklist for manual UI testing
-
-    new files:
-     doc/ui-checklist.txt
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/disorder.css
-     templates/playing.html
-
-
-2005-05-31 18:23:15 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-156
-
-    Summary:
-      minor build fixes
-    Revision:
-      disorder--mainline--0.1--patch-156
-
-    * progs/dcgi.c: quieten compiler
-    * lib/Makefile.am: delete the right file
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/Makefile.am
-     progs/dcgi.c
-
-
-2005-05-30 11:02:45 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-155
-
-    Summary:
-      color enable/disable buttons to reflect current state
-    Revision:
-      disorder--mainline--0.1--patch-155
-
-    * templates/disorder.css: enable/disable button colors
-    * templates/playing.html: enable/disable buttons get red/green
-      backgrounds
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     templates/disorder.css templates/options.labels
-     templates/playing.html
-
-
-2005-05-30 10:27:41 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-154
-
-    Summary:
-      update copyright dates
-    Revision:
-      disorder--mainline--0.1--patch-154
-
-    Administrivia.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 acinclude.m4
-     examples/disorder.init.in progs/api-server.c
-
-
-2005-05-29 23:17:23 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-153
-
-    Summary:
-      update CHANGES
-    Revision:
-      disorder--mainline--0.1--patch-153
-
-    * CHANGES: note that subprocess output is logged
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-
-
-2005-05-29 22:51:59 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-152
-
-    Summary:
-      log output of subprocesses
-    Revision:
-      disorder--mainline--0.1--patch-152
-
-    * lib/logfd.c: logfd() returns an FD which (via the event loop) ends up
-      in log output.  Useful to pick up stdout/stderr of subprocesses.
-    * progs/trackdb.c: log output of deadlock and rescan subprocesses
-    * progs/play.c: log output of player subprocesses
-    
-    * progs/rescan.c: check for newline in raw path, not track
-    * progs/dcgi.c: quieten compiler
-    * progs/dump.c: quieten compiler
-
-    new files:
-     lib/logfd.c lib/logfd.h
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/Makefile.am
-     progs/dcgi.c progs/dump.c progs/play.c progs/rescan.c
-     progs/trackdb.c
-
-
-2005-05-29 18:30:28 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-151
-
-    Summary:
-      unweird search output
-    Revision:
-      disorder--mainline--0.1--patch-151
-
-    Searching was producing weird results: the artist 'Various' was being
-    displayed as the first aliased artist (but sorted, correctly, as
-    'Various').  This change fixes this, though artists are still sorted by
-    their display name (so the 'The ...' bug remains in this context).  
-    
-    * progs/dcgi.c: @search@ takes an additional CONTEXT argument, and marks
-      the last element in a group correctly.
-    * doc/disorder_config.5.in: document changes to @search@
-    * templates/search.html: @search@ context used to avoid weirdness.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-     progs/dcgi.c templates/search.html
-
-
-2005-05-29 18:01:01 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-150
-
-    Summary:
-      rewritten track database code
-    Revision:
-      disorder--mainline--0.1--patch-150
-
-    * lib/disorder.h: _count and _getn are gone, replaced by _random
-    * plugins/pick.c: use _random instead of _count and _getn
-    
-    * lib/client.c: rescan no longer takes an arg; dump is gone; new resolve
-      command.
-    * lib/filepart.c: strip_extension() and extension()
-    * lib/trackname.c: implement 'ext' and 'path' parts here
-    * progs/api-server.c: adapt to new trackdb_ interface
-    * progs/dcgi.c: resolve paths when figuring out track status; implement
-      @resolve@
-    * progs/disorder.c: new resolve, scratch-id; modified rescan
-    * progs/disorderd.c: adapt to new trackdb_ code; open database after
-      taking lockfile, not before; move user change code to user.c
-    * progs/play.c: adapt to new trackdb_ interface
-    * progs/server.c: adapt to new trackdb_ interface.  resolve aliases when
-      playing.  dump is gone.  new resolve command.
-    * progs/state.c: dapt to new trackdb_ interface
-    * progs/trackdb.c: new trackdb.  Largely rewritten though a little old
-      tracks.c material remains.
-    
-    * progs/dump.c: rewritten for new trackdb_ code.  Dump and undump both
-      access the database directly and work while the server is running
-      (although particularly undumping while it is running is likely to be
-      painful).  --recompute-aliases and --remove-pathless can be used to
-      tidy up broken databases, mostly useful when developing.  --recover and
-      --recover-fatal provide access to libdb facilities (though these are
-      also available through db_recover).
-    * progs/deadlock.c: disorder-deadlock implementation.  Just runs the
-      deadlock detector once a second.
-    * progs/rescan.c: disorder-rescan implementation.
-    * progs/user.c: user-switching code taken from disorderd.c
-    
-    * templates/choose.html: resolve track when linking to prefs
-    
-    * scripts/completion.bash: disorder-dump support
-    * examples/disorder.init.in: put sbindir on the path
-    
-    * debian/control: need libdb4.3-dev
-    
-    * doc/disorder-dump.8.in: document rewritten dump program
-    * doc/disorder.1.in: document resolve, scratch-id and modified rescan
-    * doc/disorder.3: _count and _getn are gone, replaced by _random; recheck
-      happens in a subprocess.
-    * doc/disorder_config.5.in: document @resolve@
-    * doc/disorder_protocol.5.in: document resolve and changed rescan; dump
-      is gone.
-    * doc/disorderd.8.in: helper programs must be on the path; discuss
-      backups using disorder-dump.  Mention DB_CONFIG.
-
-    new files:
-     doc/disorder-deadlock.8.in doc/disorder-rescan.8.in
-     progs/deadlock.c progs/rescan.c progs/trackdb-int.h
-     progs/trackdb.c progs/trackdb.h progs/user.c progs/user.h
-
-    removed files:
-     progs/rescan.c progs/tracks.c progs/tracks.h
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 README
-     README.upgrades debian/control doc/Makefile.am
-     doc/disorder-dump.8.in doc/disorder.1.in doc/disorder.3
-     doc/disorder_config.5.in doc/disorder_protocol.5.in
-     doc/disorderd.8.in examples/disorder.init.in lib/client.c
-     lib/client.h lib/disorder.h lib/event.c lib/filepart.c
-     lib/filepart.h lib/log-impl.h lib/trackname.c plugins/pick.c
-     progs/Makefile.am progs/api-server.c progs/dcgi.c
-     progs/disorder.c progs/disorderd.c progs/dump.c progs/play.c
-     progs/server.c progs/state.c scripts/completion.bash
-     scripts/inst templates/choose.html
-
-
-2005-05-27 14:24:51 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-149
-
-    Summary:
-      new 'lock' directive
-    Revision:
-      disorder--mainline--0.1--patch-149
-
-    * progs/disorderd.c: take lock here, under control of 'lock' directive
-    * progs/tracks.c: don't lock here any more
-    * lib/configuration.c: 'lock' directive 
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in lib/configuration.c
-     lib/configuration.h progs/disorderd.c progs/tracks.c
-
-
-2005-05-27 14:19:25 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-148
-
-    Summary:
-      wrap up program name setting
-    Revision:
-      disorder--mainline--0.1--patch-148
-
-    * lib/log.c: set_progname() sets progname from argv[0]
-    * progs/disorderd.c: use set_progname()
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/log.c lib/log.h
-     progs/disorderd.c
-
-
-2005-05-27 14:17:04 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-147
-
-    Summary:
-      optionally abort on fatal error
-    Revision:
-      disorder--mainline--0.1--patch-147
-
-    * lib/log-impl.h: DISORDER_FATAL_ABORT=yes forces fatal() to abort, for
-      debugging purposes.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/log-impl.h
-
-
-2005-05-27 14:04:58 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-146
-
-    Summary:
-      more liberal url-encoding
-    Revision:
-      disorder--mainline--0.1--patch-146
-
-    * lib/kvp.c: allow RFC2396 unreserved characters plus '/' to pass
-      URL-encoding unchanged.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/kvp.c
-
-
-2005-05-27 13:55:49 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-145
-
-    Summary:
-      more conservative signal handling
-    Revision:
-      disorder--mainline--0.1--patch-145
-
-    * lib/event.c: if we fail to write to the signal pipe then abort.  This
-      saves worry about write() modifiying errno.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/event.c
-
-
-2005-05-27 13:50:27 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-144
-
-    Summary:
-      libtool 1.4 no good
-    Revision:
-      disorder--mainline--0.1--patch-144
-
-    * README: libtool note
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README
-
-
-2005-05-26 12:02:49 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-143
-
-    Summary:
-      update copyright dates
-    Revision:
-      disorder--mainline--0.1--patch-143
-
-    Update copyright dates.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/regsub.c lib/regsub.h
-     lib/vector.h
-
-
-2005-05-26 11:54:52 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-142
-
-    Summary:
-      detect missing symbols in plugins early
-    Revision:
-      disorder--mainline--0.1--patch-142
-
-    * lib/plugin.c: use RTLD_NOW instead of RTLD_LAZY.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/plugin.c
-
-
-2005-05-22 13:15:38 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-141
-
-    Summary:
-      minor doc fixes
-    Revision:
-      disorder--mainline--0.1--patch-141
-
-    * debian/README.Debian: leftover names converted to /etc/disorder.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/README.Debian
-
-
-2005-05-21 17:16:03 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-140
-
-    Summary:
-      check for UTF-8 support in pcre.
-    Revision:
-      disorder--mainline--0.1--patch-140
-
-    * acinclude.m4: new RJK_REQUIRE_PCRE_UTF8 macro checks that PCRE was
-      built with UTF-8 support.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 acinclude.m4 configure.ac
-
-
-2005-05-21 12:17:49 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-139
-
-    Summary:
-      config overview
-    Revision:
-      disorder--mainline--0.1--patch-139
-
-    * doc/disorder_config.5.in: add an overview section
-    
-    
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-
-
-2005-05-15 20:02:36 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-138
-
-    Summary:
-      unchecked fclose
-    Revision:
-      disorder--mainline--0.1--patch-138
-
-    * progs/tracks.c: unchecked fclose()
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/tracks.c
-
-
-2005-05-15 19:59:12 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-137
-
-    Summary:
-      correct for multiple =build directories
-    Revision:
-      disorder--mainline--0.1--patch-137
-
-    * {arch}/=tagging-method: correct =build* exclusion
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 {arch}/=tagging-method
-
-
-2005-05-15 19:57:44 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-136
-
-    Summary:
-      typos
-    Revision:
-      disorder--mainline--0.1--patch-136
-
-    * doc/disorder_config.5.in: typo fix
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-
-
-2005-05-11 18:56:43 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-135
-
-    Summary:
-      add missing files
-    Revision:
-      disorder--mainline--0.1--patch-135
-
-    * lib/filepart.c, lib/filepart.c: missing files from previous commit.
-      Thought that wasn't supposed to be possible...
-
-    new files:
-     lib/filepart.c lib/filepart.h
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1
-
-
-2005-05-08 19:05:56 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-134
-
-    Summary:
-      results of trackname_ prefs appear in virtual filesystem
-    Revision:
-      disorder--mainline--0.1--patch-134
-
-    * lib/configuration.c: 'alias' directive; syntax-check collection root
-    * lib/regsub.c: REGSUB_REPLACE flag to just expand the substitution
-      string rather than substituting it into the subject string
-    * lib/trackname.c: compute track name parts from track name without
-      collection root.
-    * progs/rescan.c: recompute aliases as part of rescan.
-    * progs/tracks.c: support aliases, i.e. names that appear in the virtual
-      filesystem corresponding to the results of trackname_display_ prefs.
-      When they are in the same directory as their real file, only the alias
-      is visible.
-    
-    * README.upgrades: note 'ext' namepart and namepart changes
-    * debian/disorder.config: add 'ext' directive and update namepart
-      directives for new semantics
-    * doc/disorder_config.5.in: note that collection root is removed.
-    * examples/config.sample.in: add 'ext' directive and update namepart
-      directives for new semantics
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README.upgrades
-     debian/disorder.config doc/disorder_config.5.in
-     examples/config.sample.in lib/Makefile.am lib/configuration.c
-     lib/configuration.h lib/regsub.c lib/regsub.h lib/trackname.c
-     lib/trackname.h lib/vector.h progs/play.c progs/rescan.c
-     progs/tracks.c progs/tracks.h
-
-
-2005-05-07 16:08:16 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-133
-
-    Summary:
-      'disorder authorize' command to simplify adding users
-    Revision:
-      disorder--mainline--0.1--patch-133
-
-    * lib/configuration.c: export paths to subsiduary configuration files as
-      required.
-    * progs/disorder.c: 'authorize' command
-    * progs/authorize.c: implementation of 'authorize' command
-    * scripts/completion.bash: add 'authorize' command to list
-    * README: mention disorder authorize; alternative advice about
-      config.USER ownership.
-    * doc/disorder.1.in: document 'authorize' command
-    * doc/disorder_config.5.in: config.private is root:jukebox, not jukebox:*
-      according to README and debian/postinst; make disorder_config(5)
-      consistent.
-
-    new files:
-     progs/authorize.c progs/authorize.h
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 README
-     doc/disorder.1.in doc/disorder_config.5.in lib/configuration.c
-     lib/configuration.h progs/Makefile.am progs/disorder.c
-     scripts/completion.bash
-
-
-2005-05-07 13:50:13 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-132
-
-    Summary:
-      more encoding safeguard text
-    Revision:
-      disorder--mainline--0.1--patch-132
-
-    * debian/templates (disorder/encoding): note in template text that you
-      can't guess the encoding.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/templates
-
-
-2005-05-07 13:30:54 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-131
-
-    Summary:
-      notes about wrong fs encoding troubles
-    Revision:
-      disorder--mainline--0.1--patch-131
-
-    * README: emphasize need to get filesystem encoding right
-    * BUGS: note about difficulty of recovering from wrong filesystem
-      encoding.
-
-    modified files:
-     BUGS ChangeLog.d/disorder--mainline--0.1 README
-
-
-2005-03-12 17:53:26 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-130
-
-    Summary:
-      missing file
-    Revision:
-      disorder--mainline--0.1--patch-130
-
-    * progs/Makefile.am: remember to distribute getopt.h
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/Makefile.am
-
-
-2005-03-12 17:51:42 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-129
-
-    Summary:
-      post 1.2
-    Revision:
-      disorder--mainline--0.1--patch-129
-
-    * configure.ac: 1.2+dev
-    
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 configure.ac
-
-
-2005-03-11 20:07:38 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-128
-
-    Summary:
-      release 1.2
-    Revision:
-      disorder--mainline--0.1--patch-128
-
-    * configure.ac, debian/changelog, CHANGES: version number
-    * scripts/inst: run ldconfig
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 configure.ac
-     debian/changelog scripts/inst
-
-
-2005-03-05 20:57:35 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-127
-
-    Summary:
-      build fix
-    Revision:
-      disorder--mainline--0.1--patch-127
-
-    * plugins/mad.c: quieten gcc 4 prerelease
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 plugins/mad.c
-
-
-2005-03-04 23:31:19 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-126
-
-    Summary:
-      fix broken @navigate@
-    Revision:
-      disorder--mainline--0.1--patch-126
-
-    * progs/dcgi.c: fix path name parsing in @navigate@.  Was always broken
-      but never showed up until memory allocation changes in patch-125.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/dcgi.c
-
-
-2005-03-04 19:41:29 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-125
-
-    Summary:
-      disable gc for some utilities
-    Revision:
-      disorder--mainline--0.1--patch-125
-
-    * lib/mem.c: callers can disable gc too
-    * progs/cgimain.c, progs/trackname.c: no gc for web interface or
-      trackname utility.  These are very short running programs.
-    * progs/disorderd.c: enable gc.  Long running program.
-    * progs/disorder.c, progs/dump.c: enable gc.  disorder(1) might run a
-      long time if log is used; dump.c allocates memory for every track which
-      soon goes unreachable.  If there are very many tracks then not freeing
-      this memory along the way might consume excessive amounts.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/mem.c lib/mem.h
-     progs/cgimain.c progs/disorder.c progs/disorderd.c
-     progs/dump.c progs/trackname.c
-
-
-2005-03-04 19:22:18 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-124
-
-    Summary:
-      optional disabling of garbage collection for debug purposes
-    Revision:
-      disorder--mainline--0.1--patch-124
-
-    * lib/mem.c: allow garbage collection to be turned off, e.g. for use with
-      memory allocation checkers that don't play nicely with libgc.  To turn
-      garbage collection off set the environment variable DISORDER_GC=no.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/mem.c
-
-
-2005-03-01 00:08:09 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-123
-
-    Summary:
-      tidying up
-    Revision:
-      disorder--mainline--0.1--patch-123
-
-    * lib/log.h: move log_output structure to log.c, since it is not needed
-      by callers any more.
-    * templates/disorder.css, templates/volume.html,
-      templates/stylesheet.html, scripts/htmlman: copyright date
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/log.c lib/log.h
-     progs/dcgi.c progs/dcgi.h scripts/htmlman
-     templates/choosealpha.html templates/disorder.css
-     templates/sidebar.html templates/stylesheet.html
-     templates/volume.html
-
-
-2005-02-27 19:43:31 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-122
-
-    Summary:
-      more spelling
-    Revision:
-      disorder--mainline--0.1--patch-122
-
-    * python/disorder.py.in: typo fixes
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 python/disorder.py.in
-
-
-2005-02-27 19:41:10 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-121
-
-    Summary:
-      better python docs
-    Revision:
-      disorder--mainline--0.1--patch-121
-
-    * python/disorder.py.in: more verbose docs
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 python/disorder.py.in
-     templates/help.html
-
-
-2005-02-27 19:21:51 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-120
-
-    Summary:
-      more 'tooltips'
-    Revision:
-      disorder--mainline--0.1--patch-120
-
-    * templates/playing.html: TITLE attributes for links and buttons
-    * templates/options.labels: values for the above attributes
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/options.labels
-     templates/playing.html
-
-
-2005-02-27 19:05:19 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-119
-
-    Summary:
-      typo fixes
-    Revision:
-      disorder--mainline--0.1--patch-119
-
-    * README.upgrades: typo fixes
-    * CHANGES: typo fixes
-    * doc/disorder_config.5.in: typo fixes
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 README.upgrades
-     doc/disorder_config.5.in
-
-
-2005-02-27 18:24:53 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-118
-
-    Summary:
-      remove annoying hang in tkdisorder
-    Revision:
-      disorder--mainline--0.1--patch-118
-
-    * python/tkdisorder: perform initial fill of recent window (or whatever)
-      in a background thread, to avoid blocking the rest of the UI.  We set
-      the cursor to 'watch' for the duration.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 python/tkdisorder
-
-
-2005-02-26 20:36:56 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-117
-
-    Summary:
-      debian fixes for new web arrangements
-    Revision:
-      disorder--mainline--0.1--patch-117
-
-    * debian/options.debian: this becomes a debian-specific version of
-      /etc/disorder/options, with alternative URLs for static content.  It's
-      marked as a conffile but the user would be better off putting their
-      changes into options.user.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/conffiles
-     debian/options.debian debian/rules.m4
-
-
-2005-02-26 18:46:03 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-116
-
-    Summary:
-      simpler static content configuration
-    Revision:
-      disorder--mainline--0.1--patch-116
-
-    * templates/options.labels: images.* and links.* are the full URL
-      (possibly relative to the disorder cgi base URL).
-    * templates/playing.html, templates/volume.html, templates/recent.html,
-      templates/help.html, templates/choose.html: fix image links
-    * templates/stylesheet.html: fix stylesheet URL
-    * doc/disorder_config.5.in: document URL changes
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-     templates/choose.html templates/help.html
-     templates/options.labels templates/playing.html
-     templates/recent.html templates/stylesheet.html
-     templates/volume.html
-
-
-2005-02-24 22:58:17 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-115
-
-    Summary:
-      static (non-embedded) stylesheet
-    Revision:
-      disorder--mainline--0.1--patch-115
-
-    * templates/disorder.css: copied from contents of stylesheet.html
-    * templates/stylesheet.html: just link to disorder.css
-    * templates/options.labels: links.css label identifies stylesheet
-
-    new files:
-     templates/disorder.css
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     templates/Makefile.am templates/options.labels
-     templates/stylesheet.html
-
-
-2005-02-20 19:29:08 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-114
-
-    Summary:
-      link/image title attributes
-    Revision:
-      disorder--mainline--0.1--patch-114
-
-    * templates/options.labels: new *.*verbose labels used for informative
-      TITLE attributes on various links and images
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/choose.html
-     templates/credits.html templates/options.labels
-     templates/playing.html templates/recent.html
-     templates/topbar.html templates/volume.html
-
-
-2005-02-20 18:34:43 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-113
-
-    Summary:
-      more flexible choice of graphics
-    Revision:
-      disorder--mainline--0.1--patch-113
-
-    * templates/options.labels: individual labels for each graphic.
-      Currently everything has to be relative to url.static which might not
-      be ideal.
-    * templates/playing.html, templates/choose.html, templates/help.html,
-      templates/recent.html, templates/volume.html: use new labels for
-      graphics.  We discard the width and height attributes which is a shame
-      but most of the time browsers will have a copy already so it shouldn't
-      be too problematic.
-    * doc/disorder_config.5.in: document new labels
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-     templates/choose.html templates/help.html
-     templates/options.labels templates/playing.html
-     templates/recent.html templates/volume.html
-
-
-2005-02-20 12:39:10 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-112
-
-    Summary:
-      missing bit of patch-107
-    Revision:
-      disorder--mainline--0.1--patch-112
-
-    * templates/help.html: forgot to includ ethe menu end file in patch-107
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/help.html
-
-
-2005-02-20 12:35:42 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-111
-
-    Summary:
-      definitions moved from macros to library
-    Revision:
-      disorder--mainline--0.1--patch-111
-
-    * lib/defs.c: make macros defined by configure (VERSION, PKGCONFDIR, etc)
-      available as library symbols, rather than repeating them everywhere
-      they are use.
-
-    new files:
-     lib/defs.c lib/defs.h
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/Makefile.am
-     lib/configuration.c lib/configuration.h lib/plugin.c
-     progs/cgi.c progs/dcgi.c progs/disorder.c progs/disorderd.c
-     progs/dump.c progs/server.c progs/trackname.c
-
-
-2005-02-19 23:48:05 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-110
-
-    Summary:
-      fix search facility
-    Revision:
-      disorder--mainline--0.1--patch-110
-
-    * progs/dcgi.c: unbreak the search facility, which didn't return all the
-      results for an artist (or album) which contains more than one hit.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 progs/dcgi.c
-
-
-2005-02-19 23:27:28 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-109
-
-    Summary:
-      missing bits from previous changes
-    Revision:
-      disorder--mainline--0.1--patch-109
-
-    * scripts/htmlman: make generated web pages use the new menu
-      infrastructure.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 scripts/htmlman
-
-
-2005-02-19 23:18:21 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-108
-
-    Summary:
-      revert clumsiness
-    Revision:
-      disorder--mainline--0.1--patch-108
-
-    * templates/choose.html: accidentally reverted class change in patch-107.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/choose.html
-
-
-2005-02-19 23:10:17 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-107
-
-    Summary:
-      flexible menu infrastructure, new default menu layout
-    Revision:
-      disorder--mainline--0.1--patch-107
-
-    * progs/dcgi.c: @action@ expansion to make determining the current action
-      easier.
-    
-    * templates/options.labels: default 'menu' label to 'topbar'
-    
-    * doc/disorder_config.5.in: document 'menu' label and @action@ expansion
-    * templates/help.html: updated for the above changes
-    
-    * templates/topbar.html: new default menu template
-    * templates/topbarend.html: menu tempates now have a closing half too,
-      where the credits are output from.
-    * templates/stylesheet.html: formatting rules for topbar; make title
-      bigger to stand out against (rather big and friendly) menu items.
-    
-    * templates/sidebar.html: open the content div from the sidebar template
-    * templates/sidebarend.html: final half of sidebar template closes the
-      content div as well as outputting the credits.
-
-    new files:
-     templates/sidebarend.html templates/topbar.html
-     templates/topbarend.html
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in progs/dcgi.c templates/Makefile.am
-     templates/about.html templates/choose.html
-     templates/choosealpha.html templates/help.html
-     templates/options.labels templates/playing.html
-     templates/prefs.html templates/recent.html
-     templates/search.html templates/sidebar.html
-     templates/stylesheet.html templates/volume.html
-
-
-2005-02-19 22:02:08 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-106
-
-    Summary:
-      more powerful management page
-    Revision:
-      disorder--mainline--0.1--patch-106
-
-    * templates/playing.html: put volume control into management page
-    * templates/options.labels: new playing.volume label;
-      playing.{random,playing} labels now contain the colon formerly in the
-      template (for greater flexibility).
-    * doc/disorder_config.5.in: document playing.volume (and playing.playing
-      which was formerly missing)
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in templates/options.labels
-     templates/playing.html
-
-
-2005-02-19 21:28:20 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-105
-
-    Summary:
-      volume control bug fixes + visual improvements
-    Revision:
-      disorder--mainline--0.1--patch-105
-
-    * progs/dcgi.c: make act_volume() redirect back to itself when a change
-      occurs, so that it's safe to reload volume pages
-    * templates/volume.html: use new graphics for up/down
-    * templates/stylesheet.html: center volume control
-    * templates/options.labels: volume.{left,right} set to null on the
-      assumption that user can deduce that the left and rights input boxes
-      control the left and right speakers respectively
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 progs/dcgi.c
-     templates/options.labels templates/stylesheet.html
-     templates/volume.html
-
-
-2005-02-19 21:03:03 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-104
-
-    Summary:
-      more graphical improvements
-    Revision:
-      disorder--mainline--0.1--patch-104
-
-    * images/scratch.png, images/noscratch.png: cleaner scratch button
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 images/noscratch.png
-     images/scratch.png
-
-
-2005-02-19 20:37:56 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-103
-
-    Summary:
-      tidy up graphics a little
-    Revision:
-      disorder--mainline--0.1--patch-103
-
-    * images/edit.png: truncate the pencil perpendicular to its long axis,
-      rather than according to the corner of the bounding square, to
-      eliminate the visually confusing corner.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 images/edit.png
-
-
-2005-02-19 20:32:56 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-102
-
-    Summary:
-      grey out inactive buttons
-    Revision:
-      disorder--mainline--0.1--patch-102
-
-    * progs/dcgi.c: @isfirst@ and @islast@ expansions report whether this is
-      the first or last (or other) iteration of a recursive template
-      expansion.
-    * templates/playing.html: 'grey out' up/down buttons for first/last track
-      in queue (since they don't do anything useful).
-    * doc/disorder_config.5.in: document @isfirst@/@islast@
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-     progs/dcgi.c progs/dcgi.h templates/playing.html
-
-
-2005-02-19 20:17:40 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-101
-
-    Summary:
-      ignore whitespace between expansion arguments
-    Revision:
-      disorder--mainline--0.1--patch-101
-
-    * progs/cgi.c: ignore whitespace after '}' and at the start and end of
-      unquoted template expansion args.
-    * doc/disorder_config.5.in: document new whitespace rules
-    * templates/playing.html: missing class attribute on an img
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in progs/cgi.c templates/playing.html
-
-
-2005-02-19 19:05:29 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-100
-
-    Summary:
-      graphical buttons in web interface
-    Revision:
-      disorder--mainline--0.1--patch-100
-
-    * README, README.upgrades: mention appearance of /static
-    * doc/disorder_config.5.in: document url.static
-    
-    * templates/choose.html: graphical button for edit
-    * templates/help.html: catch up with graphical buttons; tidy up a bit.
-    * templates/playing.html: graphic buttons for scratch/remove/up/down
-    * templates/recent.html: graphical button for edit
-    * templates/stylesheet.html: img.button class for new graphical buttons
-    
-    * images/*.png: new graphics
-    
-    * debian/options.debian: debian-specific location for static content
-    * debian/conffiles: options.debian is a conffile
-    * debian/rules.m4: install static content under /var/www
-                       install options.debian
-    
-    * progs/play.h: update copyright date
-    * examples/Makefile.am: update copyright date
-    * progs/daemonize.c: update copyright date
-
-    new files:
-     debian/options.debian images/.arch-ids/=id
-     images/.arch-ids/down.png.id images/.arch-ids/edit.png.id
-     images/.arch-ids/nodown.png.id
-     images/.arch-ids/noscratch.png.id images/.arch-ids/noup.png.id
-     images/.arch-ids/scratch.png.id images/.arch-ids/up.png.id
-     images/Makefile.am images/down.png images/edit.png
-     images/nodown.png images/noscratch.png images/noup.png
-     images/scratch.png images/up.png
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 Makefile.am README
-     README.upgrades configure.ac debian/Makefile.am
-     debian/autorules.m4 debian/conffiles debian/rules.m4
-     doc/disorder_config.5.in examples/Makefile.am
-     progs/daemonize.c progs/play.h templates/choose.html
-     templates/help.html templates/playing.html
-     templates/recent.html templates/stylesheet.html
-
-    new directories:
-     images images/.arch-ids
-
-
-2005-02-19 14:16:39 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-99
-
-    Summary:
-      restore debian/changelog to proper name
-    Revision:
-      disorder--mainline--0.1--patch-99
-
-    * debian/changelog: rename back to the standard name.  I can't quite see
-      from the change history why it was changelog.Debian in the first place.
-      Hopefuly nothing will break.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/Makefile.am
-     debian/autorules.m4
-
-    renamed files:
-     debian/changelog.Debian
-       ==> debian/changelog
-
-
-2005-02-18 20:49:17 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-98
-
-    Summary:
-      docs catch up with changes below
-    Revision:
-      disorder--mainline--0.1--patch-98
-
-    * doc/disorder_protocol.5.in: document new 'quitting' state
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_protocol.5.in
-
-
-2005-02-18 20:27:06 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-97
-
-    Summary:
-      mention previous bug fix
-    Revision:
-      disorder--mainline--0.1--patch-97
-
-    * CHANGES: mention previous bug fix
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-
-
-2005-02-18 20:15:05 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-96
-
-    Summary:
-      add current track to recently played list on server shutdown
-    Revision:
-      disorder--mainline--0.1--patch-96
-
-    When the recently played list was not preserved across restarts this was
-    unnecessary.  It was left out when it started being preserved.
-    
-    * progs/play.c: when quitting, explicitly call player_finished() to get
-      the track added to the recently played list (and do notifications etc)
-    * progs/state.c: tell playing module we're quitting rather than just
-      disabling playing and expecting it to guess
-    * lib/queue.h: new track state for a track terminated by server shutdown
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/queue.c lib/queue.h
-     progs/dcgi.c progs/play.c progs/play.h progs/state.c
-
-
-2005-02-18 16:51:04 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-95
-
-    Summary:
-      disorder.monitor python class
-    Revision:
-      disorder--mainline--0.1--patch-95
-
-    * python/disorder.py.in: disorder.monitor class provides cooked access to
-      event log
-    * examples/disorder-log: sketch example of using disorder.monitor
-    
-    * CHANGES: mention event log changes
-
-    new files:
-     examples/disorder-log
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     examples/Makefile.am python/disorder.py.in
-
-
-2005-02-18 15:56:49 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-94
-
-    Summary:
-      event log interface
-    Revision:
-      disorder--mainline--0.1--patch-94
-
-    * lib/eventlog.c: new event log interface for sending messages to clients
-      that issue the 'log' command
-    * lib/queue.c: event log queue, moved, removed, recent-* messages
-    * progs/play.c: event log completed, scratched, failed, playing messages
-    * progs/disorder.c: mention event log in command help
-    * progs/server.c: use event log interface for 'log' command
-    
-    * lib/log.c: don't send log messages to clients; logging interface is
-      simplified slightly.
-    * progs/daemonize.c: following simplified logging interface
-    
-    * doc/disorder_protocol.5.in: document event log
-    
-    * lib/configuration.c: remove left-over debugging printf, oops!
-    * progs/server.c: set SO_REUSEADDR so we don't have to cool off a bit
-      before binding to a TCP socket again.
-
-    new files:
-     lib/eventlog.c lib/eventlog.h
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder.1.in
-     doc/disorder_protocol.5.in lib/Makefile.am lib/configuration.c
-     lib/log.c lib/log.h lib/queue.c progs/daemonize.c
-     progs/disorder.c progs/play.c progs/server.c
-     python/disorder.py.in
-
-
-2005-02-17 00:02:42 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-93
-
-    Summary:
-      put README on the web
-    Revision:
-      disorder--mainline--0.1--patch-93
-
-    * scripts/dist: put README on the web
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 scripts/dist
-
-
-2005-02-16 23:49:44 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-92
-
-    Summary:
-      update copyright dates for files changed in 2005
-    Revision:
-      disorder--mainline--0.1--patch-92
-
-    * scripts/check: case independent check
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 debian/copyright
-     lib/client.c lib/client.h lib/kvp.c lib/kvp.h lib/log.c
-     lib/log.h lib/table.h plugins/tracklength.c progs/Makefile.am
-     progs/cgi.h progs/cgimain.c progs/tracks.h scripts/check
-     templates/Makefile.am templates/choose.html
-     templates/playing.html templates/recent.html
-     templates/search.html
-
-
-2005-02-16 23:40:00 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-91
-
-    Summary:
-      unicode search strings
-    Revision:
-      disorder--mainline--0.1--patch-91
-
-    * templates/search.html: use POST with multipart/form-data and an
-      explicit charset for the search form, rather than GET, so that we can
-      portably have non-ASCII characters in search terms.
-      back= URLs still use GET, but we can interpret query strings that
-      encode non-ASCII characters however we choose, and we choose UTF-8.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     templates/search.html
-
-
-2005-02-16 23:13:16 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-90
-
-    Summary:
-      configurable scratch signal
-    Revision:
-      disorder--mainline--0.1--patch-90
-
-    * lib/configuration.c: new 'signal' configuration item controls the
-      signal that will be used to interrupt players.  Default SIGINT.
-    * progs/play.c: interrupt tracks using configured signal
-    
-    * lib/table.h: document TABLE_FIND() macro
-    
-    * doc/disorder_config.5.in: document 'signal'
-    * doc/disorder.3: document scratching interface.
-    
-    I've only listed signals from glibc's <bits/signal.h>; more could easily
-    be added.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 doc/disorder.3
-     doc/disorder_config.5.in lib/configuration.c
-     lib/configuration.h lib/table.h progs/play.c
-
-
-2005-02-16 22:17:38 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-89
-
-    Summary:
-      make artist/album in playing/recent be links
-    Revision:
-      disorder--mainline--0.1--patch-89
-
-    * progs/dcgi.c: generalize @dirname@ and @basename@
-    * templates/playing.html: make artist/album be links
-    * templates/recent.html: make artist/album be links
-    * doc/disorder_config.5.in: document extended @dirname@/@basename@
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in progs/dcgi.c templates/playing.html
-     templates/recent.html
-
-
-2005-02-16 21:32:50 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-88
-
-    Summary:
-      improved track selection extended to searching, debugged
-    Revision:
-      disorder--mainline--0.1--patch-88
-
-    The previous approach, of recording the directory to go back to, didn't
-    work for searching and didn't work properly where a regexp argument
-    reduced the set of tracks listed.  The new approach is to specify the
-    exact URL to return to.
-    
-    * progs/dcgi.c: new 'back' CGI argument provides URL to redirect back to
-      after any operation except 'playing'.  We use this to simply act_play().
-      New @thisurl@ expansion gives the current page's URL, with a freshened
-      nonce.
-    
-    * templates/choose.html: use new 'back' behaviour; canonicalize name of
-      nonce arguments.
-    * templates/help.html: canonicalize name of nonce arguments.
-    * templates/search.html: use new 'back' behaviour as per choose.html
-    
-    * doc/disorder_config.5.in: document the above
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in progs/dcgi.c templates/choose.html
-     templates/help.html templates/search.html
-
-
-2005-02-06 23:45:49 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-87
-
-    Summary:
-      typo
-    Revision:
-      disorder--mainline--0.1--patch-87
-
-    * doc/disorder_config.5.in: typo fix
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder_config.5.in
-
-
-2005-02-06 23:44:50 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-86
-
-    Summary:
-      improved track picking interface
-    Revision:
-      disorder--mainline--0.1--patch-86
-
-    This change follows watching a user pick several tracks fromg a single
-    album without the benefit of an 'open in new tab' client command (the
-    client they were using had the feature but they didn't know to use it).
-    
-    The new behaviour is that when you pick a track to be played you stay on
-    the same screen, with an indicator appearing beside the track to show
-    that it is on the queue.
-    
-    The old behaviour is still available, by editing templates/choose.html.
-    
-    * lib/kvp.c: urlencodestring() provides a more convenient interface for
-      getting url-encoded strings
-    * progs/dcgi.c: action=play now takes a back=directory argument to
-      redirect back into action=choose with a chosen directory.  Used to stay
-      on the same page when choosing multiple tracks.
-      New @trackstate@ action reports current track state as 'playing',
-      'queued' or '' if neither.
-    * templates/choose.html: use the above to stay on the same page when
-      choosing tracks while also giving visual feedback
-    * doc/disorder_config.5.in: document the above changes
-    * CHANGES: mention recent changes
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in lib/kvp.c lib/kvp.h progs/dcgi.c
-     templates/choose.html
-
-
-2005-02-06 20:39:47 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-85
-
-    Summary:
-      faster searching
-    Revision:
-      disorder--mainline--0.1--patch-85
-
-    * progs/tracks.c: track_search() retrieves word list for each track from
-      isearch database, which is rather fewer queries than reconstructing the
-      word list on the fly.
-      isearch_words() factors out common code for getting word lists from
-      isearch.db.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/tracks.c
-
-
-2005-02-06 18:37:32 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-84
-
-    Summary:
-      inverse search index
-    Revision:
-      disorder--mainline--0.1--patch-84
-
-    * progs/tracks.c: isearch.db is 'inverse' of search db, so we can keep
-      search db properly up to date.
-      DBCALL writes to debug output.
-      get/put write to debug output, report db name
-      opendb() centralizes database opening
-      track_getpart() wraps trackname_part(), doing database lookup too
-    * progs/server.c: use track_getpart() instead of manually checking
-      database and calling trackname_part().
-    * lib/log.c: report file/line in debug output
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/configuration.c
-     lib/configuration.h lib/log.c lib/log.h progs/cgi.h
-     progs/server.c progs/tracks.c progs/tracks.h
-
-
-2005-02-06 16:00:55 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-83
-
-    Summary:
-      internal documentation
-    Revision:
-      disorder--mainline--0.1--patch-83
-
-    * progs/tracks.c: describe current database tables
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 progs/tracks.c
-
-
-2005-02-05 19:50:44 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-82
-
-    Summary:
-      tkdisorder improvements
-    Revision:
-      disorder--mainline--0.1--patch-82
-
-    * python/tkdisorder: use a canvas to display queue/recent listings,
-      showing artist, album and title.  A bit slow.  Could use timings,
-      submitters, etc too.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 python/tkdisorder
-
-
-2005-02-05 18:18:16 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-81
-
-    Summary:
-      avoid accumulating overlarge recently played list
-    Revision:
-      disorder--mainline--0.1--patch-81
-
-    * lib/queue.c: recompute size of 'recent' list on loading it.  Previously
-      it was not recounted but started again from 0 even if it wasn't empty;
-      so restarting the server effectively bumped the history variable
-      upwards by whatever the current size of the list was.
-    * {arch}/=tagging-method: ignore =obj directory
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/queue.c
-     {arch}/=tagging-method
-
-
-2005-02-05 17:20:43 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-80
-
-    Summary:
-      make tkdisorder use 'part' command
-    Revision:
-      disorder--mainline--0.1--patch-80
-
-    * python/tkdisorder: replace local track parsing with calls to
-      disorder.client.part()
-    * python/disorder.py.in: DISORDER_PYTHON_DEBUG can be used to turn on
-      disorder.py debugging
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 python/disorder.py.in
-     python/tkdisorder
-
-
-2005-02-05 15:33:36 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-79
-
-    Summary:
-      build fixes
-    Revision:
-      disorder--mainline--0.1--patch-79
-
-    * lib/types.h: work around broken apple header file by undefining PRI?MAX
-      values that GNU C rejects in pedantic mode.
-    * plugins/tracklength.c: cast strncmp() args to reliably match declaration
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/types.h
-     plugins/tracklength.c
-
-
-2005-02-05 15:12:52 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-78
-
-    Summary:
-      fix trackname parsing for scratches
-    Revision:
-      disorder--mainline--0.1--patch-78
-
-    * progs/server.c: don't insist that the track exists, as this can break
-      scratches which aren't required to 'exist' (in this sense)
-    * progs/trackname.c: new internal program exposes trackname_part() for
-      testing purposes.
-
-    new files:
-     progs/trackname.c
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/Makefile.am
-     progs/server.c
-
-
-2005-02-05 11:54:53 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-77
-
-    Summary:
-      move trackname parsing into server
-    Revision:
-      disorder--mainline--0.1--patch-77
-
-    Moving the trackname parsing into the server allows every client to get
-    the same logic without having to locally reimplement it.
-    
-    * debian/disorder.config: add namepart directives
-    * examples/config.sample.in: add namepart directives
-    * doc/disorder_config.5.in: document namepart directive; remove
-      trackname-part references.
-    
-    * lib/trackname.c: trackname_part() function does regexp substitution
-      based on namepart directives.
-    * lib/configuration.c: namepart directive
-    * lib/regsub.c: moved to lib
-    
-    * progs/server.c: implement 'part' command
-    * lib/client.c: add disorder_part() function; report transmitted commands
-      in debug output.
-    * doc/disorder_protocol.5.in: document 'part' command
-    
-    * progs/disorder.c: expose 'part' command to command line
-    * doc/disorder.1.in: document 'part' command
-    
-    * python/disorder.py.in: expose 'part' command to python
-    
-    * progs/cgi.c: abolish trackname-part
-    * progs/cgimain.c: environment variable DISORDER_DEBUG enables debugging.
-    * progs/dcgi.c: use disorder_part() to get track name parts
-    * templates/options: options.trackname is gone
-    * templates/options.trackname: gone
-    
-    * README.upgrades: new upgrading instructions mention this change.
-    * README: mention README.upgrades
-
-    new files:
-     README.upgrades lib/trackname.c lib/trackname.h
-
-    removed files:
-     templates/options.trackname
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 Makefile.am README
-     debian/disorder.config doc/disorder.1.in
-     doc/disorder_config.5.in doc/disorder_protocol.5.in
-     examples/config.sample.in lib/Makefile.am lib/client.c
-     lib/client.h lib/configuration.c lib/configuration.h
-     progs/Makefile.am progs/cgi.c progs/cgimain.c progs/dcgi.c
-     progs/disorder.c progs/server.c python/disorder.py.in
-     templates/Makefile.am templates/options
-
-    renamed files:
-     progs/regsub.c
-       ==> lib/regsub.c
-     progs/regsub.h
-       ==> lib/regsub.h
-
-
-2005-02-04 13:29:13 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-76
-
-    Summary:
-      preparations for the future
-    Revision:
-      disorder--mainline--0.1--patch-76
-
-    Prepare for move of DisOrder website to www.greenend.org/rjk/disorder.
-    Version number to 1.1+dev.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 configure.ac
-     debian/copyright scripts/check scripts/dist
-     templates/about.html templates/credits.html
-
-
-2005-02-03 22:26:13 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-75
-
-    Summary:
-      better ChangeLog.d handling
-    Revision:
-      disorder--mainline--0.1--patch-75
-
-    Distribute ChangeLog.d/* by mentioning it in EXTRA_DIST rather than
-    giving it its own Makefile.
-
-    removed files:
-     ChangeLog.d/Makefile.am
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 Makefile.am configure.ac
-
-
-2005-02-03 17:07:25 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-74
-
-    Summary:
-      automake bodge
-    Revision:
-      disorder--mainline--0.1--patch-74
-
-    * prepare: make sure Automake adds INSTALL, but doesn't fall over because
-      of missing ChangeLog.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 prepare
-
-
-2005-02-03 00:02:59 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-73
-
-    Summary:
-      fix up dist script
-    Revision:
-      disorder--mainline--0.1--patch-73
-
-    * scripts/dist: install change history files
-    
-    
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 scripts/dist
-
-
-2005-02-02 23:50:09 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-72
-
-    Summary:
-      release 1.1
-    Revision:
-      disorder--mainline--0.1--patch-72
-
-    * configure.ac, CHANGES, debian/changelog.Debian: version number to 1.1
-    * debian/control: Build-Depends on libdb4.3 then libdb4.2
-    * scripts/makedeb: bzip2
-    * scripts/check: script to scan for missing copyright dates
-    * lib/Makefile.am: tie libdisorder shared library version to disorder
-      version to avoid appearing to promise anything about ABI stability.
-    
-    Everything else: missing copyright dates.
-
-    new files:
-     scripts/check
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 configure.ac
-     debian/changelog.Debian debian/config debian/control
-     doc/Makefile.am doc/disorder.3 doc/disorderd.8.in
-     lib/Makefile.am lib/charset.c lib/charset.h
-     lib/configuration.c lib/configuration.h lib/disorder.h
-     lib/hex.c lib/hex.h lib/plugin.c lib/plugin.h lib/queue.h
-     lib/types.h lib/utf8.h plugins/notify.c plugins/pick.c
-     progs/cgi.c progs/dcgi.c progs/play.c progs/server.c
-     progs/state.c progs/tracks.c python/Makefile.am
-     scripts/Makefile.am scripts/inst scripts/makedeb
-     scripts/sedfiles.make templates/credits.html
-     templates/help.html templates/prefs.html
-
-
-2005-02-01 20:09:19 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-71
-
-    Summary:
-      more portability fixes
-    Revision:
-      disorder--mainline--0.1--patch-71
-
-    The aim is to build with CC=gcc -std=c89 -pedantic, though sadly it's not
-    practical to add -Werror in there as well.
-    
-    * configure.ac: turn on -Werror (if that's being used) when checking for
-      long long, since that's how it'll be used later on.  In fact this only
-      rejects long long for compilers that warn but accept it, but it's
-      useful to be able to build without long long being available.
-      However, we disable -Werror if we can't convert function pointers to
-      object pointers without warning: DisOrder without dlsym() is
-      essentially hopeless.
-    * lib/basen.c: rename div to divide (libc conflict)
-    * lib/configuration.c: variable initializers are not allowed in C89
-    * lib/types.h: include <stdlib.h> before redefing atoll() etc
-      Define PRIxMAX
-    * progs/server.c: use uintmax_t rather than explicit unsigned long long
-      to report times in client log messages.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 configure.ac lib/basen.c
-     lib/configuration.c lib/types.h progs/server.c
-
-
-2005-01-30 13:08:35 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-70
-
-    Summary:
-      cope with broken darwin headers
-    Revision:
-      disorder--mainline--0.1--patch-70
-
-    'gcc-3.3 -std=c99' on Darwin turns declaration of strtoll and atoll off,
-    even though they are in the C99 library clause.
-    
-    * plugins/pick.c: cope with undeclared atoll
-    * lib/types.h: cope with undeclared strtoll/atoll
-    * configure.ac: check whether strtoll/atoll are declared; include
-      <sys/types.h> for ssize_t
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 configure.ac lib/types.h
-     plugins/pick.c
-
-
-2005-01-29 19:18:11 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-69
-
-    Summary:
-      libdb version checking makes more sense
-    Revision:
-      disorder--mainline--0.1--patch-69
-
-    * progs/tracks.c: reverse sense of libdb 4.2/4.3 tests; now DB42 means
-      just libdb 4.2, rather than DB43 meaning anything from 4.3 onwards.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/tracks.c
-
-
-2005-01-27 23:49:50 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-68
-
-    Summary:
-      fix botched libdb upgrade
-    Revision:
-      disorder--mainline--0.1--patch-68
-
-    * progs/tracks.c: 4.2 code was bust, restore
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/tracks.c
-
-
-2005-01-27 23:47:29 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-67
-
-    Summary:
-      improved distribution script
-    Revision:
-      disorder--mainline--0.1--patch-67
-
-    * scripts/webman: dead
-    * scripts/dist: new distribution script installs tarball and web man
-      pages in right place
-
-    new files:
-     scripts/dist
-
-    removed files:
-     scripts/webman
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1
-
-
-2005-01-27 23:37:34 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-66
-
-    Summary:
-      abolish backward compatibility code
-    Revision:
-      disorder--mainline--0.1--patch-66
-
-    * progs/tracks.c: remove upgrade code for ancient database location and
-      content
-    * README: db 4.3 and gcc 3.4 work
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 README
-     progs/tracks.c
-
-
-2005-01-27 23:20:21 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-65
-
-    Summary:
-      db version 4.3 support
-    Revision:
-      disorder--mainline--0.1--patch-65
-
-    We support 4.2 and 4.3 for now.  4.2 support can be expected to go away
-    at some point.
-    
-    * progs/tracks.c: db4.3 support
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 progs/tracks.c
-
-
-2005-01-27 22:55:36 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-64
-
-    Summary:
-      spelling corrections
-    Revision:
-      disorder--mainline--0.1--patch-64
-
-    * python/disorder.py.in: minor typo fixes
-    * doc/disorder_config.5.in: typo fix
-    * progs/disorder.c: typo fix
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in progs/disorder.c
-     python/disorder.py.in
-
-
-2005-01-25 23:52:36 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-63
-
-    Summary:
-      C dialect strictness
-    Revision:
-      disorder--mainline--0.1--patch-63
-
-    * configure.ac: move _GNU_SOURCE define above library checks, since
-      <db.h> gets on badly with -std=c89 otherwise.
-    * lib/configuration.h: 'restrict' is a C99 keyword, don't use it as a
-      structure member name!
-    * lib/configuration.c: 'restrict' option field is now 'restrictions'
-    * progs/server.c: 'restrict' option field is now 'restrictions'
-    * progs/dcgi.c: 'restrict' option field is now 'restrictions'
-    * progs/cgi.c: remove extraneous semicolon
-    * lib/plugin.c: cast to keep gcc --std=c99 -pedantic happy
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 configure.ac
-     lib/configuration.c lib/configuration.h lib/plugin.c
-     progs/cgi.c progs/dcgi.c progs/server.c
-
-
-2005-01-25 18:35:36 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-62
-
-    Summary:
-      completion.bash
-    Revision:
-      disorder--mainline--0.1--patch-62
-
-    * scripts/completion.bash: renamed from disorder-bash-completion.
-      'disorder' will already be in the path since it is installed to
-      pkgdatadir.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 README
-     scripts/Makefile.am
-
-    renamed files:
-     scripts/disorder-bash-completion
-       ==> scripts/completion.bash
-
-
-2005-01-24 19:49:23 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-61
-
-    Summary:
-      bash completion
-    Revision:
-      disorder--mainline--0.1--patch-61
-
-    * scripts/disorder-bash-completion: bash completion for disorder and
-      disorderd
-
-    new files:
-     scripts/disorder-bash-completion
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     scripts/Makefile.am
-
-
-2005-01-24 01:47:36 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-60
-
-    Summary:
-      more UTF-8 testing stuff
-    Revision:
-      disorder--mainline--0.1--patch-60
-
-    * lib/charset.c: ucs4cmp, used in testing
-    * lib/test.c: fix broken UTF-8 testing
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/charset.c
-     lib/charset.h lib/test.c
-
-
-2005-01-24 01:42:37 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-59
-
-    Summary:
-      more tests
-    Revision:
-      disorder--mainline--0.1--patch-59
-
-    * lib/charset.c: new ucs42utf8 function, currently only used by tests
-    * lib/test.c: test hex codec; ucs42utf8; casefold; check the basic
-      character set looks like ASCII.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/charset.c
-     lib/charset.h lib/test.c
-
-
-2005-01-23 19:17:20 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-58
-
-    Summary:
-      eliminate bogus diagnostics
-    Revision:
-      disorder--mainline--0.1--patch-58
-
-    * lib/hex.c: prevoius change to unhexdigit() produced an error on every
-      call.  Oops.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/hex.c
-
-
-2005-01-23 19:08:58 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-57
-
-    Summary:
-      base64 corrections
-    Revision:
-      disorder--mainline--0.1--patch-57
-
-    * lib/test.c: MIME base64 tests
-    * lib/mime.c: corrected base64 parsing
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/mime.c lib/test.c
-
-
-2005-01-23 18:18:25 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-56
-
-    Summary:
-      quoted-printable tests and fixes
-    Revision:
-      disorder--mainline--0.1--patch-56
-
-    * lib/test.c: a few MIME decoding tests
-    * lib/hex.c: quiet hex digit conversion
-    * lib/mime.c: corrected decoding of quoted-printable;
-      eliminate bogus diagnostics
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 lib/hex.c
-     lib/hex.h lib/mime.c lib/test.c
-
-
-2005-01-23 17:49:14 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-55
-
-    Summary:
-      tests, further UTF-8 improvements
-    Revision:
-      disorder--mainline--0.1--patch-55
-
-    * lib/test.c: tests for UTF-8 decoding and validation
-    * lib/utf8.h: corrected again, sigh
-    * lib/Makefile.am: run library tests at build time (not that there are
-      many of them)
-
-    new files:
-     lib/test.c
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/Makefile.am lib/utf8.h
-
-
-2005-01-19 23:09:55 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-54
-
-    Summary:
-      finally correct UTF-8 checking
-    Revision:
-      disorder--mainline--0.1--patch-54
-
-    * lib/utf8.h: check for invalid UTF-8 sequences more strictly
-                  parse [U+10000,U+10FFFF] correctly(!)
-    * lib/utf8.c: validutf8() function checks a string
-    * progs/cgi.c: use validutf8() instead of wrongly(!) checking manually.
-
-    new files:
-     lib/utf8.c
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 lib/Makefile.am
-     lib/utf8.h progs/cgi.c
-
-
-2005-01-18 20:49:23 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-53
-
-    Summary:
-      stricter CGI arg checking
-    Revision:
-      disorder--mainline--0.1--patch-53
-
-    * progs/cgi.c: UTF-8 checking of CGI arguments
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 progs/cgi.c
-
-
-2005-01-17 23:39:46 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-52
-
-    Summary:
-      make prefs.html self-consistent
-    Revision:
-      disorder--mainline--0.1--patch-52
-
-    * templates/prefs.html: even/odd styles count from 0, not 1 l-)
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/prefs.html
-
-
-2005-01-17 23:26:15 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-51
-
-    Summary:
-      base64/qp support in MIME parsing
-    Revision:
-      disorder--mainline--0.1--patch-51
-
-    * lib/mime.c: base64 and qp support for MIME body parts.  mime_header()
-      becomes mime_parse() and promises do deal with
-      content-transfer-encoding for you.
-    * progs/cgi.c: track mime.c changes
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/mime.c lib/mime.h
-     progs/cgi.c
-
-
-2005-01-17 22:31:40 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-50
-
-    Summary:
-      use multipart/form-data for preference submissions
-    Revision:
-      disorder--mainline--0.1--patch-50
-
-    * progs/cgi.c: accept multipart/form-data POST data.  Note that the
-      character set is assumed to be UTF-8.
-    * lib/mime.c,: enough MIME support for multipart/form-data support.  We
-      don't do QP or BASE64 yet(!)
-    * templates/prefs.html: use multi-part/form-data submission for
-      preference updates.
-
-    new files:
-     lib/mime.c lib/mime.h
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/Makefile.am
-     progs/cgi.c templates/prefs.html
-
-
-2005-01-16 19:57:33 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-49
-
-    Summary:
-      python administrivia
-    Revision:
-      disorder--mainline--0.1--patch-49
-
-    * doc/Makefile.am: ship tkdisorder.1
-    * doc/tkdisorder.1: refer to 'pydoc disorder'
-    * doc/disorder.1.in: refer to 'pydoc disorder'
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/Makefile.am
-     doc/disorder.1.in doc/tkdisorder.1
-
-
-2005-01-16 16:25:33 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-48
-
-    Summary:
-      tkdisorder administrivia
-    Revision:
-      disorder--mainline--0.1--patch-48
-
-    * python/disorder.py.in: copyright message, version number
-    * python/tkdisorder: copyright message, display version
-    * scripts/sedfiles.make: version number substitution
-    * doc/tkdisorder.1: document tkdisorder
-
-    new files:
-     doc/tkdisorder.1
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/Makefile.am
-     python/Makefile.am python/disorder.py.in python/tkdisorder
-     scripts/sedfiles.make
-
-
-2005-01-16 15:20:43 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-47
-
-    Summary:
-      more user-friendly "cooked" preferences interface
-    Revision:
-      disorder--mainline--0.1--patch-47
-
-    * templates/prefs.html: cooked preferences; wider input boxes
-    * templates/options.labels: new labels for cooked prefs
-    * templates/help.html: describe cooked preferences interface
-    * progs/dcgi.c: prefs is now a proper action, @prefs@ just iterates over
-      the set preferences.  @pref@ added.  @part@ can now take a track name.
-    * doc/disorder_config.5.in: document new/modified expansions and action
-    * CHANGES: mention cooked prefs
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in progs/dcgi.c templates/help.html
-     templates/options.labels templates/prefs.html
-
-
-2005-01-12 23:24:12 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-46
-
-    Summary:
-      preserve recently played list across server restarts
-    Revision:
-      disorder--mainline--0.1--patch-46
-
-    * lib/queue.c: save/restore recently-played list
-    * progs/state.c: restore recently-played list at startup
-    * progs/play.c: save recently-played list after modifying it
-    * doc/disorderd.8.in: mention new file
-    * doc/disorder_config.5.in: recent list no longer nuked at startup
-    * CHANGES: mention the change
-    
-    A better approach might be for the mutating queue_*() functions to set a
-    flag, which is then queried each time round the event loop to determine
-    when a save is required.
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1
-     doc/disorder_config.5.in doc/disorderd.8.in lib/queue.c
-     lib/queue.h progs/disorder.c progs/play.c progs/state.c
-
-
-2005-01-04 19:56:52 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-45
-
-    Summary:
-      further tkdisorder improvements
-    Revision:
-      disorder--mainline--0.1--patch-45
-
-    * python/tkdisorder: break up QueueWidget into TrackListWidget and
-      {Queue,Recent}Widget, replacing callback with subclassing.
-      Add title to main window.
-      Be more careful about using clients from the right thread.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 python/tkdisorder
-
-
-2005-01-03 16:30:02 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-44
-
-    Summary:
-      'recent' button
-    Revision:
-      disorder--mainline--0.1--patch-44
-
-    * python/tkdisorder: 'recent' button pops up a window with the last N
-      tracks.  Generalized QueueWidget a bit.  MonitorStateThread can have
-      widgets added to and removed from its notification list.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 python/tkdisorder
-
-
-2005-01-03 14:39:10 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-43
-
-    Summary:
-      scratch button for tkdisorder
-    Revision:
-      disorder--mainline--0.1--patch-43
-
-    * python/tkdisorder: Quit and Scratch buttons
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 python/tkdisorder
-
-
-2005-01-03 14:21:33 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-42
-
-    Summary:
-      more efficient tkdisorder
-    Revision:
-      disorder--mainline--0.1--patch-42
-
-    We could make it more efficient yet by ignoring irrelevant log messages.
-    
-    * python/disorder.py.in: warning about disorder.log() return value
-    * python/tkdisorder: Use disorder.log() to watch for server state changes
-      rather than plling.  Also separate clients for separate threads rather
-      than locking a single client.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 python/disorder.py.in
-     python/tkdisorder
-
-
-2005-01-03 13:51:01 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-41
-
-    Summary:
-      notifications and logs for queue and playing state changes
-    Revision:
-      disorder--mainline--0.1--patch-41
-
-    * lib/disorder.h: new notify plugin calls report when a track is moved or
-      removed in the queue
-    * doc/disorder.3: document new notify calls
-    * lib/plugin.c: stubs for new notify calls
-    * lib/plugin.c: stubs for new notify calls
-    * plugins/notify.c: empty implementations of new calls
-    
-    * lib/queue.c: call new notify plugin calls
-                   log queue changes
-    * progs/play.c: log playing, scratchin and completion of tracks
-                    unconditionally log playing status
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 doc/disorder.3
-     lib/disorder.h lib/plugin.c lib/plugin.h lib/queue.c
-     lib/queue.h plugins/notify.c progs/play.c progs/server.c
-
-
-2005-01-03 00:26:18 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-40
-
-    Summary:
-      update copyright dates
-    Revision:
-      disorder--mainline--0.1--patch-40
-
-    More copyright dates.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 templates/about.html
-
-
-2005-01-03 00:25:36 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-39
-
-    Summary:
-      update copyright dates
-    Revision:
-      disorder--mainline--0.1--patch-39
-
-    It's 2005 now.
-
-    modified files:
-     ChangeLog.d/Makefile.am ChangeLog.d/disorder--mainline--0.1
-     Makefile.am README configure.ac debian/rules.m4
-     doc/disorder.1.in doc/disorder_config.5.in
-     doc/disorder_protocol.5.in lib/basen.c lib/basen.h lib/queue.c
-     prepare progs/disorder.c
-
-
-2005-01-03 00:21:16 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-38
-
-    Summary:
-      Typo fixes
-    Revision:
-      disorder--mainline--0.1--patch-38
-
-    Trivial corrections to various bits of documentation.
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 README doc/disorder.1.in
-     doc/disorder_config.5.in doc/disorder_protocol.5.in
-
-
-2005-01-02 23:56:24 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-37
-
-    Summary:
-      automake --foreign
-    Revision:
-      disorder--mainline--0.1--patch-37
-
-    Reduce Automake strictness and delete quietening files.
-
-    removed files:
-     .arch-ids/ChangeLog.id AUTHORS ChangeLog NEWS
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 prepare
-
-
-2005-01-02 21:31:11 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-36
-
-    Summary:
-      documentation trivia
-    Revision:
-      disorder--mainline--0.1--patch-36
-
-    * CHANGES: describe recent changes
-    * doc/disorder.1.in: unify remove/move language and caveat
-
-    modified files:
-     CHANGES ChangeLog.d/disorder--mainline--0.1 doc/disorder.1.in
-
-
-2005-01-02 21:16:36 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-35
-
-    Summary:
-      track ID improvements
-    Revision:
-      disorder--mainline--0.1--patch-35
-
-    * progs/disorder.c: report track id in output
-    * lib/basen.c: arbitrary base printer
-    * lib/queue.c: queue IDs are now base-62 not hex, making them much
-      shorter.  The serial number is made the most significant word to
-      increase diversity of adjacently generated IDs.
-
-    new files:
-     ChangeLog lib/basen.c lib/basen.h
-
-    modified files:
-     ChangeLog.d/disorder--mainline--0.1 lib/Makefile.am
-     lib/queue.c progs/disorder.c
-
-
-2005-01-02 20:42:37 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-34
-
-    Summary:
-      ChangeLog.d directory
-    Revision:
-      disorder--mainline--0.1--patch-34
-
-    Move changelogs into ChangeLog.d directory.
-    
-    * CHANGES: note movement of ChangeLogs
-
-    new files:
-     .arch-ids/ChangeLog.id ChangeLog ChangeLog.d/.arch-ids/=id
-     ChangeLog.d/Makefile.am
-
-    modified files:
-     CHANGES ChangeLog Makefile.am configure.ac debian/rules.m4
-
-    renamed files:
-     ChangeLog
-       ==> ChangeLog.d/disorder--mainline--0.1
-     ChangeLog.cvs
-       ==> ChangeLog.d/cvs--ChangeLog
-
-    new directories:
-     ChangeLog.d ChangeLog.d/.arch-ids
-
-
-2005-01-02 20:27:21 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-33
-
-    Summary:
-      expose track movement to the command line interface
-    Revision:
-      disorder--mainline--0.1--patch-33
-
-    * progs/disorder.c: implement 'move' command
-    * doc/disorder.1.in: document 'move' command
-
-    modified files:
-     ChangeLog doc/disorder.1.in progs/disorder.c
-
-
-2004-12-30 16:21:07 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-32
-
-    Summary:
-      sort 'The Beatles' under B not T
-    Revision:
-      disorder--mainline--0.1--patch-32
-
-    * progs/dcgi.c: filter according to regexp in the web interface rather
-      than in the server.  This is slower but can actually be made correct.
-      This might be a problem for sites with very large numbers of (in
-      particular) top-level directories.
-      part() is renamed tracknamepart() as a no-longer-required build fix,
-      but it's also a bit clearer what it does, so I left it in.
-    
-    * BUGS: remove fixed bugs.
-
-    modified files:
-     BUGS ChangeLog progs/dcgi.c
-
-
-2004-12-30 14:42:26 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-31
-
-    Summary:
-      strip out libdb backwards compatibility cruft
-    Revision:
-      disorder--mainline--0.1--patch-31
-
-    Anything before libdb 4.2 is now regarded obsolete, and thus the grotty
-    configure and preprocessor logic to support older versions is removed.
-    
-    * progs/dbfixup.h: removed
-    * progs/tracks.c: strip out db version fixup hackery.  Now we only
-      support libdb 4.2 (and possibly later).
-    * README: note that libdb 4.1 and earlier won't work
-    * progs/Makefile.am: dbfixup.h is gone
-    * configure.ac: remove obsolete libdb feature tests
-    
-
-    removed files:
-     progs/dbfixup.h
-
-    modified files:
-     ChangeLog README configure.ac progs/Makefile.am progs/tracks.c
-
-
-2004-12-30 14:18:19 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-30
-
-    Summary:
-      documentation fixups
-    Revision:
-      disorder--mainline--0.1--patch-30
-
-    * scripts/webman: html man pages are in doc directory now
-    * scripts/htmlman: fix title of unmunged man pages
-    * configure.ac: version number to 1.0+dev
-    
-
-    modified files:
-     ChangeLog configure.ac scripts/htmlman scripts/webman
-
-
-2004-12-30 12:55:48 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-29
-
-    Summary:
-      release 1.0
-    Revision:
-      disorder--mainline--0.1--patch-29
-
-    * README: list development-time dependencies
-    * scripts/Makefile.am: ship sedfiles.make
-    * debian/rules.m4: disorder.init and disorder.cgi moved
-    * debian/autorules.m4: debian.changelog moved
-    
-
-    modified files:
-     CHANGES ChangeLog README configure.ac debian/autorules.m4
-     debian/changelog.Debian debian/rules.m4 scripts/Makefile.am
-     scripts/makedeb
-
-
-2004-12-05 11:21:09 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-28
-
-    Summary:
-      more post-split tidy-up
-    Revision:
-      disorder--mainline--0.1--patch-28
-
-    * scripts/inst: disorder.cgi is in progs/ now
-
-    modified files:
-     ChangeLog scripts/inst
-
-
-2004-12-04 17:36:25 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-27
-
-    Summary:
-      more most-split tidy-ups
-    Revision:
-      disorder--mainline--0.1--patch-27
-
-    * debian/changelog.Debian: a saner name
-
-    modified files:
-     ChangeLog debian/Makefile.am debian/autorules.m4
-
-    renamed files:
-     debian/ChangeLog
-       ==> debian/changelog.Debian
-
-
-2004-12-04 16:18:26 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-26
-
-    Summary:
-      make python optional
-    Revision:
-      disorder--mainline--0.1--patch-26
-
-    Python support should be optional.  Implement this by suppressing
-    recursion into python/ if no Python interpreter is found.  Not tested on
-    a system without Python, please report success/failure in such cases.
-
-    modified files:
-     ChangeLog Makefile.am README configure.ac
-
-
-2004-12-04 16:06:33 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-25
-
-    Summary:
-      fix up build instructions
-    Revision:
-      disorder--mainline--0.1--patch-25
-
-    * BUGS: note that darwin can't do volume control
-    * Makefile.am: ship README.darwin
-    * README: link to mailing lists
-              catch up with directory split
-    * README.darwin: caveats
-
-    modified files:
-     BUGS CHANGES ChangeLog Makefile.am README README.darwin
-
-    renamed files:
-     inst
-       ==> scripts/inst
-     webman
-       ==> scripts/webman
-
-
-2004-12-04 15:26:48 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-24
-
-    Summary:
-      post-directory-split tidy-ups
-    Revision:
-      disorder--mainline--0.1--patch-24
-
-    * scripts/sedfiles.make: de-dupe seddery into a single file
-    * debian/autorules.m4: catch up with filename case change
-                           (workaround for automake wackiness)
-
-    new files:
-     scripts/sedfiles.make
-
-    modified files:
-     ChangeLog debian/autorules.m4 doc/Makefile.am
-     examples/Makefile.am python/Makefile.am
-
-
-2004-12-04 13:50:38 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-23
-
-    Summary:
-      split into subdirectories
-    Revision:
-      disorder--mainline--0.1--patch-23
-
-    Almost everything moves out of the root.  The new directory structure is:
-      templates/       web interface template files
-      scripts/         scripts used in the build process
-      lib/             libdisorder
-      progs/           the server and the front-end programs
-      doc/             man pages
-      plugins/         the standard plugins
-      debian/          debian build files
-      sounds/          standard scratch sounds
-      python/          python support code
-      examples/        config/init examples, etc
-      config.aux/      autotools auxilary files
-
-    new files:
-     config.aux/.arch-ids/=id doc/.arch-ids/=id doc/Makefile.am
-     examples/.arch-ids/=id examples/Makefile.am lib/.arch-ids/=id
-     lib/Makefile.am progs/.arch-ids/=id progs/Makefile.am
-     python/.arch-ids/=id python/Makefile.am scripts/.arch-ids/=id
-     scripts/Makefile.am
-
-    modified files:
-     ChangeLog Makefile.am configure.ac debian/Makefile.am
-     plugins/Makefile.am prepare
-
-    renamed files:
-     addr.c
-       ==> lib/addr.c
-     addr.h
-       ==> lib/addr.h
-     api-client.c
-       ==> progs/api-client.c
-     api-client.h
-       ==> progs/api-client.h
-     api-server.c
-       ==> progs/api-server.c
-     api.c
-       ==> progs/api.c
-     asprintf.c
-       ==> lib/asprintf.c
-     authhash.c
-       ==> lib/authhash.c
-     authhash.h
-       ==> lib/authhash.h
-     casefold.h
-       ==> lib/casefold.h
-     cgi.c
-       ==> progs/cgi.c
-     cgi.h
-       ==> progs/cgi.h
-     cgimain.c
-       ==> progs/cgimain.c
-     charset.c
-       ==> lib/charset.c
-     charset.h
-       ==> lib/charset.h
-     client.c
-       ==> lib/client.c
-     client.h
-       ==> lib/client.h
-     config.sample.in
-       ==> examples/config.sample.in
-     configuration.c
-       ==> lib/configuration.c
-     configuration.h
-       ==> lib/configuration.h
-     daemonize.c
-       ==> progs/daemonize.c
-     daemonize.h
-       ==> progs/daemonize.h
-     dbfixup.h
-       ==> progs/dbfixup.h
-     dcgi.c
-       ==> progs/dcgi.c
-     dcgi.h
-       ==> progs/dcgi.h
-     debian/changelog
-       ==> debian/ChangeLog
-     disorder-dump.8.in
-       ==> doc/disorder-dump.8.in
-     disorder.1.in
-       ==> doc/disorder.1.in
-     disorder.3
-       ==> doc/disorder.3
-     disorder.c
-       ==> progs/disorder.c
-     disorder.h
-       ==> lib/disorder.h
-     disorder.init.in
-       ==> examples/disorder.init.in
-     disorder.py.in
-       ==> python/disorder.py.in
-     disorder_config.5.in
-       ==> doc/disorder_config.5.in
-     disorder_protocol.5.in
-       ==> doc/disorder_protocol.5.in
-     disorderd.8.in
-       ==> doc/disorderd.8.in
-     disorderd.c
-       ==> progs/disorderd.c
-     dump.c
-       ==> progs/dump.c
-     event.c
-       ==> lib/event.c
-     event.h
-       ==> lib/event.h
-     fprintf.c
-       ==> lib/fprintf.c
-     hex.c
-       ==> lib/hex.c
-     hex.h
-       ==> lib/hex.h
-     htmlman
-       ==> scripts/htmlman
-     inputline.c
-       ==> lib/inputline.c
-     inputline.h
-       ==> lib/inputline.h
-     kvp.c
-       ==> lib/kvp.c
-     kvp.h
-       ==> lib/kvp.h
-     log-impl.h
-       ==> lib/log-impl.h
-     log.c
-       ==> lib/log.c
-     log.h
-       ==> lib/log.h
-     makedeb
-       ==> scripts/makedeb
-     mem-impl.h
-       ==> lib/mem-impl.h
-     mem.c
-       ==> lib/mem.c
-     mem.h
-       ==> lib/mem.h
-     mixer.c
-       ==> lib/mixer.c
-     mixer.h
-       ==> lib/mixer.h
-     play.c
-       ==> progs/play.c
-     play.h
-       ==> progs/play.h
-     plugin.c
-       ==> lib/plugin.c
-     plugin.h
-       ==> lib/plugin.h
-     printf.c
-       ==> lib/printf.c
-     printf.h
-       ==> lib/printf.h
-     queue.c
-       ==> lib/queue.c
-     queue.h
-       ==> lib/queue.h
-     regsub.c
-       ==> progs/regsub.c
-     regsub.h
-       ==> progs/regsub.h
-     rescan.c
-       ==> progs/rescan.c
-     server.c
-       ==> progs/server.c
-     server.h
-       ==> progs/server.h
-     sink.c
-       ==> lib/sink.c
-     sink.h
-       ==> lib/sink.h
-     snprintf.c
-       ==> lib/snprintf.c
-     split.c
-       ==> lib/split.c
-     split.h
-       ==> lib/split.h
-     state.c
-       ==> progs/state.c
-     state.h
-       ==> progs/state.h
-     syscalls.c
-       ==> lib/syscalls.c
-     syscalls.h
-       ==> lib/syscalls.h
-     table.c
-       ==> lib/table.c
-     table.h
-       ==> lib/table.h
-     tkdisorder
-       ==> python/tkdisorder
-     tracks.c
-       ==> progs/tracks.c
-     tracks.h
-       ==> progs/tracks.h
-     types.h
-       ==> lib/types.h
-     unicodegc.h
-       ==> lib/unicodegc.h
-     utf8.h
-       ==> lib/utf8.h
-     vacopy.h
-       ==> lib/vacopy.h
-     vector.c
-       ==> lib/vector.c
-     vector.h
-       ==> lib/vector.h
-     words.c
-       ==> lib/words.c
-     words.h
-       ==> lib/words.h
-     wstat.c
-       ==> lib/wstat.c
-     wstat.h
-       ==> lib/wstat.h
-
-    new directories:
-     config.aux config.aux/.arch-ids doc doc/.arch-ids examples
-     examples/.arch-ids lib lib/.arch-ids progs progs/.arch-ids
-     python python/.arch-ids scripts scripts/.arch-ids
-
-
-2004-12-03 16:18:53 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-22
-
-    Summary:
-      missing from previous change
-    Revision:
-      disorder--mainline--0.1--patch-22
-
-    * dump.c: missing includes
-    * disorder.c: missing includes
-
-    modified files:
-     ChangeLog disorder.c dump.c
-
-
-2004-12-03 16:09:46 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-21
-
-    Summary:
-      fix garbage collection problems under Darwin
-    Revision:
-      disorder--mainline--0.1--patch-21
-
-    Call GC_init() at the start of each program.  This is necesary on Darwin and
-    leaving it out led to crashes.
-    
-    * play.c: more idiomatic xmalloc
-    * README.darwin: where to get ogg123/mpg321.
-
-    modified files:
-     ChangeLog README.darwin cgimain.c disorder.c disorderd.c
-     dump.c mem.c mem.h play.c
-
-
-2004-12-03 13:15:15 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-20
-
-    Summary:
-      first pass at Darwin (Mac OS X) port
-    Revision:
-      disorder--mainline--0.1--patch-20
-
-    The code now builds, runs, and plays music (albeit rather tinnily on my
-    laptop's speakers), but has a tendency to crash e.g. if you scratch three
-    or four tracks in a row.
-    
-    Code changes:
-    
-    * asprintf.c: error-checking wrapper for byte_asprintf
-    * event.c: EPROTO might not exist
-    * mixer.c: don't know how to set the volume if we don't have
-               <sys/soundcard.h>
-    * printf.c: support 'q' length modifier as a synonym for 'll'
-    * server.c: Darwin's getpeername() doesn't reliably fill in sa_family,
-                so remember the protocol family ourselves.
-    * tracks.c: DBT.size is not size_t
-                pass length back from track_states() correctly
-    
-    Build system changes:
-    
-    * prepare: look in /sw for the benefit of finkified Darwin.
-    * Makefile.am: Abandoned the attempt to restrict exported symbols; it is
-                   impractical to do portably.
-    * configure.ac: Use RJK_CHECK_LIB for iconv as AC_CHECK_LIB is not up to
-                    the job.
-    * confgure.ac: If fdatasync() is not available use fsync() instead.
-    * Makefile.am: Only use getopt* sources if necessary, and disable -Werror
-                   in that case (since the code doesn't compile cleanly
-                   enough)
-
-    new files:
-     README.darwin
-
-    removed files:
-     disorder.vs
-
-    modified files:
-     ChangeLog Makefile.am README addr.c asprintf.c cgi.c cgimain.c
-     client.c configuration.c configure.ac dcgi.c event.c mixer.c
-     plugin.c prepare printf.c printf.h queue.c server.c
-     sounds/slap.ogg state.c tracks.c wstat.c
-
-
-2004-12-01 23:51:21 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-19
-
-    Summary:
-      DisOrder 0.13
-    Revision:
-      disorder--mainline--0.1--patch-19
-
-    New release.
-
-    modified files:
-     CHANGES ChangeLog configure.ac debian/changelog
-
-
-2004-12-01 23:41:59 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-18
-
-    Summary:
-      fix crash on queue_find() of non-existent tracks
-    Revision:
-      disorder--mainline--0.1--patch-18
-
-    * queue.c: queue_find() was returning &qhead on error, which seriously
-               confuses its callers; for instance it could lead to the 'fake'
-               root node in the queue being removed, with hilarious
-               consequences when the queue was written back out.
-               Changed queue_find() to correctly return 0 on error.
-
-    modified files:
-     ChangeLog queue.c
-
-
-2004-10-31 13:56:12 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-17
-
-    Summary:
-      change version to 0.12+dev
-    Revision:
-      disorder--mainline--0.1--patch-17
-
-    0.12 branch is disorder--release-0-12--0.1.
-
-    modified files:
-     ChangeLog configure.ac
-
-
-2004-10-31 13:50:51 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-16
-
-    Summary:
-      delete non-working configs/ directory
-    Revision:
-      disorder--mainline--0.1--patch-16
-
-
-    removed files:
-     configs/.arch-ids/=id configs/disorder-0.12.arch
-     configs/disorder.arch
-
-    modified files:
-     ChangeLog
-
-    removed directories:
-     configs configs/.arch-ids
-
-
-2004-10-31 13:34:31 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-15
-
-    Summary:
-      config for release 0.12
-    Revision:
-      disorder--mainline--0.1--patch-15
-
-    Add configs for
-      disorder        main development line
-      disorder-0.12   release 0.12
-
-    new files:
-     configs/.arch-ids/=id configs/disorder-0.12.arch
-     configs/disorder.arch
-
-    modified files:
-     ChangeLog
-
-    new directories:
-     configs configs/.arch-ids
-
-
-2004-10-30 18:52:50 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-14
-
-    Summary:
-      release 0.12
-    Revision:
-      disorder--mainline--0.1--patch-14
-
-    ChangeLog is now an arch changelog; old changes can be found in
-    ChangeLog.cvs.
-    
-    Release 0.12.
-
-    new files:
-     ChangeLog
-
-    modified files:
-     CHANGES Makefile.am configure.ac debian/changelog
-     debian/rules.m4
-
-    renamed files:
-     ChangeLog
-       ==> ChangeLog.cvs
-
-
-2004-10-30 18:37:34 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-13
-
-    Summary:
-      tidy up disorder.py
-    Revision:
-      disorder--mainline--0.1--patch-13
-
-    Remove a bogus debugging print
-    
-    Add an example to the disorder.log() documentation
-
-    modified files:
-     disorder.py.in
-
-
-2004-10-30 18:33:08 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-12
-
-    Summary:
-      log command could crash server
-    Revision:
-      disorder--mainline--0.1--patch-12
-
-    Log output to a conn was never stopped even when the client no longer
-    wanted it.  So not only would bogus log messages be sent if the conn was
-    kept open, once it was closed there would be a crash.
-    
-    Fixed by storing the log output in the conn and closing it at the right
-    point.
-
-    modified files:
-     CHANGES server.c
-
-
-2004-10-30 18:26:39 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-11
-
-    Summary:
-      support 'log' in python client
-    Revision:
-      disorder--mainline--0.1--patch-11
-
-    New disorder.log method supports log command.
-
-    modified files:
-     disorder.py.in
-
-
-2004-10-29 19:50:39 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-10
-
-    Summary:
-      more detailed dependencies table
-    Revision:
-      disorder--mainline--0.1--patch-10
-
-    List version numbers for build dependencies.
-
-    modified files:
-     README
-
-
-2004-10-29 19:39:33 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-9
-
-    Summary:
-      deprecate libdb before 4.2
-    Revision:
-      disorder--mainline--0.1--patch-9
-
-    No code changes, but no promises regarding older libdb versions.
-
-    modified files:
-     README
-
-
-2004-10-29 19:38:04 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-8
-
-    Summary:
-      fix debian build rules
-    Revision:
-      disorder--mainline--0.1--patch-8
-
-    Cope with debian/rules being made outside ${srcdir}.
-
-    modified files:
-     debian/Makefile.am debian/autorules.m4
-
-
-2004-10-29 15:15:17 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-7
-
-    Summary:
-      enable/disable from web templates
-    Revision:
-      disorder--mainline--0.1--patch-7
-
-    Add enable, disable, disable-now actions and @enabled@ expansion, and
-    documented them.  The playing.html has an example usage in a comment, not
-    enabled because we find {enable,disable}-random much more useful in
-    practice.
-
-    modified files:
-     dcgi.c disorder_config.5.in templates/options.labels
-     templates/playing.html
-
-
-2004-10-28 23:05:52 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-6
-
-    Summary:
-      typo fix in error message
-    Revision:
-      disorder--mainline--0.1--patch-6
-
-
-    modified files:
-     dcgi.c
-
-
-2004-10-28 23:04:31 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-5
-
-    Summary:
-      add missing documentation
-    Revision:
-      disorder--mainline--0.1--patch-5
-
-    Describe various missing labels and the action= values.
-
-    modified files:
-     disorder_config.5.in
-
-
-2004-10-28 22:52:15 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-4
-
-    Summary:
-      add random play enable/disable buttons
-    Revision:
-      disorder--mainline--0.1--patch-4
-
-    @random-enabled@ expansion reports current state as a boolean
-    
-    random-enable and random-disable actions do the obvious thing
-    
-    New labels provide the text.  playing.html template includes the buttons
-    in management mode.
-    
-
-    modified files:
-     CHANGES dcgi.c disorder_config.5.in templates/help.html
-     templates/options.labels templates/playing.html
-
-
-2004-10-28 21:04:30 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-3
-
-    Summary:
-      Fix file permissions mangled in import
-    Revision:
-      disorder--mainline--0.1--patch-3
-
-    Added executable bit trampled by my add-arch-tag script.
-
-    modified files:
-     debian/config debian/postinst debian/postrm debian/prerm
-     htmlman inst makedeb prepare tkdisorder webman
-
-
-2004-10-28 20:45:11 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-2
-
-    Summary:
-      Further error corrections for import
-    Revision:
-      disorder--mainline--0.1--patch-2
-
-    Sort out confusion over aclocal.m4/acinclude.m4
-    
-
-    new files:
-     acinclude.m4
-
-    removed files:
-     aclocal.m4
-
-    modified files:
-     {arch}/=tagging-method
-
-
-2004-10-28 20:02:17 GMT        Richard Kettlewell <rjk@greenend.org.uk>        patch-1
-
-    Summary:
-      Fix missing files in import
-    Revision:
-      disorder--mainline--0.1--patch-1
-
-    Fix =tagging-method to not make debian/*.m4 and configure.ac(!) precious
-    Add arch-tags to add new files.
-
-    new files:
-     configure.ac debian/autorules.m4 debian/rules.m4
-
-    modified files:
-     {arch}/=tagging-method
-
-
-2004-10-28 19:19:21 GMT        Richard Kettlewell <rjk@greenend.org.uk>        base-0
-
-    Summary:
-      import from cvs tag disorder--mainline--0_1--base-0
-    Revision:
-      disorder--mainline--0.1--base-0
-
-    Add arch-tag lines to almost all files
-    'arch add' binary files and files without known comment syntax:
-      sounds/scratch.ogg
-      sounds/slap.ogg
-      debian/conffiles
-      debian/templates
-    Omitted .cvsignore files.
-    
-    Make various generated files (whether made by automake, prepare, etc)
-    precious.
-
-    new files:
-     AUTHORS BUGS CHANGES ChangeLog DESIGN2 Makefile.am NEWS README
-     README.streams TODO aclocal.m4 addr.c addr.h api-client.c
-     api-client.h api-server.c api.c asprintf.c authhash.c
-     authhash.h casefold.h cgi.c cgi.h cgimain.c charset.c
-     charset.h client.c client.h config.sample.in configuration.c
-     configuration.h daemonize.c daemonize.h dbfixup.h dcgi.c
-     dcgi.h debian/Makefile.am debian/README.Debian
-     debian/changelog debian/conffiles debian/config debian/control
-     debian/copyright debian/disorder.config debian/htaccess
-     debian/postinst debian/postrm debian/prerm debian/templates
-     disorder-dump.8.in disorder.1.in disorder.3 disorder.c
-     disorder.h disorder.init.in disorder.py.in disorder.vs
-     disorder_config.5.in disorder_protocol.5.in disorderd.8.in
-     disorderd.c dump.c event.c event.h fprintf.c hex.c hex.h
-     htmlman inputline.c inputline.h inst kvp.c kvp.h log-impl.h
-     log.c log.h makedeb mem-impl.h mem.c mem.h mixer.c mixer.h
-     play.c play.h plugin.c plugin.h plugins/Makefile.am
-     plugins/exec.c plugins/fs.c plugins/mad.c plugins/madshim.h
-     plugins/notify.c plugins/pick.c plugins/shell.c
-     plugins/tracklength.c prepare printf.c printf.h queue.c
-     queue.h regsub.c regsub.h rescan.c server.c server.h sink.c
-     sink.h snprintf.c sounds/Makefile.am sounds/scratch.ogg
-     sounds/slap.ogg split.c split.h state.c state.h syscalls.c
-     syscalls.h table.c table.h templates/Makefile.am
-     templates/about.html templates/choose.html
-     templates/choosealpha.html templates/credits.html
-     templates/help.html templates/options
-     templates/options.columns templates/options.labels
-     templates/options.trackname templates/options.transform
-     templates/playing.html templates/prefs.html
-     templates/recent.html templates/search.html
-     templates/sidebar.html templates/stdhead.html
-     templates/stylesheet.html templates/volume.html tkdisorder
-     tracks.c tracks.h types.h unicodegc.h utf8.h vacopy.h vector.c
-     vector.h webman words.c words.h wstat.c wstat.h
-
-
index c9a811629af9cf485919dda9f6c703391173ac8d..83df2ba96f53db6cb1771330117ab276dc171447 100644 (file)
@@ -18,7 +18,7 @@
 # USA
 #
 
-EXTRA_DIST=TODO CHANGES README.streams BUGS ChangeLog.d        \
+EXTRA_DIST=TODO CHANGES README.streams BUGS \
 README.upgrades README.client README.mac README.raw README.vhost \
 README.freebsd README.developers
 SUBDIRS=@subdirs@
@@ -36,9 +36,6 @@ make-coverage-reports:
          cd ..;\
        done
 
-dist-hook:
-       bzr log > ${distdir}/ChangeLog.d/bzr-changelog
-
 echo-distdir:
        @echo $(distdir)
 
diff --git a/scripts/check b/scripts/check
deleted file mode 100755 (executable)
index 1009044..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#! /usr/bin/perl -w
-#
-# This file is part of DisOrder.
-# Copyright (C) 2005, 2006 Richard Kettlewell
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-# USA
-#
-
-use strict;
-
-my $year;
-my %checked = ();
-my %removed = ();
-my $prefix = -e ".src" ? ".src/" : "";
-my $what = "";
-my $original;
-my @exceptions;
-my %exceptions;
-my %missing = ();
-
-open(F, "<${prefix}scripts/copyright.exceptions") or die "$0: scripts/copyright.exceptions: $!";
-chomp(@exceptions = <F>);
-%exceptions = map(($_, 1), grep !/^\#/, @exceptions);
-
-opendir(D, "${prefix}ChangeLog.d") or die "$0: ChangeLog.d: $!\n";
-for my $dir (readdir D) {
-    next if $dir =~ /cvs/;
-    open(C, "<${prefix}ChangeLog.d/$dir") or die "$0: ChangeLog.d/$dir: $!\n";
-    while(defined($_ = <C>)) {
-       if(/^(\d{4})-\d{2}-\d{2}/) {
-           $year = $1;
-       }
-       if(/^\s+(modified|removed|renamed) files:$/) {
-           $what = $1;
-           next;
-       }
-       if(/^\s*$/) {
-           $what = "";
-       }
-       if($what eq 'modified') {
-           my @files = split(/\s+/, $_);
-           for my $file (@files) {
-               next if exists $checked{"$file-$year"};
-               next if $file =~ /^ChangeLog\.d/;
-               next if ! -e "$prefix$file";
-               open(INPUT, "<$prefix$file") or die "$0: $prefix$file: $!\n";
-               my $good = 0;
-               while(defined(my $line = <INPUT>)) {
-                   if($line =~ /Copyright.*$year/i) {
-                       $good = 1;
-                       last;
-                   }
-               }
-               close INPUT;
-               $checked{"$file-$year"} = $good;
-               $missing{"$file: missing $year"} = 1
-                   if !$good && !exists $exceptions{$file};
-           }
-       }
-    }
-}
-
-print map("$_\n", sort keys %missing);
-
diff --git a/scripts/copyright.exceptions b/scripts/copyright.exceptions
deleted file mode 100644 (file)
index d8c111f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-BUGS
-CHANGES
-README.raw
-README.upgrades
-README.client
-debian/README.Debian
-debian/changelog
-debian/changelog
-debian/conffiles
-debian/control
-debian/disorder.config
-debian/options.debian
-debian/templates
-doc/checklist.txt
-examples/config.sample.in
-images/edit.png
-sounds/slap.ogg
-templates/options
-templates/options.labels
-templates/options.labels
-{arch}/=tagging-method
-{arch}/=tagging-method
-disobedience/TODO
-scripts/copyright.exceptions
index ec523a49e0c88804f3a56882a6ccbaebd3840c52..d5134e4cdc9b99e3f26f6dbc128438b0cbf8efee 100755 (executable)
@@ -28,8 +28,6 @@ d=$(make echo-distdir)
 cp $d.tar.bz2 $HOME/work/web/disorder
 cp CHANGES $HOME/work/web/disorder/CHANGES.txt
 cp README $HOME/work/web/disorder/README.txt
-cp ChangeLog.d/*--* $HOME/work/web/disorder/ChangeLog.d
-bzr log > $HOME/work/web/disorder/ChangeLog.d/bzr-changelog.txt
 cd doc
 for f in *.[1-9].html; do
   echo $f