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