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