audiod: get rid of all calls to gettimeofday().
[paraslash.git] / NEWS
1 NEWS
2 ====
3
4 0.?.? (to be announced) "sonic convolution"
5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6
7         o aac filter and aac audio format handler (requires libfaad)
8
9         o random/playlist selector: improved info strings
10
11
12 0.2.12 (2006-05-12) "oriented abstraction"
13 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14 Many user-visible changes in this release and lots of new
15 features:
16
17
18         o the new optional dccp sender/receiver. It uses the datagram
19         congestion control protocol. You'll need a fairly new kernel
20         for this.
21
22         o paraslash works on Mac OS X (thanks to Gerd Becker)
23
24         o para_play renamed to para_write
25
26         o modular output plugin design (writers) for para_write
27
28         o new file_writer output plugin for para_write
29
30         o compress filter speed improvements
31
32         o update to libortp-0.9.1
33
34         o update to gengetopt-2.17rc
35
36         o para_client no longer depends on libreadline (as the
37         code for the interactive mode was removed).
38
39         o gcc-2-95 is no longer a supported compiler. It may still
40         work, but it gets no more testing.
41
42         o the tarball no longer contains the screenshot images which
43         reduces its size quite a bit.
44
45         o configure: new command line options: --enable-mysql-headers
46         and --enable-mysql-libs
47
48 0.2.11 (2006-03-11) "atomic duality"
49 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51 Here it is, the first paraslash release developed with git. There
52 are fairly many user-visible changes in this release. As two out of
53 the three "database tools" of paraslash don't use a database at all,
54 they are now called "audio file selectors" instead.
55
56
57         o the cdt command (change database tool) becomes chs (change
58         selector)
59
60         o no more colon separators: The syntax of some options of
61         para_audiod and para_filter have changed. Use --help for
62         more info (and some examples).
63
64         o update to gengetopt-2.16 (thanks to Lorenzo Bettini)
65
66         o switch from cvs to git (should've done that earlier)
67
68         o the new ipc subsystem
69
70         o new audio file selector: playlist
71
72         o para_server: the dopey selector is now called "random",
73         and is the default selector. Use the --selector option to
74         choose another selector at startup, or the chs command to
75         change the selector at runtime.
76
77         o X86_64 fixes (thanks to Steffen Klassert)
78
79         o para_play fixes
80
81
82 0.2.10 (2006-02-17) "cyclic attractor"
83 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84
85 Huge documentation update, a scrollable window for para_gui, ortp
86 improvements, and of course many small fixes not mentioned here.
87 The diffstat below is rather misleading as most insertions are due
88 to the new source documentation.
89
90         o autoconf cleanup
91
92         o para_server also uses the new error subsystem
93
94         o lots of new documentation (UTSL)
95
96         o gui improvements:
97                 - keysyms for cursor keys and for next/previous page keys
98                 - scrollable output window
99                 - new internal commands: scroll up/down, page up/down
100                 - fix color of command output.
101
102         o ortp: the --chunk_time and --header flags are no longer needed
103         for para_recv/para_audiod as this information is now encoded in
104         each rtp packet sent by para_server.
105
106 New files: daemon.h net.h ringbuffer.c ringbuffer.h string.h web/para.css
107 Doxyfile
108
109  Makefile.in               |   99 ++-----
110  NEWS                      |   19 +
111  README                    |    6
112  README.mysql              |   21 -
113  afs.c                     |  223 +++++++++------
114  afs.h                     |  140 ++++++++--
115  audioc.c                  |    5
116  audiod.c                  |  503 +++++++++++++++++-------------------
117  audiod.h                  |   11
118  client.c                  |   12
119  close_on_fork.c           |   43 +++
120  close_on_fork.h           |    1
121  command.c                 |  283 ++++++++------------
122  compress.c                |   34 +-
123  configure.ac              |  402 +++++++++++++---------------
124  crypt.c                   |   63 ++--
125  crypt.h                   |   12
126  daemon.c                  |   76 ++++-
127  db.c                      |   90 ++++--
128  db.h                      |   97 ++++++
129  dbadm.c                   |   23 +
130  dopey.c                   |   59 ++--
131  error.h                   |  315 +++++++++++++++++-----
132  exec.c                    |   55 +++
133  fade.c                    |    4
134  filter.c                  |   23 -
135  filter.ggo                |    2
136  filter.h                  |  307 +++++++++++++++++++--
137  filter_chain.c            |  147 +++++++---
138  grab_client.c             |   87 ++++--
139  grab_client.h             |   41 +-
140  gui.c                     |  422 ++++++++++++++++++++++--------
141  gui_common.c              |    2
142  http.h                    |    1
143  http_recv.c               |   99 ++++---
144  http_send.c               |  164 ++++++++---
145  list.h                    |    5
146  mp3.c                     |  246 +++++++++--------
147  mp3dec.c                  |   88 +++---
148  mysql.c                   |  339 ++++++++++--------------
149  net.c                     |  271 ++++++++++++++-----
150  ogg.c                     |   86 +++---
151  oggdec.c                  |   86 +++---
152  ortp.h                    |   31 ++
153  ortp_recv.c               |  162 ++++++-----
154  ortp_recv.ggo             |    2
155  ortp_send.c               |  138 +++++----
156  para.h                    |   93 ------
157  play.c                    |   20 -
158  recv.c                    |   11
159  recv.h                    |  147 +++++++++-
160  recv_common.c             |    9
161  sdl_gui.c                 |   21 -
162  send.h                    |   82 +++++
163  server.c                  |  119 +++++---
164  server.h                  |  117 ++++++--
165  signal.c                  |   70 ++++-
166  slider.c                  |    5
167  stat.c                    |   89 +++++-
168  string.c                  |  243 ++++++++++-------
169  time.c                    |   78 ++++-
170  wav.c                     |   26 -
171  web/documentation.in.html |   14 -
172  web/header.html           |   13
173  web/index.in.html         |    1
174  65 files changed, 4146 insertions(+), 2357 deletions(-)
175
176 0.2.9 (2006-01-24) "progressive turbulence"
177 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
178
179 Internal audiod receivers/filters, the new error subsystem and
180 a lot of small improvements.
181
182         o para_recv and para_filter are integrated into the para_audiod
183           binary, i.e. audiod no longer spawns a new process for
184           each receiver/filter. As para_recv and para_filter might be
185           useful as standalone programs, they still get built (linked
186           against the same object files that are also used for audiod).
187
188         o further ortp timing improvements should reduce the CPU usage
189           of the ortp receiver.
190
191         o improved audio grabbing. The 'grab' command of para_audiod
192           has its own set of command line options. Read the output of
193           "para_audioc help grab" for more info.
194
195         o oggdec: configurable input prebuffer size.
196
197         o the new error subsystem gives better error diagnostics
198           and reduces code size.
199
200 New files: audiod.h error.h grab_client.c grab_client.ggo grab_client.h
201 http_recv.ggo ortp_recv.ggo recv_common.c
202
203  FEATURES                |   49 -
204  INSTALL                 |   22
205  Makefile.in             |   87 +-
206  NEWS                    |   73 ++
207  README                  |   89 +-
208  README.mysql            |   18
209  audioc.c                |    5
210  audiod.c                | 1243 +++++++++++++++-----------------------
211  audiod.ggo              |   97 ++
212  command.c               |    5
213  compress.c              |   44 -
214  compress_filter.ggo     |    4
215  configure.ac            |  127 +++
216  daemon.c                |   12
217  exec.c                  |   34 -
218  filter.c                |   66 +-
219  filter.h                |   24
220  filter_chain.c          |  126 ++-
221  gcc-compat.h            |    8
222  http_recv.c             |   56 +
223  http_send.c             |   35 -
224  mp3.c                   |   12
225  mp3dec.c                |   27
226  net.c                   |  133 ++--
227  oggdec.c                |  108 +--
228  oggdec_filter.ggo       |    3
229  ortp.h                  |    2
230  ortp_recv.c             |  290 +++++---
231  ortp_send.c             |  187 ++---
232  para.h                  |   17
233  play.c                  |   17
234  recv.c                  |  101 +--
235  recv.ggo                |   15
236  recv.h                  |   51 +
237  scripts/demo-script     |   12
238  server.c                |   15
239  signal.c                |   11
240  skencil/overview.sk     |  300 ++++-----
241  stat.c                  |   11
242  string.c                |  170 ++++-
243  wav.c                   |   12
244  web/demo.in.html        |   72 --
245  web/download.in.html    |    3
246  web/index.in.html       |    1
247  web/license.in.html     |    5
248  web/screenshots.in.html |    4
249  46 files changed, 2042 insertions(+), 1761 deletions(-)
250
251 0.2.8 (2006-01-02) "dynamic accumulation"
252 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
253
254 The new modular filter design and the para_play-hangs bugfix.
255
256         o new executable: para_filter. It combines para_mp3dec,
257           para_oggdec and para_compress. It also adds a further filter
258           type, wav, that just inserts a wave header at the desired point
259           of the filter chain. All 'piping' is done in-memory (i.e. no
260           read/write operations are used).
261
262         o para_play: fix a stupid bug that caused it to hang under
263           certain circumstances.
264
265 New files: compress_filter.ggo filter.c filter.ggo file filter.h
266 filter_chain.c oggdec_filter.ggo wav.c
267
268  INSTALL           |    4
269  Makefile.in       |   36 +++++---
270  NEWS              |   15 +++
271  README            |   25 ++----
272  command.c         |    8 +
273  compress.c        |  149 ++++++++++++++++++++----------------
274  configure.ac      |   37 +++++---
275  http_recv.c       |  121 ++++++++++++++++++-----------
276  mp3dec.c          |  216 +++++++++++++++++++++-------------------------------
277  oggdec.c          |  223 ++++++++++++++++++++++++++++++++++++------------------
278  ortp_recv.c       |  167 ++++++++++++++++++++--------------------
279  ortp_send.c       |    2
280  play.c            |    2
281  recv.c            |   44 +++++++---
282  recv.ggo          |   12 --
283  recv.h            |   37 +++++++-
284  server.ggo        |    2
285  web/index.in.html |    1
286  18 files changed, 631 insertions(+), 470 deletions(-)
287
288 0.2.7 (2006-12-27) "transparent invariance"
289 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
290 Not many user-visible changes but a fair amount of internal improvements.
291
292
293         o The http sender buffers data if it can not be sent
294           out immediately (because the socket is not writable). This
295           should prevent para_server from shutting down the connection
296           too early on a loaded network.
297
298         o para_play also prebuffers data if it is told to start at a
299           future time by the --start_time option.
300
301         o The return of para_recv: It combines para_ortp_recv and
302           para_http_recv. Use the --receiver option to switch between
303           the two. para_recv builds without libortp, but contains
304           only the http receiver in this case.
305
306         o update to ortp 0.8.1. As this ortp release contains incompatible
307           changes, para_recv-0.2.7 won't link against older ortp libs.
308
309         o improved ortp timings.
310
311         o use of gcc-extensions that #define away for non-gcc and
312           gcc < 3.0.
313
314 New files: gcc-compat.h
315
316  CREDITS      |   14 +-
317  FEATURES     |   10 -
318  INSTALL      |   36 +++--
319  Makefile.in  |  171 +++++++++++++++++----------
320  NEWS         |   30 ++++
321  README       |  128 ++++++++------------
322  README.mysql |    4
323  afs.c        |  113 +++++++++++++-----
324  afs.h        |    2
325  audioc.c     |   21 +++
326  audiod.c     |  226 +++++++++++++++++++++---------------
327  audiod.ggo   |    4
328  client.c     |    9 -
329  command.c    |   71 +++++++----
330  compress.c   |   15 +-
331  compress.ggo |    4
332  configure.ac |   30 ++--
333  crypt.c      |    2
334  daemon.c     |    6
335  db.c         |    4
336  dbadm.c      |   46 ++-----
337  dopey.c      |   16 +-
338  fade.c       |    3
339  gui.c        |   77 ++++++------
340  http_recv.c  |  143 +++++++++++++----------
341  http_send.c  |  217 ++++++++++++++++++++++-------------
342  index.html   |  154 +++++++++++++------------
343  list.h       |  361 -----------------------------------------------------------
344  mp3.c        |   17 +-
345  mp3dec.c     |    5
346  mysql.c      |   57 ++++++---
347  net.c        |   12 +
348  ogg.c        |   26 ++--
349  oggdec.c     |   34 +++--
350  ortp.h       |    2
351  ortp_recv.c  |  263 +++++++++++++++++++++---------------------
352  ortp_send.c  |   96 ++++++++++-----
353  para.h       |   51 +++-----
354  play.c       |  173 +++++++++++++++++++---------
355  play.ggo     |    2
356  sdl_gui.c    |   27 +++-
357  send.h       |    2
358  server.c     |  100 ++++++++--------
359  stat.c       |   68 ++++++++---
360  string.c     |   41 +++---
361  45 files changed, 1500 insertions(+), 1393 deletions(-)
362
363 0.2.6 (2005-10-29) "recursive compensation"
364 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
365 Transparent session encryption (uses openssl's Alleged RC4 cipher),
366 the internal find command and several other improvements and cleanups.
367
368         o Encrypt the session if encryption is requested by the client
369           (default for para_client 0.2.6). This is backwards
370           compatible, so older clients can still connect to para_server
371           0.2.6. Use the new client option --plain to request an
372           uncrypted session (off by default, must be set to on in
373           order to connect to para_server 0.2.x with 0 <= x <= 5).
374
375         o para_server uses an internal function to locate audio files
376           rather than calling find(1). The server option
377           --mysql_audio_file_dir replaces --mysql_find_cmd.
378
379         o documentation update
380
381         o man pages
382
383         o header file cleanup
384
385         o para_client code cleanup
386
387         o para_gui: faster display of output of display commands
388
389 New files: afs.h close_on_fork.c close_on_fork.h db.c db.h rc4.h
390
391  1.0          |    3
392  INSTALL      |   51 +-
393  Makefile.in  |   53 +--
394  NEWS         |   28 +
395  README       |   27 -
396  README.mysql |   45 +-
397  SFont.c      |   20 -
398  afs.c        |   51 --
399  audioc.c     |    6
400  audiod.c     |  303 +++++++++--------
401  client.c     |  174 +++-------
402  client.ggo   |    1
403  command.c    |  608 ++++++++++++++++++++---------------
404  compress.c   |    3
405  compress.ggo |    4
406  configure.ac |    2
407  crypt.c      |   50 +-
408  crypt.h      |    2
409  dopey.c      |  136 +++++--
410  exec.c       |   39 --
411  fade.c       |    4
412  gui.c        |   74 ++--
413  http_recv.c  |    4
414  http_send.c  |   51 +-
415  index.html   |   12
416  krell.c      |    2
417  mp3.c        |    5
418  mysql.c      | 1008 ++++++++++++++++++++++++++++++++---------------------------
419  net.c        |  122 ++-----
420  ogg.c        |    5
421  ortp_send.c  |   37 +-
422  para.h       |   39 +-
423  send.h       |    2
424  server.c     |   49 +-
425  server.ggo   |    2
426  server.h     |   68 ---
427  stat.c       |  132 ++++---
428  string.c     |   33 -
429  38 files changed, 1738 insertions(+), 1517 deletions(-)
430
431 0.2.5 (2005-10-13) "aggressive_resolution"
432 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
433 This release adds internal senders, i.e. no more external programs are
434 spawned for sending out the audio data. There are two different senders
435 available: The http sender and the ortp sender (former para_send which
436 is no longer needed).
437
438 The new sender code has a plugin-like design so it can be easily
439 extended should there be be any future need for supporting another
440 network streaming protocol. All senders are completely independent of
441 each other. In particular, the http and the ortp sender can operate
442 in parallel.
443
444         o new server command: sender to control senders at runtime.
445           Read the output of "para_server -h" and "para_client help
446           sender" for more information.
447
448         o para_recv renamed to para_ortp_recv
449
450         o new executable: para_http_recv, a simple command line
451           http receiver.
452
453         o major afs/mp3/ogg code simplifications due to internal
454           senders.
455
456         o ogg timing improvements
457
458         o fix several minor memory leaks (found by valgrind)
459
460         o empty stream definitions work again
461
462         o com_ne(): ignore errors on remove
463
464         o audiod: fix segfault on server restart
465
466 New files: http.h http_recv.c http_recv.ggo http_send.c ortp.h ortp_recv.c
467         ortp_recv.ggo ortp_send.c
468
469  FEATURES            |   27 +++-
470  INSTALL             |   19 +--
471  Makefile.in         |   54 ++++-----
472  NEWS                |   36 ++++++
473  README              |   45 ++++---
474  afs.c               |  311 +++++++++++++++-------------------------------------
475  audioc.c            |   10 +
476  audiod.c            |   82 +++++++------
477  audiod.ggo          |    2
478  command.c           |  184 +++++++++++++++++++++++++++---
479  configure.ac        |   36 ++++--
480  daemon.c            |   10 +
481  exec.c              |   33 -----
482  gui.c               |    6 -
483  index.html          |    6 -
484  mp3.c               |  144 ++++--------------------
485  mysql.c             |   52 ++++----
486  net.c               |   58 ++++++++-
487  ogg.c               |  289 ++++++++++++++----------------------------------
488  oggdec.c            |   19 ++-
489  para.h              |   23 ++-
490  server.c            |  128 ++++++++++++++-------
491  server.ggo          |   17 ++
492  server.h            |   40 ++++--
493  skencil/overview.sk |   86 +++-----------
494  string.c            |   51 +++++---
495  26 files changed, 870 insertions(+), 898 deletions(-)
496
497
498 0.2.4 (2005-09-21) "toxic anticipation"
499 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
500 Several small improvements, fixes and the new grab command.
501
502         o audiod:
503                 - new command: "grab" to grab the output of the stream reader
504                   or any filters. Read the output of "para_audioc help grab"
505                   for more information.
506                 - fix memory leak
507                 - code cleanup
508
509         o audioc: new command line option: --bufsize to specify a
510           buffer size different from the default size 8192.
511
512         o improved error diagnostics for para_play.
513
514         o new configure option: --enable-ssldir so search for openssl in
515           non-standard places
516
517         o sdl_gui: Make it look nice again for 1024x768
518
519         o server: report total size of memory allocated with sbrk by malloc,
520           new command line option: --announce_time
521
522 New files: list.h
523
524  Makefile.in  |   39 ++-
525  NEWS         |   24 ++
526  README       |   22 +-
527  afs.c        |    9
528  audioc.c     |   55 ++++-
529  audioc.ggo   |    1
530  audiod.c     |  577 ++++++++++++++++++++++++++++++++++++++++-------------------
531  client.c     |   20 +-
532  client.ggo   |   12 -
533  command.c    |   14 -
534  configure.ac |   64 +++---
535  crypt.c      |    8
536  daemon.c     |    6
537  gui.c        |   52 ++---
538  gui_common.c |   70 -------
539  index.html   |    2
540  mp3.c        |    2
541  mp3dec.c     |    6
542  net.c        |    2
543  ogg.c        |    2
544  oggdec.c     |    8
545  para.h       |    8
546  play.c       |   51 ++---
547  sdl_gui.c    |   53 ++---
548  server.c     |   48 +---
549  server.ggo   |    1
550  server.h     |    2
551  stat.c       |   65 ++++++
552  28 files changed, 744 insertions(+), 479 deletions(-)
553
554 0.2.3 (2005-09-01) "hydrophilic movement"
555 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
556 Two new executables and major feature enhancements.
557
558         o audiod filters: It is now possible to specify arbitrary many
559           (including none) filters for each supported audio
560           format. This can be used e.g. for normalizing volume,
561           transforming or grabbing the audio stream, or for using
562           visualizers.  Read the output of "para_audiod -h" for the
563           syntax of the new --filter_cmd option.
564
565         o new executable: para_play, a tiny alsa player. It
566           can play wave files or raw pcm (16 bit little endian)
567           from stdin.
568
569         o new executable: para_compress, a dynamic range compressor
570           intended to keep audio output at a consistent volume. Derived
571           from AudioCompress, http://trikuare.cx/code/AudioCompress.html.
572
573         o audiod: New option: --stream_delay. This can be used in
574           a local network to syncronize the audio output of all
575           clients that play the same stream.
576
577 New files: compress.c compress.ggo play.c play.ggo
578
579  CREDITS             |    2
580  FEATURES            |   31 +--
581  Makefile.in         |   31 ++-
582  NEWS                |   24 ++
583  README              |    8
584  afs.c               |   14 -
585  audiod.c            |  463 +++++++++++++++++++++++++++++++++++++++++-----------
586  audiod.ggo          |    7
587  configure.ac        |   16 +
588  index.html          |   19 ++
589  mysql.c             |   17 +
590  net.c               |    8
591  recv.c              |   42 +++-
592  scripts/demo-script |    2
593  signal.c            |   22 ++
594  stat.c              |    2
595  16 files changed, 542 insertions(+), 166 deletions(-)
596
597 0.2.2 (2005-08-19) "tangential excitation"
598 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
599 Mostly internal changes in this release, but also some new commands
600 for the mysql database tool.
601
602         o cleanup exec.c, fix para_exec bug
603         o compile time loglevel (log messages below the given level
604           won't be compiled in, which reduces the size of the
605           resulting binaries)
606         o new log macros that shorten the size of the source code.
607         o workaround a gcc-4.1 bug (?) that caused send_cred_buffer()
608           to send only zeros. With this workaround, para_audioc works
609           again.
610         o avoid gcc-4 warning: conflicting types for built-in function 'clog'
611         o new mysql commands: "rm" (remove entry), "mv" (rename entry) "ne"
612           (new entry), "snp" (set numplayed). Read the manual for more
613           information.
614
615  INSTALL             |   10 -
616  Makefile.in         |    7 -
617  NEWS                |   19 +++
618  README              |    5
619  afs.c               |   75 ++++++--------
620  audioc.c            |    5
621  audiod.c            |  137 ++++++++++++-------------
622  client.c            |   83 +++++++--------
623  command.c           |   85 +++++++---------
624  configure.ac        |    2
625  crypt.c             |    6 -
626  daemon.c            |   26 ++--
627  dbadm.c             |  128 ++++++++++++------------
628  dopey.c             |    9 -
629  exec.c              |  180 ++++++----------------------------
630  fade.c              |   76 +++++++-------
631  gui.c               |   88 ++++++++--------
632  krell.c             |  113 ++++++++++-----------
633  mp3.c               |   49 ++++-----
634  mysql.c             |  275 ++++++++++++++++++++++++++++++++++++++++++++--------
635  net.c               |   44 ++------
636  ogg.c               |   91 ++++++++---------
637  oggdec.c            |    2
638  para.h              |  110 +++++++++++++-------
639  recv.c              |   26 ++--
640  scripts/demo-script |    4
641  sdl_gui.c           |    3
642  send.c              |   26 ++--
643  server.c            |   74 ++++++-------
644  signal.c            |   19 +--
645  skencil/overview.sk |   34 +++---
646  slider.c            |    4
647  stat.c              |   27 ++---
648  string.c            |   62 +++++++----
649  34 files changed, 1000 insertions(+), 904 deletions(-)
650
651 0.2.1 (2005-08-15) "surreal experience"
652 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
653 Here comes paraslash-0.2.1. It contains a couple of new features and,
654 surprise, only minor bug fixes.
655
656         o kill noisy mp3 debug message
657         o cleanup of the build system
658         o para_server and para_client directly use the crypto routines
659           of the openssl library rather than invoking the openssl command
660           line utitlity
661         o server/audiod: new option --user to switch to the given user
662           when invoked as root. Read the output of "para_server -h" for
663           more information.
664         o gui/sdl_gui: new option --stat_cmd to be used to retrieve the
665           status. Default: "para_audioc stat"
666         o sdl_gui: new option --pic_cmd to be used to download the picture.
667           Default: "para_client pic"
668         o audiod: 5 slots ought to be enough for everybody
669         o audiod: new status item: Uptime, kill hup command
670
671
672 New files: crypt.c crypt.h
673
674  1.0                 |    2
675  FEATURES            |   18 +++----
676  INSTALL             |   37 ++++++++++-----
677  Makefile.in         |  114 +++++++++++++++++++++---------------------------
678  NEWS                |   38 +++++++++++-----
679  README              |   27 +++++------
680  afs.c               |    6 --
681  audiod.c            |  117 ++++++++++++++++++-------------------------------
682  audiod.ggo          |    1
683  client.c            |   78 +++------------------------------
684  command.c           |  103 +++++++------------------------------------
685  configure.ac        |   78 ++++++++++++++++++++++-----------
686  daemon.c            |   44 +++++++++++++++++-
687  dbadm.c             |    7 +-
688  dopey.c             |   14 ++---
689  fade.c              |    3 -
690  gui.c               |    7 +-
691  gui.ggo             |    3 -
692  gui_common.c        |    7 ++
693  gui_theme.c         |  122 ++++++++++++++++++++++++++++------------------------
694  index.html          |   38 ++++++++++------
695  mp3.c               |   79 +++++++++++++++++----------------
696  mp3dec.c            |    8 +--
697  mysql.c             |   14 ++++-
698  net.c               |    3 -
699  ogg.c               |   21 ++++----
700  para.h              |   11 ++--
701  sdl_gui.c           |   19 ++++----
702  sdl_gui.ggo         |   10 ++--
703  server.c            |   19 --------
704  server.ggo          |    3 -
705  server.h            |    3 -
706  slider.c            |   19 +++-----
707  stat.c              |   24 +++++-----
708  string.c            |   12 ++++-
709  36 files changed, 530 insertions(+), 581 deletions(-)
710
711
712 0.2.0 (2005-08-06) "distributed diffusion"
713 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
714 After several month of increased development activity, paraslash-0.2.0
715 has arrived. It contains many new features and is much more
716 self-contained than the old 0.1.x series. Enjoy!
717
718
719         o para_server: fix hang on song change and crash on sighup.
720           Speed up mysql queries. The DIR_LIKE macro is gone.
721         o new executables: para_audiod, the local audio daemon that
722           starts playback (uses SCM_CREDENTIALS socket magic) and
723           para_audioc, the corresponding client.
724         o new executables: para_mp3dec/para_oggdec, two really teensy
725           decoders. para_mp3dec is based on libmad, para_oggdec requires
726           libvorbisfile.
727         o ovsend/ovrecv are capable of streaming ogg as well as mp3, so
728           they are now called para_send and para_recv respectively.
729         o documentation updates
730         o para_gui is themable. For now there is the default theme that
731           looks as before and the simple theme: blue and easy.
732         o gui: audio streaming is now handled by audiod. Time display shows
733           playback time rather than streaming time
734         o slider: update to libzmw-0.2.0
735         o para_krell: fix crash on server shutdown
736         o switch from gzip to bzip2
737
738 New files: audioc.c audioc.ggo audiod.c audiod.ggo daemon.c gui_theme.c mp3dec.c oggdec.c
739         recv.c recv.ggo send.c send.ggo stat.c
740
741  1.0                |    1
742  COPYING            |    2
743  CREDITS            |    4
744  FEATURES           |   24 -
745  INSTALL            |  131 ++++-
746  Makefile.in        |   83 ++-
747  NEWS               |   58 +-
748  PUBLIC_KEY         |   43 +
749  README             |  125 +++--
750  README.mysql       |   18
751  afs.c              |  330 +++++++++-----
752  client.c           |   41 -
753  client.conf.sample |    2
754  client.ggo         |    5
755  command.c          |  350 +++++++--------
756  configure.ac       |   38 +
757  dopey.c            |    2
758  exec.c             |  242 ++++++----
759  fade.c             |   43 -
760  fade.ggo           |    2
761  gui.c              | 1169 +++++++++--------------------------------------------
762  gui.ggo            |   10
763  gui_common.c       |   58 +-
764  index.html         |  176 ++++++-
765  krell.c            |    4
766  mp3.c              |  341 +++++++++------
767  mysql.c            |  180 ++++----
768  net.c              |  161 +++++++
769  ogg.c              |  444 +++++++++++++-------
770  para.h             |  103 ++++
771  sdl_gui.c          |  708 ++++++++++++++------------------
772  sdl_gui.ggo        |    2
773  server.c           |  175 +++----
774  server.ggo         |   13
775  server.h           |   20
776  slider.c           |  160 +++----
777  string.c           |   63 ++
778  time.c             |  103 +++-
779  38 files changed, 2821 insertions(+), 2613 deletions(-)
780
781
782 0.1.7 (2005-04-18) "melting penetration"
783 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
784 The main change in this release is clearly the oggvorbis rewrite,
785 but there are also lots of smaller changes. If you intend to use both
786 the mp3 and the ogg plugin, it is recommended to use software mixing,
787 e.g. the dmix plugin which is provided by ALSA.
788
789         o new executables: para_ovsend and para_ovrecv for sending/receiving
790           oggvorbis files via rtp. Requires the open rtp library. Get it at
791           http://www.linphone.org/ortp/
792         o rewrite of the ogg_vorbis core code
793         o configure detects libzmw and, if detected, includes
794           para_slider to the list of binaries to be built by make
795         o server stream writers read from their associated fifo rather
796           than from stdin
797         o slider: two new sliders, lastplayed and numplayed
798         o fix nasty double free bug which caused random segfaults in case of
799           mp3 files with invalid header information
800         o gui: new command line option: --stream_timeout=seconds  to
801           deactivate a slot if it is idle for that many seconds (default=`5')
802         o diffstats
803
804 New files: ovrecv.c ovrecv.ggo ovsend.c ovsend.ggo time.c
805  CREDITS         |    2
806  FEATURES        |   14 -
807  Makefile.in     |   20 +
808  NEWS            |   25 ++
809  README          |   28 ++
810  README.mysql    |   18 -
811  afs.c           |  238 ++++++++++++++++-------
812  autogen.sh      |    5
813  bash_completion |    2
814  command.c       |    9
815  configure.ac    |  115 ++++++++---
816  exec.c          |    6
817  gui.c           |    8
818  gui.ggo         |    1
819  krell.c         |   14 -
820  mp3.c           |  117 +++++++----
821  mysql.c         |    4
822  ogg.c           |  578 +++++++++++++++++++++-----------------------------------
823  para.h          |    9
824  server.c        |   65 ++++--
825  server.ggo      |    2
826  server.h        |   17 +
827  slider.c        |   68 ++++++
828  string.c        |   11 +
829  24 files changed, 794 insertions(+), 582 deletions(-)
830
831
832 0.1.6 (2005-03-05) "asymptotic balance"
833 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
834 Only little user-visible changes in this release. Mainly bugfixes and
835 core code cleanup. This is probably the most stable version ever if you
836 stick to mp3...
837
838         o fix several memory leaks
839         o rename default name of mysql database from "music" to "paraslash".
840           Use para_server's  --mysql_database option if you do not want to
841           rename your old database.
842         o rework ogg vorbis code
843         o make update command work on mysql servers with LOCAL_INFILE
844           disabled
845         o gui: improved stream I/O (slots)
846         o simplified audio format API
847         o para_pob_ogg is gone
848
849 0.1.5 (2004-12-31) "opaque eternity"
850 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
851 Let's slide gently into the new year.
852
853         o new: para_slider (not built automatically, type "make
854           para_slider" to build). A toy for those who always felt that
855           creating stream definitions is difficult. See screenshots,
856           README and FEATURES for more info.
857         o improved signal handling. Fixes server segfault on SIGHUP
858           for linux kernels newer than Aug 24 2004 and makes para_gui
859           race-free.
860         o reload database tool on SIGHUP
861         o improved help message for sl
862         o do not log "broken pipe" messages as errors. They are
863           perfectly ok.
864         o fix wrong error message on permission errors
865
866 0.1.4 (2004-12-19) "tunneling transition"
867 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
868 Bugfix release. As expected, 0.1.3 introduced a bunch of new bugs.
869 Hopefully, most of them got wiped out with this release. Some
870 enhancements went also in.
871
872         o improved error diagnostics for all commands
873         o stradd/picadd: overwrite previous contents if entry already
874           exists, rather than returning errors
875         o stradd: use current stream if invoked without args
876         o faster (and hopefully more stable) ogg-vorbis handling
877         o para_krell: reap children to avoid zombie-flooding in case
878           no server is running
879         o si: report also server pid
880         o server: don't busy-loop if dbtool reports only invalid files.
881         o gui: CTRL+C works again, fix stream_read command line option
882         o fix pic_add, hist
883         o fix mysql dbtool startup in case no database exists
884         o many small fixes and cleanups
885
886 0.1.3: (2004-12-10) "vanishing inertia"
887 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
888 Starting from this release, the database tools are integrated in the
889 server binary. This decreases server startup time, reduces code size
890 and speeds up database commands. However, the layout of the underlying
891 mysql database changed only slightly and 0.1.3 should be backwards
892 compatible in that respect.
893
894 Visible changes:
895
896         o If mysql is not detected at compile time, or fails to init
897           at runtime, fall back to the dopey database tool which should
898           always work.
899         o para_dbtool and dbtool.conf are gone. All mysql specific
900           options are read from server.conf and are prefixed by 'mysql_'.
901         o new command: cdt (change database tool)
902         o new command line option: dbtool (choose startup database tool)
903         o The name of current stream is now stored in the database,
904           so paraslash remembers its current stream when restarted.
905         o new command: csp (change stream and play)
906         o para_gui also reports current database tool and server uptime
907
908
909 0.1.2: (2004-11-28) "spherical fluctuation"
910 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
911 Point release before the big dbtool changes go in.
912
913         o dbtool: rename ca to cam (copy all meta data). It now also
914           copies numplayed and lastplayed time as well as the picture
915           id.
916         o fix endless-loop-bug caused by mp3 files with invalid header
917
918 0.1.1: (2004-11-05) "floating atmosphere"
919 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
920         o gkrellm plugin
921         o new dbtool command: mbox. Browse your sound-file collection
922           with your favorite mail reader.
923         o several small fixes
924
925 0.1.0: (2204-10-22) "rotating cortex"
926 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
927         o fix logging bug for loglevel > VERBOSE
928         o fix skip command
929         o correct timings for vbr mp3s
930         o modular audio format support
931         o ogg-vorbis support (experimental)
932         o new server option: autoplay
933
934 0.0.99: (2004-07-25) "harmonic deviation"
935 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
936         o rename projectname from icc to paraslash (play, archive, rate
937           and stream large audio sets happily)
938         o paraslash is no longer restricted to one particular audio
939           streaming software
940         o new dbtool commands (stradd, strq, strdel) for easy stream
941           managment w/o configuration file. That obsoletes stream_defs
942           file/config option for dbtool.
943         o picadd accepts jpeg data from stdin
944         o new server commands: ps (select previous stream), sc (song change)
945         o new default pictures for sdl_gui
946         o gui: new key_map option for binding commands and internal
947           functions to arbitrary keys, nice help screen, rip out
948           soundcard/linux specific stuff, avoid noise artefacts while jumping,
949           show silly logo on startup
950         o new executables: para_fade for fading volume, para_dbadm for
951           manipulating attributes
952         o cdb adds _all_ tables to mysql database
953         o revised and beautified documentation
954         o sample dbtool rewritten in C
955         o autoconf
956
957 0.0.98: (2003-12-26) "incremental smoothness"
958 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
959         o kick icecast in favour of poc. That removes some races and reduces
960           core code considerably.
961         o cbr/vbr is displayed by stat and gui/sdl_gui. New status flags
962           give finer info on afs' status.
963         o gui can start decoder (see config options). Further new gui
964           commands: refresh (^L), jmp (F1-F10)
965         o gui rereads conf on SIGUSR1 instead of SIGHUP. SIGHUP
966           terminates gui. This fixes dead instances consuming memory
967           continuously.
968         o new dbtool command: verb for sending verbatim sql queries.
969         o fix pid_list races (by removing pid_list)
970         o codename funnies
971
972 0.0.97: (2003-10-26)
973 ~~~~~~~~~~~~~~~~~~~~
974         o installation prefix now defaults to /usr/local
975         o new commands for gui: snozze, sleep and reread config
976         o config file for gui and sdl_gui
977         o fix problems with filenames containing funny characters
978           (reported by Thomas Forell)
979         o improved signal handling for gui, now it rereads conf on SIGHUP
980         o new dbtool command: cdb (create database)
981         o switch from argtable to gengetopt
982         o major code cleanup and speed improvements
983         o fix several potential buffer overflows
984         o many small fixes and cleanups
985
986 0.0.96 (2003-08-30)
987 ~~~~~~~~~~~~~~~~~~~
988         o easy stream_defs syntax
989         o sdl_gui can display images associated to the file being played
990         o Major feature enhancements for icc_gui including dynamic text
991           placement and the top/bottom window design
992         o vrfy/clean now also checks for NULL values in attributes as
993           well as for invalid picture pointers
994         o fix long outstanding case sensitivity bug
995         o many small fixes and cleanups
996
997 0.0.95 (2003-06-29)
998 ~~~~~~~~~~~~~~~~~~~
999         o sdl gui runs much faster
1000         o new dbtool command: ca (copy attributes)
1001         o count and display number of times the song has been played
1002         o new feature: scoring
1003         o command line options for sdl_gui
1004         o simpler syntax of streams file
1005         o decrease network traffic of stat
1006         o fix zombie bug
1007         o many small fixes and cleanups
1008
1009 0.0.94 (2003-05-04)
1010 ~~~~~~~~~~~~~~~~~~~
1011         o new server command: ns (next stream)
1012         o new icc_gui command: c (change stream)
1013         o internal mp3info
1014         o stat shows also id3 tag info
1015         o new sdl based gui
1016         o log flodding bug fixed
1017         o many small fixes and cleanups
1018
1019 0.0.93 (2003-03-28)
1020 ~~~~~~~~~~~~~~~~~~~
1021         o colors for icc_gui
1022         o icc_gui sets volume directly (linux only)
1023         o proper locking that fixes some races
1024         o fix security bug that caused commands to be executed even
1025           with unsufficient permissions
1026         o new command: hup to make all servers reread their configuration file
1027         o icecast meta data streaming
1028         o many small fixes and cleanups