chiark / gitweb /
client.c doxygen; kill some redundant code
[disorder] / ChangeLog.d / cvs--ChangeLog
1 2004-10-04 00:59:42 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
2
3         * dcgi.c: proper track ordering in search.
4         
5         * regsub.c, tracks.c: chattier error messages
6         
7         * utf8.h: stricter UTF-8 parsing
8         
9 2004-09-26 10:47:45 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
10
11         * Makefile.am, plugins/Makefile.am: tidy up to build in separate
12           object directory
13         
14 2004-09-25 17:47:23 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
15
16         * version 0.11
17         
18 2004-09-25 17:41:21 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
19
20         * BUGS: some known bugs
21         
22 2004-09-25 17:25:49 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
23
24         * tracks.c: chattier errors
25         
26 2004-09-25 17:17:25 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
27
28         * api-client.c, cgi.c, cgimain.c, disorder.c, server.c: EXIT_FAILURE
29           pedantry
30         
31 2004-09-18 17:28:32 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
32
33         * client.c: rework handling of commands that get lists back,
34           unbreaking 'stats' in the process.
35         
36 2004-09-18 16:54:58 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
37
38         * tracks.c: add a lockfile to prevent concurrent access to databases.
39         
40 2004-07-31 19:05:38 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
41
42         * debian/postinst, prerm: hopefuly better upgrade handling
43         
44 2004-07-31 18:44:52 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
45
46         * queue.c: don't reverse the queue on restart
47         
48         * Document queue/recent ordering a bit better.
49         
50 2004-07-20 20:22:09 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
51
52         * tkdisorder: primitive queue widget, simplify MonitorStateThread
53         
54 2004-07-20 19:42:52 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
55
56         * tkdisorder: python + tkinter gui, still under development
57         
58 2004-07-18 14:21:12 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
59
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
63           of their collection.
64         
65           New @navigate@, @fullname@, @dirname@, @basename@, @ne@ and @eq@
66           expansions.
67         
68 2004-07-18 13:22:53 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
69
70         * use new label sidebar.choosewhich to determine which 'Choose' screen
71           to pick, rather than making operator edit sidebar.html
72         
73         * mention config.USERNAME in README
74         
75 2004-07-18 13:05:45 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
76
77         * debian/control: more detailed build deps
78         
79 2004-07-18 13:03:56 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
80
81         * README: dependency version notes
82         
83 2004-07-18 12:57:55 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
84
85         * cope with gcrypt version skew
86         
87 2004-07-18 02:46:07 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
88
89         * Control connections can go over the net (using anything that
90           getaddrinfo() knows about) using the new 'listen' and 'connect'
91           options.
92         
93 2004-07-17 19:01:25 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
94
95         * Increase/decrease volume buttons
96         
97 2004-07-17 16:35:18 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
98
99         * templates/help.html: document 'Manage'
100         
101         * templates/playing.html: extra empty buttons
102         
103 2004-07-17 16:24:12 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
104
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.
109         
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).
113         
114         * Document that scratch names must be UTF-8 (or ASCII).
115         
116 2004-07-17 16:11:21 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
117
118         * 'move' command in control protocol to move tracks around
119         
120         * New 'Manage' page allows tracks to be moved around in the queue.
121         
122 2004-07-17 14:56:04 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
123
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
127         
128 2004-07-17 14:45:55 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
129
130         * templates/help.html: mention choosealpha
131         
132 2004-07-17 14:37:18 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
133
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.
137         
138 2004-07-17 14:19:33 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
139
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
143           client).
144         
145         * correct disorder.py's quoting of empty strings
146         
147 2004-07-17 13:07:51 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
148
149         * disorder.py.in: correct exception-to-string functions
150         
151 2004-07-17 13:05:06 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
152
153         * disorder.py.in: add another example
154         
155 2004-07-17 12:57:57 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
156
157         * disorder.py.in: better docs and error handling
158         
159 2004-07-17 01:06:59 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
160
161         * disorder.py.in: add a full set of methods
162         
163 2004-07-17 01:06:31 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
164
165         * plugins/tracklength.c: quieten compiler
166         
167 2004-07-16 22:31:31 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
168
169         * rudimentary Python client support
170         
171 2004-07-15 00:55:08 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
172
173         * configuration.c: stricter syntax check for 'url'
174         
175 2004-07-15 00:41:22 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
176
177         * disorder_config.5.in: clarify 'url' syntax
178         
179         * templates/help.html: link to DisOrder control protocol page
180         
181 2004-07-14 19:46:38 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
182
183         * config.sample.in, debian/disorder.config: play WAV files correctly
184         
185         * debian/control: depend on sox
186         
187         * scratches are now *.ogg files
188         
189 2004-07-11 19:45:24 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
190
191         * plugins/tracklength.c: build fix
192         
193 2004-07-11 19:39:40 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
194
195         * add notify_queue to notify plugin
196         
197 2004-07-11 19:01:26 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
198
199         * tracks.c: always sync log after replay, so that upgrade works
200         
201 2004-07-11 18:54:33 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
202
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.
206         
207         * document the use and properties of the various database files
208         
209         * new prefsync configuration command controls interval between
210           minimization of prefs.log.
211         
212         * event.c, event.h: timeouts get an associated handle which can be
213           used to cancel them.
214         
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.
217         
218 2004-07-11 18:38:52 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
219
220         * disorder.c: missing 'break', oops!
221         
222 2004-07-10 19:43:42 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
223
224         * plugins/tracklength.c: binary search over extensions
225                                  round up WAV duration
226         
227 2004-07-10 19:22:50 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
228
229         * plugins/tracklength.c: tracklength plugin now knows about WAV files
230                                  remember to unmap files after parsing them!
231         
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.)
235         
236 2004-07-10 18:11:26 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
237
238         * 'disorder --length' allows command-line access to tracklength plugin
239         
240 2004-07-10 14:47:41 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
241
242         * server.c: use libgcrypt for random numbers
243         
244         * configure.ac: don't need dev/[u]random any more
245         
246 2004-07-10 13:33:16 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
247
248         * add log command to stream logs to clients
249         
250         * disorder_protocol.5.in: new man page documenting internal
251           communications protocol
252         
253 2004-07-10 11:51:54 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
254
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.
258         
259         * change logging interface so that messages are formatted only once.
260         
261 2004-07-10 11:40:13 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
262
263         * printf.c: correct number bases!
264         
265 2004-07-10 00:00:33 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
266
267         * send back our URL in Refresh HTTP header to work around weird Apache
268           behaviour
269         
270         * log to (in theory) multiple outputs
271         
272         * '#define NO_MEMORY_ALLOCATION' allows us to enforce rules about
273           files that shouldn't perform memory allocation
274         
275         * split *printf frontends into separate files since some need memory
276           allocation and some do not
277         
278 2004-06-12 11:37:37 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
279
280         * Use a sink to handle writing to an ev_writer
281         
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
284           data.
285         
286         * printf.c: correct handling of flags (which were completely broken)
287         
288 2004-05-24 15:56:30 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
289
290         * new help page, plus HTML-ized versions of man pages
291         
292         * de-dupe code in Makefile
293         
294         * template names can't have / in and can't be dot-files
295           (previously they weren't allowed . in)
296         
297         * @ is &#64; not &#40;
298         
299 2004-05-24 14:00:38 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
300
301         * templates/playing.html: put track title in <TITLE> element
302         
303 2004-05-24 13:58:29 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
304
305         * dcgi.c: remove dead code
306         
307 2004-05-23 19:29:16 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
308
309         * Makefile.am: distribute missing files
310         
311         * dcgi.c: quiten compiler
312         
313         * printf.c: missing base and padding settings
314         
315 2004-05-23 19:08:40 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
316
317         * disorder.3: update for disorder_snprintf
318         
319 2004-05-23 19:01:31 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
320
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.
325         
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.
328         
329         * No longer depend on the target providing a working snprintf.
330         
331         * Corrected a few broken *printf calls
332         
333 2004-05-22 16:55:02 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
334
335         * reach preferences edit from 'Recent'
336         
337 2004-05-22 16:30:56 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
338
339         * @search@ converted to new template infrastructure
340         
341 2004-05-21 21:55:55 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
342
343         * optionally restrict scratch and/or remove to submitting user
344         
345         * export 'become' command to command-line client
346         
347         * determine username from UID, not environment
348         
349 2004-05-21 21:13:30 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
350
351         * disorder_config.5.in: minor improvements
352         
353 2004-05-21 21:00:05 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
354
355         * disorder_config.5.in: rearrange into alpha order
356         
357 2004-05-18 23:14:11 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
358
359         * disorder.c: add {enable,disable}-random as synonyms for
360           random-{enable,disable}
361         
362 2004-05-18 20:18:02 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
363
364         * dcgi.c: prevent rapid web refresh is all playing is disabled
365
366 2004-05-18 00:30:28 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
367
368         * support libdb 4.2 as well as 3.2.  Versions inbetween might well work
369           but this hasn't been tested.
370         
371 2004-05-16 23:43:34 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
372         
373         * debian/control: list build depends
374         
375 2004-05-16 23:34:40 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
376
377         * #include <db.h> when checking libdb, to cope with variants that
378           redefine all the symbols.
379         
380 2004-05-16 23:28:55 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
381
382         * new disorder-dump program to read/write prefs in text format
383           (e.g. for backup, database upgrade, replication)
384
385 2004-05-16 10:37:10 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
386
387         * Makefile.am: clean generated files
388         
389         * debian/autorules.m4: fix clean target
390         
391         * debian/rules.m4: man pages in /usr/share/man
392         
393 2004-04-26 23:28:18 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
394
395         * eliminate dependency on <inttypes.h>
396         
397 2004-04-26 20:59:20 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
398
399         * convert UTF-8 -> UCS-4 directly, rather than relying on iconv (which
400           doesn't always know how to do it).
401         
402 2004-04-26 20:47:12 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
403
404         * Do not expand dcgi-generated txet in expansion argument values (as
405           it'll get expanded properly later on anyway).
406         
407         * Add @urlquote@ expansion.
408         
409 2004-04-25 20:47:26 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
410
411         * arg:directory, not arg:dir
412           Include containing directory name in choose.html
413         
414 2004-04-25 20:11:49 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
415
416         * disorder_config.5.in: minor docs improvements.
417         
418 2004-04-25 19:53:19 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
419
420         * unify transform- web options, and make them available via the
421           @transform@ expansion.
422         
423 2004-04-25 19:52:13 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
424
425         * tracks.c: setting a trackname_ pref would cause a crash.
426         
427 2004-04-25 18:51:56 +0100  Richard Kettlewell  <rjk@greenend.org.uk>
428
429         * Bring documentation up to date a bit.
430         
431 2004-04-25 18:29:49  Richard Kettlewell  <rjk@greenend.org.uk>
432
433         * @choose@ converted to new template infrastructure.
434         
435 2004-04-25 17:14:56  Richard Kettlewell  <rjk@greenend.org.uk>
436
437         * @prefs@ now takes a template argument, shifting the preferences
438           table furniture into the template file.
439         
440 2004-04-25 15:44:38  Richard Kettlewell  <rjk@greenend.org.uk>
441
442         * Portability hacks of various degrees of nastiness in the interest of
443           building on FreeBSD.
444         
445 2004-04-18 19:00:52  Richard Kettlewell  <rjk@greenend.org.uk>
446
447         * disorder_config.5.in: add some missing bits.
448         
449 2004-04-18 18:05:17  Richard Kettlewell  <rjk@greenend.org.uk>
450
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.
455         
456         * Moved the calculation of expected start times into the server.
457         
458 2004-04-18 13:45:19  Richard Kettlewell  <rjk@greenend.org.uk>
459
460         * dcgi.c: booleans for the expansion language
461         
462 2004-04-18 13:13:46  Richard Kettlewell  <rjk@greenend.org.uk>
463
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.
467         
468         * sink.c: interface for things that accept output (current
469           implementations being stdio and dynstrs)
470         
471         * vacopy.h: find a va_copy somewhere.
472         
473 2004-04-17 16:48:00  Richard Kettlewell  <rjk@greenend.org.uk>
474
475         * version 0.10
476
477 2004-04-17 16:25:59  Richard Kettlewell  <rjk@greenend.org.uk>
478
479         * Typo fixes.
480         
481 2004-04-17 16:03:45  Richard Kettlewell  <rjk@greenend.org.uk>
482         
483         * README: recommend basic authentication instead of digest auth, as
484           the latter seems too poorly supported.
485         
486         * configure.ac: don't check for things that are very standard
487         
488         * debian/control: add Section and Priority fields
489         
490 2004-04-04 17:45:34  Richard Kettlewell  <rjk@greenend.org.uk>
491
492         * Build GNU getopt for systems where libc doesn't have it
493         
494 2004-04-04 15:11:49  Richard Kettlewell  <rjk@greenend.org.uk>
495
496         * configure.ac: check that various things are available and work at
497           configure time, rather than build or (worse still!) run time.  More
498           library checks.
499         
500         * charset.c: <wchar.h> no longer needed
501         
502 2004-04-04 12:06:16  Richard Kettlewell  <rjk@greenend.org.uk>
503
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
506           playing.
507         
508 2004-04-03 13:39:30  Richard Kettlewell  <rjk@greenend.org.uk>
509
510         * Use libiconv if libc doesn't have iconv
511         
512 2004-04-03 12:42:05  Richard Kettlewell  <rjk@greenend.org.uk>
513
514         * configure.ac: check for both libdb and libdb3
515                         report all missing libs at once
516         
517 2004-04-02 23:42:13  Richard Kettlewell  <rjk@greenend.org.uk>
518
519         * Only use __attribute__ syntax under GNU C.
520         
521 2004-04-02 23:16:41  Richard Kettlewell  <rjk@greenend.org.uk>
522
523         * configure.ac: use whatever libdb the system defaults to.
524         
525 2004-04-02 23:06:50  Richard Kettlewell  <rjk@greenend.org.uk>
526
527         * disorder.c: add a --help-commands option giving a one-line summary
528           of each command.
529         
530         * Updated documentation a bit.
531         
532 2004-04-02 20:20:47  Richard Kettlewell  <rjk@greenend.org.uk>
533
534         * Ship another scratch sound.
535         
536 2004-04-02 20:10:10  Richard Kettlewell  <rjk@greenend.org.uk>
537
538         * Debianization fixes:
539           + distribute postrm
540           + call Libtool correctly
541           + fix shared library dependencies
542         
543         * Quieten compiler when optimization turned on.
544         
545 2004-04-02 19:27:59  Richard Kettlewell  <rjk@greenend.org.uk>
546
547         * Tidy up appearance of preferences screen
548         
549 2004-03-28 20:01:40  Richard Kettlewell  <rjk@greenend.org.uk>
550
551         * Track prefs editor in web interface.  Rather rough-edged for now.
552         
553 2004-03-28 17:41:43  Richard Kettlewell  <rjk@greenend.org.uk>
554
555         * dcgi.c: add @shell@ expansion
556         
557 2004-03-28 15:02:02  Richard Kettlewell  <rjk@greenend.org.uk>
558
559         * dcgi.c: handle empty search result lists correctly.
560         
561 2004-03-28 14:38:01  Richard Kettlewell  <rjk@greenend.org.uk>
562
563         * split.c: quote empty strings properly
564         
565 2004-03-28 14:35:39  Richard Kettlewell  <rjk@greenend.org.uk>
566
567         * README.streams: how to play streams with DisOrder
568         
569 2004-03-28 14:10:51  Richard Kettlewell  <rjk@greenend.org.uk>
570
571         * play.c: unpick wait status of failed players
572         
573 2004-03-28 14:07:49  Richard Kettlewell  <rjk@greenend.org.uk>
574
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).
578         
579 2004-03-28 13:57:12  Richard Kettlewell  <rjk@greenend.org.uk>
580
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
586         
587 2004-03-28 12:35:20  Richard Kettlewell  <rjk@greenend.org.uk>
588
589         * New 'shell' player plugin executes a shell command with an environment
590           variable identifying the track.  Optionally, the user can control what
591           shell is used.
592         
593         * The sample config file knows how to play .wav files now.
594         
595         * Ship a default scratch sound.
596         
597 2004-03-27 20:48:13  Richard Kettlewell  <rjk@greenend.org.uk>
598
599         * Play tracks via a plugin.  'exec' plugin module provides previous
600           behaviour.
601         
602 2004-03-27 20:28:57  Richard Kettlewell  <rjk@greenend.org.uk>
603
604         * log interesting events if a username is attached (see previous
605           change)
606         
607 2004-03-27 19:30:44  Richard Kettlewell  <rjk@greenend.org.uk>
608
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
612           log actions instead.
613         
614 2004-03-27 18:41:22  Richard Kettlewell  <rjk@greenend.org.uk>
615
616         * Add a sidebar to the web interface, making everything available from
617           everywhere.  Tidy up the default stylesheet.
618         
619 2004-03-27 18:19:40  Richard Kettlewell  <rjk@greenend.org.uk>
620
621         * dcgi.c: eliminate a spurious </div>
622         
623 2004-03-27 17:17:16  Richard Kettlewell  <rjk@greenend.org.uk>
624
625         * When updating the track list, only process one track per select().
626           This makes the server much more responsive to clients during
627           rescans.
628         
629 2004-03-27 16:20:30  Richard Kettlewell  <rjk@greenend.org.uk>
630
631         * Don't need file extensions in stopword list by default any more.
632         
633 2004-03-27 16:07:53  Richard Kettlewell  <rjk@greenend.org.uk>
634
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.
638         
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.
643         
644 2004-03-27 14:22:22  Richard Kettlewell  <rjk@greenend.org.uk>
645
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)
654         
655 2004-03-26 19:15:09  Richard Kettlewell  <rjk@greenend.org.uk>
656
657         * Bring back 'Play all' button in @choose@, and fix track selection
658         
659         * Scratch by ID, so that late scratches don't get the wrong track
660         
661 2004-03-25 00:40:12  Richard Kettlewell  <rjk@greenend.org.uk>
662
663         * tracks.c: report top 10 search words in server stats
664         
665 2004-03-24 23:24:45  Richard Kettlewell  <rjk@greenend.org.uk>
666
667         * dcgi.c: de-dupe track/directory code in @choose@
668         
669 2004-03-22 23:31:55  Richard Kettlewell  <rjk@greenend.org.uk>
670
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.
675         
676           Repeated calls to casefold aren't very efficient, this should be
677           fixed.
678         
679         * templates/options.transform: correct transform-track replacement
680           string
681         
682 2004-03-22 19:58:42  Richard Kettlewell  <rjk@greenend.org.uk>
683
684         * Global and case-independent regexp replacement.
685         
686         * Strip out punctuation for sorting directories in @choose@.
687         
688 2004-03-21 19:30:39  Richard Kettlewell  <rjk@greenend.org.uk>
689
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.
693         
694           By the same token, we don't bother syncing it in track_sync().
695         
696 2004-03-21 18:47:31  Richard Kettlewell  <rjk@greenend.org.uk>
697
698         * Sort strings are now case-folded before comparison.
699         
700         * words.c: casefold now returns the original string if it was
701           malformed, rather than a null pointer.
702         
703 2004-03-21 17:04:48  Richard Kettlewell  <rjk@greenend.org.uk>
704
705         * disorder.h: new function disorder_track_set_data allows plugins to
706           set preferences as well as query them.
707         
708         * disorder.3: document the above and add some general notes
709         
710         * plugins/notify.c: record time and count tracks are played at
711         
712         * plugins/pick.c: don't pick recently played tracks
713         
714 2004-03-21 16:06:21  Richard Kettlewell  <rjk@greenend.org.uk>
715
716         * tracks.c: server stats had the database types all wrong, leading to
717           a crash.  Fixed.
718         
719 2004-03-21 15:14:12  Richard Kettlewell  <rjk@greenend.org.uk>
720
721         * Separate sorting and display with new context arguments in
722           configuration and trackname_ preferences.
723         
724         * By default track numbers take part in sorting, but are not displayed
725         
726         * By default "The" is display unmodified but moved to the end for
727           sorting
728         
729 2004-03-21 14:37:36  Richard Kettlewell  <rjk@greenend.org.uk>
730
731         * Group search results according to 'columns search' configuration.
732         
733 2004-03-21 14:25:35  Richard Kettlewell  <rjk@greenend.org.uk>
734
735         cvs -Q up -j mergepoint-0-9-bugfixes-1 -j mergepoint-0-9-bugfixes-2
736         
737 2004-03-21 14:21:34  Richard Kettlewell  <rjk@greenend.org.uk>
738
739         * templates/search.html: fix broken HTML.
740
741 2004-03-20 21:11:30  Richard Kettlewell  <rjk@greenend.org.uk>
742
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).
746         
747 2004-03-20 18:50:36  Richard Kettlewell  <rjk@greenend.org.uk>
748
749         * words.c: more characters are separators
750         
751 2004-03-20 18:44:45  Richard Kettlewell  <rjk@greenend.org.uk>
752
753         * Split preferences into a separate database, and automatically
754           convert the old one.
755
756 2004-03-18 00:11:26  Richard Kettlewell  <rjk@greenend.org.uk>
757
758         * tracks.c: correct scanning for directories, to correctly handle
759           cases where you have <path>/<prefix> and <path>/<prefix><suffix>.
760         
761 2004-03-17 00:20:55  Richard Kettlewell  <rjk@greenend.org.uk>
762
763         * config.sample.in: prefer mpg321 to mpg123
764         
765 2004-03-16 23:45:54  Richard Kettlewell  <rjk@greenend.org.uk>
766
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
772         
773         * about.html: provides information about DisOrder
774         
775         * client.c: correct list parsing in client interface
776         
777         * disorder_config.5.in: add missing docs for @arg@ and @search@
778         
779 2004-03-16 23:16:12  Richard Kettlewell  <rjk@greenend.org.uk>
780
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
785           missing).
786
787 2004-03-16 20:30:00  Richard Kettlewell  <rjk@greenend.org.uk>
788
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
794             been added)
795           o Rename search db to search2.db so it doesn't conflict with the old
796             one
797           o Always update search db even if we've seen the track, so that
798             database format/name changes don't trash searching
799         
800         * Add a few missing transaction ID arguments.
801         
802 2004-03-16 20:24:25  Richard Kettlewell  <rjk@greenend.org.uk>
803
804         * rescan.c: rescan would crash on shut down
805         
806 2004-03-16 12:43:54  Richard Kettlewell  <rjk@greenend.org.uk>
807
808         * quieten compiler when optimization turned on
809         
810 2004-03-16 12:12:40  Richard Kettlewell  <rjk@greenend.org.uk>
811
812         * disorder_config.5.in: complete renaming of trackinfo.* to heading.*
813         
814 2004-03-15 23:18:02  Richard Kettlewell  <rjk@greenend.org.uk>
815
816         * version 0.9
817         
818 2004-03-15 19:56:50  Richard Kettlewell  <rjk@greenend.org.uk>
819
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.
824         
825         * Always search the config directory and data directory for templates
826           and web options (after any explicitly configured directories).
827         
828 2004-03-15 19:17:02  Richard Kettlewell  <rjk@greenend.org.uk>
829
830         * make table classes more consistent
831         
832 2004-03-15 18:13:39  Richard Kettlewell  <rjk@greenend.org.uk>
833
834         * tracks.c: log closing databases.  Checkpoint database at shutdown.
835         
836 2004-03-15 18:03:35  Richard Kettlewell  <rjk@greenend.org.uk>
837
838         * tracks.c: issue log messages from database checkpointing, since we
839           don't know how long they'll take.
840         
841 2004-03-15 17:31:35  Richard Kettlewell  <rjk@greenend.org.uk>
842
843         * disorder.init.in: make 'stop' work even if server not running.
844         
845 2004-03-15 14:37:59  Richard Kettlewell  <rjk@greenend.org.uk>
846
847         Added debianization files.
848         
849 2004-03-15 13:51:12  Richard Kettlewell  <rjk@greenend.org.uk>
850
851         * cgi.c: avoid UB if template path is empty
852         
853 2004-03-14 16:33:12  Richard Kettlewell  <rjk@greenend.org.uk>
854
855         * Makefile.am: correct dependencies on version script
856                        distribute version script
857         
858 2004-03-14 16:30:56  Richard Kettlewell  <rjk@greenend.org.uk>
859
860         * eliminate zombie rescans.
861         
862 2004-03-14 16:25:37  Richard Kettlewell  <rjk@greenend.org.uk>
863
864         * eliminate clash with glibc error().
865         
866 2004-03-14 16:19:55  Richard Kettlewell  <rjk@greenend.org.uk>
867
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
871           feature.
872         
873 2004-03-14 15:37:56  Richard Kettlewell  <rjk@greenend.org.uk>
874
875         * configure.ac: correct wrong handling of <gc.h>
876         
877 2004-03-14 15:04:44  Richard Kettlewell  <rjk@greenend.org.uk>
878
879         * DisOrder has been rewritten in C.
880         
881 arch-tag:b64f2a539d1621207b46b5bd202244e9