1 2004-10-04 00:59:42 +0100 Richard Kettlewell <rjk@greenend.org.uk>
3 * dcgi.c: proper track ordering in search.
5 * regsub.c, tracks.c: chattier error messages
7 * utf8.h: stricter UTF-8 parsing
9 2004-09-26 10:47:45 +0100 Richard Kettlewell <rjk@greenend.org.uk>
11 * Makefile.am, plugins/Makefile.am: tidy up to build in separate
14 2004-09-25 17:47:23 +0100 Richard Kettlewell <rjk@greenend.org.uk>
18 2004-09-25 17:41:21 +0100 Richard Kettlewell <rjk@greenend.org.uk>
20 * BUGS: some known bugs
22 2004-09-25 17:25:49 +0100 Richard Kettlewell <rjk@greenend.org.uk>
24 * tracks.c: chattier errors
26 2004-09-25 17:17:25 +0100 Richard Kettlewell <rjk@greenend.org.uk>
28 * api-client.c, cgi.c, cgimain.c, disorder.c, server.c: EXIT_FAILURE
31 2004-09-18 17:28:32 +0100 Richard Kettlewell <rjk@greenend.org.uk>
33 * client.c: rework handling of commands that get lists back,
34 unbreaking 'stats' in the process.
36 2004-09-18 16:54:58 +0100 Richard Kettlewell <rjk@greenend.org.uk>
38 * tracks.c: add a lockfile to prevent concurrent access to databases.
40 2004-07-31 19:05:38 +0100 Richard Kettlewell <rjk@greenend.org.uk>
42 * debian/postinst, prerm: hopefuly better upgrade handling
44 2004-07-31 18:44:52 +0100 Richard Kettlewell <rjk@greenend.org.uk>
46 * queue.c: don't reverse the queue on restart
48 * Document queue/recent ordering a bit better.
50 2004-07-20 20:22:09 +0100 Richard Kettlewell <rjk@greenend.org.uk>
52 * tkdisorder: primitive queue widget, simplify MonitorStateThread
54 2004-07-20 19:42:52 +0100 Richard Kettlewell <rjk@greenend.org.uk>
56 * tkdisorder: python + tkinter gui, still under development
58 2004-07-18 14:21:12 +0100 Richard Kettlewell <rjk@greenend.org.uk>
60 * Extra navigation links in 'Choose' screen allow easier navigation
61 back up the directory tree. It's not quite right yet because
62 track names are relative to the filesystem root rather than the root
65 New @navigate@, @fullname@, @dirname@, @basename@, @ne@ and @eq@
68 2004-07-18 13:22:53 +0100 Richard Kettlewell <rjk@greenend.org.uk>
70 * use new label sidebar.choosewhich to determine which 'Choose' screen
71 to pick, rather than making operator edit sidebar.html
73 * mention config.USERNAME in README
75 2004-07-18 13:05:45 +0100 Richard Kettlewell <rjk@greenend.org.uk>
77 * debian/control: more detailed build deps
79 2004-07-18 13:03:56 +0100 Richard Kettlewell <rjk@greenend.org.uk>
81 * README: dependency version notes
83 2004-07-18 12:57:55 +0100 Richard Kettlewell <rjk@greenend.org.uk>
85 * cope with gcrypt version skew
87 2004-07-18 02:46:07 +0100 Richard Kettlewell <rjk@greenend.org.uk>
89 * Control connections can go over the net (using anything that
90 getaddrinfo() knows about) using the new 'listen' and 'connect'
93 2004-07-17 19:01:25 +0100 Richard Kettlewell <rjk@greenend.org.uk>
95 * Increase/decrease volume buttons
97 2004-07-17 16:35:18 +0100 Richard Kettlewell <rjk@greenend.org.uk>
99 * templates/help.html: document 'Manage'
101 * templates/playing.html: extra empty buttons
103 2004-07-17 16:24:12 +0100 Richard Kettlewell <rjk@greenend.org.uk>
105 * Any track that had a filesystem encoding that differed from itself
106 when converted to UTF-8 track (that is to say, any non-ASCII track in
107 a non-UTF-8 filesystem) would not be played, as only the UTF-8
108 version of the name was passed to the player.
110 * The disorder_play_track plugin interface now takes both the path and
111 the track name (the former being the raw bytes from the filesystem,
112 the latter being the UTF-8 version).
114 * Document that scratch names must be UTF-8 (or ASCII).
116 2004-07-17 16:11:21 +0100 Richard Kettlewell <rjk@greenend.org.uk>
118 * 'move' command in control protocol to move tracks around
120 * New 'Manage' page allows tracks to be moved around in the queue.
122 2004-07-17 14:56:04 +0100 Richard Kettlewell <rjk@greenend.org.uk>
124 * disorder.c: teach 'disorder play' to take multile tracks. Hence for
125 instance you could do:
126 disorder play /path/to/some/album/*.ogg
128 2004-07-17 14:45:55 +0100 Richard Kettlewell <rjk@greenend.org.uk>
130 * templates/help.html: mention choosealpha
132 2004-07-17 14:37:18 +0100 Richard Kettlewell <rjk@greenend.org.uk>
134 * Use regexp-filtered file listings to implement choosealpha.html,
135 which split the top-level 'Choose' page up according to the initial
136 letter of the filenames.
138 2004-07-17 14:19:33 +0100 Richard Kettlewell <rjk@greenend.org.uk>
140 * files and directory listings can now be filtered using regexps (you
141 could do this in your client anyway but now the server does it for
142 you, thus causing less data to be transferred from server to
145 * correct disorder.py's quoting of empty strings
147 2004-07-17 13:07:51 +0100 Richard Kettlewell <rjk@greenend.org.uk>
149 * disorder.py.in: correct exception-to-string functions
151 2004-07-17 13:05:06 +0100 Richard Kettlewell <rjk@greenend.org.uk>
153 * disorder.py.in: add another example
155 2004-07-17 12:57:57 +0100 Richard Kettlewell <rjk@greenend.org.uk>
157 * disorder.py.in: better docs and error handling
159 2004-07-17 01:06:59 +0100 Richard Kettlewell <rjk@greenend.org.uk>
161 * disorder.py.in: add a full set of methods
163 2004-07-17 01:06:31 +0100 Richard Kettlewell <rjk@greenend.org.uk>
165 * plugins/tracklength.c: quieten compiler
167 2004-07-16 22:31:31 +0100 Richard Kettlewell <rjk@greenend.org.uk>
169 * rudimentary Python client support
171 2004-07-15 00:55:08 +0100 Richard Kettlewell <rjk@greenend.org.uk>
173 * configuration.c: stricter syntax check for 'url'
175 2004-07-15 00:41:22 +0100 Richard Kettlewell <rjk@greenend.org.uk>
177 * disorder_config.5.in: clarify 'url' syntax
179 * templates/help.html: link to DisOrder control protocol page
181 2004-07-14 19:46:38 +0100 Richard Kettlewell <rjk@greenend.org.uk>
183 * config.sample.in, debian/disorder.config: play WAV files correctly
185 * debian/control: depend on sox
187 * scratches are now *.ogg files
189 2004-07-11 19:45:24 +0100 Richard Kettlewell <rjk@greenend.org.uk>
191 * plugins/tracklength.c: build fix
193 2004-07-11 19:39:40 +0100 Richard Kettlewell <rjk@greenend.org.uk>
195 * add notify_queue to notify plugin
197 2004-07-11 19:01:26 +0100 Richard Kettlewell <rjk@greenend.org.uk>
199 * tracks.c: always sync log after replay, so that upgrade works
201 2004-07-11 18:54:33 +0100 Richard Kettlewell <rjk@greenend.org.uk>
203 * new prefs.log file records all preferences in ASCII and guarantess
204 to be up to date. So provided you back up this file the rest of the
205 databases can be lost completely.
207 * document the use and properties of the various database files
209 * new prefsync configuration command controls interval between
210 minimization of prefs.log.
212 * event.c, event.h: timeouts get an associated handle which can be
215 * don't remove the search database at the drop of a hat as that would
216 require it to be rebuilt more frequently than is sensible.
218 2004-07-11 18:38:52 +0100 Richard Kettlewell <rjk@greenend.org.uk>
220 * disorder.c: missing 'break', oops!
222 2004-07-10 19:43:42 +0100 Richard Kettlewell <rjk@greenend.org.uk>
224 * plugins/tracklength.c: binary search over extensions
225 round up WAV duration
227 2004-07-10 19:22:50 +0100 Richard Kettlewell <rjk@greenend.org.uk>
229 * plugins/tracklength.c: tracklength plugin now knows about WAV files
230 remember to unmap files after parsing them!
232 * sounds/slap.wav: correct broken encoding (was two WAVs concatenated,
233 is now a single WAV; it worked with 'cat > /dev/audio' but doesn't
234 work with things that expect a single correctly formatted WAV file.)
236 2004-07-10 18:11:26 +0100 Richard Kettlewell <rjk@greenend.org.uk>
238 * 'disorder --length' allows command-line access to tracklength plugin
240 2004-07-10 14:47:41 +0100 Richard Kettlewell <rjk@greenend.org.uk>
242 * server.c: use libgcrypt for random numbers
244 * configure.ac: don't need dev/[u]random any more
246 2004-07-10 13:33:16 +0100 Richard Kettlewell <rjk@greenend.org.uk>
248 * add log command to stream logs to clients
250 * disorder_protocol.5.in: new man page documenting internal
251 communications protocol
253 2004-07-10 11:51:54 +0100 Richard Kettlewell <rjk@greenend.org.uk>
255 * use URL-encoding in dumps because it's more convenient to duck
256 encoding issues that way. It also looks more consistent with the
257 use of URL-encoding elsewhere in DisOrder.
259 * change logging interface so that messages are formatted only once.
261 2004-07-10 11:40:13 +0100 Richard Kettlewell <rjk@greenend.org.uk>
263 * printf.c: correct number bases!
265 2004-07-10 00:00:33 +0100 Richard Kettlewell <rjk@greenend.org.uk>
267 * send back our URL in Refresh HTTP header to work around weird Apache
270 * log to (in theory) multiple outputs
272 * '#define NO_MEMORY_ALLOCATION' allows us to enforce rules about
273 files that shouldn't perform memory allocation
275 * split *printf frontends into separate files since some need memory
276 allocation and some do not
278 2004-06-12 11:37:37 +0100 Richard Kettlewell <rjk@greenend.org.uk>
280 * Use a sink to handle writing to an ev_writer
282 * disorder-dump --dump now works against a running server, so it is
283 not necessary to take the server down to back up the preference
286 * printf.c: correct handling of flags (which were completely broken)
288 2004-05-24 15:56:30 +0100 Richard Kettlewell <rjk@greenend.org.uk>
290 * new help page, plus HTML-ized versions of man pages
292 * de-dupe code in Makefile
294 * template names can't have / in and can't be dot-files
295 (previously they weren't allowed . in)
297 * @ is @ not (
299 2004-05-24 14:00:38 +0100 Richard Kettlewell <rjk@greenend.org.uk>
301 * templates/playing.html: put track title in <TITLE> element
303 2004-05-24 13:58:29 +0100 Richard Kettlewell <rjk@greenend.org.uk>
305 * dcgi.c: remove dead code
307 2004-05-23 19:29:16 +0100 Richard Kettlewell <rjk@greenend.org.uk>
309 * Makefile.am: distribute missing files
311 * dcgi.c: quiten compiler
313 * printf.c: missing base and padding settings
315 2004-05-23 19:08:40 +0100 Richard Kettlewell <rjk@greenend.org.uk>
317 * disorder.3: update for disorder_snprintf
319 2004-05-23 19:01:31 +0100 Richard Kettlewell <rjk@greenend.org.uk>
321 * New *printf implementation, which is guaranteed to behave reliable
322 in the face of strange encoding games (standard *printf insist on
323 MBC strings in the current encoding, which isn't great for us).
324 We don't support floating point yet.
326 * Log output is always ASCII (non-ASCII characters are escaped) so we
327 don't have to rely on the encoding of stderr or syslog.
329 * No longer depend on the target providing a working snprintf.
331 * Corrected a few broken *printf calls
333 2004-05-22 16:55:02 +0100 Richard Kettlewell <rjk@greenend.org.uk>
335 * reach preferences edit from 'Recent'
337 2004-05-22 16:30:56 +0100 Richard Kettlewell <rjk@greenend.org.uk>
339 * @search@ converted to new template infrastructure
341 2004-05-21 21:55:55 +0100 Richard Kettlewell <rjk@greenend.org.uk>
343 * optionally restrict scratch and/or remove to submitting user
345 * export 'become' command to command-line client
347 * determine username from UID, not environment
349 2004-05-21 21:13:30 +0100 Richard Kettlewell <rjk@greenend.org.uk>
351 * disorder_config.5.in: minor improvements
353 2004-05-21 21:00:05 +0100 Richard Kettlewell <rjk@greenend.org.uk>
355 * disorder_config.5.in: rearrange into alpha order
357 2004-05-18 23:14:11 +0100 Richard Kettlewell <rjk@greenend.org.uk>
359 * disorder.c: add {enable,disable}-random as synonyms for
360 random-{enable,disable}
362 2004-05-18 20:18:02 +0100 Richard Kettlewell <rjk@greenend.org.uk>
364 * dcgi.c: prevent rapid web refresh is all playing is disabled
366 2004-05-18 00:30:28 +0100 Richard Kettlewell <rjk@greenend.org.uk>
368 * support libdb 4.2 as well as 3.2. Versions inbetween might well work
369 but this hasn't been tested.
371 2004-05-16 23:43:34 +0100 Richard Kettlewell <rjk@greenend.org.uk>
373 * debian/control: list build depends
375 2004-05-16 23:34:40 +0100 Richard Kettlewell <rjk@greenend.org.uk>
377 * #include <db.h> when checking libdb, to cope with variants that
378 redefine all the symbols.
380 2004-05-16 23:28:55 +0100 Richard Kettlewell <rjk@greenend.org.uk>
382 * new disorder-dump program to read/write prefs in text format
383 (e.g. for backup, database upgrade, replication)
385 2004-05-16 10:37:10 +0100 Richard Kettlewell <rjk@greenend.org.uk>
387 * Makefile.am: clean generated files
389 * debian/autorules.m4: fix clean target
391 * debian/rules.m4: man pages in /usr/share/man
393 2004-04-26 23:28:18 +0100 Richard Kettlewell <rjk@greenend.org.uk>
395 * eliminate dependency on <inttypes.h>
397 2004-04-26 20:59:20 +0100 Richard Kettlewell <rjk@greenend.org.uk>
399 * convert UTF-8 -> UCS-4 directly, rather than relying on iconv (which
400 doesn't always know how to do it).
402 2004-04-26 20:47:12 +0100 Richard Kettlewell <rjk@greenend.org.uk>
404 * Do not expand dcgi-generated txet in expansion argument values (as
405 it'll get expanded properly later on anyway).
407 * Add @urlquote@ expansion.
409 2004-04-25 20:47:26 +0100 Richard Kettlewell <rjk@greenend.org.uk>
411 * arg:directory, not arg:dir
412 Include containing directory name in choose.html
414 2004-04-25 20:11:49 +0100 Richard Kettlewell <rjk@greenend.org.uk>
416 * disorder_config.5.in: minor docs improvements.
418 2004-04-25 19:53:19 +0100 Richard Kettlewell <rjk@greenend.org.uk>
420 * unify transform- web options, and make them available via the
421 @transform@ expansion.
423 2004-04-25 19:52:13 +0100 Richard Kettlewell <rjk@greenend.org.uk>
425 * tracks.c: setting a trackname_ pref would cause a crash.
427 2004-04-25 18:51:56 +0100 Richard Kettlewell <rjk@greenend.org.uk>
429 * Bring documentation up to date a bit.
431 2004-04-25 18:29:49 Richard Kettlewell <rjk@greenend.org.uk>
433 * @choose@ converted to new template infrastructure.
435 2004-04-25 17:14:56 Richard Kettlewell <rjk@greenend.org.uk>
437 * @prefs@ now takes a template argument, shifting the preferences
438 table furniture into the template file.
440 2004-04-25 15:44:38 Richard Kettlewell <rjk@greenend.org.uk>
442 * Portability hacks of various degrees of nastiness in the interest of
445 2004-04-18 19:00:52 Richard Kettlewell <rjk@greenend.org.uk>
447 * disorder_config.5.in: add some missing bits.
449 2004-04-18 18:05:17 Richard Kettlewell <rjk@greenend.org.uk>
451 * @playing@ and @recent@ now take a template argument, allowing the
452 template file to contain the table furniture rather than having it
453 generated from inside dcgi. Templates updated accordingly.
454 Documentation updated.
456 * Moved the calculation of expected start times into the server.
458 2004-04-18 13:45:19 Richard Kettlewell <rjk@greenend.org.uk>
460 * dcgi.c: booleans for the expansion language
462 2004-04-18 13:13:46 Richard Kettlewell <rjk@greenend.org.uk>
464 * Expansions can now take multiple parameters using a new quoting
465 syntax. Parameters are (for all current expansions, but not for
466 some future one) recursively expanded before use.
468 * sink.c: interface for things that accept output (current
469 implementations being stdio and dynstrs)
471 * vacopy.h: find a va_copy somewhere.
473 2004-04-17 16:48:00 Richard Kettlewell <rjk@greenend.org.uk>
477 2004-04-17 16:25:59 Richard Kettlewell <rjk@greenend.org.uk>
481 2004-04-17 16:03:45 Richard Kettlewell <rjk@greenend.org.uk>
483 * README: recommend basic authentication instead of digest auth, as
484 the latter seems too poorly supported.
486 * configure.ac: don't check for things that are very standard
488 * debian/control: add Section and Priority fields
490 2004-04-04 17:45:34 Richard Kettlewell <rjk@greenend.org.uk>
492 * Build GNU getopt for systems where libc doesn't have it
494 2004-04-04 15:11:49 Richard Kettlewell <rjk@greenend.org.uk>
496 * configure.ac: check that various things are available and work at
497 configure time, rather than build or (worse still!) run time. More
500 * charset.c: <wchar.h> no longer needed
502 2004-04-04 12:06:16 Richard Kettlewell <rjk@greenend.org.uk>
504 * server.c: attempt to play tracks when they are added to the queue.
505 Otherwise they wouldn't be played at all nothing was already
508 2004-04-03 13:39:30 Richard Kettlewell <rjk@greenend.org.uk>
510 * Use libiconv if libc doesn't have iconv
512 2004-04-03 12:42:05 Richard Kettlewell <rjk@greenend.org.uk>
514 * configure.ac: check for both libdb and libdb3
515 report all missing libs at once
517 2004-04-02 23:42:13 Richard Kettlewell <rjk@greenend.org.uk>
519 * Only use __attribute__ syntax under GNU C.
521 2004-04-02 23:16:41 Richard Kettlewell <rjk@greenend.org.uk>
523 * configure.ac: use whatever libdb the system defaults to.
525 2004-04-02 23:06:50 Richard Kettlewell <rjk@greenend.org.uk>
527 * disorder.c: add a --help-commands option giving a one-line summary
530 * Updated documentation a bit.
532 2004-04-02 20:20:47 Richard Kettlewell <rjk@greenend.org.uk>
534 * Ship another scratch sound.
536 2004-04-02 20:10:10 Richard Kettlewell <rjk@greenend.org.uk>
538 * Debianization fixes:
540 + call Libtool correctly
541 + fix shared library dependencies
543 * Quieten compiler when optimization turned on.
545 2004-04-02 19:27:59 Richard Kettlewell <rjk@greenend.org.uk>
547 * Tidy up appearance of preferences screen
549 2004-03-28 20:01:40 Richard Kettlewell <rjk@greenend.org.uk>
551 * Track prefs editor in web interface. Rather rough-edged for now.
553 2004-03-28 17:41:43 Richard Kettlewell <rjk@greenend.org.uk>
555 * dcgi.c: add @shell@ expansion
557 2004-03-28 15:02:02 Richard Kettlewell <rjk@greenend.org.uk>
559 * dcgi.c: handle empty search result lists correctly.
561 2004-03-28 14:38:01 Richard Kettlewell <rjk@greenend.org.uk>
563 * split.c: quote empty strings properly
565 2004-03-28 14:35:39 Richard Kettlewell <rjk@greenend.org.uk>
567 * README.streams: how to play streams with DisOrder
569 2004-03-28 14:10:51 Richard Kettlewell <rjk@greenend.org.uk>
571 * play.c: unpick wait status of failed players
573 2004-03-28 14:07:49 Richard Kettlewell <rjk@greenend.org.uk>
575 * play.c: put players in their own process group and send SIGKILL
576 rather than SIGTERM (the latter because ogg123 doesn't seem to honor
577 SIGTERM when playing streams).
579 2004-03-28 13:57:12 Richard Kettlewell <rjk@greenend.org.uk>
581 * Handle directories that contain both files and directories better
582 + dcgi.c: headings for directory/track lists
583 correct output for choose.playall label
584 + server.c: support file listing in the root
585 + Associated label and style sheet additions
587 2004-03-28 12:35:20 Richard Kettlewell <rjk@greenend.org.uk>
589 * New 'shell' player plugin executes a shell command with an environment
590 variable identifying the track. Optionally, the user can control what
593 * The sample config file knows how to play .wav files now.
595 * Ship a default scratch sound.
597 2004-03-27 20:48:13 Richard Kettlewell <rjk@greenend.org.uk>
599 * Play tracks via a plugin. 'exec' plugin module provides previous
602 2004-03-27 20:28:57 Richard Kettlewell <rjk@greenend.org.uk>
604 * log interesting events if a username is attached (see previous
607 2004-03-27 19:30:44 Richard Kettlewell <rjk@greenend.org.uk>
609 * server.c: don't log auth data any more - with the Refresh: HTTP
610 header causing disorder.cgi to run every few seconds you end up with
611 vast amounts of useless information. It would be more sensible to
614 2004-03-27 18:41:22 Richard Kettlewell <rjk@greenend.org.uk>
616 * Add a sidebar to the web interface, making everything available from
617 everywhere. Tidy up the default stylesheet.
619 2004-03-27 18:19:40 Richard Kettlewell <rjk@greenend.org.uk>
621 * dcgi.c: eliminate a spurious </div>
623 2004-03-27 17:17:16 Richard Kettlewell <rjk@greenend.org.uk>
625 * When updating the track list, only process one track per select().
626 This makes the server much more responsive to clients during
629 2004-03-27 16:20:30 Richard Kettlewell <rjk@greenend.org.uk>
631 * Don't need file extensions in stopword list by default any more.
633 2004-03-27 16:07:53 Richard Kettlewell <rjk@greenend.org.uk>
635 * Common code now lives in a shared library.
636 This library is not intended for other programs to link against,
637 so no ABI guarantees exist for it.
639 * The disorder(3) API is now implemented by shim functions rather than
640 aliases. These are always part of the executable that imports the
641 plugin, never the shared library. Varargs functions are a bit messy
642 as you can't just write a forwarding function for them.
644 2004-03-27 14:22:22 Richard Kettlewell <rjk@greenend.org.uk>
646 * Volume control support.
647 + new 'mixer' and 'channel' configuration commands
648 + 'volume' server command
649 + disorder_set_volume and disorder_get_volume client functions
650 + get-volume and set-volume command-line client commands
651 + @volume:SPEAKER@ expansion to get current volumes
652 + 'volume' action to set volume
653 + volume.html template (a bit primitive still)
655 2004-03-26 19:15:09 Richard Kettlewell <rjk@greenend.org.uk>
657 * Bring back 'Play all' button in @choose@, and fix track selection
659 * Scratch by ID, so that late scratches don't get the wrong track
661 2004-03-25 00:40:12 Richard Kettlewell <rjk@greenend.org.uk>
663 * tracks.c: report top 10 search words in server stats
665 2004-03-24 23:24:45 Richard Kettlewell <rjk@greenend.org.uk>
667 * dcgi.c: de-dupe track/directory code in @choose@
669 2004-03-22 23:31:55 Richard Kettlewell <rjk@greenend.org.uk>
671 * dcgi.c: fine-tune sort order. Now we try the 'sort' transformation
672 or part context first - once case-folded, once raw; then we try the
673 'display' version, again case-folded then raw; and finally we use
674 the unprocessed track name as as tie-breaker.
676 Repeated calls to casefold aren't very efficient, this should be
679 * templates/options.transform: correct transform-track replacement
682 2004-03-22 19:58:42 Richard Kettlewell <rjk@greenend.org.uk>
684 * Global and case-independent regexp replacement.
686 * Strip out punctuation for sorting directories in @choose@.
688 2004-03-21 19:30:39 Richard Kettlewell <rjk@greenend.org.uk>
690 * tracks.c: remove search database in track_sync(). It'll be removed
691 when we re-open anyway, and there's no point occupying the disk
692 space longer than necessary.
694 By the same token, we don't bother syncing it in track_sync().
696 2004-03-21 18:47:31 Richard Kettlewell <rjk@greenend.org.uk>
698 * Sort strings are now case-folded before comparison.
700 * words.c: casefold now returns the original string if it was
701 malformed, rather than a null pointer.
703 2004-03-21 17:04:48 Richard Kettlewell <rjk@greenend.org.uk>
705 * disorder.h: new function disorder_track_set_data allows plugins to
706 set preferences as well as query them.
708 * disorder.3: document the above and add some general notes
710 * plugins/notify.c: record time and count tracks are played at
712 * plugins/pick.c: don't pick recently played tracks
714 2004-03-21 16:06:21 Richard Kettlewell <rjk@greenend.org.uk>
716 * tracks.c: server stats had the database types all wrong, leading to
719 2004-03-21 15:14:12 Richard Kettlewell <rjk@greenend.org.uk>
721 * Separate sorting and display with new context arguments in
722 configuration and trackname_ preferences.
724 * By default track numbers take part in sorting, but are not displayed
726 * By default "The" is display unmodified but moved to the end for
729 2004-03-21 14:37:36 Richard Kettlewell <rjk@greenend.org.uk>
731 * Group search results according to 'columns search' configuration.
733 2004-03-21 14:25:35 Richard Kettlewell <rjk@greenend.org.uk>
735 cvs -Q up -j mergepoint-0-9-bugfixes-1 -j mergepoint-0-9-bugfixes-2
737 2004-03-21 14:21:34 Richard Kettlewell <rjk@greenend.org.uk>
739 * templates/search.html: fix broken HTML.
741 2004-03-20 21:11:30 Richard Kettlewell <rjk@greenend.org.uk>
743 * Include trackname_ preferences in searches, and rebuild search
744 database from scratch on startup (to completely eliminate any
745 contamination due to prior configuration).
747 2004-03-20 18:50:36 Richard Kettlewell <rjk@greenend.org.uk>
749 * words.c: more characters are separators
751 2004-03-20 18:44:45 Richard Kettlewell <rjk@greenend.org.uk>
753 * Split preferences into a separate database, and automatically
756 2004-03-18 00:11:26 Richard Kettlewell <rjk@greenend.org.uk>
758 * tracks.c: correct scanning for directories, to correctly handle
759 cases where you have <path>/<prefix> and <path>/<prefix><suffix>.
761 2004-03-17 00:20:55 Richard Kettlewell <rjk@greenend.org.uk>
763 * config.sample.in: prefer mpg321 to mpg123
765 2004-03-16 23:45:54 Richard Kettlewell <rjk@greenend.org.uk>
767 * Server statistics support:
768 o track_stats() reports stats from databases
769 o disorder_stats() reports stats in client
770 o stats command to command line interface
771 o @stats@ expansion in web interface
773 * about.html: provides information about DisOrder
775 * client.c: correct list parsing in client interface
777 * disorder_config.5.in: add missing docs for @arg@ and @search@
779 2004-03-16 23:16:12 Richard Kettlewell <rjk@greenend.org.uk>
781 * Do all database writes synchronously and add some missing
782 transaction IDs. In fact the missing transaction IDs probably
783 ameliorated problems caused by the asynchronous writes (which leave
784 the database actually unusable, rather than merely with bits
787 2004-03-16 20:30:00 Richard Kettlewell <rjk@greenend.org.uk>
789 * Improved track search:
790 o Instead of encoding all track names into a single db item, we use
791 sorted duplicate data items. libdb does all the work for us.
792 o Strip collection root and extensions from filenames
793 o Delete stopwords from search db at startup (in case new ones have
795 o Rename search db to search2.db so it doesn't conflict with the old
797 o Always update search db even if we've seen the track, so that
798 database format/name changes don't trash searching
800 * Add a few missing transaction ID arguments.
802 2004-03-16 20:24:25 Richard Kettlewell <rjk@greenend.org.uk>
804 * rescan.c: rescan would crash on shut down
806 2004-03-16 12:43:54 Richard Kettlewell <rjk@greenend.org.uk>
808 * quieten compiler when optimization turned on
810 2004-03-16 12:12:40 Richard Kettlewell <rjk@greenend.org.uk>
812 * disorder_config.5.in: complete renaming of trackinfo.* to heading.*
814 2004-03-15 23:18:02 Richard Kettlewell <rjk@greenend.org.uk>
818 2004-03-15 19:56:50 Richard Kettlewell <rjk@greenend.org.uk>
820 * Define table columns with a new 'columns' web option, rather than by
821 relying on the ordering of trackinfo.* labels. trackinfo.* labels
822 are thus only used as headings and are renamed accordingly. The
823 button column is no longer magical.
825 * Always search the config directory and data directory for templates
826 and web options (after any explicitly configured directories).
828 2004-03-15 19:17:02 Richard Kettlewell <rjk@greenend.org.uk>
830 * make table classes more consistent
832 2004-03-15 18:13:39 Richard Kettlewell <rjk@greenend.org.uk>
834 * tracks.c: log closing databases. Checkpoint database at shutdown.
836 2004-03-15 18:03:35 Richard Kettlewell <rjk@greenend.org.uk>
838 * tracks.c: issue log messages from database checkpointing, since we
839 don't know how long they'll take.
841 2004-03-15 17:31:35 Richard Kettlewell <rjk@greenend.org.uk>
843 * disorder.init.in: make 'stop' work even if server not running.
845 2004-03-15 14:37:59 Richard Kettlewell <rjk@greenend.org.uk>
847 Added debianization files.
849 2004-03-15 13:51:12 Richard Kettlewell <rjk@greenend.org.uk>
851 * cgi.c: avoid UB if template path is empty
853 2004-03-14 16:33:12 Richard Kettlewell <rjk@greenend.org.uk>
855 * Makefile.am: correct dependencies on version script
856 distribute version script
858 2004-03-14 16:30:56 Richard Kettlewell <rjk@greenend.org.uk>
860 * eliminate zombie rescans.
862 2004-03-14 16:25:37 Richard Kettlewell <rjk@greenend.org.uk>
864 * eliminate clash with glibc error().
866 2004-03-14 16:19:55 Richard Kettlewell <rjk@greenend.org.uk>
868 * Use a version script to limit the exported symbols. There's a glibc
869 naming clash with error() which should work around. Also this
870 should be conditional on the linker actually supporting this
873 2004-03-14 15:37:56 Richard Kettlewell <rjk@greenend.org.uk>
875 * configure.ac: correct wrong handling of <gc.h>
877 2004-03-14 15:04:44 Richard Kettlewell <rjk@greenend.org.uk>
879 * DisOrder has been rewritten in C.
881 arch-tag:b64f2a539d1621207b46b5bd202244e9