]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
Merge branch 't/misc'
authorAndre Noll <maan@systemlinux.org>
Sun, 30 Mar 2014 16:31:57 +0000 (18:31 +0200)
committerAndre Noll <maan@systemlinux.org>
Sun, 30 Mar 2014 16:42:30 +0000 (18:42 +0200)
Various fixes, improvements, cleanups. Cooking since 2014-02-22.

* t/misc: (29 commits)
  build: Don't link with -lreadline if readline was not found.
  audiod: Skip NULL pointer check in compute_time_diff().
  audiod: Make compute_time_diff() return void.
  com_stat(): Remove pointless uptime variable.
  gcrypt: Fix gcc warning on Ubuntu Lucid.
  flac: Try to link also without -logg.
  version.c: Fix comment of version_single_line().
  doxygen: Expand all macros, in particular config.h.
  recv_common.c: Improve documentation of check_receiver_arg().
  audiod: get_time_string() comment fix.
  configure: Really print opus audio file handler if opus lib was found.
  Overhaul doxygen main page.
  afs.h: Don't try to list all supported audio formats.
  Change copyright year to 2014.
  Add link to sideband.h in doxygen main page.
  Doxify error2.c and add GPL header.
  Add -Wdeclaration-after-statement.
  Add some missing includes.
  Makefile.real: Add clean2 to the list of phony targets.
  mood.c: Fix a trivial whitespace issue.
  ...

180 files changed:
.changelog_before_cvs [deleted file]
.changelog_cvs [deleted file]
Doxyfile
Makefile.in
Makefile.real
NEWS
aac.h
aac_afh.c
aac_common.c
aacdec_filter.c
acl.c
acl.h
afh.c
afh.h
afh_common.c
afh_recv.c
afs.c
afs.h
aft.c
alsa_mix.c
alsa_write.c
amp_filter.c
ao_write.c
attribute.c
audioc.c
audiod.c
audiod.h
audiod_command.c
bash_completion
blob.c
buffer_tree.c
buffer_tree.h
check_wav.c
check_wav.h
chunk_queue.c
chunk_queue.h
client.c
client.h
client_common.c
close_on_fork.c
command.c
command_util.bash [new file with mode: 0755]
command_util.sh [deleted file]
compress_filter.c
configure.ac
convert_0.3-0.4.sh [deleted file]
crypt.c
crypt.h
crypt_backend.h
crypt_common.c
daemon.c
dccp_recv.c
dccp_send.c
error.h
error2.c
exec.c
fade.c
fd.c
fd.h
fecdec_filter.c
file_write.c
filter.c
filter.h
filter_common.c
flac_afh.c
flacdec_filter.c
gcrypt.c
ggo.c
ggo.h
grab_client.c
grab_client.h
gui.c
gui.h
gui_theme.c
http_recv.c
http_send.c
imdct.c
interactive.c
interactive.h
ipc.c
m4/gengetopt/afh.m4
m4/gengetopt/afh_recv.m4
m4/gengetopt/alsa_write.m4
m4/gengetopt/amp_filter.m4
m4/gengetopt/ao_write.m4
m4/gengetopt/audioc.m4
m4/gengetopt/audiod.m4
m4/gengetopt/client.m4
m4/gengetopt/compress_filter.m4
m4/gengetopt/dccp_recv.m4
m4/gengetopt/fade.m4
m4/gengetopt/file_write.m4
m4/gengetopt/filter.m4
m4/gengetopt/gui.m4
m4/gengetopt/http_recv.m4
m4/gengetopt/makefile
m4/gengetopt/mp3dec_filter.m4
m4/gengetopt/oss_write.m4
m4/gengetopt/osx_write.m4
m4/gengetopt/play.m4
m4/gengetopt/prebuffer_filter.m4
m4/gengetopt/recv.m4
m4/gengetopt/resample_filter.m4
m4/gengetopt/server.m4
m4/gengetopt/udp_recv.m4
m4/gengetopt/write.m4
man_util.bash [new file with mode: 0755]
mix.h
mm.c
mm.h
mood.c
mood.h
mp3_afh.c
mp3dec_filter.c
net.c
net.h
ogg_afh.c
ogg_afh_common.c
ogg_afh_common.h
oggdec_filter.c
opus_afh.c
opus_common.h
opusdec_filter.c
oss_mix.c
oss_write.c
osx_write.c
para.h
play.c
playlist.c
portable_io.h
prebuffer_filter.c
recv.c
recv.h
recv_common.c
resample_filter.c
ringbuffer.c
ringbuffer.h
sched.c
sched.h
score.c
send.h
send_common.c
server.c
server.h
sideband.c
sideband.h
signal.c
signal.h
spx.h
spx_afh.c
spx_common.c
spxdec_filter.c
stat.c
stdin.c
stdin.h
stdout.c
stdout.h
string.c
string.h
time.c
udp_recv.c
udp_send.c
user_list.c
user_list.h
version.c
vss.c
vss.h
wav_filter.c
web/header.html
web/header2.html
web/screenshots/audiod.log
web/screenshots/gui.png
web/screenshots/server.log
wma_afh.c
wma_common.c
wmadec_filter.c
write.c
write.h
write_common.c
write_common.h

diff --git a/.changelog_before_cvs b/.changelog_before_cvs
deleted file mode 100644 (file)
index 7f95255..0000000
+++ /dev/null
@@ -1,378 +0,0 @@
-This is the old Changelog, before the icc project switched to cvs.
-
-dbtool (sa): fix SEGFAULT when some attributes are NULL
-icc_dbtool.template: add help command
-Makefile: Check for mp3info
-dbtool.c: Handle files with Â«'» properly
-
-****** Version 91 (Sat Nov 30 13:52:37 MET 2002) *******
-Makefile: include icc_dbtool.conf.sample
-icebear: Remove unneeded signal handlers
-icc_dbtool.c Add documentation to upd command
-Documentation update
-dbtool.c: Add config file functionality
-icc_dbtool.c: Add upd command
-command.c: Bug: cs prints current stream in err msg
-zombies, zombies
-many fixes all over the place
-dbtool.c: new command: vrfy (verify entries in database)
-dbtool.c: implement clean command
-icc_dbtool: implement skip
-dont use pointers to malloced mem in shared area (causes SEGFAULT)
-icebear: SEGFAULT when cs was called after server had got HUP. Nasty bug
-icc_bash_completion: adapt to new syntax
-command.c: nuke drop_ss and new_ss
-dbtool.c: Add da (drop attribut) command (replaces old drop_ss)
-dbtool.c: Add na (new attribut) command (replaces old new_ss)
-Makefile: Changelog contains entries not yet done
-
-****** Version 90 (Wed Nov 13 02:05:34 MET 2002) *******
-icebear: kill unneeded signal handlers
-icebear: call info only if it is a valid command
-server: code cleanup
-command.c uptime: print #connections and #commands
-server: count #connections and #commands
-server/icebear/command: count/display number of songs already played
-icc.h: cleanup
-command.c: nuke ms command
-dbtool.c: add summary command
-dbtool.c: new command: sa, replaces old ss (set subset) command
-dbtool.c: new command: streams
-server: renew command list on SIGHUP
-icebear: call us only if it is a valid command
-command.c: sort command list alphabetically
-server: Nicify logging
-command.c: New command: perms
-command.c: Rewrite command handlers to use linked list
-command.c: introdule linked list of commands
-
-****** Version 89 (Sat Nov  9 17:27:32 MET 2002) *******
-command.c: Major cleanup
-
-****** Version 88 (Sat Nov  9 01:34:14 MET 2002) *******
-icebear: New command: cs
-init_icebear put default_stream to freshly allocated shared mem
-server: pass default_stream to init_icebear
-server: new configfile option: default_stream
-command.c help: call icc_dbtool help
-
-****** Version 87 (Fri Nov  8 23:03:03 MET 2002) *******
-Makefile: new target icc_dbtool
-icc_dbtool: Switch to mysql C API
-
-****** Version 86 (Thu Oct 17 22:38:37 MEST 2002) *******
-New file: README.dbtool
-client/server: use OPENSSL define of config.h instead of hard coded path
-client/server: include config.h
-README: add icecast to requirements
-
-****** Version 85 (Thu Oct 10 22:56:29 MEST 2002) *******
-Makefile: Don't include tdldb in tgz
-Makefile: New target: distclean (clean no longer removes Changelog, TODO and version.h)
-dbtool ms: print each dot only once (reduces size of ps from 171kb to 22kb)
-
-****** Version 84 (Fri Oct  4 15:01:54 MEST 2002) *******
-icc_server.conf.sample/icecast.conf.sample: Use same passwd
-Makefile: include icecast.conf.sample in tarball
-Makefile: mkdir ~/public_html
-
-****** Version 83 (Wed Sep 25 01:59:06 MEST 2002) *******
-Makefile tgz: php crap got messed up
-
-****** Version 82 (Wed Sep 25 01:56:55 MEST 2002) *******
-server: Reread configuration on SIGHUP
-Makefile: New Changelog format
-Makefile tgz: create archive with leading directory icc-$version
-
-************* Version 81 *************
-server update_str: fix bug: uptime string messed up
-README: add description of icc_bash_completion
-INSTALL: Update, extentions and nicifying
-icc_bash_completion: adapt to new layout of Â«icc help«
-
-************* Version 80 *************
-server: print uptime in welcome message
-server: new functions: uptime,uptime_str
-command.c: new commands: uptime,version
-icebear: exec_cmd: test if stopped for ff/jmp/next. Fixes Segfault when eg Â«next» was called with no file opened yet
-
-************* Version 79 *************
-server: implement remaining part of configuration part
-server: implement basic configuration file functionality
-
-************* Version 78 *************
-Makefile: install icc_client.conf.sample and also include it in tgz
-new file: icc_client.conf.sample
-client: actually print version and info if loglevel is at least info
-client: new function: print_version
-client: read_config: change verbose setting to loglevel
-client: new option -l (loglevel) obsoletes -v (verbose)
-client: Fix Â«if(verbose==TRUE)» madness, use loglevels instead
-client: write log function similar to server's log function
-README: Update icc_client description: Delete sentence on telnet
-
-************* Version 77 *************
-client: take localhost as default host, not p133
-client: new option -c (specify config file)
-client: implement reading of config file
-
-************* Version 76 *************
-server sigchld_handler: Add exit status also as numerical value
-command.c: Add description for drop_ss, fut, us
-
-************* Version 75 *************
-icebear: fix segfault on nomore (double close mp3_stream)
-icebear: nm->nomore
-command.c: add nomore command (got forgotten)
-client: catch SIGCHLD
-client: introduce internal variable debug to toggle debug before command line argumants are parsed (for verbose switch)
-client: Nicify verbose output
-client: Fix command line parsing
-
-************* Version 74 *************
-Makefile tgz: use prefix icc-0.0.
-Makefile tgz: bug: forget to read VERSION
-Makefile: Add .tdldb to sources
-
-************* Version 73 *************
-client: new option -V (version)
-server: new option -V (version)
-Makefile: new target: tgz (implies version)
-Makefile: fix version numbering
-Makefile: include INSTALL in sources
-Makefile: Use -p Option for tar
-
-************* Version 72 *************
-icc_server: print info on who we are serving to argv[0]
-icebear: print status to argv[0]
-command.c: Add missing descriptions to all internal commands
-dbtool.template: Use find instead of locate
-server: send proper error message if client sent unkown command
-
-************* Version 71 *************
-client: Added help option -h
-command.c help: Nicify output. Include needed permissions.
-command.c: Add description for stat, sb and term
-Makefile: Add target dbtool_install
-Makefile install: don't install dbtool
-server/client: print version number
-icc.h include version.h
-Makefile: added target version.h
-added INSTALL
-README: Remove Warning message concerning lack of authentification
-Makefile: implement PREFIX
-icebear: typo in jmp command
-icc_dbtool.template us: Don't print warning
-Makefile install: Install also icc_dbtool.template
-
-************* Version 70 *************
-
-************* Version 69 *************
-icc_dbtool.template: Change fut so that it does not need bogosort anymore
-
-************* Version 68 *************
-Makefile: include icc_dbtool.template in tgz package
-server: new command line options: P, i, ip
-server: kill global variable conn
-command.c parse_cmd: Fix SEGV when in interactive mode and no option given (reported by Christof Müller)
-Makefile: all: dont make TODO and Changelog
-icc.client: remove passwd
-icc.h remove maan
-
-************* Version 67 *************
-icebear: delete option for id3 comment in mp3info call
-icebear: Fix bug: pollret returns strange events
-icebear: fix division by 0 bug when length of file is zero seconds
-
-************* Version 66 *************
-
-************* Version 65 *************
-command.c: perror -> log
-command.c: new fuction: check_permissions
-command.c: insert dummy at the beginning of command list to let start command numbers by 1 instead of 0
-
-************* Version 64 *************
-server: add string strerror(errno) to log file entries
-command.c: make parse_command only return command number and call handle_cmd from main
-server: print log msg _before_ exit(1) if send fails
-server: exit(1) if send fails
-
-************* Version 63 *************
-command.c: code cleanup
-icc_server: implement option -c (specify config file)
-client: fix SEGFAULT when command line ends with invalid option
-client: add option -k (secret key file)
-
-************* Version 62 *************
-implement permission check for all commands
-
-************* Version 61 *************
-implement basic configuration file functionality
-icc_server/client: implement rsa authentification via openssl
-
-************* Version 60 *************
-command.c: add help text for jmp and ff commands
-command.c: help: print command handler and needed privileges
-icebear: minor code cleanups
-icebear: Nicify log output
-icebear: split poll_cmd_listener to allow blocking reads => no more sleep(1)
-
-************* Version 59 *************
-icebear: Code documentation
-icebear: move shout init/shoutdown to exec_cmd. This might fix pause command.
-
-************* Version 58 *************
-icebear: increase number of allowed invalid files before giving up to 100
-dbtool clean: Handle files with Â«'» properly
-
-************* Version 57 *************
-dbtool: add summary command
-icc_process_form.php: change strcmp(a,b)=0 to not strcmp(a,b)
-
-************* Version 56 *************
-
-************* Version 55 *************
-kill id3 code
-dbtool: change info and fut to avoid Lost connection to MySQL server during query
-icebear: It dies if there no valid songs. Stop and lurk for play instead
-icebear: code cleanup
-
-************* Version 54 *************
-icebear/icc.h: use long unsigned int to avoid overflow in status bar
-
-************* Version 53 *************
-server: BUG in help: dont check args if args=NULL
-command.c help: implement Â»help command«
-README: add LICENSE
-README: include description to php scripts
-server: kill guics command
-server: kill log command
-dbtool: kill pw
-dbtool: add local for all local vars
-
-************* Version 52 *************
-command.c, icc.h: cleanup declaration of command struct
-dbtool us: add option to specify update time
-add bash completion for icc_client
-
-************* Version 51 *************
-kill spl command
-dbtool: add ls command
-icc_server: add ls command
-icc_server: kill cd command
-
-************* Version 50 *************
-php/icc_form, php/icc_process_form: fix several bugs
-
-************* Version 49 *************
-add background gradient image
-
-************* Version 48 *************
-write mp3 search form icc_form.php
-icebear: log seconds with 2 digits
-icc_gui: Add sleep(2) before each reconnect
-php: delete unneeded pics
-
-************* Version 47 *************
-icc_server: add time and date to log
-
-************* Version 46 *************
-php/icc_dbgui: fix off by one bug
-dbtool: clean reports files as deleted which are still there
-remove wtc.jpg
-
-*** Version 45 ***
-improve php scripts
-
-*** Version 44 ***
-add php scripts for apache/mysql
-
-*** Version 43 ***
-icc.h changed #define ERR to #define ERROR
-
-*** Version 42 ***
-gui: make it survive window resize
-
-*** Version 41 ***
-Add short description of all icc tools to README
-
-*** Version 40 ***
-dbtool fut: replace use of ancient anplay variable by aprropriate one
-dbtool ss: make it work again when args _are_ given
-server: Add -p <port> option
-client: catch SIGINT
-
-*** Version 39 ***
-dbtool: ps does not work if no arg is given
-dbtool: ss does not work if no arg is given
-server: log GPL banner (loglevel INFO)
-client: Add GPL banner in welcome message
-dbtool last: print full filenames
-dbtool info: print name if no argument was given
-
-*** Version 38 ***
-icebear: make jmp,ff,next,pause,play,stop,nm actually respond via new pipe
-create new pipe icebear->server for responses to icebear commands
-
-*** Version 37 ***
-dbtool cs: print info if no argument is given
-
-*** Version 36 ***
-icebear: kill getenv code
-icebear: rewrite startup code to prevent icebear from playing on startup
-
-*** Version 35 ***
-icebear: nicify log messages
-icebear: make pause, play, stop work in all possible cases
-
-*** Version 34 ***
-Makefile version: include COPYRIGHT, GPL and README files in tarball
-Add COPYRIGHT and GPL files
-*.c *.h dbtool: Add GPL headers
-inplement option -L logfile
-client: Fix bug: commands with options don't work
-
-*** Version 33 ***
-Makefile: only put completed todos into Changelog
-server: implement Daemon mode
-icc_client: Dont send empty lines
-
-*** Version 32 ***
-command: Fix nasty bug which caused sending 2 nullbytes instead of only one
-dbtool info: print info on current song if no argument was given
-
-*** Version 31 ***
-dbtool: Another silly bug in info which prevented dir to be printed
-client: Fix silly bug caused it to send wrong number of bytes
-icc_server: implemented term command
-Makefile: strip away useless tdl info
-icc_dbtool: Changed Warning message for commands not yet implemented
-icc_server: Added help command
-icc_client: add readline support
-icc_dbtool fut: Fix bug when there is exactly one new song
-db_tool: implement skip
-db_tool: implement ss
-db_tool: implement clean
-db_tool: implement upd
-dbtool: implemented pw
-move icc ms to dbtool
-icc_shell: ms
-icc_server/dbtool: new command hist
-dbtool: implement last
-created icc_shell
-make icebear use icc_dbtool instead of mp3
-write db_tool basics (fut, ass, ps, info, us)
-Makefile improvements
-icc_client: Add verbose flag -v
-Adjust loglevels and make logging nicer
-icc_client: properly handle command line options
-icc_server: Dont start playing on startup
-take output of info command as misc info
-icc_client: treat nr_options correctly
-log messages cleanup
-log proper exit status (WIFSIGNALED...)
-icebear: stop actually restarts icebear
-icc_client: interactive mode
-icc_server: on errors send messages clients
-
-
diff --git a/.changelog_cvs b/.changelog_cvs
deleted file mode 100644 (file)
index 889f23c..0000000
+++ /dev/null
@@ -1,12680 +0,0 @@
-2006-02-20 07:52  maan
-
-       * filter.c: cosmetics
-
-2006-02-20 07:51  maan
-
-       * crypt.h: add doxygen file comment
-
-2006-02-20 07:50  maan
-
-       * Doxyfile: exclude some more files
-
-2006-02-20 07:16  maan
-
-       * NEWS: [no log message]
-
-2006-02-20 07:16  maan
-
-       * CREDITS: add Lorenzo Bettini
-
-2006-02-20 05:24  maan
-
-       * Makefile.in: with gengetopt-2.16 we no longer need the conversion
-         optind=1 -> optind=0. Get rid of it.
-
-2006-02-19 07:46  maan
-
-       * crypt.c: add documentation
-
-2006-02-19 05:55  maan
-
-       * crypt.c: para_decrypt_challenge() leaks 128 bytes if
-         para_decrypt_buffer() fails. Fix it
-
-2006-02-19 05:47  maan
-
-       * gcc-compat.h: trivial: fix comment
-
-2006-02-19 05:46  maan
-
-       * crypt.c: whitespace cleanup
-
-2006-02-19 05:46  maan
-
-       * Doxyfile: activate the source browser
-
-2006-02-19 05:34  maan
-
-       * fade.c: make fade() static
-
-2006-02-19 04:15  maan
-
-       * Doxyfile: deactivate latex and man output, activate search engine
-
-2006-02-19 03:35  maan
-
-       * sdl_gui.c: add missing file name in comment
-
-2006-02-18 01:52  maan
-
-       * scripts/demo-script: download paraslash-0.2.10
-
-2006-02-18 01:21  maan
-
-       * web/index.in.html: typo
-
-2006-02-18 00:51  maan
-
-       * Makefile.in, NEWS, configure.ac: new codename, reset version to
-         cvs
-
-2006-02-18 00:49  maan
-
-       * versions/: paraslash-0.2.10.tar.bz2,
-         paraslash-0.2.10.tar.bz2.asc: paraslash-0.2.10
-
-2006-02-18 00:48  maan
-
-       * Makefile.in, NEWS, configure.ac, web/index.in.html: paraslash
-         0.2.10
-
-2006-02-18 00:12  maan
-
-       * Doxyfile: config file for doxygen
-
-2006-02-17 23:23  maan
-
-       * ortp_recv.c: increase number of bad chunks before returning an
-         error
-
-2006-02-16 05:28  maan
-
-       * README.mysql: [no log message]
-
-2006-02-16 04:48  maan
-
-       * filter.ggo: update help text for --list_filters
-
-2006-02-16 02:37  maan
-
-       * web/: documentation.in.html, index.in.html: annonce the new API
-         Reference
-
-2006-02-16 02:36  maan
-
-       * Makefile.in: new targets: doxygen, web/header2.html. Target www
-         implies doxygen
-
-2006-02-16 02:32  maan
-
-       * server.c: rename 'Reference Manual' to 'API Reference'
-
-2006-02-16 02:31  maan
-
-       * web/header.html: use the new stylesheet
-
-2006-02-16 02:30  maan
-
-       * web/para.css: the new stylesheet for the paraslash web pages
-
-2006-02-16 00:41  maan
-
-       * db.h, dopey.c, filter.h, mysql.c, recv.h, server.c: some small
-         documentation cleanups and additions
-
-2006-02-15 22:56  maan
-
-       * http_send.c, ortp_send.c, send.h, server.c: struct sender: rename
-         set_fds/handle_fds to pre_select/post_select and add
-         documentation
-
-2006-02-15 22:55  maan
-
-       * http_recv.c: kill superfluous parenthesis
-
-2006-02-15 22:14  maan
-
-       * oggdec.c: rename private_ogg_data to private_oggdec_data
-
-2006-02-15 22:13  maan
-
-       * http_recv.c: add remaining documentation
-
-2006-02-15 22:12  maan
-
-       * afs.h, filter.h, mp3.c, ortp.h, recv.h, ringbuffer.h, signal.c,
-         string.c, string.h: add missing doxygen file comments
-
-2006-02-15 05:49  maan
-
-       * http.h: and doxygen file comments
-
-2006-02-15 05:49  maan
-
-       * net.h: add GPL header and doxygen file comments
-
-2006-02-15 05:04  maan
-
-       * exec.c: add documentation of all functions
-
-2006-02-15 04:19  maan
-
-       * recv_common.c: gcc-compat.h gets included by para.h
-
-2006-02-15 03:51  maan
-
-       * mysql.c, string.c, string.h: rename regex_list to para_macro and
-         add documentation
-
-2006-02-15 03:11  maan
-
-       * Makefile.in, afs.c, audioc.c, audiod.c, client.c,
-         close_on_fork.c, command.c, compress.c, crypt.c, daemon.c, db.c,
-         dbadm.c, dopey.c, exec.c, fade.c, filter.c, filter_chain.c,
-         grab_client.c, gui.c, http_recv.c, http_send.c, mp3dec.c,
-         mysql.c, net.c, ogg.c, oggdec.c, ortp_recv.c, ortp_send.c,
-         para.h, recv_common.c, ringbuffer.c, sdl_gui.c, server.c,
-         slider.c, stat.c, string.c, string.h, wav.c: move the function
-         prototypes of string.c from para.h to its own header file
-         string.h
-
-2006-02-15 02:20  maan
-
-       * ortp_send.c: add documentation of struct ortp_target
-
-2006-02-15 02:00  maan
-
-       * error.h: some new error messages for the mp3 audio format handler
-
-2006-02-15 01:59  maan
-
-       * mp3.c: use the error subsystem everywhere
-
-2006-02-15 01:27  maan
-
-       * mp3.c: whitespace cleanup, make mp3_read_chunk() static
-
-2006-02-15 01:21  maan
-
-       * mp3.c: typdefs are evil
-
-2006-02-15 00:35  maan
-
-       * mp3dec.c: another quite serious issue: do not try to convert if
-         the output buffer is almost full. Otherwise we risk that the next
-         frame does not fit into the ouput buffer and we only can error
-         out in this situation. This patch avoids the problem.
-
-2006-02-15 00:31  maan
-
-       * filter.c: fix serious bug: -1 is no valid error number for
-         filter.c. The proper error number is returned from filter_io()
-         anyway, so use that one.
-
-2006-02-14 23:24  maan
-
-       * server.c: doxification
-
-2006-02-14 23:24  maan
-
-       * http_send.c: typo
-
-2006-02-14 22:57  maan
-
-       * http_send.c, ortp_send.c, server.c: add documentation of all
-         structures used by http_send, rename para_http_init to
-         http_send_init, likewise for ortp
-
-2006-02-14 22:09  maan
-
-       * command.c, server.h: add documentation of struct misc_meta_data.
-         Kill the unused send field of struct_sender_command_data and add
-         documentation for that struct as well.
-
-2006-02-14 22:08  maan
-
-       * server.c: add documentation of mmd_lock() and mmd_unlock()
-
-2006-02-14 21:25  maan
-
-       * README: add gcc to the list of required software
-
-2006-02-14 21:07  maan
-
-       * Makefile.in: make gcc-2.95.4 happy
-
-2006-02-14 21:02  maan
-
-       * Makefile.in, configure.ac: let gcc produce the dependencies for
-         make rather than doing it by hand
-
-2006-02-14 20:17  maan
-
-       * para.h: kill another unused macro
-
-2006-02-14 19:46  maan
-
-       * para.h: kill two unused macros, change year in copyright to 2006
-
-2006-02-14 19:41  maan
-
-       * server.h: add more documentation on AFS_READ and friends
-
-2006-02-14 19:40  maan
-
-       * daemon.c, daemon.h, para.h: move enum uptime from para.h to
-         daemon.h. Include daemon.h from daemon.c
-
-2006-02-14 19:26  maan
-
-       * para.h: use the __printf_x_y macros
-
-2006-02-14 19:20  maan
-
-       * para.h, server.h: move permission flags from para.h to server.h,
-         turn them into an enum and doxify
-
-2006-02-14 19:14  maan
-
-       * command.c, dopey.c, mysql.c, server.h: rename usage to synopsis
-         in struct server_command
-
-2006-02-14 19:09  maan
-
-       * server.h: add documentation of struct server_command and
-         struct_user
-
-2006-02-14 19:04  maan
-
-       * Makefile.in, list.h, ortp_recv.c, server.h, web/download.in.html:
-         oops, the last commit was an accident, back to previous versions
-
-2006-02-14 18:59  maan
-
-       * Makefile.in, list.h, ortp_recv.c, server.h, web/download.in.html:
-         add documentation o
-
-2006-02-14 03:36  maan
-
-       * server.c: log error message if database init failed
-
-2006-02-14 03:34  maan
-
-       * error.h, mysql.c: add two more error messages
-
-2006-02-14 02:56  maan
-
-       * command.c, db.h, dopey.c, mysql.c, server.h: add some
-         documentation, rename struct command to struct server_command
-
-2006-02-14 02:16  maan
-
-       * grab_client.h: cosmetics
-
-2006-02-14 02:07  maan
-
-       * mysql.c: make a function static, add documentation
-
-2006-02-14 02:05  maan
-
-       * filter_chain.c: fix typo, add file comment
-
-2006-02-14 02:04  maan
-
-       * audiod.c: add documentation of struct slot_info
-
-2006-02-14 01:25  maan
-
-       * stat.c: cosmetics
-
-2006-02-13 22:29  maan
-
-       * audiod.c: rename struct stream_io to struct slot_info
-
-2006-02-13 20:59  maan
-
-       * audiod.c: struct audio_format_info: rename wcmd to write_command
-         and add documentation
-
-2006-02-13 20:39  maan
-
-       * audiod.c: add documentation of struct audiod_command
-
-2006-02-13 20:32  maan
-
-       * audiod.c: rename struct command to audiod_command
-
-2006-02-13 02:41  maan
-
-       * time.c: add documentation
-
-2006-02-13 01:49  maan
-
-       * audiod.c: kill unused filter_cmds field in struct stream_io, add
-         some documentation, minor cleanups
-
-2006-02-12 03:55  maan
-
-       * recv.c: make parse_config() static
-
-2006-02-12 03:44  maan
-
-       * recv.c: only print an error message if the return value is
-         negative
-
-2006-02-12 03:42  maan
-
-       * close_on_fork.c, close_on_fork.h: add documentation for all
-         public symbols
-
-2006-02-12 03:12  maan
-
-       * audiod.c: make two functions static. Add documentation of
-         para_audiod's different modes and of num_filters()
-
-2006-02-11 22:04  maan
-
-       * list.h: kill two unused macros
-
-2006-02-11 21:23  maan
-
-       * grab_client.c: finish documentation of all public functions
-
-2006-02-11 20:42  maan
-
-       * audiod.c, audiod.h, error.h, grab_client.c: make
-         get_audio_format_num() public and use it from grab_client.c, add
-         documentation of grab_client_new().
-
-2006-02-11 20:28  maan
-
-       * grab_client.h: add documentiation of struct grab_client
-
-2006-02-11 19:48  maan
-
-       * audiod.c: new function get_audio_format_num()
-
-2006-02-11 01:47  maan
-
-       * audiod.c, audiod.h, grab_client.c: nuke the 'name' field of
-         struct audio_format
-
-2006-02-11 00:57  maan
-
-       * audiod.h, grab_client.h: move AUDIO_FORMAT_MP3,
-         AUDIO_FORMAT_ARRAY and MAX_STREAM_SLOTS from grab_client.h to
-         audiod.h.
-
-2006-02-11 00:35  maan
-
-       * http_recv.c, ortp_recv.c: fix typo in comment
-
-2006-02-10 04:38  maan
-
-       * Makefile.in: add some missing dependencies
-
-2006-02-10 04:37  maan
-
-       * grab_client.h: oops, argc, argv _are_ used. Add them again.
-
-2006-02-10 03:37  maan
-
-       * grab_client.h: make mode type enum rather than int, nuke two
-         unused members in struct grab_client
-
-2006-02-10 03:32  maan
-
-       * grab_client.c: whitespace cleanup
-
-2006-02-10 02:42  maan
-
-       * oggdec.c: Use the pointer to the filter_node as datasource for
-         the ov_callbacks. This makes the filter chain info available for
-         the read callback via the new fn->fci pointer. Use that pointer
-         instead of keeping a copy of the relevant information in struct
-         private_ogg_data. As this simplifies oggdec.c quite a bit, add
-         documentation of struct private_ogg_data to compensate ;)
-
-2006-02-09 23:53  maan
-
-       * audiod.c, compress.c, daemon.c, filter.c, filter.h,
-         filter_chain.c, mp3dec.c, oggdec.c, ortp_send.c, wav.c: add new
-         pointer 'fci' to struct filter_node. It is initialized by
-         para_audiod/para_filter when the chain is constructed. This
-         allows to strip off the fci argument of the convert functions of
-         struct filter.
-
-2006-02-09 00:57  maan
-
-       * oggdec.c: simplify the read callback
-
-2006-02-09 00:01  maan
-
-       * mp3dec.c: remove unused mad_timer from private_mp3_data and add
-         documentation of said struct
-
-2006-02-08 23:19  maan
-
-       * ortp.h, ortp_recv.c, ortp_send.c: also encode the chunk timestamp
-         in each packet
-
-2006-02-08 20:23  maan
-
-       * http_recv.c: rename private_http_data to private_http_recv_data,
-         just to be consistent
-
-2006-02-08 20:21  maan
-
-       * db.c: add short description for db.c, fix a typo.
-
-2006-02-08 20:14  maan
-
-       * compress.c: add documentation of struct private_compress_data,
-         change clip and pn to unsigned type
-
-2006-02-08 19:46  maan
-
-       * Makefile.in, audiod.c, command.c, daemon.c, daemon.h, para.h,
-         server.c: move function prototypes for daemon.c to its own file
-
-2006-02-08 19:41  maan
-
-       * NEWS: [no log message]
-
-2006-02-08 17:49  maan
-
-       * ortp_send.c: fix a huge memory leak which was introduced
-         yesterday
-
-2006-02-08 04:46  maan
-
-       * audiod.c, command.c, daemon.c, para.h, server.c: add
-         documentation of daemon.c, minor cleanups
-
-2006-02-08 02:37  maan
-
-       * audiod.c, recv.h: nuke chunk_time from struct receiver_node
-
-2006-02-08 02:35  maan
-
-       * string.c: better docu of s_a_r()
-
-2006-02-08 02:05  maan
-
-       * filter_chain.c: filter_io: call the convert function of each
-         filter not just once, but in a loop that exits when nothing was
-         converted. Fixes drop outs with ortp and ogg.
-
-2006-02-08 01:28  maan
-
-       * error.h, ortp.h, ortp_recv.c, ortp_recv.ggo, ortp_send.c: encode
-         the chunk time and a flag which indicates whether headers get
-         streamed at the beginning of each data packet. This allows to
-         nuke the --chunk_time and --header command line options of the
-         ortp receiver.
-
-2006-02-08 01:00  maan
-
-       * wav.c: cosmetics
-
-2006-02-08 00:59  maan
-
-       * recv.c: print error message instead of error number
-
-2006-02-07 00:12  maan
-
-       * mp3dec.c: trvial rename: mp3dec_data -> private_mp3dec_data. Just
-         to keep naming consistent with the other filters/receivers
-
-2006-02-07 00:08  maan
-
-       * ortp_recv.c: finish documentation of struct private_ortp_data
-
-2006-02-06 18:43  maan
-
-       * ortp_recv.c: kill the timeout member of struct private_ortp_data.
-         Start documentation of this struct
-
-2006-02-06 17:48  maan
-
-       * filter.h: move the fancy macros to the end and exclude them from
-         doxification
-
-2006-02-06 17:46  maan
-
-       * afs.h: cosmetics
-
-2006-02-06 17:35  maan
-
-       * filter.h: add another reference
-
-2006-02-06 17:34  maan
-
-       * error.h, oggdec.c, recv.h: add some conditional sections to
-         nicify the doxygen output
-
-2006-02-06 17:22  maan
-
-       * afs.h: kill two unused prototypes
-
-2006-02-06 06:25  maan
-
-       * Makefile.in: add -Wunused-macros to DEBUG_CPPFLAGS
-
-2006-02-06 06:22  maan
-
-       * audiod.c, compress.c, sdl_gui.c: kill some more dead macros
-
-2006-02-06 06:18  maan
-
-       * gui.c: kill two unused macros
-
-2006-02-06 05:16  maan
-
-       * recv.h, recv_common.c: this array must be called 'receivers'
-         anyway as this is the name that gets exported a few lines above.
-         Hence, no need to make it a function-like macro.
-
-2006-02-06 05:09  maan
-
-       * recv.h: add documentation for struct receiver_node
-
-2006-02-06 04:42  maan
-
-       * filter.h: add some introductory text on paraslash filters, use
-         multi-line macros
-
-2006-02-06 04:00  maan
-
-       * http_recv.c, ortp_recv.c, recv.h: nuke unused print_help
-
-2006-02-06 03:55  maan
-
-       * recv.h: finish documentation of struct receiver
-
-2006-02-06 01:53  maan
-
-       * para.h: minor cleanup
-
-2006-02-06 01:52  maan
-
-       * http_recv.c: kill unused HTTP_DISCONNECTED, use named enum and
-         add documentaion of struct private_http_data
-
-2006-02-06 00:46  maan
-
-       * http_recv.c, ortp_recv.c, recv.c, recv.h: all receiver init
-         functions always return success. Let them return void instead.
-         Start doxification of recv.h. http_recv.c/ortp_recv.c: No need to
-         keep a copy of the configuration in the private data of each
-         receiver node. recv.c: Initialize the activated receiver only
-         once.
-
-2006-02-06 00:00  maan
-
-       * recv_common.c: delete two extern function declarations that are
-         already declared in recv.h
-
-2006-02-05 21:42  maan
-
-       * gui.c: cosmetics
-
-2006-02-05 21:38  maan
-
-       * http_send.c: do not use send_bin_buffer() as it retries on short
-         writes which might block. Use write() instead and queue the
-         remaining buffer on short writes.
-
-2006-02-05 21:34  maan
-
-       * audiod.c: add missing call to clear_slot()
-
-2006-02-05 19:41  maan
-
-       * gui.c: redraw bot win on SIGWINCH
-
-2006-02-05 02:09  maan
-
-       * Makefile.in: add ringbuffer.h to headers
-
-2006-02-05 00:52  maan
-
-       * gui.c: fix a off-by-one scrolling bug
-
-2006-02-05 00:11  maan
-
-       * gui.c: Kill the crappy output pager. It is no longer needed as
-         the bottom window is scrollable
-
-2006-02-04 22:33  maan
-
-       * recv.h: kill unused argc, argv from struct receiver_node
-
-2006-02-04 22:24  maan
-
-       * error.h: adjust NUM_SS
-
-2006-02-04 22:21  maan
-
-       * error.h: kill the unused first argument of PARA_ERROR()
-
-2006-02-04 22:09  maan
-
-       * error.h: doxyfication
-
-2006-02-04 20:36  maan
-
-       * audiod.c, filter.c, filter.h, filter_chain.c: make
-         check_filter_arg() return int (the filter number) which is a much
-         saner interface that what we've had before. Now, fn-conf is NULL
-         if no command line parser exists for that filter and
-         success/failure is detected by the return value. Add
-         documentation for filter_chain.c and the remaining part of
-         filter.h
-
-2006-02-04 03:08  maan
-
-       * audiod.c, compress.c, filter.c, filter.h, filter_chain.c,
-         mp3dec.c, oggdec.c, wav.c: init() and open() are always
-         successful, for all filters. So make them return void instead of
-         int. Include the mp3dec filter only if mad headers mad libs both
-         were detected. Make wav_open() static. Start doxyfication of
-         filter.h
-
-2006-02-04 00:01  maan
-
-       * audiod.c: use init_filters() instead of duplicating it
-
-2006-02-03 23:34  maan
-
-       * client.c, http_recv.c, net.c, net.h: rename do_connect() to
-         para_connect()
-
-2006-02-03 23:03  maan
-
-       * string.c: switch to doxygen format, add some references
-
-2006-02-03 22:40  maan
-
-       * Makefile.in, audioc.c, audiod.c, client.c, command.c, dopey.c,
-         http_recv.c, http_send.c, mysql.c, net.c, para.h, server.c,
-         string.c: add dependencies on new net.h, move para_hostname()
-         from net to string which makes afs independent of net as it
-         should be. No need to include gcc-compat.h twice.
-
-2006-02-03 22:37  maan
-
-       * net.h: contains function declarations for all non-static
-         functions in net.c. Yanked out from para.h.
-
-2006-02-03 21:47  maan
-
-       * Makefile.in: whitespace fixes
-
-2006-02-03 21:42  maan
-
-       * net.c: document all remaining non-static functions
-
-2006-02-03 21:41  maan
-
-       * stat.c: add documentation for stat_client_add()
-
-2006-02-03 07:13  maan
-
-       * audiod.c, para.h, stat.c: rename dump_stat_line() to
-         stat_client_write() and add documentation
-
-2006-02-02 18:42  maan
-
-       * afs.c, afs.h, mp3.c, ogg.c: simplify read_chunk()
-
-2006-02-02 16:48  maan
-
-       * afs.c, afs.h, db.h, ringbuffer.c, stat.c, string.c: switch to
-         doxygen comment style
-
-2006-02-02 16:47  maan
-
-       * db.c: whitespace fixes, switch to doxygen comment style
-
-2006-02-02 01:15  maan
-
-       * net.c, signal.c: switch to doxygen comment format
-
-2006-02-01 22:07  maan
-
-       * net.c, para.h: add more documentation, minor cleanups
-
-2006-02-01 22:06  maan
-
-       * ringbuffer.c: cosmetics
-
-2006-02-01 19:40  maan
-
-       * NEWS: [no log message]
-
-2006-02-01 19:40  maan
-
-       * error.h: add ringbuffer stuff
-
-2006-02-01 19:39  maan
-
-       * Makefile.in, configure.ac: gui and audiod need ringbuffer.o
-
-2006-02-01 19:38  maan
-
-       * gui.c: make bottom window scrollable
-
-2006-02-01 19:36  maan
-
-       * audiod.c: use the generic ringbuffer functions from ringbuffer.c
-
-2006-02-01 19:25  maan
-
-       * ringbuffer.c, ringbuffer.h: generic ring buffer routines to be
-         used by audiod and gui
-
-2006-02-01 19:24  maan
-
-       * http_send.c: comment out noisy debug message
-
-2006-01-29 21:52  maan
-
-       * oggdec.c: no source doc for static functions, kill obsolete
-         comment
-
-2006-01-29 21:30  maan
-
-       * mp3.c, play.c: no docbook for static functions
-
-2006-01-29 21:25  maan
-
-       * afs.c, db.h, dopey.c, server.c: make update_audio_file()
-         optional, add documentation of struct dbtool
-
-2006-01-29 14:38  maan
-
-       * pics/paraslash/no_pics.jpg: no need to include this in each
-         tarball
-
-2006-01-27 19:34  maan
-
-       * server.c: use ifdef HAVE_ORTP rather than ifdef HAVE_LIBORTP as
-         the former is only defined if libortp _and_ the ortp headers were
-         found, which is what we want here.
-
-2006-01-27 19:14  maan
-
-       * audiod.c: add missing <cr>
-
-2006-01-27 17:48  maan
-
-       * stat.c: add documentation for stat_line_valid()
-
-2006-01-27 17:35  maan
-
-       * configure.ac: fix ortp detection
-
-2006-01-27 15:28  maan
-
-       * string.c: fix some typos in documentation
-
-2006-01-27 15:17  maan
-
-       * stat.c: add documentation for for_each_line()
-
-2006-01-27 15:01  maan
-
-       * audiod.c, gui.c, gui_common.c, para.h, stat.c: rename
-         check_buf_for_items() to for_each_line()
-
-2006-01-27 13:14  maan
-
-       * NEWS, audiod.c, error.h, gui.c, http_recv.c, para.h, server.c,
-         signal.c: simplify para_signal_init(), add documentation for each
-         non-static function in signal.c
-
-2006-01-27 12:13  maan
-
-       * server.c: use para_reap_children() from signal.c rather than
-         duplicating its code in server.c
-
-2006-01-27 10:14  maan
-
-       * afs.h: add documentation for struct audio format
-
-2006-01-26 20:36  maan
-
-       * afs.c: add documentation for afs_send_chunk()
-
-2006-01-26 19:56  maan
-
-       * afs.c, afs.h, server.c: simplify afs_preselect() and add
-         documentation
-
-2006-01-26 19:29  maan
-
-       * afs.c: afs_preselect(): kill an unused variable and add some
-         documentation
-
-2006-01-26 19:08  maan
-
-       * afs.c, afs.h, server.c: rename afs_mainloop() to afs_preselect()
-
-2006-01-26 19:06  maan
-
-       * command.c: com_nomore(): only set the NO_MORE bit if playing or
-         paused
-
-2006-01-26 19:03  maan
-
-       * afs.c: add documentation of afs_init() and of afs_playing() and
-         friends
-
-2006-01-26 17:22  maan
-
-       * http_recv.c, net.c: use the return value of do_connect(). Move a
-         generic log message from http_recv.c to net.c.
-
-2006-01-26 15:34  maan
-
-       * error.h, net.c: E_HOST_INFO belongs to the net error list rather
-         than the recv error list. That fixes an audiod segfault when
-         given an invalid hostname as the http receiver option (because
-         the recv error list is undefined in audiod). Also, kill pointless
-         log message in get_host_info().
-
-2006-01-25 16:48  maan
-
-       * play.c: cosmetics
-
-2006-01-25 15:32  maan
-
-       * client.c, crypt.c, db.c, dopey.c, ogg.c: replace 2005 by 2006 in
-         GPL headers
-
-2006-01-25 15:23  maan
-
-       * error.h: fix NUM_SS
-
-2006-01-25 15:06  maan
-
-       * NEWS, command.c, db.h, error.h, mysql.c, server.c: convert the
-         remaining part of para_server to the new error subsystem
-
-2006-01-25 12:32  maan
-
-       * dopey.c, error.h: convert dopey.c to the new error subsystem
-
-2006-01-25 11:53  maan
-
-       * error.h, http_send.c, ortp_send.c, send.h: the return value of
-         sender.set_fds and sender.send is never checked. In fact, all
-         these functions always returned 1. Let them return void instead.
-
-2006-01-25 11:32  maan
-
-       * error.h, http_send.c, net.c, para.h: convert the http sender to
-         the new error subsystem
-
-2006-01-25 10:42  maan
-
-       * client.c, command.c, crypt.c, crypt.h: rename
-         para_encrypt/para_decrypt to
-         para_encrypt_challenge/para_decrypt_challenge
-
-2006-01-25 10:35  maan
-
-       * crypt.c, error.h: convert crypt.c to the new error subsystem
-
-2006-01-25 09:48  maan
-
-       * db.c, db.h, dopey.c, error.h, mysql.c: convert db.c to the new
-         error subsystem. Move the common directory changing/restoring
-         code from dopey.c/mysql.c to db.c. Add documentation for
-         find_audio_files().
-
-2006-01-25 08:06  maan
-
-       * mp3.c: kill the 'file' parameter of find_valid_start() as
-         find_valid_start() knows it anyway
-
-2006-01-25 07:57  maan
-
-       * afs.c, afs.h, error.h: convert afs to the new error subsystem. As
-         the return values of afs_send_chunk() and afs_mainloop() are
-         never used, change them to return void
-
-2006-01-24 13:21  maan
-
-       * afs.c, afs.h, server.c: kill unused afs_handle_sighup()
-
-2006-01-24 13:11  maan
-
-       * error.h, mp3.c, ogg.c: convert ogg.c to the new error subsystem
-
-2006-01-24 11:33  maan
-
-       * error.h, mp3.c: error messages for the mp3 format handler
-
-2006-01-24 10:37  maan
-
-       * error.h: first preparations for para_server towards the new error
-         subsystem
-
-2006-01-24 10:36  maan
-
-       * Makefile.in, configure.ac: cleanup of the build system
-
-2006-01-24 07:40  maan
-
-       * afs.c: cosmetics
-
-2006-01-24 05:54  maan
-
-       * Makefile.in, NEWS, configure.ac: new codename, reset version to
-         cvs
-
-2006-01-24 05:51  maan
-
-       * versions/: paraslash-0.2.9.tar.bz2, paraslash-0.2.9.tar.bz2.asc:
-         paraslash-0.2.9
-
-2006-01-24 05:50  maan
-
-       * Makefile.in, NEWS, configure.ac, scripts/demo-script,
-         web/index.in.html: paraslash 0.2.9
-
-2006-01-24 05:43  maan
-
-       * web/demo.in.html: kill the instructions for manual installation
-         as they do not work with paraslash-0.2.9 any more.
-
-2006-01-24 05:01  maan
-
-       * audiod.c: fix null pointer dereference in error log message
-         (s->receiver_node->receiver may well be NULL on errors)
-
-2006-01-24 03:54  maan
-
-       * README: [no log message]
-
-2006-01-24 03:16  maan
-
-       * command.c: initialize argv pointer to NULL as it is freed
-         unconditionally at the end of handle_connect()
-
-2006-01-23 14:18  maan
-
-       * FEATURES: [no log message]
-
-2006-01-23 08:52  maan
-
-       * web/license.in.html: add a link to a diff between v2 and v3 of
-         the GPL
-
-2006-01-23 08:08  maan
-
-       * Makefile.in: use para_util to make the changelog. Restrict output
-         to log messages newer than one year to reduce size
-
-2006-01-23 06:47  maan
-
-       * grab_client.c: handle short grab client writes properly according
-         to their grabbing mode: close pedantic grab clients, ignore the
-         short write for sloppy grab clients and rewrite the remaining
-         buffer in case of aggressive grab clients
-
-2006-01-23 06:44  maan
-
-       * audiod.c: make client_write() return an error on short writes,
-         always use the non-blocking write_client() instead of the
-         blocking send_buffer()
-
-2006-01-23 06:27  maan
-
-       * audiod.c: only set the filter chain error if there is a filter
-         chain. Fixes potential NULL pointer dereference.
-
-2006-01-23 06:25  maan
-
-       * grab_client.c: fix a use-after-free bug and remove the grab
-         client fd from the close_on_fork list in gc_close()
-
-2006-01-23 05:01  maan
-
-       * audiod.c, error.h, http_send.c, net.c, para.h, server.c:
-         generalize and simplify do_accept() so that it can also be used
-         by audiod. Rename it to para_accept() and add documentation as we
-         are at it.
-
-2006-01-23 04:29  maan
-
-       * gcc-compat.h, string.c: add documentation for each function in
-         string.c
-
-2006-01-23 01:54  maan
-
-       * Makefile.in: add some missing dependencies
-
-2006-01-23 01:43  maan
-
-       * mp3dec.c, ortp_send.c, wav.c: fix some signed issues noted by
-         gcc-4.0.2
-
-2006-01-23 01:39  maan
-
-       * filter.h: make gcc-4.0.2 happy
-
-2006-01-23 00:49  maan
-
-       * audiod.c, compress.c, filter_chain.c, http_send.c, oggdec.c: kill
-         some unused function parameters or mark them __unused if
-         appropriate
-
-2006-01-23 00:38  maan
-
-       * Makefile.in: add -W to DEBUG_CPPFLAGS instead of -Wunused wich
-         appeared tiwce
-
-2006-01-23 00:35  maan
-
-       * grab_client.c: fix serious typo
-
-2006-01-23 00:13  maan
-
-       * audiod.c: open_filters() exits immediately on errors, no need to
-         provide a return value
-
-2006-01-22 22:59  maan
-
-       * audioc.c, command.c, http_send.c, mp3.c, play.c, recv.c,
-         server.c, signal.c, stat.c, string.c, wav.c: change 2005 to 2006
-         in GPL header
-
-2006-01-22 22:59  maan
-
-       * NEWS: [no log message]
-
-2006-01-22 22:53  maan
-
-       * daemon.c: cosmetics
-
-2006-01-22 22:41  maan
-
-       * FEATURES: typo
-
-2006-01-22 08:13  maan
-
-       * README.mysql: [no log message]
-
-2006-01-22 07:52  maan
-
-       * FEATURES: [no log message]
-
-2006-01-22 07:19  maan
-
-       * skencil/overview.sk: update to forthcoming v0.2.9
-
-2006-01-22 05:22  maan
-
-       * command.c, server.c: shut down non-authorized connections after
-         10 seconds
-
-2006-01-22 04:41  maan
-
-       * audiod.c, filter_chain.c, recv_common.c: comment out some debug
-         messages
-
-2006-01-22 04:41  maan
-
-       * Makefile.in: format the output of cvs2cl to avoid long lines
-
-2006-01-22 04:32  maan
-
-       * Makefile.in: typo
-
-2006-01-22 04:27  maan
-
-       * Makefile.in: adjust filename of startup 'screenshots'
-
-2006-01-22 04:23  maan
-
-       * web/screenshots.in.html: adjust filename of startup 'screenshots'
-
-2006-01-22 04:21  maan
-
-       * pics/screenshots/: para_audiod-startup.txt,
-         para_server-startup.txt: recent versions
-
-2006-01-22 04:19  maan
-
-       * pics/screenshots/: para_audiod-2005-11-10.loglevel1.txt,
-         para_server-2005-10-13.loglevel1.txt: replaced by
-         para_audiod-startup.txt and para_server-startup.txt
-
-2006-01-22 03:55  maan
-
-       * audiod.c, daemon.c, para.h, server.c, string.c: make sure fd 0,
-         1, and 2 are valid. In daemon mode, dup2() these fds to /dev/null
-
-2006-01-22 03:27  maan
-
-       * audiod.c, audiod.ggo: new command line option:
-         --no_default_filters to deactivate the automatic filter
-         activation. Kill ifdefs HAVE_MAD and HAVE_OGGVORBIS as audiod now
-         supports both mp3 and ogg even if the mp3dec/oggdec filter is not
-         compiled in. Use --no_default_filters and e.g 'madplay -' as the
-         stream write command in this case.
-
-2006-01-22 00:37  maan
-
-       * ortp_recv.c: loglevel adjustment
-
-2006-01-22 00:36  maan
-
-       * audiod.c: filter_io() returns a proper error value, so set
-         fci->error accordingly
-
-2006-01-21 23:57  maan
-
-       * http_send.c: replace http_check_perms() by a saner version and
-         rename it to host_in_access_perm_list()
-
-2006-01-21 22:12  maan
-
-       * audiod.c: remove an unused variable
-
-2006-01-21 22:08  maan
-
-       * Makefile.in, NEWS, audiod.c, configure.ac, error.h, exec.c,
-         filter.c, filter_chain.c, grab_client.c, grab_client.h,
-         http_recv.c, mp3.c, mp3dec.c, net.c, oggdec.c, ortp_recv.c,
-         para.h, recv.c, recv.h, recv_common.c, signal.c, stat.c,
-         string.c: the shiny new error subsystem
-
-2006-01-21 22:07  maan
-
-       * web/download.in.html: mention that the nightly snapshot may or
-         may not compile
-
-2006-01-21 22:06  maan
-
-       * wav.c: write the wave header and the first chunk in one run if
-         output buffer can hold both
-
-2006-01-21 22:01  maan
-
-       * compress_filter.ggo: reduce default value of gain_max
-
-2006-01-18 20:39  maan
-
-       * compress.c: fix a nasty casting bug which sometimes caused an
-         output buffer overflow by 2 bytes. Also make sure we always
-         convert an even number of bytes
-
-2006-01-16 00:23  maan
-
-       * audiod.c: do not close filters as long as writer pid > 0
-
-2006-01-16 00:19  maan
-
-       * para.h: add some missing parentheses
-
-2006-01-15 18:07  maan
-
-       * audiod.c: fix nasty thinko: close_decoder_if_idle() might close
-         the receiver node, so s->receiver_node becomes NULL in this case.
-         The current code, however, saves s->receiver node in the local
-         variable 'rn' _before_ it calls close_decoder_if_idle() which
-         means that rn points to memory already freed. Fix is trivial:
-         Just call close_decoder_if_idle() at the beginning of the
-         FOR_EACH_SLOT loop
-
-2006-01-15 16:53  maan
-
-       * ortp_send.c: comment out two noisy debug messages
-
-2006-01-15 07:30  maan
-
-       * configure.ac: set mad_defs to the empty string if mad was not
-         detected
-
-2006-01-15 07:30  maan
-
-       * grab_client.c: cosmetics
-
-2006-01-15 06:56  maan
-
-       * NEWS: [no log message]
-
-2006-01-15 06:33  maan
-
-       * FEATURES, INSTALL, Makefile.in, NEWS, README, audiod.c,
-         audiod.ggo, compress.c, compress_filter.ggo, configure.ac,
-         filter.c, filter.h, filter_chain.c, grab_client.c, grab_client.h,
-         http_recv.c, mp3dec.c, oggdec.c, oggdec_filter.ggo, ortp.h,
-         ortp_recv.c, ortp_recv.ggo, ortp_send.c, para.h, recv.c, recv.h:
-         integrate para_recv and para_filter into para_audiod
-
-2006-01-15 06:27  maan
-
-       * net.c: add GPL header, use sizeof(struct ucred) instead of
-         sizeof(*cred) for the length argument of memcopy
-
-2006-01-15 06:06  maan
-
-       * audioc.c: avoid an extra <cr>
-
-2006-01-15 06:03  maan
-
-       * audiod.h: ATM, only one function prototype that is used by the
-         grabbing routines
-
-2006-01-15 06:01  maan
-
-       * recv_common.c: contains functions that are shared between
-         para_audiod and para_recv
-
-2006-01-15 06:00  maan
-
-       * grab_client.c, grab_client.ggo, grab_client.h: functions and
-         command line options for the grab command of audiod.
-
-2006-01-07 13:32  maan
-
-       * play.c: fix prebuffering
-
-2006-01-06 15:29  maan
-
-       * mp3dec.c: do not feed more than 4k to libmad
-
-2006-01-02 11:37  maan
-
-       * INSTALL, Makefile.in, configure.ac, http_recv.c, http_recv.ggo,
-         oggdec.c, ortp_recv.c, ortp_recv.ggo, recv.c, recv.ggo, recv.h:
-         receivers use their own command line parser
-
-2006-01-02 06:48  maan
-
-       * Makefile.in, NEWS, configure.ac: new codename, reset version to
-         cvs
-
-2006-01-02 06:46  maan
-
-       * versions/: paraslash-0.2.8.tar.bz2, paraslash-0.2.8.tar.bz2.asc:
-         paraslash-0.2.8
-
-2006-01-02 06:45  maan
-
-       * Makefile.in, NEWS, configure.ac, scripts/demo-script,
-         web/index.in.html: paraslash 0.2.8
-
-2006-01-02 05:31  maan
-
-       * filter.h: make the FILTER_INIT macro work also in the unsupported
-         case
-
-2006-01-02 05:04  maan
-
-       * compress.ggo, compress_filter.ggo: rename compress.cmdline.h to
-         compress_filter.cmdline.h
-
-2006-01-02 04:50  maan
-
-       * configure.ac: Add oggdec_filter.cmdline.o to $ogg_filter_objs.
-
-2006-01-02 04:50  maan
-
-       * filter.c: Do not print help via the -L option. Use the -f
-         filtername:-h instead.
-
-2006-01-02 04:50  maan
-
-       * Makefile.in: Use the same gengetopt options for all
-         xxx_filter.ggo files.
-
-2006-01-02 04:50  maan
-
-       * compress.ggo: cosmetics.
-
-2006-01-02 04:50  maan
-
-       * filter.h: new macros DECLARE_EXTERN_FILTER_INIT and FILTER_INIT
-         filter.h
-
-2006-01-02 04:50  maan
-
-       * compress.c: replace compress.cmdline.h by
-         compress_filter.cmdline.h, simplify compress_parse_config().
-
-2006-01-02 04:49  maan
-
-       * filter_chain.c: check_filter_arg(): only check filter args if the
-         filter has a config parser.
-
-2006-01-02 04:47  maan
-
-       * oggdec.c, oggdec_filter.ggo: make the ogg output buffer size a
-         config option
-
-2005-12-31 11:53  maan
-
-       * Makefile.in, compress.c, filter.c, filter.ggo, filter.h,
-         filter_chain.c, mp3dec.c, wav.c: make the filters use their own
-         ggo command line parser
-
-2005-12-31 05:31  maan
-
-       * Makefile.in, http_recv.c, ortp_recv.c, recv.c, recv.ggo, recv.h:
-         http_recv and ortp_recv no longer depend on the args_info struct.
-         This should allow that code to be reused from within para_audiod.
-
-2005-12-31 02:25  maan
-
-       * filter.c, server.ggo: cosmetics
-
-2005-12-30 11:52  maan
-
-       * command.c: com_version(): nicify output
-
-2005-12-30 10:26  maan
-
-       * compress.c: cosmetics
-
-2005-12-30 10:19  maan
-
-       * oggdec.c: make some functions static
-
-2005-12-30 07:00  maan
-
-       * filter.ggo: the command line options for para_filter
-
-2005-12-30 06:48  maan
-
-       * INSTALL, Makefile.in, NEWS, README, compress.c, configure.ac,
-         filter.c, filter.h, filter_chain.c, mp3dec.c, oggdec.c, wav.c:
-         the new modular filter design
-
-2005-12-30 04:48  maan
-
-       * ortp_send.c: turn off jitter compensation as it also delays the
-         EOF packet
-
-2005-12-29 03:04  maan
-
-       * play.c: fix nasty bug that caused para_play to stall: We must not
-         read more than chunk_buf bytes.
-
-2005-12-27 20:31  maan
-
-       * web/index.in.html: paraslash-0.2.7
-
-2005-12-27 20:21  maan
-
-       * Makefile.in, NEWS, configure.ac: new codename, reset version to
-         cvs
-
-2005-12-27 20:18  maan
-
-       * versions/: paraslash-0.2.7.tar.bz2, paraslash-0.2.7.tar.bz2.asc:
-         paraslash-0.2.7
-
-2005-12-27 20:17  maan
-
-       * Makefile.in, NEWS, configure.ac, index.html, scripts/demo-script:
-         paraslash 0.2.7
-
-2005-12-27 18:47  maan
-
-       * oggdec.c: use ov_raw_tell() to determine the initial delay in
-         case of holes in data
-
-2005-12-27 18:44  maan
-
-       * ogg.c: increase eof_timeout, reintroduce chunk_table shift
-
-2005-12-27 18:37  maan
-
-       * ortp_send.c: only reset each connection once
-
-2005-12-26 20:10  maan
-
-       * compress.ggo: better default values for gain_smooth and gain_max
-
-2005-12-26 20:03  maan
-
-       * afs.c: introduce a small delay before shutting down the senders.
-         This allows com_stat() to send 'audio_format=-1' in between
-
-2005-12-26 19:49  maan
-
-       * ortp_send.c: use rtp_session_reset() instead of
-         rtp_session_destroy()
-
-2005-12-26 19:25  maan
-
-       * daemon.c: fix minor mem leak
-
-2005-12-24 20:43  maan
-
-       * audiod.c: fix thinko in do_filter_io(): We tested ret==len (short
-         write) _AFTER_ decrementing len which triggred the memmove to
-         shift the buffer even if we had written the whole damn thing. But
-         the real bug is that the memmove was not executed in some rare
-         cases where we did have a short write. Kill that nasty bug with
-         pleasure and simplify the surrounding code a bit while we're at
-         it.
-
-2005-12-24 19:51  maan
-
-       * oggdec.c: distinguish between OV_HOLE and other errors
-
-2005-12-24 19:44  maan
-
-       * ortp_send.c: loglevel adjustment: use NOTICE loglevel for removal
-         of targets
-
-2005-12-23 23:27  maan
-
-       * audiod.c: clear play_time when stopped
-
-2005-12-23 23:26  maan
-
-       * ortp_send.c: turn off libortp's debug logging
-
-2005-12-23 23:23  maan
-
-       * http_recv.c, ortp_recv.c: para_log() is already declared in
-         para.h
-
-2005-12-23 23:00  maan
-
-       * CREDITS: add Jaroslav Kysela
-
-2005-12-23 22:41  maan
-
-       * command.c: com_stat(): only print mtime if we have a valid audio
-         file
-
-2005-12-23 22:40  maan
-
-       * afs.c: new function afs_eof() to be called when the 'next' flag
-         is set. Reset audio file info, dbinfo etc.
-
-2005-12-23 22:36  maan
-
-       * server.c: also refresh status after afs_send() if neccessary
-
-2005-12-23 19:34  maan
-
-       * command.c: get_status(): always use the copy of the mmd struct as
-         we do not hold the mmd_lock
-
-2005-12-23 19:12  maan
-
-       * command.c: com_stat(): kill an unused variable
-
-2005-12-22 23:48  maan
-
-       * http_send.c: kill unused http_send_header(). http_send(): the
-         current_chunk arg _is_ used, so nuke the __unused annotation
-
-2005-12-22 18:37  maan
-
-       * http_send.c: cosmetics
-
-2005-12-22 04:55  maan
-
-       * play.ggo, recv.ggo: typo
-
-2005-12-22 02:19  maan
-
-       * http_send.c: cosmetics
-
-2005-12-22 02:03  maan
-
-       * audiod.c: store last death time instead of last start time for
-         each format and use it together with the new MIN_PENALTY_MS to
-         avoid immediate restart of the (wrong) decoder
-
-2005-12-22 01:59  maan
-
-       * http_send.c: fix send-double-header-sent bug
-
-2005-12-21 22:12  maan
-
-       * server.c: kill an unused variable, add debug message
-
-2005-12-21 22:12  maan
-
-       * audiod.c: The previous change was a brain fart. Revert it.
-
-2005-12-21 22:11  maan
-
-       * audiod.ggo: reduce default stream delay to 200ms
-
-2005-12-21 17:09  maan
-
-       * audiod.c: wait for the audio format to be resent by para_server
-         before restarting the stream reader
-
-2005-12-21 02:28  maan
-
-       * recv.c: cosmetics
-
-2005-12-21 01:43  maan
-
-       * recv.c: add GPL header, whitespace cleanup
-
-2005-12-20 22:48  maan
-
-       * INSTALL, NEWS, README, audiod.c, audiod.ggo, http_recv.c: replace
-         para_http_recv and para_ortp_recv by para_recv
-
-2005-12-20 22:36  maan
-
-       * NEWS: [no log message]
-
-2005-12-20 22:36  maan
-
-       * play.c, string.c: cosmetics
-
-2005-12-20 22:35  maan
-
-       * list.h: reintroduce list_add_tail() as it is needed by
-         http_send.c
-
-2005-12-20 22:34  maan
-
-       * mp3.c: write chunk info as 'num_chunks x chunk_time' as this info
-         is read by audiod, increase eof time
-
-2005-12-20 22:34  maan
-
-       * ogg.c: write chunk info as 'num_chunks x chunk_time' as this info
-         is read by audiod. comment out some rather strange workaround
-         code in tunetable()
-
-2005-12-20 22:31  maan
-
-       * audiod.ggo: specify delay in milliseconds
-
-2005-12-20 22:30  maan
-
-       * oggdec.c: prebuffer data if hole was detected, increase output
-         buffer size
-
-2005-12-20 22:26  maan
-
-       * audiod.c: read the chunk time from server info and push that time
-         to the executed commands via the new CHUNK_TIME() macro. Use
-         milliseconds for the stream delay. Some misc fixes also
-
-2005-12-20 22:19  maan
-
-       * http_recv.c: rewrite to fit into the new receiver struct which is
-         also used by the ortp receiver. This should ease the inclusion
-         into para_audiod
-
-2005-12-20 22:16  maan
-
-       * ortp_recv.c: almost a complete rewrite. The inclusion into
-         para_recv, the update to ortp-0.8.x  and the new ORTP_EMPTY
-         packet type made this neccessary. Should chew less CPU now
-
-2005-12-20 22:12  maan
-
-       * http_send.c: implement a per-client packet queue that holds
-         packets which can not be sent out immediately
-
-2005-12-20 22:10  maan
-
-       * afs.c: always call the senders, even if there is no data to send.
-         This allows the senders to send out buffered data
-
-2005-12-20 22:08  maan
-
-       * recv.ggo: combined ortp_recv.ggo and http_recv.ggo, slightly
-         modified
-
-2005-12-20 22:07  maan
-
-       * http_recv.ggo, ortp_recv.ggo: these went to recv.ggo
-
-2005-12-20 22:05  maan
-
-       * Makefile.in, configure.ac, recv.c, recv.h: this combines
-         para_ortp_recv and para_http_recv into one binary
-
-2005-12-20 22:03  maan
-
-       * ortp.h, ortp_send.c: use the new ORTP_EMPTY packet to indicate
-         that no data packet is going to be sent right now, compute the
-         timestamp of the packet always by multiplying chunk_time and
-         chunks_sent instead of asking the ortp library, turn off
-         scheduling mode
-
-2005-12-17 22:16  maan
-
-       * compress.c: kill some dead code
-
-2005-12-15 15:26  maan
-
-       * ortp_send.c: use rtp_session_time_to_ts() instead of
-         rtp_session_get_current_send_ts() for computing the timestamp
-
-2005-12-15 15:24  maan
-
-       * afs.c: compute offset after reading the first chunk
-
-2005-12-08 16:02  maan
-
-       * web/footer.html: comment out ssi for last modification date.
-
-2005-12-08 12:52  maan
-
-       * afs.c: add some docu
-
-2005-12-08 12:52  maan
-
-       * mysql.c: com_streams(): If called with arg 'current_stream',
-         print the name of the current stream. This info is also availabe
-         by calling cs (change stream) with no args, but cs is restricted
-         to users with DB_WRITE privileges..
-
-2005-12-08 12:48  maan
-
-       * play.c: prebuffer data if start_time is not reached rather than
-         simply sleep until that time. Add some documentation
-
-2005-11-28 23:05  maan
-
-       * ortp_send.c: destroy session also in case EOF notifier could not
-         be sent
-
-2005-11-28 23:04  maan
-
-       * web/demo.in.html: mention -Z option for mpg123
-
-2005-11-23 16:42  maan
-
-       * web/contact.in.html: [no log message]
-
-2005-11-23 16:41  maan
-
-       * server.c: Oops. Fix random number generation.
-
-2005-11-15 14:48  maan
-
-       * sdl_gui.c: fix zombie bug
-
-2005-11-13 19:57  maan
-
-       * Makefile.in: add ChangeLog to phony targets. This way it gets
-         always rebuild.
-
-2005-11-13 19:29  maan
-
-       * Makefile.in: modify rule for PUBLIC_KEY so that it also applies
-         to key.anonymous
-
-2005-11-13 19:16  maan
-
-       * Makefile.in: add anonyous key to web_misc
-
-2005-11-13 19:11  maan
-
-       * key.anonymous: for www.paraslash.org
-
-2005-11-13 18:47  maan
-
-       * Makefile.in: move some stuff around, make web/sync, use sk2ps
-
-2005-11-13 18:17  maan
-
-       * pics/screenshots/: gui-2005-11-12.png,
-         para_audiod-2005-11-10.loglevel1.txt,
-         para_server-2005-10-13.loglevel1.txt: new screenshots
-
-2005-11-13 18:13  maan
-
-       * web/: contact.in.html, demo.in.html, documentation.in.html,
-         download.in.html, footer.html, header.html, index.in.html,
-         license.in.html, screenshots.in.html: new web pages
-
-2005-11-13 18:04  maan
-
-       * Makefile.in: add target www that replaces the old html target
-
-2005-11-13 04:00  maan
-
-       * dopey.c: add some more comments
-
-2005-11-13 03:59  maan
-
-       * CREDITS, FEATURES, INSTALL, NEWS, README, README.mysql: minor
-         corrections and cleanups
-
-2005-11-13 03:58  maan
-
-       * gcc-compat.h: make gcc 3.3.5 happy
-
-2005-11-10 23:28  maan
-
-       * afs.c, audiod.c, command.c, dopey.c, play.c, string.c: add some
-         missing includes
-
-2005-11-10 23:28  maan
-
-       * Makefile.in: tell gcc to bail out on implicit function
-         declarations
-
-2005-11-10 23:27  maan
-
-       * gui.c: para_gui does not kill any decoders. Remove obsolete help
-         text.
-
-2005-11-10 23:25  maan
-
-       * README: [no log message]
-
-2005-11-07 21:36  maan
-
-       * net.c, para.h: remove some incdudes which are not needed and move
-         inclusion ofnetdb.h from para.h to net.c
-
-2005-11-07 21:15  maan
-
-       * dbadm.c: whitespace cleanup
-
-2005-11-07 16:53  maan
-
-       * para.h: kill unused para_open_fifo()
-
-2005-11-07 16:28  maan
-
-       * stat.c: shutdown stat_client connection if corresponding fd is
-         not ready for writing
-
-2005-11-07 13:34  maan
-
-       * gcc-compat.h: remove the __const macro. It is not used by
-         paraslash, but alsa seems to use it for something else so gcc
-         produces the following warning: passing arg 4 of __assert_fail
-         discards qualifiers from pointer target type
-
-2005-11-06 19:08  maan
-
-       * index.html: typo
-
-2005-11-06 18:45  maan
-
-       * Makefile.in: make it work again for gcc-2.95.4
-
-2005-11-06 18:43  maan
-
-       * server.c: change #if HAVE_MYSQL to #ifdef HAVE_MYSQL
-
-2005-11-06 18:42  maan
-
-       * command.c, para.h: malloc.h is only needed from command.c, so
-         move the include from para.h to command.c
-
-2005-11-06 18:41  maan
-
-       * index.html: add icon, nicify layout, use :hover to highlight
-         links
-
-2005-11-06 18:37  maan
-
-       * pics/web/paraslash.ico: icon resource file
-
-2005-11-06 18:35  maan
-
-       * list.h: include stddef.h, kill unused macros
-
-2005-11-06 18:34  maan
-
-       * audiod.c: only list.h needs stddef.h, so include it from there
-
-2005-11-06 18:31  maan
-
-       * INSTALL: [no log message]
-
-2005-11-06 15:41  maan
-
-       * NEWS: [no log message]
-
-2005-11-06 15:41  maan
-
-       * Makefile.in: use common rule to let all object files depend on
-         gcc-compat.h and on para.h, add some more -W flags
-
-2005-11-06 14:53  maan
-
-       * daemon.c: fix warning: getpwnam discards qualifiers from pointer
-         target type
-
-2005-11-06 14:46  maan
-
-       * audiod.c: include gcc-compat.h and mark unused args as such.
-         Also, change third arg of accept() to proper type socklen_t*
-
-2005-11-06 14:42  maan
-
-       * client.c: include gcc-compat.h and mark arg of sigint_handler()
-         as unused
-
-2005-11-06 14:42  maan
-
-       * command.c: include gcc-compat.h and use __unused macros for
-         commands that take no args or do not output anything. Be a little
-         more anal and return -E_SYNTAX for commands that take no args in
-         case args were given
-
-2005-11-06 14:39  maan
-
-       * dbadm.c, audioc.c: include gcc-compat.h and mark args of dummy
-         para_log() as unused
-
-2005-11-06 14:37  maan
-
-       * db.c, dopey.c: kill unused arg dir, include and use gcc-compat.h
-
-2005-11-05 23:31  maan
-
-       * fade.c: include gcc-compat.h and mark loglevel arg of para_log()
-         as unused
-
-2005-11-05 23:30  maan
-
-       * http_send.c: include gcc-compat.h and use __unused macros for
-         unused args of http_send() (those are used by the ogg audio
-         format handler so we cannot simply kill the unused args),
-         http_handle_fds() no longer takes pointer to max_fileno. Mark
-         unused args of com_on() and com_off()
-
-2005-11-05 23:26  maan
-
-       * oggdec.c: use int main(void) as all args are unused
-
-2005-11-05 23:25  maan
-
-       * list.h: kill empty prefetch()
-
-2005-11-05 23:24  maan
-
-       * mysql.c: include gcc-compat.h and use __unused macros for
-         commands that take no args. Be a little more anal and return
-         -E_SYNTAX for commands that take no args in case args were given
-
-2005-11-05 23:22  maan
-
-       * net.c: include gcc-compat.h and use __printf and __must_check
-         macros
-
-2005-11-05 23:20  maan
-
-       * mp3dec.c: fix signedness bug, use int main(void) as all args are
-         unused
-
-2005-11-05 23:15  maan
-
-       * ortp_recv.c: include gcc-compat.h and use __printf macro
-
-2005-11-05 23:14  maan
-
-       * para.h: kill struct gui_command which was moved to gui.c, include
-         gcc-compat.h and use __must_check and __malloc macros
-
-2005-11-05 23:12  maan
-
-       * sdl_gui.c: use C99 array initializers, include gcc-compat.h and
-         mark loglevel arg of para_log() as unused
-
-2005-11-05 23:11  maan
-
-       * send.h: handle_fds() does no longer take a pointer to max_fileno
-
-2005-11-05 23:11  maan
-
-       * server.c: use macros from gcc-compat.h, move para_log(), no need
-         to init fd in init_random_seed(), handle_fds() does no longer
-         take a pointer to max_fileno
-
-2005-11-05 22:59  maan
-
-       * string.c: add __malloc and __must_check
-
-2005-11-05 22:57  maan
-
-       * gui.c: commands do not need to know the key which was pressed to
-         invoke them, just kill the arg. Move struct gui_command from
-         para.h to gui.c, use new __printf macro
-
-2005-11-05 17:22  maan
-
-       * gcc-compat.h: add __printf
-
-2005-11-05 17:19  maan
-
-       * afs.c, afs.h, mp3.c, ogg.c: no need to pass FILE pointer to
-         close_audio_file() as the audio format handlers know it anyway.
-         Kill unused function parameter raw_total in
-         ogg_compute_chunk_table()
-
-2005-11-05 17:12  maan
-
-       * index.html: new design with menu on the left
-
-2005-11-05 16:14  maan
-
-       * FEATURES: [no log message]
-
-2005-11-04 18:05  maan
-
-       * index.html: html links to directories should have a trailing
-         slash
-
-2005-11-01 13:57  maan
-
-       * http_send.c: fix dangerous typo in case of invalid get request
-
-2005-10-31 22:57  maan
-
-       * stat.c: use ISO C99 array initializers
-
-2005-10-31 22:56  maan
-
-       * Makefile.in: fix dependencies on close_on_fork.h, add
-         dependencies on new gcc-compat.h
-
-2005-10-31 22:53  maan
-
-       * audioc.c: add GPL header
-
-2005-10-31 22:05  maan
-
-       * client.c, command.c, crypt.c, net.c: fix some gcc-4 signedness
-         warnings regarding char vs unsigned char
-
-2005-10-31 22:05  maan
-
-       * play.c: fix gcc-4 signedness warning
-
-2005-10-31 22:02  maan
-
-       * audiod.c: use __noreturn gcc extenstion where appropriate which
-         allows to kill some bogus 'return 42' statements. Rename .buflen
-         of struct stream_io to .loaded (as in struct filter)
-
-2005-10-31 21:59  maan
-
-       * gcc-compat.h: beautified GCC extensions that define away for
-         non-gcc compilers and gcc 2. Kudos to Rob Love who mentioned that
-         at kernelplanet
-
-2005-10-29 22:19  maan
-
-       * Makefile.in, NEWS, configure.ac: new codename, reset version to
-         cvs, turn on debugging
-
-2005-10-29 22:16  maan
-
-       * versions/: paraslash-0.2.6.tar.bz2, paraslash-0.2.6.tar.bz2.asc:
-         paraslash-0.2.6
-
-2005-10-29 22:14  maan
-
-       * NEWS, configure.ac, index.html, scripts/demo-script: paraslash
-         0.2.6
-
-2005-10-29 21:18  maan
-
-       * Makefile.in: turn off debugging (-g)
-
-2005-10-29 18:32  maan
-
-       * command.c: cosmetics
-
-2005-10-29 18:32  maan
-
-       * compress.ggo: increase default values of gain_max and gain_smooth
-
-2005-10-28 21:46  maan
-
-       * command.c: cosmetics
-
-2005-10-28 21:38  maan
-
-       * command.c: mention the afs status bits in the help text of the
-         relevant commands
-
-2005-10-28 20:07  maan
-
-       * mysql.c: add some examples
-
-2005-10-28 18:12  maan
-
-       * mysql.c: typo
-
-2005-10-28 18:04  maan
-
-       * command.c: use 'audio file' instead of 'song'
-
-2005-10-28 17:56  maan
-
-       * afs.c, db.h, dopey.c, mysql.c: use 'audio file' instead of 'song'
-         also in struct dbtool
-
-2005-10-28 17:50  maan
-
-       * mysql.c: use 'audio file' instead of 'song', extend docu of ls
-
-2005-10-28 17:35  maan
-
-       * mysql.c: improve mbox docu
-
-2005-10-28 12:42  maan
-
-       * INSTALL, NEWS: [no log message]
-
-2005-10-27 20:48  maan
-
-       * crypt.h, crypt.c: fix debian compiler warning: passing arg 2 of
-         RSA_public_encrypt discards qualifiers from pointer target type
-
-2005-10-27 20:36  maan
-
-       * README: replace dead xiph link
-
-2005-10-27 20:25  maan
-
-       * INSTALL, README: [no log message]
-
-2005-10-27 19:55  maan
-
-       * index.html: mention new manual pages
-
-2005-10-27 19:32  maan
-
-       * mysql.c: typo
-
-2005-10-27 19:28  maan
-
-       * command.c: reformat help text of com_help
-
-2005-10-27 19:04  maan
-
-       * Makefile.in, index.html: include man pages that replace
-         manual.txt
-
-2005-10-27 18:29  maan
-
-       * 1.0, NEWS, command.c, mysql.c: further documentation cleanup
-
-2005-10-27 00:50  maan
-
-       * exec.c: kill unused para_open_fifo()
-
-2005-10-27 00:23  maan
-
-       * audiod.c, command.c, dopey.c, mysql.c: reformat, beautify and
-         improve documentation
-
-2005-10-26 01:37  maan
-
-       * net.c: whitespace cleanup
-
-2005-10-25 04:02  maan
-
-       * command.c: fix status update on db_write commands
-
-2005-10-24 01:26  maan
-
-       * client.c: kill debug message
-
-2005-10-23 21:16  maan
-
-       * audiod.c: handle short writes for grab clients properly according
-         to grab mode, logging improvements
-
-2005-10-23 20:50  maan
-
-       * audioc.c: use recv_bin_buffer() instead of recv_buffer(). Fixes
-         grab command
-
-2005-10-23 17:04  maan
-
-       * audiod.c, compress.c, dopey.c, para.h, string.c: introduce
-         para_calloc() and use it where aprropriate
-
-2005-10-23 16:57  maan
-
-       * NEWS: typo
-
-2005-10-23 16:37  maan
-
-       * client.c: kill unused function get_exit_status(), make two other
-         functions static
-
-2005-10-23 05:13  maan
-
-       * NEWS: [no log message]
-
-2005-10-23 04:56  maan
-
-       * stat.c: add GPL header
-
-2005-10-23 04:55  maan
-
-       * command.c, server.c: init random seed in parent, rather that in
-         each client. As reads of /dev/random may block, clients were
-         blocked under load if many connections arrived at the same time.
-
-2005-10-23 04:41  maan
-
-       * Makefile.in: add two missing header files to the tarball
-
-2005-10-23 04:07  maan
-
-       * audiod.c, para.h, stat.c: use macros from list.h for stat_client
-         list rather than homebrewed list logic, some smallish cleanups
-         also.
-
-2005-10-23 02:03  maan
-
-       * Makefile.in, audiod.c, stat.c: add stream readers/writers/filters
-         as well as grab/stat clients to the list of fds to be closed in
-         para_exec()
-
-2005-10-22 23:36  maan
-
-       * Makefile.in, audiod.c, exec.c: para_exec(): close fds on
-         close_on_fork after forking. Mark audiod's local socket fd for
-         close after fork
-
-2005-10-22 23:09  maan
-
-       * Makefile.in, http_send.c, server.c: use new close_on_fork list to
-         mark fds for closing in the child after fork
-
-2005-10-22 23:07  maan
-
-       * close_on_fork.c, close_on_fork.h: implement list of fds that
-         should be closed in the child after fork together with simple
-         functions to add/delete fds from that list as well a a function
-         that closes all fds on the list
-
-2005-10-22 20:18  maan
-
-       * gui.c: speed up display of command output by refreshing the
-         screen only after it is completely filled or there is no more
-         output available
-
-2005-10-22 19:58  maan
-
-       * gui.c, net.c, para.h, string.c: new macro: PARA_VSPRINTF, a
-         user-friendly and secure version of vsprintf(). Replace all
-         occurences of vsprintf by PARA_VSPRINTF, thus fixing some
-         potential buffer overflows in gui.c. Moreover, the new macro
-         allows to get rid of some duplicate code in make_message() and
-         send_va_buffer()
-
-2005-10-22 19:57  maan
-
-       * fade.c: simplify para_log()
-
-2005-10-22 19:48  maan
-
-       * NEWS: [no log message]
-
-2005-10-22 18:36  maan
-
-       * audiod.c: nuke another unused variable
-
-2005-10-22 18:33  maan
-
-       * audiod.c: nuke unused variable rb_bytes
-
-2005-10-22 17:28  maan
-
-       * client.c, command.c, para.h: major para_client cleanup: remove
-         sigchild-handling, change some old crufty code to use
-         make_message() and para_strcat(), improve SIGINT handling,
-         #define CHALLENGE_RESPONSE_MSG in para.h and use it from server
-         and client rather than harcoding the message text.
-
-2005-10-22 15:55  maan
-
-       * client.c: fix interactive mode (only the first command worked)
-
-2005-10-22 15:48  maan
-
-       * 1.0, Makefile.in, NEWS, audioc.c, audiod.c, client.c, client.ggo,
-         command.c, crypt.c, crypt.h, http_recv.c, net.c, para.h, rc4.h:
-         implement crypted connections by using openssl's rc4 stream
-         cipher algorithm
-
-2005-10-20 15:26  maan
-
-       * command.c: kill outdated comment
-
-2005-10-19 15:22  maan
-
-       * net.c: remove unused pass_fd()
-
-2005-10-19 15:18  maan
-
-       * net.c, para.h: make do_bind() static
-
-2005-10-19 15:17  maan
-
-       * net.c, para.h: make setserversockopts() static
-
-2005-10-19 11:52  maan
-
-       * server.h: whitespace cleanup
-
-2005-10-19 11:51  maan
-
-       * Makefile.in, NEWS, afs.c, command.c, db.c, db.h, dopey.c,
-         http_send.c, mp3.c, mysql.c, ogg.c, ortp_send.c, server.c,
-         server.h: major header cleanup
-
-2005-10-19 11:50  maan
-
-       * afs.h: contains afs related stuff, pulled out from server.h
-
-2005-10-17 09:45  maan
-
-       * SFont.c: cosmetics
-
-2005-10-17 07:54  maan
-
-       * Makefile.in, NEWS, README.mysql, client.c, dopey.c, mysql.c,
-         server.ggo, server.h: implement, use and document an internal
-         find command and get rid of exec.o in para_server
-
-2005-10-17 07:53  maan
-
-       * db.c, db.h: functions common to all database tools. ATM, only the
-         new internal find command
-
-2005-10-17 02:27  maan
-
-       * SFont.c: remove superflous include
-
-2005-10-16 22:15  maan
-
-       * net.c: cosmetics
-
-2005-10-16 22:13  maan
-
-       * INSTALL: [no log message]
-
-2005-10-14 10:10  maan
-
-       * krell.c: replace old email address
-
-2005-10-14 10:10  maan
-
-       * http_send.c: loglevel adjustment
-
-2005-10-14 05:23  maan
-
-       * README.mysql: whitespace cleanup
-
-2005-10-14 01:15  maan
-
-       * http_send.c, ortp_send.c, send.h, server.c: as senders can be
-         controlled at runtime, there is no need to panic on
-         sender-related syntax errors in command line args or  in the
-         config file. Just ignore invalid options and make corresponding
-         functions return void.
-
-2005-10-14 00:54  maan
-
-       * afs.c, mp3.c, ogg.c, server.c, server.h: afs_init is always
-         successful. Change it to return void.
-
-2005-10-14 00:45  maan
-
-       * afs.c, command.c, server.h: the set of supported audio formats is
-         known at compile time. So make it a preproccessor macro and
-         remove the function that computed this constant value. Also
-         introduce an array-version of all supported audio formats.
-
-2005-10-14 00:07  maan
-
-       * index.html: typo
-
-2005-10-13 23:00  maan
-
-       * Makefile.in, NEWS, configure.ac: new codename, reset version to
-         cvs
-
-2005-10-13 22:56  maan
-
-       * versions/: paraslash-0.2.5.tar.bz2, paraslash-0.2.5.tar.bz2.asc:
-         paraslash-0.2.5
-
-2005-10-13 22:55  maan
-
-       * NEWS, configure.ac, index.html, scripts/demo-script: paraslash
-         0.2.5
-
-2005-10-13 22:34  maan
-
-       * mysql.c: make debian's gcc-2.95.4 happy
-
-2005-10-13 20:56  maan
-
-       * server.c: another small memory leak
-
-2005-10-13 20:56  maan
-
-       * ogg.c: fix a memory leak
-
-2005-10-13 10:37  maan
-
-       * audioc.c, para.h, string.c: move concat_args() from string.c to
-         audioc.c. As it is only used there, make it static
-
-2005-10-13 10:33  maan
-
-       * daemon.c, string.c: move uptime_str() from string.c to daemon.c.
-         It is only used by para_server and by para_audiod
-
-2005-10-13 10:14  maan
-
-       * http_send.c: cosmetics
-
-2005-10-13 10:05  maan
-
-       * http_recv.c: decrease buffer size: 8k should be enough.
-
-2005-10-13 09:45  maan
-
-       * http_recv.c: add GPL header
-
-2005-10-13 09:00  maan
-
-       * exec.c, para.h, string.c: move split_args() from exec.c to
-         string.c. Each caller of split_args() links string.o anyway.
-         Moreover, para_server needs it, and the plan is to make
-         para_server fully single-threaded..
-
-2005-10-13 08:50  maan
-
-       * string.c: no need to include server.h. para.h is enough
-
-2005-10-13 07:35  maan
-
-       * command.c, http_send.c, ortp_send.c, send.h: add sender-specific
-         help commands
-
-2005-10-13 07:28  maan
-
-       * NEWS: [no log message]
-
-2005-10-13 05:29  maan
-
-       * ogg.c: free buffers on song exit, take packet-end time into
-         aacount when computing the chunk table (should fix dropouts at
-         the beginnin)
-
-2005-10-13 03:21  maan
-
-       * audiod.c: fix segfault in get_empty_slot() for invalid
-         stream_read commands
-
-2005-10-13 00:19  maan
-
-       * audiod.c: simplify check_sigchld(), fix potential segfault on
-         server shutdown
-
-2005-10-12 22:02  maan
-
-       * skencil/overview.sk: nuke para_send, change version to 0.2.5
-
-2005-10-11 21:15  maan
-
-       * oggdec.c: kill bogus usleep, increase bufsize to 64k, handle
-         short writes
-
-2005-10-11 21:03  maan
-
-       * ortp_send.c: check return values from rtp_session_send_with_ts()
-         and shut down target on errors
-
-2005-10-11 04:52  maan
-
-       * gui.c: fix memory leak in client_cmd_cmdline()
-
-2005-10-11 03:27  maan
-
-       * ortp_send.c: fix null pointer bug in com_si()
-
-2005-10-11 03:26  maan
-
-       * audiod.c: kill reader, writer and filters on stream timeout, fix
-         close_unused_stream_fds() in case stream writer dies first
-
-2005-10-10 07:30  maan
-
-       * ortp_send.c: cosmetics
-
-2005-10-10 06:08  maan
-
-       * mysql.c: fix a memory leak in get_query()
-
-2005-10-10 06:04  maan
-
-       * http.h, http_recv.c, http_send.c, net.c, para.h: send/recv proper
-         get request, not just a minimal one, so para_http_recv works also
-         with other http streamers like poc-http
-
-2005-10-10 06:00  maan
-
-       * Makefile.in: add missing dependencies of http_recv, add new
-         header files for the tarball, use -O0 optimization -- it produces
-         smaller binaries (on my current system) and valgrind likes it too
-
-2005-10-10 05:58  maan
-
-       * INSTALL: [no log message]
-
-2005-10-10 03:23  maan
-
-       * audiod.c: fix memory leak in handle_connect()
-
-2005-10-10 03:20  maan
-
-       * ortp_send.c: whitespace cleanup
-
-2005-10-10 03:18  maan
-
-       * ortp_recv.c: include ortp_recv.cmdline.h instead of former
-         recv.cmdline.h
-
-2005-10-10 03:17  maan
-
-       * server.c: fix memory leak in parse_config(), replace sprintf() by
-         make_message()
-
-2005-10-10 03:15  maan
-
-       * exec.c: fix memory leak in para_exec_cmdline_pid()
-
-2005-10-10 03:14  maan
-
-       * command.c: fix memory leak in com_si()
-
-2005-10-10 03:13  maan
-
-       * NEWS: [no log message]
-
-2005-10-07 10:15  maan
-
-       * Makefile.in: kill para_send-related targets
-
-2005-10-07 01:41  maan
-
-       * send.c, send.ggo: no more need for the stand-alone sender
-
-2005-10-07 01:35  maan
-
-       * audiod.c, audiod.ggo: make para_http_recv the default receiver
-
-2005-10-07 01:33  maan
-
-       * Makefile.in, configure.ac: change para_recv to para_ortp_recv
-
-2005-10-07 01:20  maan
-
-       * ortp_recv.c, ortp_recv.ggo: former recv.c and recv.ggo
-
-2005-10-07 01:20  maan
-
-       * recv.c, recv.ggo: renamed to ortp_recv.c and ortp_recv.ggo
-
-2005-10-07 01:16  maan
-
-       * ortp_send.c, server.ggo: new option: ortp_header_interval
-
-2005-10-07 01:15  maan
-
-       * afs.c: remove bogus check, only call the send functions if buffer
-         is non-empty
-
-2005-10-07 01:14  maan
-
-       * INSTALL, NEWS: [no log message]
-
-2005-10-04 01:31  maan
-
-       * afs.c: kill unused eof_time
-
-2005-10-04 00:10  maan
-
-       * afs.c: remove outdated comment
-
-2005-10-04 00:10  maan
-
-       * http_send.c, mp3.c, ogg.c, server.h: remove send_header function
-         pointer from struct audio format
-
-2005-10-03 21:59  maan
-
-       * afs.c: kill send_function(). It's kinda pointless.
-
-2005-10-03 21:28  maan
-
-       * afs.c, mp3.c, ogg.c, server.h: remove fifo. fifoname and sw_pid
-         from struct audio format
-
-2005-10-03 21:19  maan
-
-       * Makefile.in: afs depends on send.h
-
-2005-10-03 21:19  maan
-
-       * server.ggo: remove option stream_write_cmd
-
-2005-10-03 21:18  maan
-
-       * afs.c: kill some dead code: af->sw_pid is always -1
-
-2005-10-03 20:48  maan
-
-       * afs.c, server.h: kill open_cmd in struct audio info, kill
-         setup_stream_command()
-
-2005-10-03 20:47  maan
-
-       * command.c: increase event counter on pause
-
-2005-10-03 19:04  maan
-
-       * afs.c, command.c, server.h: kill the AFS_STREAM_WRITER flag
-
-2005-09-30 10:12  maan
-
-       * index.html: cosmetics
-
-2005-09-30 05:23  maan
-
-       * afs.c: fix paused mode: only set eof_barrier once
-
-2005-09-30 05:07  maan
-
-       * afs.c: fix status flags on eof when AFS_NOMORE is set
-
-2005-09-30 04:21  maan
-
-       * afs.c: sw_restart_barrier is no longer needed
-
-2005-09-30 04:18  maan
-
-       * afs.c: kill unused SW_RESTART_TIME
-
-2005-09-30 04:17  maan
-
-       * afs.c: kill unneeded sw_restart_tv
-
-2005-09-30 04:13  maan
-
-       * afs.c, server.c: there are no more children to handle for afs
-
-2005-09-30 03:58  maan
-
-       * server.c: only call afs_send_chunk() if select timeout expired
-
-2005-09-30 03:48  maan
-
-       * afs.c: kill afs_open_fifo(). It has no more callers
-
-2005-09-30 03:32  maan
-
-       * mp3.c, ogg.c, server.h: kill the mainloops themselves
-
-2005-09-30 03:16  maan
-
-       * afs.c: kill the call to the mainloop of audio format handlers as
-         it is no longer needed
-
-2005-09-30 02:45  maan
-
-       * afs.c: reset mmd->chunks_sent on sender shutdown rather than on
-         stream writer death
-
-2005-09-30 02:21  maan
-
-       * afs.c: compute data send barrier on repos and after sucessfully
-         getting the next audio file rather than after stream writer exec
-
-2005-09-30 01:09  maan
-
-       * afs.c, server.c: afs_compute_timeout: return -1 rather than 1
-         when chunk is overdue, otherwise select blocks on bof. server.c:
-         No more need to check the stream writer fd. It is no longer used.
-
-2005-09-29 23:58  maan
-
-       * afs.c: introduce extra check in afs_send_chunk() that tests
-         whether chunk is really due. This was previously broken: Whenever
-         select returned we sent a chunk which might happen too early. Not
-         serious though as the time got corrected automatically during the
-         next call to afs_mainloop()
-
-2005-09-29 23:41  maan
-
-       * afs.c: do not reset audio_format in afs_send_chunk() if eof was
-         encountered as this causes the audio file not to be closed in the
-         following call to afs_mainloop(). Also, invalidate af pointer
-         after closing the audio file
-
-2005-09-29 23:17  maan
-
-       * mp3.c: kill two unused functions
-
-2005-09-29 23:13  maan
-
-       * afs.c, mp3.c, ogg.c: call the new close_audio_file function from
-         afs.c rather than closing the file in the mainloop of the audio
-         format handler
-
-2005-09-29 23:02  maan
-
-       * mp3.c, ogg.c, server.h: new function pointer in struct audio
-         format: close_audio_file
-
-2005-09-29 22:48  maan
-
-       * afs.c, mp3.c, ogg.c: compute mmd->offset in afs.c rather than in
-         the audio format handlers
-
-2005-09-29 12:01  maan
-
-       * FEATURES, README: update docu wrt internal senders
-
-2005-09-29 09:56  maan
-
-       * afs.c: simplify AFS_NOMORE handling
-
-2005-09-29 09:15  maan
-
-       * afs.c, ogg.c: kill three unused variables
-
-2005-09-29 09:13  maan
-
-       * afs.c, mp3.c, ogg.c, server.h: nuke function parameter eof_time
-         which is no longer used
-
-2005-09-29 09:06  maan
-
-       * afs.c: compute eof_barrier from new eof field in struct audio
-         format. Also, do not base computation on stream writer death time
-         but on sender shutdown time
-
-2005-09-29 08:39  maan
-
-       * mp3.c, ogg.c, server.h: new element in struct audio format:
-         eof_tv
-
-2005-09-29 08:22  maan
-
-       * afs.c, mp3.c, ogg.c: move repositioning handling from audio file
-         handlers to afs.c
-
-2005-09-29 07:59  maan
-
-       * mp3.c, ogg.c, server.h: new function pointer in struct audio
-         format: reposition_stream
-
-2005-09-29 07:50  maan
-
-       * afs.c, mp3.c, ogg.c, server.h: remove calculation of next chunk
-         time from format handlers
-
-2005-09-29 07:44  maan
-
-       * afs.c: kill unused variable
-
-2005-09-29 07:42  maan
-
-       * afs.c: do calculation of next chunk time in afs.c rather than in
-         the audio format handlers
-
-2005-09-29 06:30  maan
-
-       * ogg.c: oops, we are not using milliseocnds..
-
-2005-09-29 03:10  maan
-
-       * mp3.c, ogg.c, server.h: new element in struct audio format:
-         chunk_tv that is filled in by the audio format handler
-
-2005-09-29 03:09  maan
-
-       * Makefile.in: add more missing dependencies
-
-2005-09-29 01:29  maan
-
-       * afs.c, mp3.c, ogg.c, server.h: kill send_chunk
-
-2005-09-29 01:24  maan
-
-       * afs.c, mp3.c, ogg.c, server.h: new function pointer in struct
-         audio format: read_chunk which is going to replace send_chunk as
-         the sending functions are better invoked from afs.c
-
-2005-09-29 01:14  maan
-
-       * string.c: typos
-
-2005-09-28 23:48  maan
-
-       * afs.c, http_send.c, mp3.c, ogg.c, send.h, server.c, server.ggo,
-         server.h: include support for the new ortp sender
-
-2005-09-28 23:48  maan
-
-       * net.c: log short writes
-
-2005-09-28 23:45  maan
-
-       * command.c: off by one bug
-
-2005-09-28 23:44  maan
-
-       * recv.c: use enums from new ortp.h
-
-2005-09-28 23:43  maan
-
-       * recv.ggo: change default host from XINGTV.MCAST.NET to the
-         officially unasaigned ip 224.0.1.38 which happens to resolve to
-         DANTZ.MCAST.NET. Change default port to 1500
-
-2005-09-28 23:39  maan
-
-       * Makefile.in, configure.ac: build the ortp sender if libortp was
-         found, add some missing dependencies
-
-2005-09-28 23:37  maan
-
-       * ortp.h, ortp_send.c: the new internal ortp sender
-
-2005-09-28 07:09  maan
-
-       * http_send.c, mp3.c, ogg.c, server.h: new function pointer in
-         struct audio_format: get_header_info. Use it in http_send.c
-         instead of the obsolete send_header function pointer
-
-2005-09-28 06:32  maan
-
-       * ogg.c: save header of starup rather than seeking the file
-
-2005-09-28 01:04  maan
-
-       * afs.c, http_send.c, server.c: more cosmetics
-
-2005-09-28 00:37  maan
-
-       * audiod.c, command.c, http_send.c, mp3.c: cosmetics
-
-2005-09-27 23:57  maan
-
-       * http_send.c: whitespace cleanup
-
-2005-09-27 23:57  maan
-
-       * command.c: comment out debug message
-
-2005-09-27 23:49  maan
-
-       * send.h, server.h: new struct sender_command_data for server
-         callbacks
-
-2005-09-27 23:48  maan
-
-       * server.c: implement callbacks for sender commands, only call send
-         functions if status is on
-
-2005-09-27 23:46  maan
-
-       * ogg.c: comment out noisy debug message
-
-2005-09-27 23:44  maan
-
-       * http_send.c: use new http sender options, implement sender
-         commands allow, deny, on, off, info
-
-2005-09-27 23:41  maan
-
-       * server.ggo: add some http sender options
-
-2005-09-27 23:40  maan
-
-       * command.c: implement new sender command
-
-2005-09-27 23:39  maan
-
-       * Makefile.in: add some more dependencies on server.cmdline.h
-
-2005-09-27 04:32  maan
-
-       * server.h: prototypes for new functions for testing
-         afs_status_flags. No need to pass status flags to the mainloop
-         and send_chunk functions
-
-2005-09-27 04:30  maan
-
-       * server.c: support for internal senders. Use init_tcp_socket from
-         net.c
-
-2005-09-27 04:27  maan
-
-       * para.h: add the two new function prototypes from net.c
-
-2005-09-27 04:26  maan
-
-       * oggdec.c: delay if hole in data was found
-
-2005-09-27 04:25  maan
-
-       * ogg.c: use new functions for testing afs_status_flags, support
-         for internal senders. Nuke initial_chunk logic.
-
-2005-09-27 04:22  maan
-
-       * net.c: pull init_tcp_socket() from server.c. It is also used by
-         http_send.c. New function rec_pattern to be used by both servers
-         and clients.
-
-2005-09-27 04:18  maan
-
-       * mp3.c: use new functions for testing afs_status_flags, support
-         for internal senders
-
-2005-09-27 04:17  maan
-
-       * afs.c: new functions for testing the afs_status_flags, support
-         for internal senders
-
-2005-09-27 04:16  maan
-
-       * Makefile.in: build http_recv, add http_send.o to server objects,
-         add some more header dependencies that were lost
-
-2005-09-27 04:12  maan
-
-       * http.h, http_recv.c, http_recv.ggo, http_send.c, send.h: internal
-         sender and external receiver
-
-2005-09-25 20:53  maan
-
-       * index.html: kernziel is dead
-
-2005-09-23 21:42  maan
-
-       * server.h: remove unused liked_cmd_list
-
-2005-09-22 00:40  maan
-
-       * mysql.c: fix empty stream definitions, ignore errors on remove
-
-2005-09-22 00:22  maan
-
-       * para.h: replace __func__ by __FUNCTION__ as this seems to be
-         supported by a wider class of complilers
-
-2005-09-21 20:07  maan
-
-       * Makefile.in, NEWS, configure.ac: new codename, reset version to
-         cvs
-
-2005-09-21 20:05  maan
-
-       * versions/: paraslash-0.2.4.tar.bz2, paraslash-0.2.4.tar.bz2.asc:
-         paraslash-0.2.4
-
-2005-09-21 20:04  maan
-
-       * NEWS, configure.ac, index.html, scripts/demo-script: paraslash
-         0.2.4
-
-2005-09-21 06:36  maan
-
-       * command.c: cosmetics
-
-2005-09-20 00:32  maan
-
-       * audiod.c: cosmetics
-
-2005-09-20 00:23  maan
-
-       * audiod.c: typo, make max_deviation a constant, no need to check
-         for items if itemnum < 0
-
-2005-09-19 22:12  maan
-
-       * audiod.c: simplify check_stat_line()
-
-2005-09-19 22:11  maan
-
-       * Makefile.in: audiod no longer needs gui_common.o
-
-2005-09-19 22:10  maan
-
-       * gui_common.c, para.h, stat.c: move some functions from
-         gui_common.c to stat.c since they are also needed by audiod.
-
-2005-09-19 20:35  maan
-
-       * gui_common.c: kill unused variable
-
-2005-09-19 20:24  maan
-
-       * command.c, server.c, server.h: logging improvements
-
-2005-09-19 05:17  maan
-
-       * mp3.c: loglevel adjustment
-
-2005-09-19 05:00  maan
-
-       * daemon.c: simplify log_welcome()
-
-2005-09-19 05:00  maan
-
-       * gui_common.c: fix check_buf_for_items()
-
-2005-09-19 04:58  maan
-
-       * server.c: fix logging for higher loglevels
-
-2005-09-18 19:08  maan
-
-       * ogg.c: increase eof time
-
-2005-09-18 00:54  maan
-
-       * gui.c: rename struct args_info to conf
-
-2005-09-18 00:38  maan
-
-       * server.c: simplify parse_config()
-
-2005-09-18 00:32  maan
-
-       * NEWS, afs.c, server.ggo: make announce_time a run-time option
-
-2005-09-18 00:28  maan
-
-       * Makefile.in: add some missing dependencies
-
-2005-09-12 16:48  maan
-
-       * NEWS, README: [no log message]
-
-2005-09-12 15:41  maan
-
-       * command.c: com_si(): report total size of memory allocated with
-         sbrk by malloc, in kbytes.
-
-2005-09-12 15:36  maan
-
-       * NEWS: [no log message]
-
-2005-09-12 15:36  maan
-
-       * configure.ac: check for presence and usability of some more
-         headers
-
-2005-09-12 15:35  maan
-
-       * crypt.c: fix potential memory leak
-
-2005-09-11 22:16  maan
-
-       * para.h: small cleanup and more comments
-
-2005-09-11 22:15  maan
-
-       * server.c: remove old crap from para_log(), typo, do not write to
-         console in daemon mode, close fd 0,1,2 in daemon mode
-
-2005-09-09 06:44  maan
-
-       * oggdec.c: make write_header() static. Cosmetics
-
-2005-09-09 05:28  maan
-
-       * audiod.c: replace global var by local ones
-
-2005-09-09 05:12  maan
-
-       * audiod.c: some more trivial cleanups
-
-2005-09-09 04:56  maan
-
-       * audiod.c: reorder global vars, defines and the like. Trivial.
-
-2005-09-09 04:46  maan
-
-       * audiod.c: remove an unused variable, man cmds[] static
-
-2005-09-09 04:43  maan
-
-       * audiod.c: make functions static where possible
-
-2005-09-09 04:39  maan
-
-       * audiod.c: remove pointless NULL-check in ring_buffer_free()
-
-2005-09-09 04:34  maan
-
-       * audiod.c: fix nasty mem leak. We must not reset s->format too
-         early as it is needed in the filter-free loop
-
-2005-09-08 23:48  maan
-
-       * NEWS: [no log message]
-
-2005-09-08 23:47  maan
-
-       * sdl_gui.c: better layout
-
-2005-09-08 16:15  maan
-
-       * configure.ac: new configure option: --enable-ssldir=path, fix
-         typo
-
-2005-09-06 01:17  maan
-
-       * play.c: use stringification macro to print err msg
-
-2005-09-06 00:55  maan
-
-       * Makefile.in: audiod.o depends on list.h. Add list.h to the
-         tarball
-
-2005-09-06 00:51  maan
-
-       * list.h: Needed by audiod. Copied from the Linux kernel source
-         tree.
-
-2005-09-06 00:50  maan
-
-       * NEWS: [no log message]
-
-2005-09-06 00:49  maan
-
-       * mp3dec.c: comment out debug message
-
-2005-09-06 00:37  maan
-
-       * audiod.c: new command: grab. Close fd 0,1,2 in deamon mode
-
-2005-09-06 00:32  maan
-
-       * audioc.ggo: new option: --bufsize
-
-2005-09-06 00:32  maan
-
-       * audioc.c: new option: --bufsize. Use select() rather than plain
-         read/write to avoid blocking writes writes when there is space
-         left in the buffer
-
-2005-09-06 00:29  maan
-
-       * client.c: only check the first data buffer for the
-         AWAITING_DATA_MSG. Always use full buffersize for recv
-
-2005-09-06 00:27  maan
-
-       * net.c: no need to waste one byte
-
-2005-09-04 11:05  maan
-
-       * client.ggo: add typestr to options
-
-2005-09-04 11:05  maan
-
-       * Makefile.in: use --unamed-opts only if neccessary
-
-2005-09-02 14:43  maan
-
-       * audiod.c: do_filter_io(): only add return value of read() to
-         loaded bytes if it is positive
-
-2005-09-02 14:41  maan
-
-       * index.html: typo
-
-2005-09-01 20:14  maan
-
-       * Makefile.in, NEWS, configure.ac: new codename, reset version to
-         cvs
-
-2005-09-01 20:12  maan
-
-       * versions/: paraslash-0.2.3.tar.bz2, paraslash-0.2.3.tar.bz2.asc:
-         paraslash-0.2.3
-
-2005-09-01 20:11  maan
-
-       * NEWS, configure.ac, index.html, scripts/demo-script: paraslash
-         0.2.3
-
-2005-09-01 19:49  maan
-
-       * NEWS: [no log message]
-
-2005-09-01 14:14  maan
-
-       * audiod.c: typo
-
-2005-09-01 13:44  maan
-
-       * NEWS, audiod.c, audiod.ggo: new audiod option: --stream_delay,
-         used if new macro START_TIME() was given for stream_write_cmd.
-
-2005-09-01 13:43  maan
-
-       * compress.ggo: use maximal volume as default
-
-2005-09-01 03:04  maan
-
-       * NEWS: [no log message]
-
-2005-09-01 02:09  maan
-
-       * index.html: add list of releases to top of page
-
-2005-09-01 01:04  maan
-
-       * Makefile.in: make xxx.cmdline.o always the first prerequisite,
-         use multiple targets in gengetopt rule
-
-2005-09-01 00:33  maan
-
-       * Makefile.in, play.c, play.ggo: command line options for para_play
-
-2005-08-31 22:06  maan
-
-       * FEATURES, README: mention para_compress
-
-2005-08-31 21:49  maan
-
-       * NEWS, audiod.c, audiod.ggo: better syntax for stream/filter
-         commands
-
-2005-08-31 18:42  maan
-
-       * CREDITS, Makefile.in, NEWS: add para_compress
-
-2005-08-31 18:41  maan
-
-       * compress.c, compress.ggo: a dynamic range compressor, derived
-         from AudioCompress-1.5.2
-
-2005-08-31 18:40  maan
-
-       * recv.c: save header, delay sending until first data packet
-         _after_ header arrives
-
-2005-08-31 18:38  maan
-
-       * play.c: make it understand wave headers, use plug_swmix for
-         snd_pcm_open()
-
-2005-08-29 06:49  maan
-
-       * net.c: do not use fprintf in net.c, whitespace cleanup
-
-2005-08-29 04:09  maan
-
-       * mysql.c: whitespace cleanup
-
-2005-08-26 13:51  maan
-
-       * mysql.c: tell mysql version on init
-
-2005-08-26 03:55  maan
-
-       * play.c: do not exit on buffer underruns, reduce sleep time on
-         -EAGAIN
-
-2005-08-26 03:54  maan
-
-       * audiod.c: also kill filters in kill_decoder()
-
-2005-08-26 02:32  maan
-
-       * FEATURES, Makefile.in, NEWS, README, configure.ac: include
-         para_play
-
-2005-08-26 02:31  maan
-
-       * play.c: a tiny alsa player
-
-2005-08-26 00:10  maan
-
-       * NEWS, audiod.c, audiod.ggo: implement filtering inside audiod
-
-2005-08-25 01:11  maan
-
-       * NEWS, mysql.c, stat.c: cosmetics
-
-2005-08-25 01:11  maan
-
-       * Makefile.in: remove funny characters around codename in version
-         string
-
-2005-08-24 11:27  maan
-
-       * afs.c: whitespace clenaup ;)
-
-2005-08-19 22:08  maan
-
-       * signal.c: add GPL header
-
-2005-08-19 21:32  maan
-
-       * scripts/demo-script: make it download paraslash.0.2.0
-
-2005-08-19 10:03  maan
-
-       * client.conf.sample, fade.conf.sample, sdl_gui.conf.sample,
-         server.conf.sample: these are both outdated and really pointless.
-         Read the nice online help instead
-
-2005-08-19 06:30  maan
-
-       * Makefile.in, NEWS, configure.ac: new codename, reset version to
-         cvs
-
-2005-08-19 06:28  maan
-
-       * versions/: paraslash-0.2.2.tar.bz2, paraslash-0.2.2.tar.bz2.asc:
-         paraslash-0.2.2
-
-2005-08-19 06:24  maan
-
-       * Makefile.in, NEWS, configure.ac: paraslash 0.2.2
-
-2005-08-19 02:24  maan
-
-       * mysql.c: cosmetics
-
-2005-08-19 02:16  maan
-
-       * NEWS, mysql.c: new command snp (set numplayed)
-
-2005-08-19 01:57  maan
-
-       * mysql.c: cosmetics
-
-2005-08-19 01:50  maan
-
-       * mysql.c: com_mv(): also update the name in the dir-table
-
-2005-08-19 00:57  maan
-
-       * net.c:
-         work around a gcc-4.1 bug (?) that caused send_cred_buffer() to
-         send only zeros. With this workaround, para_audioc works again.
-
-2005-08-18 07:44  maan
-
-       * scripts/demo-script: use -N option for wget to overwrite any
-         tarballs downloaded earlier
-
-2005-08-18 05:37  maan
-
-       * client.c: whitespace cleanup
-
-2005-08-18 04:01  maan
-
-       * INSTALL: typo
-
-2005-08-18 03:59  maan
-
-       * INSTALL: correct instructions for manual streaming
-
-2005-08-18 03:38  maan
-
-       * exec.c: fix fd leak in para_exec() just introduced
-
-2005-08-18 03:22  maan
-
-       * exec.c: trivial simplifications
-
-2005-08-18 02:56  maan
-
-       * exec.c: whitespace cleanup
-
-2005-08-18 01:29  maan
-
-       * Makefile.in, NEWS, dbadm.c, exec.c, fade.c, gui.c, mysql.c,
-         para.h: change all remaining users of popen_*() to use para_exec
-         instead. nuke popen_* functions from exec.c
-
-2005-08-17 04:37  maan
-
-       * NEWS, mysql.c: add command ne (new entry)
-
-2005-08-17 04:33  maan
-
-       * README: [no log message]
-
-2005-08-17 03:40  maan
-
-       * mysql.c, para.h, string.c: new mysql command: mv (rename
-         entries). This needs another helper, para_dirname(), which was
-         added to string.c. Use const attribute for para_dirname() and add
-         it to para_basename too.
-
-2005-08-17 02:13  maan
-
-       * audiod.c, client.c, dbadm.c, oggdec.c, server.c: cosmetics
-
-2005-08-17 01:35  maan
-
-       * NEWS, mysql.c: new command: rm to remove entries from the
-         database
-
-2005-08-17 01:35  maan
-
-       * command.c: cosmetics
-
-2005-08-17 00:41  maan
-
-       * skencil/overview.sk: change 0.2.0 to 0.2.x
-
-2005-08-17 00:37  maan
-
-       * fade.c: cosmetics
-
-2005-08-17 00:35  maan
-
-       * string.c, fade.c: whitespace cleanup
-
-2005-08-17 00:24  maan
-
-       * audioc.c, audiod.c, client.c, daemon.c, fade.c, gui.c, para.h,
-         recv.c, sdl_gui.c, send.c, server.c, slider.c: rename clog to
-         para_log
-
-2005-08-17 00:11  maan
-
-       * audiod.c, gui.c, para.h, server.c, signal.c: simplify
-         para_signal_init()
-
-2005-08-17 00:01  maan
-
-       * afs.c, audiod.c, client.c, command.c, daemon.c, dopey.c, fade.c,
-         mp3.c, mysql.c, net.c, ogg.c, recv.c, send.c, server.c, signal.c,
-         stat.c, string.c: nuke superflous __func__
-
-2005-08-16 23:31  maan
-
-       * krell.c: whitespace cleanup, change email address
-
-2005-08-16 22:47  maan
-
-       * NEWS, afs.c, audiod.c, client.c, command.c, daemon.c, dopey.c,
-         fade.c, gui.c, mp3.c, mysql.c, net.c, ogg.c, para.h, recv.c,
-         send.c, server.c, signal.c, stat.c, string.c: new log macros that
-         do not require __func__ each time and can be optimized away
-         easily
-
-2005-08-16 21:07  maan
-
-       * para.h: whitespace cleanup
-
-2005-08-16 21:06  maan
-
-       * audiod.c, gui.c, para.h, server.c: nuke loglevel VERBOSE
-
-2005-08-16 21:06  maan
-
-       * Makefile.in: use -O3 and add -Wuninitialized and
-         -Wredundant-decls
-
-2005-08-16 20:58  maan
-
-       * scripts/demo-script: make it download paraslash-0.2.1
-
-2005-08-16 20:48  maan
-
-       * audiod.c: stream readers do not read from stdin
-
-2005-08-16 20:45  maan
-
-       * exec.c: serious thinko. Close the right fds in para_exec(). This
-         was obviously incorrect before. Strange that only gcc 4 produced
-         a non-working audiod..
-
-2005-08-16 20:36  maan
-
-       * client.c, command.c, crypt.c: fix some signedness issues
-
-2005-08-15 23:28  maan
-
-       * Makefile.in, NEWS, configure.ac: new codename, reset version to
-         cvs
-
-2005-08-15 23:09  maan
-
-       * versions/: paraslash-0.2.1.tar.bz2, paraslash-0.2.1.tar.bz2.asc:
-         paraslash-0.2.1
-
-2005-08-15 23:04  maan
-
-       * NEWS, configure.ac: paraslash 0.2.1
-
-2005-08-15 22:35  maan
-
-       * Makefile.in: older versions of libreadline and libssl come with
-         header files that produce lots of warnings about redundant
-         redeclarations. Deactivate -Wredundant-decls for now
-
-2005-08-15 22:23  maan
-
-       * audiod.c: make gcc happy
-
-2005-08-15 07:47  maan
-
-       * mp3.c: simplify mp3_seek_next_header(), use para_fread() instead
-         of plain fread() and check the retval. Nuke unused id3 genre.
-
-2005-08-14 20:15  maan
-
-       * audiod.c: fix serious memory leak
-
-2005-08-13 21:45  maan
-
-       * audiod.c: kill decoders and close status pipe in clean_exit()
-
-2005-08-13 21:43  maan
-
-       * client.c, crypt.c, crypt.h: remove some redundant ssl includes
-
-2005-08-13 20:36  maan
-
-       * command.c: kill extra newline
-
-2005-08-13 04:32  maan
-
-       * audiod.c, command.c: oops, the previous whitespace cleanup was
-         only for slider.c. Revert to previous version.
-
-2005-08-13 04:27  maan
-
-       * audiod.c, command.c, slider.c: whitespace cleanup slider.c
-
-2005-08-10 22:08  maan
-
-       * NEWS, audiod.c: nuke hup command. It is both pointless and
-         non-trivial to get it right
-
-2005-08-10 11:14  maan
-
-       * NEWS: [no log message]
-
-2005-08-10 03:23  maan
-
-       * gui_theme.c: whitespace cleanup
-
-2005-08-10 03:21  maan
-
-       * NEWS, audiod.c, command.c, daemon.c, gui_theme.c, para.h,
-         server.c, server.h, stat.c, string.c: new status item:
-         audiod_uptime. Reduce size of mtime string, reduce number of
-         audiod slots to 5, redirect stdout of audiod stream writer to
-         /dev/null
-
-2005-08-09 23:30  maan
-
-       * stat.c: whitespace cleanup
-
-2005-08-09 23:29  maan
-
-       * Makefile.in: maintainer-clean: remove tar.bz files
-
-2005-08-09 23:16  maan
-
-       * Makefile.in, configure.ac: deactivate -O and -Wuninitialized, add
-         crypt.h to the set of headers shipped in the tarball, use a macro
-         from the autoconf archive for detecting openssl.
-
-2005-08-09 08:45  maan
-
-       * FEATURES, README: [no log message]
-
-2005-08-09 07:15  maan
-
-       * INSTALL: mention --stream_write_cmd
-
-2005-08-09 06:21  maan
-
-       * mp3dec.c: whitespace cleanup
-
-2005-08-08 02:18  maan
-
-       * afs.c, command.c, mp3.c, ogg.c: fix some (hopefully all) format
-         string mismatches
-
-2005-08-08 02:04  maan
-
-       * audiod.c, client.c, command.c, fade.c, gui.c, net.c, para.h,
-         server.c, string.c: nuke some redundant redeclarations
-
-2005-08-08 02:04  maan
-
-       * Makefile.in: add -Wredundant-decls to CPPFLAGS
-
-2005-08-08 01:54  maan
-
-       * client.c, dbadm.c, sdl_gui.c, server.c: fix some missing voids.
-         Harmless
-
-2005-08-08 01:54  maan
-
-       * Makefile.in: add -Wstrict-prototypes
-
-2005-08-08 01:46  maan
-
-       * afs.c, audiod.c, command.c, dbadm.c, fade.c, gui.c, mysql.c,
-         net.c, ogg.c, string.c: fix some potential uses of uninitialized
-         vars. Nothing serious I think
-
-2005-08-08 01:38  maan
-
-       * Makefile.in: make gcc a bit more anal: turn on warnings for
-         uninitialized vars
-
-2005-08-07 23:39  maan
-
-       * NEWS: [no log message]
-
-2005-08-07 23:34  maan
-
-       * sdl_gui.c, sdl_gui.ggo: new options: stat_cmd, pic_cmd, adapt to
-         new syntax of para_open_audiod_pipe(), use para_exec instead of
-         popen, add typestrings to options
-
-2005-08-07 23:32  maan
-
-       * gui.c, gui.ggo, para.h: new option: stat_cmd, adapt to new syntax
-         of para_open_audiod_pipe()
-
-2005-08-07 23:30  maan
-
-       * gui_common.c: let it take the command as an argument, use
-         para_exec instead of popen
-
-2005-08-07 23:29  maan
-
-       * audioc.ggo: oops, this option belongs to audiod
-
-2005-08-07 22:11  maan
-
-       * NEWS, audioc.ggo, audiod.c, audiod.ggo, server.ggo: implement
-         --user option also for audiod
-
-2005-08-07 21:50  maan
-
-       * NEWS, daemon.c, para.h, server.c, server.ggo: new option --user
-         to switch to the given user when invoked as root
-
-2005-08-07 21:48  maan
-
-       * mysql.c: do not log (null) as the username although it is
-         perfectly OK to pass a NULL pointer to mysql_real_connect()
-
-2005-08-07 20:15  maan
-
-       * daemon.c: whitespace cleanup
-
-2005-08-07 09:02  maan
-
-       * 1.0: [no log message]
-
-2005-08-07 09:02  maan
-
-       * dopey.c: too dopey to get dopey right: avoid theoretical double
-         free bug that can only bite when given a invalid dopey_dir
-
-2005-08-07 07:26  maan
-
-       * crypt.c: add GPL header
-
-2005-08-07 07:11  maan
-
-       * client.c, command.c: kill old encrypt/decrypt functions that used
-         fork and exec. Replace it by new functions from crypt.c. This
-         should be much faster and, more importantly, fully transparent,
-         i.e. para_client-0.2.0 can still connect to newer versions of
-         para_server and vice versa, even when using 0.1.x keys.
-
-2005-08-07 07:10  maan
-
-       * NEWS: [no log message]
-
-2005-08-07 07:02  maan
-
-       * configure.ac: cleanup, make it check for the libssl lib rather
-         than for the openssl command line utility
-
-2005-08-07 07:00  maan
-
-       * Makefile.in: major cleanup, link crypt.o and the ssl libraries to
-         server and client
-
-2005-08-07 06:56  maan
-
-       * mp3.c: kill noisy debug message
-
-2005-08-07 06:56  maan
-
-       * crypt.c, crypt.h: rsa encrypt/decrypt routines
-
-2005-08-07 06:52  maan
-
-       * scripts/demo-script: make it download paraslash-0.2.0 instead of
-         paraslash-cvs
-
-2005-08-06 21:11  maan
-
-       * skencil/overview.sk: replace mp3 by pcm
-
-2005-08-06 21:01  maan
-
-       * index.html: another typo
-
-2005-08-06 20:55  maan
-
-       * index.html: provide quick-links at top of page
-
-2005-08-06 20:20  maan
-
-       * index.html: typo
-
-2005-08-06 20:06  maan
-
-       * index.html: announce the overview and provide a link to the pdf
-         file
-
-2005-08-06 19:55  maan
-
-       * skencil/overview.sk: make it a bit smaller since xpdf does not
-         show the upper part of the sketch
-
-2005-08-06 19:31  maan
-
-       * skencil/overview.sk: a skencil file containing a sketch which
-         illustrates how the pieces of paraslash work together
-
-2005-08-06 18:58  maan
-
-       * index.html: update live demo to use 0.2.0
-
-2005-08-06 18:58  maan
-
-       * Makefile.in, NEWS, configure.ac: change codename, reset version
-         to cvs
-
-2005-08-06 18:31  maan
-
-       * versions/: paraslash-0.2.0.tar.bz2, paraslash-0.2.0.tar.bz2.asc:
-         for the history
-
-2005-08-06 18:24  maan
-
-       * NEWS, configure.ac: paraslash-0.2.0
-
-2005-08-05 21:37  maan
-
-       * Makefile.in: oggdec needs to be linked also against libvorbis on
-         some systems
-
-2005-08-03 20:48  maan
-
-       * audiod.c: kill noisy debug message
-
-2005-08-03 19:59  maan
-
-       * audiod.c: fix self-correcting time display
-
-2005-08-03 06:18  maan
-
-       * pics/screenshots/loglevel1-2005-03-23.txt,
-         versions/paraslash-0.0.99.tgz, versions/paraslash-0.0.99.tgz.asc,
-         versions/paraslash-0.1.0.tgz, versions/paraslash-0.1.0.tgz.asc,
-         versions/paraslash-0.1.1.tgz, versions/paraslash-0.1.1.tgz.asc,
-         versions/paraslash-0.1.2.tgz, versions/paraslash-0.1.2.tgz.asc,
-         versions/paraslash-0.1.3.tgz, versions/paraslash-0.1.3.tgz.asc,
-         versions/paraslash-0.1.4.tgz, versions/paraslash-0.1.4.tgz.asc,
-         versions/paraslash-0.1.5.tgz, versions/paraslash-0.1.5.tgz.asc,
-         versions/paraslash-0.1.6.tgz, versions/paraslash-0.1.6.tgz.asc,
-         versions/paraslash-0.1.7.tgz, versions/paraslash-0.1.7.tgz.asc:
-         just for the history
-
-2005-08-03 06:03  maan
-
-       * mp3.c: make it work again for vbr, whitespace cleanup
-
-2005-08-02 18:47  maan
-
-       * mp3.c: fix length computation (fixes Loser_Pils problem)
-
-2005-08-02 18:43  maan
-
-       * para.h: add prototype for tv_divide()
-
-2005-08-02 18:39  maan
-
-       * recv.c: rename bytes_written to header_status, add a comment
-
-2005-08-02 05:15  maan
-
-       * command.c: also before calling the command handler, mention
-         usename when logging with loglevel NOTICE
-
-2005-08-02 03:25  maan
-
-       * audiod.c, client.c, fade.c, server.c, string.c: activate format
-         string checks
-
-2005-08-02 03:25  maan
-
-       * daemon.c: typo
-
-2005-08-02 03:02  maan
-
-       * server.h: kill AFS_REREAD_DB_INFO. Refreshing the database info
-         is done from within the mysql commands that change the info.
-
-2005-08-02 03:00  maan
-
-       * command.c: only send error message to client if the cause of the
-         error was different from E_SEND
-
-2005-08-02 02:58  maan
-
-       * audiod.ggo, mp3.c, ogg.c, recv.c, recv.ggo, send.c, send.ggo,
-         server.ggo, audiod.c: simpler syntax for para_recv and para_send
-
-2005-08-02 02:54  maan
-
-       * afs.c: increase SW_RESTART_TIME and ANNOUNCE_TIME
-
-2005-08-02 01:06  maan
-
-       * send.c: simplify stupid control flow in do_io()
-
-2005-08-01 23:46  maan
-
-       * command.c: com_sc(): optional argument for iteration count
-
-2005-08-01 22:58  maan
-
-       * recv.c: make ogg work again
-
-2005-08-01 20:52  maan
-
-       * recv.ggo: nuke outfile option
-
-2005-08-01 20:51  maan
-
-       * recv.c: always write to stdout
-
-2005-08-01 20:39  maan
-
-       * NEWS: whitespace cleanup
-
-2005-08-01 19:42  maan
-
-       * send.c: read a full initial chunk, not just the header length and
-         send it out to ortp in little small pieces.
-
-2005-08-01 19:41  maan
-
-       * recv.c: fix return value, better timing
-
-2005-08-01 19:37  maan
-
-       * afs.c, command.c, mp3.c, server.h, ogg.c: introduce time barriers
-         for start streaming/exec the stream writer, new status flag W
-         (stream writer running). Make ogg work with really nasty vbr
-         files
-
-2005-08-01 19:32  maan
-
-       * index.html: announce live stream, anonymous cvs access and
-         nightly snapshots
-
-2005-08-01 19:15  maan
-
-       * scripts/demo-script: script to download and install a demo-client
-         to retrieve the stream from www.paraslash.org
-
-2005-08-01 04:25  maan
-
-       * time.c: whitespace cleanup
-
-2005-08-01 04:24  maan
-
-       * time.c: Use const where aprropriate in tv_diff(), really
-
-2005-08-01 03:34  maan
-
-       * para.h, time.c: new function ms2tv, convert milliseconds to
-         struct timeval. Use const where aprropriate in tv_diff()
-
-2005-07-30 05:34  maan
-
-       * mysql.c: cosmetics
-
-2005-07-30 05:26  maan
-
-       * gui.ggo: nuke obsolete stream-related command line options that
-         have been gone long ago
-
-2005-07-30 05:26  maan
-
-       * gui.c: replace help text as ':' is not mapped by default
-
-2005-07-30 05:16  maan
-
-       * client.c, client.ggo: new option: user
-
-2005-07-29 01:54  maan
-
-       * sdl_gui.c, afs.c: whitespace cleanup
-
-2005-07-29 01:51  maan
-
-       * command.c: whitespace cleanup
-
-2005-07-29 01:44  maan
-
-       * mysql.c: whitespace cleanup
-
-2005-07-29 01:37  maan
-
-       * audiod.c, gui.c: whitespace cleanup
-
-2005-07-29 01:33  maan
-
-       * server.c: whitespace cleanup
-
-2005-07-29 01:31  maan
-
-       * audiod.c: the test diff < max_diff was broken. Also, fix empty
-         line in stat output
-
-2005-07-29 01:29  maan
-
-       * para.h, time.c: make tv_convex_combination() accept also negative
-         coefficients
-
-2005-07-27 21:42  maan
-
-       * mp3.c: still one more unused variable
-
-2005-07-27 21:35  maan
-
-       * mp3.c: nuke another unused variable
-
-2005-07-27 21:30  maan
-
-       * mp3.c: simplify write_chunk()
-
-2005-07-27 21:23  maan
-
-       * mp3.c: nuke two unused variables
-
-2005-07-27 21:20  maan
-
-       * mp3.c: make it work for bitrates different from 44100, some
-         trivial cleanups
-
-2005-07-25 22:37  maan
-
-       * Makefile.in, NEWS: switch from gzip to bzip2
-
-2005-07-25 22:08  maan
-
-       * Makefile.in: remove some cruft that is not needed for nomal
-         compilation, so it's better done from private scripts
-
-2005-07-25 21:21  maan
-
-       * afs.c: make gcc 2.95 happy
-
-2005-07-25 20:32  maan
-
-       * command.c: cosmetics
-
-2005-07-25 19:39  maan
-
-       * PUBLIC_KEY: old public key, but added uid maan@systemlinux.org
-         and maan@paraslash.org
-
-2005-07-25 03:32  maan
-
-       * recv.ggo, server.ggo: delete some unused options
-
-2005-07-25 00:08  maan
-
-       * Makefile.in, afs.c, audioc.c, audiod.c, client.c, client.ggo,
-         fade.c, fade.ggo, gui.c, gui.ggo, mp3.c, ogg.c, para.h,
-         sdl_gui.c, sdl_gui.ggo, server.c, server.ggo, slider.c, string.c:
-         do not rely on environment HOME and LOGNAME. Use getuid() and
-         entries from /etc/passwd instead
-
-2005-07-24 21:21  maan
-
-       * recv.c: nuke unused have_header
-
-2005-07-24 21:19  maan
-
-       * ogg.c: fix pause, nuke initial_chunks
-
-2005-07-24 21:15  maan
-
-       * exec.c: para_exec: close all unneeded fds
-
-2005-07-24 21:14  maan
-
-       * command.c: thinko
-
-2005-07-24 21:14  maan
-
-       * audiod.c: increase max time deviation for fallback to server
-         stream time to 5 seconds, other smallish cleanups
-
-2005-07-24 21:11  maan
-
-       * afs.c: introduce announce delay when switching from pause to play
-
-2005-07-22 06:20  maan
-
-       * audiod.c, send.c: cosmetics
-
-2005-07-22 04:07  maan
-
-       * audiod.c, client.c, fade.c, gui.c, recv.c, send.c, server.c,
-         string.c: add __attribute__ format for printf-like functions
-         (commented out by now) and fix some mismatches
-
-2005-07-22 03:13  maan
-
-       * audiod.c: loglevel adjustments
-
-2005-07-22 01:09  maan
-
-       * stat.c: fix removal of stat clients
-
-2005-07-22 01:08  maan
-
-       * audiod.c: dup stderr of stream writer to /dev/null
-
-2005-07-21 22:52  maan
-
-       * INSTALL, audiod.c: rename standby to sb, it is much easier to
-         type
-
-2005-07-21 22:15  maan
-
-       * audiod.c: cosmetics
-
-2005-07-21 05:03  maan
-
-       * command.c: fix integer overflow in frame math for large mp3
-         files, print new status item current_time in com_stat.
-
-2005-07-21 05:02  maan
-
-       * mp3.c: fix integer overflow in frame math for large mp3 files
-
-2005-07-21 01:36  maan
-
-       * audiod.c: use new status item current_time to sync time with
-         server, so the stream_start status item info can also be used if
-         server and audiod clock differ
-
-2005-07-21 01:32  maan
-
-       * para.h, stat.c, time.c: new status item: current_time. New
-         functions for manipulating struct timeval
-
-2005-07-18 21:04  maan
-
-       * audiod.c: cosmetics
-
-2005-07-18 21:04  maan
-
-       * ogg.c: simplify get_chunk_size(), moderate debug logging
-
-2005-07-17 05:55  maan
-
-       * time.c: tv_diff(): compute a - b instead just returning -1 if a >
-         b
-
-2005-07-17 03:04  maan
-
-       * exec.c: remove some unused functions
-
-2005-07-17 02:43  maan
-
-       * time.c: this change should not make any difference, but it looks
-         saner this way
-
-2005-07-17 02:41  maan
-
-       * mp3.c: add an error message if file was not recognized as an mp3
-         file
-
-2005-07-17 02:40  maan
-
-       * exec.c: unused label
-
-2005-07-17 02:39  maan
-
-       * ogg.c: okay, the previous version did not recognize any ogg
-         files, valid or not. Fixed.
-
-2005-07-16 19:18  maan
-
-       * ogg.c: move initialization of ogg stuff to the beginning of the
-         function. That fixes a segfault for (non-ogg) files, when that
-         stuff got freed without being initialized
-
-2005-07-16 18:48  maan
-
-       * recv.c: nuke prebuffer code. Prebuffering should be done in the
-         player only
-
-2005-07-16 18:20  maan
-
-       * ogg.c: fix fake errors on eof, rename bytes to loaded_bytes and
-         make it global
-
-2005-07-16 17:42  maan
-
-       * audiod.c, send.c: signedness issues
-
-2005-07-16 17:38  maan
-
-       * afs.c, mp3.c: move log message from mp3.c to afs.c as it is
-         generic
-
-2005-07-16 17:33  maan
-
-       * net.c: signedness issues
-
-2005-07-15 04:27  maan
-
-       * audiod.c, gui_theme.c, para.h, sdl_gui.c, stat.c: replace
-         SI_DECODER_OUTPUT by SI_PLAY_TIME
-
-2005-07-15 04:09  maan
-
-       * gui.c: kill debug message
-
-2005-07-15 04:02  maan
-
-       * audiod.c: kill all decoders if server connection breaks down
-
-2005-07-15 03:45  maan
-
-       * NEWS: [no log message]
-
-2005-07-15 03:44  maan
-
-       * para.h, stat.c: typo
-
-2005-07-15 03:37  maan
-
-       * audiod.c: new function close_stat_pipe() that basically does
-         everything that com_off previously did. Besides from com_off it
-         is also called if connection to para_server breaks down
-
-2005-07-15 02:26  maan
-
-       * audiod.c: use quadratic growth rather than exponential growth for
-         penalty timings
-
-2005-07-15 01:46  maan
-
-       * command.c: fix com_ff
-
-2005-07-15 01:02  maan
-
-       * mp3.c: fix time display after pause
-
-2005-07-15 00:23  maan
-
-       * mp3.c: fix more potential segfaults (that actually never
-         triggered, but anyway)
-
-2005-07-15 00:11  maan
-
-       * mp3.c: fix computation of bitrate and frequency. Nuke
-         header_is_valid, it does not work for vbr. Fix potential segfault
-         in header_frequency()
-
-2005-07-14 23:14  maan
-
-       * audiod.c: simplify closing of stream fds. They are all closed
-         from one central function now. This fixes a problem when paused:
-         the write fd was not closed until the timeout was reached. With
-         this patch it is closed immediately
-
-2005-07-14 20:06  maan
-
-       * mp3.c: reset header_isvalid and id3_isvalid. Use a valid header
-         for computing the freq rather than the first header we can find
-
-2005-07-14 20:04  maan
-
-       * audiod.ggo: we do not read the HOSTNAME ENV anymore
-
-2005-07-14 20:03  maan
-
-       * para.h: make para_mkstemp public
-
-2005-07-14 20:02  maan
-
-       * mysql.c: cosmetics
-
-2005-07-14 19:55  maan
-
-       * mysql.c: do not leak fds on errors
-
-2005-07-14 19:18  maan
-
-       * mysql.c: cosmetics
-
-2005-07-14 19:12  maan
-
-       * mysql.c: com_upd: use para_mkstemp() for creating the infile in
-         /tmp
-
-2005-07-14 19:11  maan
-
-       * string.c: new function para_mkstemp()
-
-2005-07-14 18:30  maan
-
-       * string.c: add a comment for usage of para_tmpname()
-
-2005-07-14 18:21  maan
-
-       * afs.c: do not fall back to /tmp if $HOME is unset for security
-         reasons. Just bail out
-
-2005-07-14 17:59  maan
-
-       * net.c: delete some old code that was commented out anyway
-
-2005-07-14 17:55  maan
-
-       * server.ggo: add documentation for command line macros to -h
-         output
-
-2005-07-14 17:35  maan
-
-       * audioc.c: use para_hostname instead of getenv()
-
-2005-07-14 17:06  maan
-
-       * mp3dec.c: fix decoding of mono mp3s
-
-2005-07-14 06:43  maan
-
-       * command.c: increase event counter _after_ command has finished
-
-2005-07-14 06:13  maan
-
-       * mp3.c: write info string only at begin of file rather than on
-         each frame. This made an old bug show up: The header frequency
-         display was always wrong for the first time that info was sent by
-         com_stat.
-
-2005-07-14 05:21  maan
-
-       * mp3.c: fix computation of average bitrate for vbr mp3s
-
-2005-07-14 04:21  maan
-
-       * mysql.c: use para_tmpname instead of just the pid
-
-2005-07-13 19:45  maan
-
-       * afs.c: missing __func__, incorrect comment
-
-2005-07-13 09:21  maan
-
-       * audiod.c, gui_common.c, para.h: move open_stat_pipe from
-         gui_common.c to audiod.c and change it to use para_exec() instead
-         of obsolete popen_read_client_cmdline(). Nuke s->err_fd. New
-         functions check_reader() and check_writer(). They return whether
-         we should include the corresponding fd in the fd set for
-         select().
-
-2005-07-13 09:17  maan
-
-       * audioc.c: wrong indent
-
-2005-07-13 09:15  maan
-
-       * exec.c: remove an obsolete function
-
-2005-07-12 18:27  maan
-
-       * mp3dec.c: write wav header, switch to little endian
-
-2005-07-12 17:49  maan
-
-       * mp3dec.c: simplify read_chunk()
-
-2005-07-09 19:43  maan
-
-       * audiod.c: dec_out is no longer a good name
-
-2005-07-09 19:41  maan
-
-       * audiod.c: nuke decoder_output code
-
-2005-07-09 19:36  maan
-
-       * ogg.c: double initial chunks for mono
-
-2005-07-09 18:19  maan
-
-       * send.c: fix serious(?) off-by-one in header save_ov_headers()
-
-2005-07-09 18:17  maan
-
-       * ogg.c: simplify mainloop, introduce initial_chunks, number of
-         chunks that are sent immediately
-
-2005-07-09 18:13  maan
-
-       * audiod.c: fix time display if paused. Clear stat items when
-         stopped, dump audiod status in mainloop
-
-2005-07-09 18:13  maan
-
-       * para.h, stat.c: new function: dump_empty_status. To be called
-         when current status is known to be invalid
-
-2005-07-09 18:09  maan
-
-       * afs.c: introduce extra delay to announce the stream
-
-2005-07-09 01:26  maan
-
-       * afs.c, audiod.c, command.c, mp3.c, ogg.c, para.h, server.h,
-         stat.c: introduce mmd->stream_start as a fallback time source for
-         audiod when it starts its decoder in the middle of a audio file
-
-2005-07-08 04:11  maan
-
-       * net.c: use uname() to get the hostname instead of
-         getenv("HOSTNAME")
-
-2005-07-08 03:46  maan
-
-       * afs.c: use para_hostname() instead of getenv()
-
-2005-07-08 03:31  maan
-
-       * ogg.c: comment out noisy debug messages
-
-2005-07-08 03:29  maan
-
-       * ogg.c: use para_hostname() instead of getenv()
-
-2005-07-08 03:23  maan
-
-       * audiod.c: use para_hostname() instead of getenv()
-
-2005-07-08 03:12  maan
-
-       * oggdec.c: nuke time display as time is now computed by audiod
-
-2005-07-08 03:10  maan
-
-       * mp3dec.c: nuke print_status() as time is now computed by audiod
-
-2005-07-08 03:06  maan
-
-       * audiod.c: use para_malloc instead of malloc
-
-2005-07-08 02:38  maan
-
-       * stat.c: fix memory leak
-
-2005-07-08 01:53  maan
-
-       * audiod.c: use para_hostname instead of getenv
-
-2005-07-08 01:41  maan
-
-       * gui.c: use make_message instead of sprintf
-
-2005-07-07 03:38  maan
-
-       * afs.c, mp3.c, ogg.c, server.h: change handling of repositioning
-         the stream. The corresponding timing is now done from within the
-         audio format handler
-
-2005-07-07 03:31  maan
-
-       * net.c: cosmetics
-
-2005-07-07 03:27  maan
-
-       * command.c: do not mess around with offset in command.c The offset
-         is better computed from the audio format handler
-
-2005-07-07 03:24  maan
-
-       * audioc.c: check config file
-
-2005-07-07 03:18  maan
-
-       * audiod.c: record start time of both reader and writer. Start
-         reader again even if writer exists
-
-2005-07-07 03:17  maan
-
-       * NEWS: [no log message]
-
-2005-07-07 03:16  maan
-
-       * Makefile.in: clean: remove also manual.txt
-
-2005-07-03 22:50  maan
-
-       * audiod.c: keep track of number of stat clients and refuse to
-         accept more stat connections if limit is reached
-
-2005-07-03 22:18  maan
-
-       * para.h, stat.c: client_add and() dump_stat_line() now return the
-         number of connected clients.
-
-2005-07-03 22:17  maan
-
-       * net.c: return positive value on success. Let's hope that this
-         does not break anything..
-
-2005-07-03 22:11  maan
-
-       * audiod.c: trivial cleanup, loglevel adjustments
-
-2005-07-03 20:51  maan
-
-       * audiod.c: close fd if ring_buffer_dump failed
-
-2005-07-03 20:33  maan
-
-       * audiod.c: oops. In handle_connect(), close fd only for invalid
-         commands as it is closed by each command handler if neccessary.
-
-2005-07-03 19:02  maan
-
-       * audiod.c: serious(?) typo. Nuke unused function
-
-2005-07-03 18:48  maan
-
-       * audiod.c: fix memory leak
-
-2005-07-03 18:41  maan
-
-       * audiod.c: rewrite audiod_status_string() to use the decoder that
-         was last started for time display rather than current_decoder
-         which is sent by server and might contain the new docoder while
-         the old one is still running. Send status string only if it has
-         changed
-
-2005-07-01 17:18  maan
-
-       * mp3.c: print average bitrate for vbr files, additional log
-         message at eof, more precise timing
-
-2005-07-01 17:14  maan
-
-       * para.h, time.c: new function: tv_scale()
-
-2005-06-27 18:57  maan
-
-       * command.c: fix com_ff()
-
-2005-06-26 17:42  maan
-
-       * afs.c, mp3.c, ogg.c, server.h: handle REPOS in mainloop() rather
-         than in send_chunk(). Fix eof_delay for jump and next
-
-2005-06-22 00:29  maan
-
-       * command.c: serious bug: only install dummy SIGUSR1 signal handler
-         for com_stat(). This caused com_upd (and likely all other mysql
-         commands) to break if a server event occured during execution
-
-2005-06-21 23:45  maan
-
-       * mysql.c: do not nuke dirlist if find command did not find
-         anything
-
-2005-06-21 16:48  maan
-
-       * README: [no log message]
-
-2005-06-21 16:29  maan
-
-       * audiod.c: re-init streamio in com_hup()
-
-2005-06-21 15:36  maan
-
-       * Makefile.in, audiod.c: reactivate and fix penalty timings
-
-2005-06-21 14:46  maan
-
-       * audiod.c: clear_slot(): Only close stderr if it is a valid fd
-
-2005-06-20 23:43  maan
-
-       * README.mysql: nuke doku on DIR_LIKE macro.
-
-2005-06-20 23:39  maan
-
-       * mysql.c: nuke DIR_LIKE macro. Is the only one that requires an
-         O(n^2) query.
-
-2005-06-20 23:36  maan
-
-       * INSTALL, NEWS: [no log message]
-
-2005-06-19 21:55  maan
-
-       * index.html: reduce size of headline, fix some html errors to make
-         it valid html 4.01 transitional and include corresponding logo.
-
-2005-06-19 17:18  maan
-
-       * audiod.c: fix com_help(). This time for real.
-
-2005-06-19 17:11  maan
-
-       * audiod.c: fix com_help()
-
-2005-06-19 16:02  maan
-
-       * net.c, para.h: new function: para_hostname()
-
-2005-06-19 16:02  maan
-
-       * mysql.c: ps and ns change current_stream, so they should require
-         DB_WRITE privileges. Extend get_query() to optionally do a
-         cheaper O(n) query for a given stream if full pathnames are not
-         required and use this cheaper query where possible. Moreover, do
-         not store the full result and truncate afterwards, but use a
-         mysql limit clause to get only the required number of matches
-
-2005-06-19 15:57  maan
-
-       * mp3.c: use para_hostname instead of getenc()
-
-2005-06-19 15:52  maan
-
-       * exec.c: abort if fork fails
-
-2005-06-19 15:52  maan
-
-       * audiod.c: fix several memory leaks
-
-2005-06-02 20:30  maan
-
-       * client.c, client.conf.sample, client.ggo, fade.ggo, gui.ggo,
-         sdl_gui.ggo, server.ggo: replace USER by LOGNAME
-
-2005-06-02 20:30  maan
-
-       * stat.c: list.h never really existed
-
-2005-06-02 19:37  maan
-
-       * send.c: do not sleep at all. This is now done from within afs
-
-2005-06-02 19:36  maan
-
-       * recv.c: make prebuffer time dependent on audio format
-
-2005-06-02 19:16  maan
-
-       * mp3.c: terminate stream writer on repos. That is the easiest way
-         to circumwent sound clipping
-
-2005-06-02 19:15  maan
-
-       * gui_common.c: stat.h was only a (bad) idea..
-
-2005-06-02 19:14  maan
-
-       * gui.c: serious typo that caused segfaults for terminals that are
-         too small for the current theme
-
-2005-06-02 19:13  maan
-
-       * audiod.c: dump stderr to /dev/null
-
-2005-06-02 19:13  maan
-
-       * afs.c: extra sleep between song changes. Needs to be redone
-         properly
-
-2005-06-02 17:38  maan
-
-       * mysql.c: com_cs changes the database
-
-2005-06-02 15:45  maan
-
-       * stat.c: comment out noisy debug messages
-
-2005-05-30 20:06  maan
-
-       * audiod.c, para.h, stat.c: move stat_client related functions to
-         from audiod.c to stat.c
-
-2005-05-26 17:30  maan
-
-       * audiod.c, audiod.ggo, net.c: new option: force (unlinks socket)
-
-2005-05-26 16:59  maan
-
-       * NEWS: [no log message]
-
-2005-05-26 16:59  maan
-
-       * audiod.ggo: nuke unused option auto_decode
-
-2005-05-26 07:28  maan
-
-       * net.c: give credit to okir
-
-2005-05-26 07:12  maan
-
-       * audiod.c, audiod.ggo: add user_alow option
-
-2005-05-26 06:57  maan
-
-       * audioc.c: do not crash with no args
-
-2005-05-26 06:57  maan
-
-       * NEWS, README: [no log message]
-
-2005-05-26 06:27  maan
-
-       * audiod.c, audiod.ggo: rename fifo to socket
-
-2005-05-26 06:23  maan
-
-       * audioc.c, audioc.ggo: rename fifdor to tmpdir
-
-2005-05-26 06:05  maan
-
-       * audioc.c, audioc.ggo: replace fifo by socket
-
-2005-05-26 06:01  maan
-
-       * audioc.c: nuke fifo code
-
-2005-05-26 05:41  maan
-
-       * audiod.c: remove some old fifo code
-
-2005-05-26 05:36  maan
-
-       * audiod.c: simplify handle_connect()
-
-2005-05-26 05:35  maan
-
-       * net.c: zero out the user buffer, not the control buffer
-
-2005-05-26 05:05  maan
-
-       * audiod.c, net.c: zero-out all buffers, 255 byte is enough
-
-2005-05-26 04:52  maan
-
-       * Makefile.in, audioc.c, audiod.c, net.c, para.h: switch from
-         cmd_fifo to unix sockets using SCM_CREDENTIALS
-
-2005-05-25 19:37  maan
-
-       * slider.c: update to libzmw-0.1.0
-
-2005-05-20 19:10  maan
-
-       * command.c: fix com_next and com_nomore that used afs_status_flags
-         directly
-
-2005-05-20 18:39  maan
-
-       * mysql.c: fix com_csp
-
-2005-05-19 23:35  maan
-
-       * slider.c: decrease slider size. That makes sliders work again if
-         one of them is at 100%. Don't ask why..
-
-2005-05-19 20:21  maan
-
-       * gui.c: do not hog cpu if no audiod
-
-2005-05-19 20:06  maan
-
-       * gui.c, gui_common.c, para.h, sdl_gui.c: rename open_audiod_pipe
-         to para_open_audiod_pipe
-
-2005-05-19 19:56  maan
-
-       * audioc.c: unlink fifo just after select indicates that audiod has
-         opened that fifo
-
-2005-05-19 19:55  maan
-
-       * command.c: add missing stat items
-
-2005-05-19 01:53  maan
-
-       * Makefile.in, command.c, gui_common.c, gui_theme.c: remove
-         volatile from command.c, compute everything in one run instead.
-         Replace hardcoded status strings by their equivalent in
-         status_item_list[]. Do not print SI_LENGTH_MIN and SI_LENGTH_SEC
-         as SI_LENGTH should be enough for everyone.
-
-2005-05-19 01:50  maan
-
-       * stat.c: contains common code concerning the para_server stat and
-         para_audiod stat commands. Used by server, gui and sdl_gui
-
-2005-05-19 00:17  maan
-
-       * README: [no log message]
-
-2005-05-18 20:27  maan
-
-       * gui.c, gui_common.c, gui_theme.c, para.h, sdl_gui.c: make sdl gui
-         use para_audioc instead of directly contacting the server. Move
-         some generic code from gui.c to gui_common.c
-
-2005-05-18 20:22  maan
-
-       * afs.c: comment out noisy debug messages
-
-2005-05-18 17:01  maan
-
-       * string.c: s_a_r(): return an empty string if src is NULL
-
-2005-05-18 16:59  maan
-
-       * ogg.c: fix crash on sighup, use sw_pid = -1 for 'no
-         stream_writer'
-
-2005-05-18 16:58  maan
-
-       * mp3.c: use sw_pid = -1 for 'no stream_writer'
-
-2005-05-18 16:58  maan
-
-       * command.c, server.c: use new_afs_status_flags
-
-2005-05-18 16:58  maan
-
-       * audiod.c: It is not an error if we can not find a stream writer,
-         just do nothing in that case
-
-2005-05-18 16:57  maan
-
-       * afs.c: use sw_pid = -1 for 'no stream_writer', use
-         new_afs_status_flags
-
-2005-05-17 17:38  maan
-
-       * slider.c: use something like x - 1/x for the  score formula
-
-2005-05-17 17:38  maan
-
-       * server.ggo: use something like x - 1/x for the default score
-
-2005-05-17 17:37  maan
-
-       * recv.c: do not prebuffer so much
-
-2005-05-17 17:37  maan
-
-       * server.c: use new_afs_status_flags
-
-2005-05-17 17:34  maan
-
-       * send.c: fix brown paper bug that caused the beginning of an ogg
-         file to be corrupted, sleep _after_ shutting down ortp
-
-2005-05-17 17:32  maan
-
-       * server.h: new: mmd->new_status_flags, make afs_open_fifo take an
-         array of fds (APUE trick)
-
-2005-05-17 17:31  maan
-
-       * string.c: s_a_r does not modify any of its args, dup the string
-         if no match was found
-
-2005-05-17 17:19  maan
-
-       * para.h: s_a_r does not modify any of its args
-
-2005-05-17 17:18  maan
-
-       * ogg.c: fix start of playing, use Close also the new fifo, start
-         para_send on demand
-
-2005-05-17 17:16  maan
-
-       * mp3.c: cosmetics, compute af_open_cmd on demand instead of only
-         once. Fixes segfault on sighup. Close also the new fifo from the
-         APUE trick
-
-2005-05-17 17:07  maan
-
-       * krell.c: fetch exit status of para_stat
-
-2005-05-17 17:03  maan
-
-       * index.html: [no log message]
-
-2005-05-17 17:03  maan
-
-       * exec.c: remove some unused code
-
-2005-05-17 17:03  maan
-
-       * command.c: com_next(): do not set afs_status_flags directly,
-         rather use the new mmd->new_afs_status_flags in order to prevent
-         audiod to start the (possibly wrong) decoder too early
-
-2005-05-17 17:01  maan
-
-       * audiod.c: fix percentage display, move kill_xxx functions to top,
-         kill reader if writer dies unexpected. Assume that valid fds are
-         > 0
-
-2005-05-17 16:56  maan
-
-       * afs.c: introduce afl[i].show_offset, open stream write fifo also
-         for reading, prevent hard locks on invalid stream_write command
-
-2005-05-17 16:39  maan
-
-       * NEWS: [no log message]
-
-2005-05-12 20:58  maan
-
-       * audiod.c: fix sound artefacts while jumping
-
-2005-05-11 23:16  maan
-
-       * audiod.c: use para_exec instead of popen_read_cmdline_pid(),
-         switch from FILE *s->write to int s->write_fd
-
-2005-05-11 23:15  maan
-
-       * exec.c: typo that caused duping to /dev/null to break
-
-2005-05-11 22:21  maan
-
-       * audiod.c: use para_exec instead of popen_read_cmdline_pid(),
-         switch from FILE *s->read to int s->read_fd
-
-2005-05-11 22:02  maan
-
-       * audiod.c: cosmetics
-
-2005-05-11 21:40  maan
-
-       * gui_theme.c: include audiod status also in simple theme
-
-2005-05-11 21:40  maan
-
-       * audiod.c: use new syntax for para_exec
-
-2005-05-11 21:38  maan
-
-       * INSTALL: [no log message]
-
-2005-05-11 21:19  maan
-
-       * exec.c: triple choice for para_exec: dup fd, dup fd to /dev/null,
-         or leave fd alone
-
-2005-05-11 07:25  maan
-
-       * mp3dec.c: reduce buffer size and hence latency
-
-2005-05-11 07:24  maan
-
-       * mp3.c: use correct value for computing the length of the song,
-         now that is has become important...
-
-2005-05-11 07:23  maan
-
-       * gui_theme.c: dont print length of audio file twice
-
-2005-05-11 06:48  maan
-
-       * NEWS: [no log message]
-
-2005-05-11 05:28  maan
-
-       * krell.c: fix crash on server exit
-
-2005-05-11 04:52  maan
-
-       * audiod.c: clear slots and compute decoder flags based on
-         existence of the corresponding process rather than on whether we
-         have closed the pipe
-
-2005-05-11 04:32  maan
-
-       * audiod.c: typos
-
-2005-05-11 04:06  maan
-
-       * mp3.c: okay, the improved time magic wasnt better at all..
-
-2005-05-11 03:56  maan
-
-       * audiod.ggo: better explanation of stream_read_cmd
-
-2005-05-11 03:38  maan
-
-       * exec.c: para_exec_cmdline_pid(): use a temporary copy of the
-         given command line for split_args
-
-2005-05-11 03:37  maan
-
-       * client.c: oops, missing check for write errors
-
-2005-05-11 03:19  maan
-
-       * audiod.c, command.c, server.c, server.h: major change: server
-         sends full status info whenever a event occurs. audiod: Fix time
-         display for most cases. Clients connect only once to get status
-         info, manage a list of stat-clients and send info to each of them
-         whenever we read a line from para_server. Improve starting of
-         decoders: Restart reader as soon as old reader dies, but defer
-         starting of writer to the moment we read the first data
-
-2005-05-11 03:07  maan
-
-       * afs.c: introduce .show_offset flag. On for mp3, off for ogg.
-
-2005-05-11 03:05  maan
-
-       * mp3dec.c: fix last-chunk-wasnt-played bug
-
-2005-05-11 03:03  maan
-
-       * ogg.c: typo
-
-2005-05-11 03:03  maan
-
-       * gui_theme.c: reserve more space for time display
-
-2005-05-11 03:02  maan
-
-       * mp3.c: better time magic
-
-2005-05-11 03:01  maan
-
-       * gui_common.c, para.h: SI_LENGTH is there for ages
-
-2005-05-11 03:00  maan
-
-       * gui.c: dont do things twice. Use popen(audioc) instead to get the
-         status.
-
-2005-05-11 02:57  maan
-
-       * string.c: para_strcat(): it's okay to append to a NULL pointer
-
-2005-05-11 02:50  maan
-
-       * audioc.c: nuke SIGALARM crap, check for write errors. Check for
-         timeout once and use blocking reads afterwards.
-
-2005-05-11 02:47  maan
-
-       * README: [no log message]
-
-2005-05-08 18:31  maan
-
-       * mp3.c, ogg.c, recv.c, recv.ggo, send.c, send.ggo, server.ggo: use
-         different default ports depending on -a option
-
-2005-05-08 17:59  maan
-
-       * COPYING, README, afs.c, client.c, command.c, configure.ac,
-         daemon.c, dopey.c, fade.c, gui.c, gui_theme.c, index.html, mp3.c,
-         mp3dec.c, mysql.c, ogg.c, oggdec.c, para.h, recv.c, sdl_gui.c,
-         send.c, server.c, server.h, slider.c, string.c: change email
-         adress
-
-2005-05-08 17:41  maan
-
-       * FEATURES, INSTALL, NEWS, README: [no log message]
-
-2005-05-08 17:19  maan
-
-       * server.ggo: document new defaults
-
-2005-05-08 17:18  maan
-
-       * para.h, string.c: check for NULL pointers in s_a_r()
-
-2005-05-08 17:17  maan
-
-       * ogg.c: change default from para_ovsend to para_send
-
-2005-05-08 17:17  maan
-
-       * mp3.c: change default from poc to para_send
-
-2005-05-08 17:16  maan
-
-       * afs.c: use s_a_r to compute open_cmd
-
-2005-05-08 16:28  maan
-
-       * Makefile.in, configure.ac, recv.c, send.c: adapt to new names
-
-2005-05-08 16:16  maan
-
-       * recv.c, recv.ggo: former ovrecv
-
-2005-05-08 16:16  maan
-
-       * ovrecv.c, ovrecv.ggo: renamed to recv
-
-2005-05-08 16:09  maan
-
-       * send.c, send.ggo: former ovsend
-
-2005-05-08 16:08  maan
-
-       * ovsend.c, ovsend.ggo: renamed to send
-
-2005-05-08 15:59  maan
-
-       * command.c: fix time display
-
-2005-05-08 15:51  maan
-
-       * Makefile.in, configure.ac: ovsend/ovrec do no longer depend on
-         libvorbis
-
-2005-05-08 15:51  maan
-
-       * string.c: use const where appropriate
-
-2005-05-08 15:50  maan
-
-       * para.h: make s_a_r public
-
-2005-05-08 15:49  maan
-
-       * ovsend.ggo: specify header length by command line
-
-2005-05-08 15:49  maan
-
-       * ogg.c, ovsend.c: move code that depends on libvorbis from
-         ovsend.c to ogg.c
-
-2005-05-08 15:47  maan
-
-       * mp3.c: remove noisy log message
-
-2005-05-08 15:46  maan
-
-       * afs.c: cosmetics
-
-2005-05-08 15:41  maan
-
-       * audiod.c: always check for streamio, not only when playing
-
-2005-05-08 02:14  maan
-
-       * ovrecv.c, ovsend.c, ovsend.ggo, ovrecv.ggo: implement streaming
-         of mp3 files, remove all dependencies on libvorbisfile
-
-2005-05-07 16:28  maan
-
-       * mp3.c: do timing for sending data inside mp3.c rather than
-         sending data whenever the fd would not block
-
-2005-05-07 16:26  maan
-
-       * mp3dec.c: implement prebuffering
-
-2005-05-06 21:42  maan
-
-       * slider.c: cosmetics
-
-2005-05-06 21:13  maan
-
-       * slider.c: make input text field work again
-
-2005-05-06 18:11  maan
-
-       * mysql.c: typos, found by testing gcc 4.1.0
-
-2005-05-05 23:15  maan
-
-       * audiod.c: remove fifo on com_hup, new option: mode (to be used on
-         startup)
-
-2005-05-05 23:15  maan
-
-       * audiod.ggo: oops, forgot to check in
-
-2005-05-05 20:42  maan
-
-       * mp3dec.c: print output only once per second
-
-2005-05-05 19:58  maan
-
-       * audiod.c: nuke offset_change crap. Remember number of decoder
-         that was started last and use that as the current decoder
-         instead. Still doesn't work properly when jumping.
-
-2005-05-05 18:45  maan
-
-       * audiod.c: use APUE trick to prevent EOF from being generated when
-         #clients goes from 1 to 0. Log hostname, abort if cmd fifo
-         exists, remove cmd_fifo on exit
-
-2005-05-05 16:43  maan
-
-       * ogg.c: do not flood logs
-
-2005-05-05 16:42  maan
-
-       * gui_theme.c: cosmetics
-
-2005-05-05 16:42  maan
-
-       * Makefile.in: manual.txt: add audiod commands. audiod_objs: remove
-         repeated object file
-
-2005-05-05 16:41  maan
-
-       * 1.0, NEWS: [no log message]
-
-2005-05-05 06:13  maan
-
-       * gui.c: use one one (random) fifo for reading audiod stat info
-
-2005-05-05 04:10  maan
-
-       * slider.c: automatically translated to libzmw 0.0.12 by shipped
-         script zmw-upgrade.py. Seems to work.
-
-2005-05-04 19:57  maan
-
-       * server.c: read only once from signal pipe
-
-2005-05-04 19:11  maan
-
-       * gui.c: fix some memory leaks, simplify print_status_bar()
-
-2005-05-04 18:23  maan
-
-       * audiod.c: still more memory leaks in dump_ring_buffer()
-
-2005-05-04 18:15  maan
-
-       * audiod.c: fix more memory leaks
-
-2005-05-04 17:58  maan
-
-       * command.c: fix severe memory leak in com_stat()
-
-2005-05-04 17:45  maan
-
-       * index.html: typo
-
-2005-05-04 17:45  maan
-
-       * gui.ggo: new option: timeout
-
-2005-05-04 17:44  maan
-
-       * gui.c: detect if audiod is running and print error message if it
-         is not. Print the keysym for unknown keys.
-
-2005-05-04 17:39  maan
-
-       * audiod.c: help for com_hup, more log messages
-
-2005-04-28 22:30  maan
-
-       * gui.c: open also write fifo in read-only mode
-
-2005-04-28 21:03  maan
-
-       * audioc.c: do not block forever if audiod is not running
-
-2005-04-28 20:51  maan
-
-       * audiod.c: do not dup stdout when execing decoder
-
-2005-04-28 20:51  maan
-
-       * exec.c: improve para_exec(): It is now possible to dup only some
-         of the three std fds
-
-2005-04-28 20:14  maan
-
-       * para.h: status_item_list update, make more function declarations
-         public
-
-2005-04-28 20:14  maan
-
-       * gui_theme.c: set the new varbables on theme init. New functions:
-         prev_theme() and next_theme()
-
-2005-04-28 20:12  maan
-
-       * gui_common.c: remove old cruft, status_item_list update
-
-2005-04-28 20:11  maan
-
-       * command.c: simplify com_stat(), set offset in com_jmp()
-
-2005-04-28 20:07  maan
-
-       * audiod.c: new commands: help and cycle. Do not call kill() if pid
-         <=0, check for offset change in stat output
-
-2005-04-28 20:04  maan
-
-       * audioc.c: use make_message() and new concat_arg() instead of
-         sprintf
-
-2005-04-28 20:04  maan
-
-       * gui.c: make many hardcoded constants themable. Don't exec
-         para_audioc, implement it as a function instead
-
-2005-04-28 19:57  maan
-
-       * string.c: new function: concat_args
-
-2005-04-28 19:57  maan
-
-       * server.h: add chunk_offset to mmd
-
-2005-04-28 19:56  maan
-
-       * gui.ggo: nuke top_lines since it is now set by theme
-
-2005-04-28 19:55  maan
-
-       * afs.c: reset chunk_offset on song change
-
-2005-04-28 19:54  maan
-
-       * NEWS: [no log message]
-
-2005-04-28 19:54  maan
-
-       * Makefile.in: audiod depends on gui_common
-
-2005-04-26 04:21  maan
-
-       * gui.c: make para_gui themable
-
-2005-04-26 04:18  maan
-
-       * Makefile.in, gui.c, gui_common.c, para.h: make para_gui themable
-
-2005-04-26 04:11  maan
-
-       * gui_theme.c: contains color and position information for
-         displaying stat items
-
-2005-04-25 18:58  maan
-
-       * gui.c: remove stream I/O code. This is now done by para_audiod
-
-2005-04-25 18:21  maan
-
-       * FEATURES: [no log message]
-
-2005-04-25 18:06  maan
-
-       * server.c: remove unused variable, child closes socket after fork
-
-2005-04-25 18:05  maan
-
-       * audiod.c: why was that commented out? Reactivate
-
-2005-04-25 18:04  maan
-
-       * audioc.ggo: new option: timeout
-
-2005-04-25 18:04  maan
-
-       * audioc.c: new option: timeout. catch signals, use positive error
-         codes and 0 for success
-
-2005-04-25 17:56  maan
-
-       * NEWS, README: [no log message]
-
-2005-04-25 17:56  maan
-
-       * Makefile.in: make install: create vardir, stripping is done at
-         install time, no need to use -s option for gcc
-
-2005-04-25 17:54  maan
-
-       * INSTALL: major update
-
-2005-04-25 06:06  maan
-
-       * README: mention the new executables
-
-2005-04-25 06:03  maan
-
-       * daemon.c, para.h: remove an unused function
-
-2005-04-25 06:02  maan
-
-       * audiod.c: do not log if daemon and no logfile, ignore
-         conf.daemon_given on sighup
-
-2005-04-25 05:55  maan
-
-       * mp3.c: always use default if af->open_cmd is null
-
-2005-04-25 05:52  maan
-
-       * server.c: remove some dead code
-
-2005-04-25 05:49  maan
-
-       * server.c: do not log if daemon and no logfile, ignore
-         conf.daemon_given on sighup, become daemon earlier. That fixes
-         hangs on startup.
-
-2005-04-25 02:40  maan
-
-       * Makefile.in: add daemon.o to objs where neccessary. audioc
-         depends on audioc.cmdlin.o
-
-2005-04-25 02:38  maan
-
-       * audiod.c: new command: hup, use functions from daemon.c to
-         daemonize and for logging to specified log file. Die on sigint,
-         reload conf on sighup
-
-2005-04-25 02:35  maan
-
-       * para.h, server.h: make functions from daemon.c public
-
-2005-04-25 02:34  maan
-
-       * server.c: move daemon generic functions to daemon.c
-
-2005-04-25 02:33  maan
-
-       * daemon.c: contains common stuff between para_server and
-         para_audiod
-
-2005-04-25 02:32  maan
-
-       * ovrecv.c, ovsend.c: switch to void instead of static void to
-         avoid compiler warnings
-
-2005-04-25 02:31  maan
-
-       * fade.c: switch to logging with to fixed args, like in any other
-         paraslash executable
-
-2005-04-25 02:30  maan
-
-       * NEWS: [no log message]
-
-2005-04-25 02:29  maan
-
-       * audioc.c: add gengetopt command line options
-
-2005-04-25 02:29  maan
-
-       * audioc.ggo: command line options for the audio client
-
-2005-04-24 21:27  maan
-
-       * audiod.c: implement audiod commands: stat term on off standby
-
-2005-04-24 20:25  maan
-
-       * Makefile.in, configure.ac: add para_oggdec
-
-2005-04-24 20:25  maan
-
-       * oggdec.c: a teensy oggvorbis decoder
-
-2005-04-24 20:02  maan
-
-       * audioc.c: simple client that opens two fifos to communicatw with
-         para_audiod.
-
-2005-04-24 20:01  maan
-
-       * audiod.c: remove underscore to match other stat items
-
-2005-04-24 20:00  maan
-
-       * para.h, string.c: new function: para_tmpname(). Pseudo random.
-
-2005-04-24 18:55  maan
-
-       * audiod.c: add decoder flags in ring buffer dump output
-
-2005-04-24 18:14  maan
-
-       * audiod.c: always check err_fd, close err_fd in any case
-
-2005-04-24 05:04  maan
-
-       * audiod.c: read also stderr of stream writers
-
-2005-04-24 05:04  maan
-
-       * exec.c, para.h: add para_exec functions that redirect stdin,
-         stdout, and stderr
-
-2005-04-24 02:54  maan
-
-       * NEWS: [no log message]
-
-2005-04-24 02:53  maan
-
-       * slider.c: add gpl header
-
-2005-04-24 02:52  maan
-
-       * Makefile.in, configure.ac: add para_mp3dec
-
-2005-04-24 02:52  maan
-
-       * mp3dec.c: A teensy mp3 decoder
-
-2005-04-24 02:51  maan
-
-       * CREDITS: add Thierry Excoffier and Robert Leslie
-
-2005-04-24 02:17  maan
-
-       * server.c: fix brown paper bag bug that caused server to hang on
-         song change
-
-2005-04-24 02:16  maan
-
-       * afs.c, exec.c, para.h: move open_fifo from afs.c to exec.c
-
-2005-04-24 02:15  maan
-
-       * Makefile.in: add para_audiod
-
-2005-04-24 02:15  maan
-
-       * audiod.c: the audio daemon
-
-2005-04-21 17:39  maan
-
-       * exec.c, para.h: make some functions static
-
-2005-04-21 17:33  maan
-
-       * para.h: remove unused defines
-
-2005-04-21 17:33  maan
-
-       * Makefile.in, NEWS, configure.ac: change version, codename
-
-2005-04-18 20:30  maan
-
-       * NEWS, configure.ac: paraslash 0.1.7
-
-2005-04-18 20:08  maan
-
-       * slider.c: give -1000 points if file was just played
-
-2005-04-18 00:37  maan
-
-       * mysql.c: com_cam(): fix stupid cut and paste bug
-
-2005-04-18 00:08  maan
-
-       * Makefile.in: para_ovrecv depends on string.o
-
-2005-04-18 00:07  maan
-
-       * gui.ggo: re-increase default stream_timeout to 10 secs because 5
-         secs is not enough for 22kh mono
-
-2005-04-18 00:06  maan
-
-       * ovrecv.c, ovrecv.ggo: introduce prebuffering
-
-2005-04-18 00:04  maan
-
-       * ogg.c: nuke grace_time()
-
-2005-04-17 21:30  maan
-
-       * NEWS: [no log message]
-
-2005-04-17 21:27  maan
-
-       * gui.c, gui.ggo: new command line option: --stream_timeout
-
-2005-04-17 21:16  maan
-
-       * para.h, time.c: use const where apropriate, round tv_usec
-
-2005-04-17 21:15  maan
-
-       * mp3.c: cosmetics
-
-2005-04-17 21:12  maan
-
-       * NEWS, README: [no log message]
-
-2005-04-11 20:06  maan
-
-       * ogg.c: whitespace fixes, improve timings, move time-related stuff
-         to time.c
-
-2005-04-11 20:04  maan
-
-       * ovsend.c: whitespace fixes, improve timings, get rid of some
-         sleep
-
-2005-04-11 20:02  maan
-
-       * bash_completion: make it work without having sourced
-         bash_competion
-
-2005-04-11 20:01  maan
-
-       * afs.c: move tv2ms() from to time.c, do not sleep in
-         call_all_mainloops()
-
-2005-04-11 20:00  maan
-
-       * Makefile.in: server, ovsend, ovrecv depend on time.c/time.o
-
-2005-04-11 19:59  maan
-
-       * time.c: contains time-related functions: tv_add(), tv_diff()...
-
-2005-04-11 19:58  maan
-
-       * ovsend.ggo: set default header interval to 3 seconds
-
-2005-04-11 19:57  maan
-
-       * para.h, server.h: mv time-related declarations to para.h
-
-2005-04-10 14:55  maan
-
-       * ogg.c: fix pause
-
-2005-04-10 00:07  maan
-
-       * afs.c: cosmetics
-
-2005-04-09 23:27  maan
-
-       * afs.c, mp3.c, ogg.c: Fix nasty double free bug: If
-         get_file_info() from the first audio format (mp3) failed, it
-         closed the corresponding fd, so get_file_info() for the second
-         audio format (ogg) got passed an already closed fd. Even worse,
-         get_file_info() closed that fd again. Nasty thing here is that
-         neither ov_open() nor the second fclose() segfaulted but
-         corrupted memory in some way which caused subsequent mysql
-         queries to crash.
-
-         The fix is easy: Do not close the fd at the audio format layer
-         (ogg, mp3), but at the higher afs layer, and of course only if
-         _all_ get_file_info()'s failed.
-
-2005-04-09 23:11  maan
-
-       * NEWS: [no log message]
-
-2005-03-30 22:17  maan
-
-       * slider.c: two new sliders: lastplayed and numplayed
-
-2005-03-28 23:40  maan
-
-       * krell.c: comment out unneeded destroy_song_change()
-
-2005-03-28 23:26  maan
-
-       * server.c: avoid openssl zombies, make old gcc happy
-
-2005-03-28 23:26  maan
-
-       * command.c: avoid openssl zombies
-
-2005-03-28 22:28  maan
-
-       * krell.c: fix memory leak
-
-2005-03-28 21:42  maan
-
-       * mp3.c: make 2.95.4 happy
-
-2005-03-27 20:51  maan
-
-       * ogg.c: rewrite ogg_mainloop() in the style of mp3_mainloop()
-
-2005-03-27 20:50  maan
-
-       * mp3.c: only start stream writer when we have a valid file and
-         current audio format is mp3
-
-2005-03-27 20:49  maan
-
-       * afs.c: simplify afs_mainloop(), init afl[i].fifo
-
-2005-03-26 18:22  maan
-
-       * mp3.c: move check for AFS_NEXT from send_chunk to mainloop
-
-2005-03-26 17:31  maan
-
-       * mp3.c: reorder functions
-
-2005-03-26 17:23  maan
-
-       * README.mysql: typo
-
-2005-03-26 17:22  maan
-
-       * mp3.c: fix playing when switching from ogg to mp3
-
-2005-03-25 02:03  maan
-
-       * exec.c: fixup totally borked exec_vp_pid_bg()
-
-2005-03-25 01:47  maan
-
-       * server.h: add prototypes for afs_handle_sigchild() and
-         afs_open_fifo(), add fifoname, fifo to struct audio_format, kill
-         sw from struct audio_format()
-
-2005-03-25 01:46  maan
-
-       * server.c: call afs_handle_sigchild for each child that has died
-
-2005-03-25 01:45  maan
-
-       * ogg.c: switch from global variabless for fifo to af->fifo,
-         af->fifoname, move open_fifo() to afs.c
-
-2005-03-25 01:42  maan
-
-       * mp3.c: use fifo rather than stdin, handle repos request from
-         within mp3_mainloop() rather than in mp3_send_chunk()
-
-2005-03-25 01:36  maan
-
-       * afs.c: new function handle_sigchild() which resets af->sw_pid,
-         move open_fifo from ogg.c to afs.c since it is generic for all
-         audio formats now
-
-2005-03-25 01:31  maan
-
-       * NEWS: [no log message]
-
-2005-03-25 01:31  maan
-
-       * CREDITS: add Simon Morlat
-
-2005-03-23 22:31  maan
-
-       * ogg.c: do not compute timestamps if current audio format is not
-         ogg. Move open_fifo() up, some small other cleanups
-
-2005-03-23 22:28  maan
-
-       * server.c: nicer startup message
-
-2005-03-23 22:28  maan
-
-       * mp3.c: remove pointless logging
-
-2005-03-23 22:27  maan
-
-       * command.c: typo
-
-2005-03-23 22:27  maan
-
-       * afs.c: use 1 as first argument of afl[i].mainloop() iff i is
-         current audio format
-
-2005-03-23 22:25  maan
-
-       * README: mention para_ovsend/para_ovrecv
-
-2005-03-23 18:12  maan
-
-       * afs.c, ogg.c: create fifo if not present, detect if fifofile
-         exists but is no fifo, better handling of fifo errors from
-         ogg_mainloop(), loglevel adjustments
-
-2005-03-23 06:05  maan
-
-       * ovrecv.c: new function for handling extra packages, a lot of
-         cleanups
-
-2005-03-23 05:49  maan
-
-       * FEATURES, README: describe ovsend/ovrecv
-
-2005-03-23 03:18  maan
-
-       * ovsend.c: simplify do_io()
-
-2005-03-23 02:46  maan
-
-       * ovsend.c: whitespace cleanup
-
-2005-03-23 02:42  maan
-
-       * gui.c, para.h: sys/time.h is needed by ogg.c and server.c, afs.c,
-         gui.c. Move its inclusion to para.h
-
-2005-03-23 02:35  maan
-
-       * command.c: fix com_nomore()
-
-2005-03-23 02:31  maan
-
-       * afs.c: fix com_nomore()
-
-2005-03-23 01:32  maan
-
-       * server.h: rename afs_preselect(), add two timeval related
-         functions, change syntax of send_chunk()
-
-2005-03-23 01:28  maan
-
-       * server.ggo: change default stream writer from pogg-http to
-         para_ovsend
-
-2005-03-23 01:27  maan
-
-       * server.c: always call afs_mainloop() (not only when playing) to
-         obtain a fd and a timeout which is fed to select(). Close all
-         filedescriptors which are marked FD_CLOEXEC just after forking
-         which is needed for the ogg code
-
-2005-03-23 01:22  maan
-
-       * para.h, string.c: add para_fread(), a wrapper for fread() with
-         sane return values
-
-2005-03-23 01:21  maan
-
-       * ogg.c: complete rewrite. ogg.c does its own timing for writing
-         out data chunks rather than writing to a pipe until it's full
-         like the mp3 code does
-
-2005-03-23 01:19  maan
-
-       * mp3.c: adapt to new syntax (return always NULL as timestamp),
-         move para_fread() to string.c, cosmetics
-
-2005-03-23 01:13  maan
-
-       * configure.ac: check for libortp and libzmw
-
-2005-03-23 01:11  maan
-
-       * NEWS: [no log message]
-
-2005-03-23 01:11  maan
-
-       * autogen.sh: clean up before and after updating
-
-2005-03-23 01:09  maan
-
-       * afs.c: rename afs_preselect() to afs_mainloop(). Call each audio
-         format's mainloop to obtain a filedescriptor and a timestamp.
-         Return the data of the current audio format to main
-
-2005-03-23 01:05  maan
-
-       * Makefile.in: add targets for ovsend and ovrecv
-
-2005-03-23 01:05  maan
-
-       * ovrecv.c, ovrecv.ggo, ovsend.c, ovsend.ggo: two new executables
-         for sending/retrieving ogg vorbis files via rtp
-
-2005-03-22 04:19  maan
-
-       * Makefile.in: do not print silly release date
-
-2005-03-05 17:12  maan
-
-       * README.mysql: minor cleanup
-
-2005-03-05 15:38  maan
-
-       * NEWS, configure.ac: paraslash 0.1.6
-
-2005-03-05 15:12  maan
-
-       * autogen.sh: also build the package. Redirect messages to
-         /dev/null
-
-2005-03-05 15:12  maan
-
-       * Makefile.in, configure.ac: remove pob_ogg
-
-2005-03-05 15:11  maan
-
-       * pob-ogg.c, pob-ogg.ggo: no longer needed
-
-2005-03-05 14:50  maan
-
-       * ogg.c: call end_of_input() directly after freeing ogg_buf.
-         Introduce sleep(1) for now.
-
-2005-03-02 01:29  maan
-
-       * command.c: com_stat(): fix status bar
-
-2005-02-28 14:58  maan
-
-       * NEWS: [no log message]
-
-2005-02-28 00:58  maan
-
-       * mp3.c: close mp3 file on exit
-
-2005-02-28 00:16  maan
-
-       * gui.c: typo
-
-2005-02-27 23:49  maan
-
-       * server.ggo: cosmetics
-
-2005-02-27 23:18  maan
-
-       * server.c: cosmetics
-
-2005-02-27 23:18  maan
-
-       * NEWS: [no log message]
-
-2005-02-27 23:06  maan
-
-       * gui.c: make reload_Config() also reread stream_read_cmd and
-         stream_write_cmd
-
-2005-02-27 22:55  maan
-
-       * gui.c: delay start of decoder rather than going to sleep if
-         penalty > 0
-
-2005-02-27 20:12  maan
-
-       * ogg.c: localize use of var page
-
-2005-02-27 19:46  maan
-
-       * string.c: add a comment
-
-2005-02-27 19:32  maan
-
-       * afs.c: trivial cleanups
-
-2005-02-27 19:27  maan
-
-       * afs.c: simplify afs_preselect()
-
-2005-02-27 19:14  maan
-
-       * afs.c, mp3.c, ogg.c, server.h: handle afs flags NEXT and REPOS
-         inside send chunk
-
-2005-02-27 13:59  maan
-
-       * ogg.c: nuke unneeded clear_page()
-
-2005-02-27 13:34  maan
-
-       * ogg.c: ogg_close_audio_file() is only called from
-         ogg_end_of_input(). Move it there and nuke
-         ogg_close_audio_file().
-
-2005-02-27 13:30  maan
-
-       * ogg.c: submit_headers_to_stream() does not need an argument.
-
-2005-02-27 04:55  maan
-
-       * ogg.c: whitespace cleanup
-
-2005-02-27 04:53  maan
-
-       * ogg.c: move OggVorbis_File into struct para_ogg_state
-
-2005-02-27 04:46  maan
-
-       * ogg.c: rename vcut_state to para_ogg_state
-
-2005-02-27 04:41  maan
-
-       * ogg.c: process_headers() does not need an argument.
-
-2005-02-27 04:34  maan
-
-       * ogg.c: get_page() does not need an argument.
-
-2005-02-27 04:29  maan
-
-       * ogg.c: nuke var vcutstate since vcutstate==s always.
-
-2005-02-27 04:15  maan
-
-       * ogg.c: vcut_new() is only called from ogg_init(). Move it there
-         and nuke vcut_new().
-
-2005-02-27 03:47  maan
-
-       * ogg.c: headers_to_buf() is only called from
-         init_oggvorbis_file(). Move it there and nuke headers_to_buf().
-
-2005-02-27 03:34  maan
-
-       * ogg.c: get rid of sent_headers variable
-
-2005-02-25 21:36  maan
-
-       * ogg.c: do not kill stream writer, wait for it to die instead.
-
-2005-02-25 21:16  maan
-
-       * mysql.c: use load data infile rather than load data local infile.
-         Change tmpdir to /tmp and umask of tmpfile to 022 in order to
-         make it readable by mysqld.
-
-2005-02-23 06:37  maan
-
-       * ogg.c: nuke brain dead have_page logic
-
-2005-02-23 06:22  maan
-
-       * ogg.c: reset offset and packet_no on end of input. Fixes para
-         next
-
-2005-02-23 05:33  maan
-
-       * ogg.c: fix jumping
-
-2005-02-23 05:14  maan
-
-       * ogg.c: remove some unused stuff
-
-2005-02-23 05:12  maan
-
-       * ogg.c: remove old read_chunk/write_chunk pair
-
-2005-02-23 05:10  maan
-
-       * ogg.c: switch to send_chunk, major code reorganization (old code
-         still there to be removed soon).
-
-2005-02-23 05:08  maan
-
-       * afs.c, mp3.c, server.h: switch to send_chunk, rather than the
-         combination of read_chunk/write_chunk
-
-2005-02-22 23:49  maan
-
-       * ogg.c: do not request new page if offset_granulepos is invalid,
-         fix type of offset_granulepos, more logging
-
-2005-02-22 23:13  maan
-
-       * server.h: fix refreshing of stream_write command on sighup
-
-2005-02-22 17:45  maan
-
-       * krell.c: fix compiler warning
-
-2005-02-22 17:44  maan
-
-       * gui.c: use reasonable defaults, increase MAX_STREAM_SLOTS to 10,
-         adapt penalty timing, init slots on startup
-
-2005-02-22 16:13  maan
-
-       * Makefile.in: make clean: remove para_slider
-
-2005-02-22 15:51  maan
-
-       * pics/screenshots/: para_krell-2005-02.png,
-         para_slider-2004-12.png: two more screenshots
-
-2005-02-22 14:47  maan
-
-       * afs.c, server.c: stop playing on read/write errors, fix
-         refreshing of stream_write command on sighup
-
-2005-02-22 00:10  maan
-
-       * afs.c, server.c, server.h: send_chunk() knows the stream writer
-         fd, no need to pass it as an argument
-
-2005-02-21 20:06  maan
-
-       * gui.c: cosmetics
-
-2005-02-21 00:32  maan
-
-       * gui.c: whitespace cleanups
-
-2005-02-21 00:30  maan
-
-       * gui.c: replace num by slot
-
-2005-02-21 00:19  maan
-
-       * gui.c: logging improvements
-
-2005-02-20 23:30  maan
-
-       * gui.c: more checks for active curses
-
-2005-02-20 22:42  maan
-
-       * gui.c: various cleanups, fix siol vs afi mix up
-
-2005-02-13 22:28  maan
-
-       * fade.c: more logging
-
-2005-02-13 22:27  maan
-
-       * Makefile.in: gui depends on string.o
-
-2005-02-13 22:26  maan
-
-       * COPYING: 2004->2005
-
-2005-02-01 22:16  maan
-
-       * ogg.c: delete unnecessary packet_clear()
-
-2005-01-27 01:59  maan
-
-       * ogg.c: do header stuff during file init rather than on first
-         read, fix serious memory leak
-
-2005-01-25 20:20  maan
-
-       * ogg.c: function reordering
-
-2005-01-24 22:57  maan
-
-       * ogg.c: whitespace cleanup
-
-2005-01-24 22:53  maan
-
-       * ogg.c: nuke another unused variable
-
-2005-01-24 22:47  maan
-
-       * ogg.c: use update_sync() rather that using fread() directly
-
-2005-01-24 22:31  maan
-
-       * ogg.c: move out_state to vcutstate, destroy streams and sync_in,
-         more debug messages
-
-2005-01-24 18:58  maan
-
-       * ogg.c: nuke unneeded variables
-
-2005-01-23 20:45  maan
-
-       * ogg.c: simplify process_headers()
-
-2005-01-23 20:28  maan
-
-       * ogg.c: use para_malloc(), simplify vcut_new(), more debugging
-         messages
-
-2005-01-14 14:32  maan
-
-       * gui.c: some small cleanups
-
-2005-01-09 23:31  maan
-
-       * gui.c: major stream I/O reearrangements (slots)
-
-2005-01-09 23:29  maan
-
-       * mysql.c: com_pidel(): reset pic_id to 1 for all files having the
-         picid that is going to be deleted
-
-2005-01-09 17:01  maan
-
-       * ogg.c: fix it again by reverting the changes made in revision
-         1.39. They caused most ogg files to be skipped..
-
-2005-01-08 13:09  maan
-
-       * ogg.c: reset packetno only once
-
-2005-01-07 20:17  maan
-
-       * ogg.c: fix some memory leaks
-
-2005-01-03 20:29  maan
-
-       * server.c: always log startup message
-
-2005-01-02 20:42  maan
-
-       * afs.c, client.c, command.c, dopey.c, fade.c, gui.c, krell.c,
-         mp3.c, mysql.c, ogg.c, para.h, pob-ogg.c, sdl_gui.c, server.c,
-         server.h, string.c: change year to 2005
-
-2005-01-02 18:47  maan
-
-       * command.c: fix another memory leak in get_sb_string(). Again
-         serious for the same reason.
-
-2005-01-02 18:34  maan
-
-       * afs.c, mysql.c: cosmetics
-
-2005-01-02 18:34  maan
-
-       * command.c: fix memory leak in compute_status_volatile(). Serious
-         because it is called by com_stat().
-
-2005-01-01 21:49  maan
-
-       * mysql.c: fix com_picadd()
-
-2005-01-01 16:56  maan
-
-       * mysql.c, server.ggo: rename default database name from music to
-         paraslash
-
-2004-12-31 23:18  maan
-
-       * mysql.c: fix three small memory leaks
-
-2004-12-31 23:17  maan
-
-       * string.c: fix serious memory leak
-
-2004-12-31 20:04  maan
-
-       * mysql.c: fix memory leak in get_dbinfo()
-
-2004-12-31 18:55  maan
-
-       * NEWS, configure.ac: paraslash 0.1.5
-
-2004-12-31 18:44  maan
-
-       * configure.ac: do not check for glib. It is only needed for
-         para_slider
-
-2004-12-31 18:43  maan
-
-       * README.mysql, mysql.c: rename command create_db back to cdb
-
-2004-12-31 18:17  maan
-
-       * pob-ogg.c: remove some suerflous variabbles
-
-2004-12-31 18:08  maan
-
-       * FEATURES, gui.c, mysql.c: cosmetics
-
-2004-12-27 01:33  maan
-
-       * gui.c, net.c: cosmetics
-
-2004-12-27 01:01  maan
-
-       * gui.c: reap children as early as possible. Avoid double killing
-         children.
-
-2004-12-27 00:08  maan
-
-       * NEWS: [no log message]
-
-2004-12-27 00:08  maan
-
-       * server.c, slider.c: cosmetics
-
-2004-12-26 23:53  maan
-
-       * command.c, server.c, server.h: Reload dbtool on SIGHUP. Move
-         restoring of signals to handle_connect() in command.c. Make
-         handle_connect() return int
-
-2004-12-26 23:06  maan
-
-       * NEWS: [no log message]
-
-2004-12-26 22:51  maan
-
-       * gui.c: use signal handling from signal.c. Should be race-free
-         now. Reduce select timeout to 200ms as that feels much better and
-         does not hurt.
-
-2004-12-26 22:46  maan
-
-       * para.h: simplified install sighandler function, new:
-         reap_child(), reap_children()
-
-2004-12-26 22:45  maan
-
-       * signal.c: new: reap_child(), reap_children() that replace
-         handle_sigchild()
-
-2004-12-26 22:43  maan
-
-       * server.c: always use the generic signal handler. That allows to
-         simplify install_sighandler() and to get rid of internal
-         handlers. Also: restore signals to default values right after
-         fork().
-
-2004-12-26 20:06  maan
-
-       * para.h: add signal function declarations
-
-2004-12-26 20:06  maan
-
-       * Makefile.in: link signal.o to server and gui
-
-2004-12-26 20:05  maan
-
-       * server.c: move signal-related functions to own file (signal.c)
-
-2004-12-26 20:04  maan
-
-       * signal.c: contains signal handling functions pulled out from
-         server.c
-
-2004-12-24 19:57  maan
-
-       * README, README.mysql, index.html, slider.c: [no log message]
-
-2004-12-24 19:11  maan
-
-       * NEWS, README: [no log message]
-
-2004-12-24 18:23  maan
-
-       * README: [no log message]
-
-2004-12-24 18:19  maan
-
-       * NEWS, README: [no log message]
-
-2004-12-24 18:13  maan
-
-       * krell.c: replace some commands by others
-
-2004-12-24 18:11  maan
-
-       * configure.ac: add detection of glib and libzmw. Commented out for
-         now.
-
-2004-12-24 18:10  maan
-
-       * autogen.sh: run configure with given command line options
-
-2004-12-24 18:09  maan
-
-       * README: add slider doku
-
-2004-12-24 18:08  maan
-
-       * NEWS: [no log message]
-
-2004-12-24 18:08  maan
-
-       * Makefile.in: Add target para_slider. Not built automatically.
-         Change Codename.
-
-2004-12-24 18:07  maan
-
-       * FEATURES: only short descriptions here. Detailed info goes to
-         README. Add slider.
-
-2004-12-22 14:47  maan
-
-       * mysql.c: better online help for com_sl()
-
-2004-12-22 14:46  maan
-
-       * command.c: use proper err_list on permission errors
-
-2004-12-22 14:45  maan
-
-       * 1.0, INSTALL: [no log message]
-
-2004-12-20 19:15  maan
-
-       * net.c: use default loglevel info for network errors. Some of them
-         are perfectly ok, so they should not pollute the log.
-
-2004-12-20 19:12  maan
-
-       * README: typo
-
-2004-12-19 18:07  maan
-
-       * README.mysql: [no log message]
-
-2004-12-19 17:38  maan
-
-       * configure.ac: paraslash 0.1.4
-
-2004-12-19 17:37  maan
-
-       * NEWS: [no log message]
-
-2004-12-19 17:20  maan
-
-       * server.c: typo
-
-2004-12-19 17:14  maan
-
-       * server.c: On dbtool change, always shutdown and re-init, even if
-         old == new
-
-2004-12-19 17:12  maan
-
-       * mysql.c: return always success on init to give the user the
-         chance to create the database
-
-2004-12-19 17:10  maan
-
-       * README.mysql: [no log message]
-
-2004-12-19 16:58  maan
-
-       * README.mysql: [no log message]
-
-2004-12-19 07:31  maan
-
-       * mysql.c: print_results(): abort if send_buffer fails
-
-2004-12-19 06:54  maan
-
-       * krell.c, server.c: cosmetics
-
-2004-12-19 06:03  maan
-
-       * command.c: cosmetics
-
-2004-12-19 05:49  maan
-
-       * command.c: report error text also on errors during initial
-         handshake
-
-2004-12-19 04:50  maan
-
-       * command.c, server.h: make some functions static
-
-2004-12-19 04:49  maan
-
-       * command.c, server.c, server.h: move handle_connect from server.c
-         to command.c
-
-2004-12-19 04:42  maan
-
-       * client.c: terminate buffer
-
-2004-12-19 04:30  maan
-
-       * client.c: do not try do decrypt server response if it has length
-         not equal to 64. Regard response as error message in that case
-         and report it instead.
-
-2004-12-19 04:30  maan
-
-       * server.c: only send error text if we have a valid err_list
-
-2004-12-18 15:35  maan
-
-       * NEWS: [no log message]
-
-2004-12-17 22:55  maan
-
-       * command.c: report proper error messages also for internal
-         commands
-
-2004-12-17 22:33  maan
-
-       * command.c, mysql.c, pob-ogg.c, server.c, server.h: introduce
-         err_list, a list of error messages. Report error message
-         corresponding to return value of command handler to client if
-         this value is negative
-
-2004-12-17 22:29  maan
-
-       * gui.c: write chunk if buffer contains data even if reader has
-         died
-
-2004-12-17 22:28  maan
-
-       * NEWS: [no log message]
-
-2004-12-17 14:51  maan
-
-       * ogg.c: nuke unused dummy variable
-
-2004-12-17 14:06  maan
-
-       * NEWS: [no log message]
-
-2004-12-17 13:21  maan
-
-       * mysql.c: make stradd/picadd overwrite previous definition if it
-         exists, rather than returning errors
-
-2004-12-16 02:26  maan
-
-       * ogg.c: further simplify read_chunk(): nuke first_page logic
-
-2004-12-15 22:45  maan
-
-       * gui.c: oops, forgot to remove the if-statement
-
-2004-12-15 22:30  maan
-
-       * gui.c: remove unneeded variable stream_buf_bytes
-
-2004-12-15 20:32  maan
-
-       * ogg.c: always use ogg_stream_flush() which simplifies page_out()
-
-2004-12-15 20:14  maan
-
-       * ogg.c: further simplify read_chunk(), kill have_packet
-
-2004-12-15 19:40  maan
-
-       * ogg.c, pob-ogg.c, server.c: simplify read_chunk(), avoid frequent
-         page_out errors
-
-2004-12-15 16:45  maan
-
-       * gui.c: fix serious typo: stream WRITE command option was used for
-         READING.
-
-2004-12-15 03:41  maan
-
-       * ogg.c: trivial cleanups
-
-2004-12-13 17:05  maan
-
-       * krell.c: reap the children to avoid zombies. Fixes zombie flood
-         if started with no server running.
-
-2004-12-13 17:02  maan
-
-       * command.c: report server pid instead of current database tool as
-         the latter is already contained in output of stat
-
-2004-12-11 17:04  maan
-
-       * gui.c: reintroduce one second sleep on errors to avoid busy loops
-         if server is unavailable
-
-2004-12-11 17:01  maan
-
-       * mysql.c: fix playing in case no stream was selected
-
-2004-12-11 16:38  maan
-
-       * afs.c: enter stopped mode when only invalid files were found
-
-2004-12-11 16:06  maan
-
-       * gui.c: simplify SIGINT handling, get rid of sleep(1)
-
-2004-12-11 15:43  maan
-
-       * gui.c: Hm, signal handling must have changed in recent linux
-         kernels. Make SIGINT work again.
-
-2004-12-11 14:01  maan
-
-       * mysql.c: com_hist(): query got messed up, fix it.
-
-2004-12-10 22:37  maan
-
-       * gui.c: nuke query_stream command. Can be done by key mappings
-
-2004-12-10 22:32  maan
-
-       * mysql.c: com_strq(): Use current stream if invoked without args
-
-2004-12-10 18:01  maan
-
-       * mysql.c: com_upd(): comment out noisy debug message
-
-2004-12-10 17:55  maan
-
-       * mysql.c: check return value of send_buffer()
-
-2004-12-10 16:50  maan
-
-       * server.c: cosmetics
-
-2004-12-10 16:50  maan
-
-       * Makefile.in: change codename
-
-2004-12-10 16:49  maan
-
-       * mysql.c: oops, com_picadd() got lost during merging. Here it is
-         again.
-
-2004-12-10 15:42  maan
-
-       * server.c: simplify handle_connect()
-
-2004-12-10 14:35  maan
-
-       * NEWS: [no log message]
-
-2004-12-10 14:35  maan
-
-       * server.c: forgotten goto
-
-2004-12-10 14:20  maan
-
-       * server.c: cosmetics
-
-2004-12-10 13:21  maan
-
-       * NEWS, configure.ac: bump version to 0.1.3
-
-2004-12-10 13:04  maan
-
-       * NEWS: [no log message]
-
-2004-12-09 22:12  maan
-
-       * server.c, server.ggo: new option: dbtool. Choose dbtool which
-         dbtool is used on startup
-
-2004-12-09 21:21  maan
-
-       * mysql.c: update mmd->dbinfo on successful init
-
-2004-12-09 21:21  maan
-
-       * dopey.c: terminate song song list by NULL
-
-2004-12-09 20:46  maan
-
-       * mysql.c: kill superfluous semicolen that caused gcc-2.95.4 to
-         fail
-
-2004-12-09 20:28  maan
-
-       * dopey.c: make get_song_list() return NULL on errors, rather than
-         an empty list
-
-2004-12-09 20:19  maan
-
-       * command.c, dopey.c, mysql.c, server.c, server.h: handle dbtool
-         change by server. The client only sets mmd->dbt_change which is
-         noticed by server when select() returns.
-
-2004-12-09 19:35  maan
-
-       * command.c, mysql.c, server.h: nuke modus from struct command
-
-2004-12-09 19:33  maan
-
-       * mysql.c: rename cdb to create_db
-
-2004-12-09 19:13  maan
-
-       * FEATURES: [no log message]
-
-2004-12-09 19:13  maan
-
-       * server.ggo, mysql.c: prefix all mysql options by mysql_
-
-2004-12-09 19:02  maan
-
-       * INSTALL: [no log message]
-
-2004-12-09 18:46  maan
-
-       * README: [no log message]
-
-2004-12-09 18:30  maan
-
-       * server.c: fix autoplay, move mmd_lock before networ init
-
-2004-12-09 18:21  maan
-
-       * index.html, mysql.c: cosmetics/typos
-
-2004-12-09 18:21  maan
-
-       * gui.c, sdl_gui.c: replace obsolete score by uptime
-
-2004-12-09 18:20  maan
-
-       * command.c: do not include seconds in server's uptime and report
-         the uptime in com_stat()
-
-2004-12-09 17:56  maan
-
-       * README.mysql: update for 0.1.3
-
-2004-12-09 17:27  maan
-
-       * Makefile.in, index.html: change README.dbtool to README.mysql
-
-2004-12-09 17:25  maan
-
-       * NEWS, README.mysql: former README.dbtool
-
-2004-12-09 17:24  maan
-
-       * README.dbtool: renamed to README.mysql
-
-2004-12-09 17:04  maan
-
-       * command.c, server.c, server.h: field 'initialized' in struct
-         dbtool was a bad idea. We must allow switching to the mysql
-         dbtool even if its init routine failed because that's the only
-         way to initially create the database.
-
-2004-12-09 02:21  maan
-
-       * gui.c, sdl_gui.c: replace obsolete streams in stat_items[] by
-         dbtool
-
-2004-12-09 02:20  maan
-
-       * command.c: print current dbtool in com_stat()
-
-2004-12-09 02:07  maan
-
-       * NEWS: [no log message]
-
-2004-12-09 02:02  maan
-
-       * NEWS: [no log message]
-
-2004-12-09 01:03  maan
-
-       * command.c: new command: ctd: change dbtool on the fly
-
-2004-12-09 01:03  maan
-
-       * mysql.c: remove the silly try to report the cause of an error.
-         Provide shutdown function (deactivated for now)
-
-2004-12-09 01:00  maan
-
-       * dopey.c, server.c, server.h: init all dbtools on startup. Fall
-         back to dopey if all other dbtools fail to init.
-
-2004-12-08 23:34  maan
-
-       * mysql.c: rename cdb to create_db
-
-2004-12-08 23:23  maan
-
-       * dbtool.conf.sample: long obsolete
-
-2004-12-08 23:18  maan
-
-       * dbtool_template.c: got obsoleted by dopey
-
-2004-12-08 23:16  maan
-
-       * dbtool.c, dbtool.ggo: no longer needed
-
-2004-12-08 23:13  maan
-
-       * para.h, string.c: fix some compiler warnings
-
-2004-12-08 23:05  maan
-
-       * dopey.c: redirect stderr of find command to null
-
-2004-12-08 22:46  maan
-
-       * dopey.c: fix memory leak
-
-2004-12-08 22:46  maan
-
-       * Makefile.in, configure.ac: fixup autoconf stuff
-
-2004-12-08 22:15  maan
-
-       * net.c: remove unused variable
-
-2004-12-08 22:14  maan
-
-       * Makefile.in, configure.ac, server.c: Fix build on systems without
-         mysql. They'll get dopey ;) Do not build obsolete dbtool any
-         more.
-
-2004-12-08 21:58  maan
-
-       * dopey.c: dopey help update
-
-2004-12-08 21:56  maan
-
-       * Makefile.in, command.c, dopey.c, server.c, server.ggo, server.h:
-         the dopey database tool, codename 'ddt'
-
-2004-12-08 20:25  maan
-
-       * para.h, string.c: use const qualifiers in para_strcat()
-
-2004-12-08 20:25  maan
-
-       * command.c:  report dbtool info in com_si()
-
-2004-12-08 20:10  maan
-
-       * afs.c, command.c, mysql.c, server.c, server.h: switch from single
-         struct dbtool to array of struct dbtool as a preparation for
-         supporting several database tools.
-
-2004-12-08 04:24  maan
-
-       * afs.c, command.c, server.h: change type of mmd->mtime to time_t
-
-2004-12-08 04:10  maan
-
-       * command.c, server.c, server.h: kill num_connects(). A simple
-         variable is enough.
-
-2004-12-08 04:00  maan
-
-       * server.c: get_user(): scan at most 200 chars per entry avoiding
-         possible buffer overflow with bad user_list file
-
-2004-12-08 03:58  maan
-
-       * mysql.c: Fix high-quality double free bug which was sitting there
-         for quite some time since it was hard to trigger. This sucker
-         made _subsequent_ sql queries hang. Kill it with pleasure.
-
-2004-12-08 02:34  maan
-
-       * exec.c: fix dup2 stderr
-
-2004-12-08 02:16  maan
-
-       * mysql.c: rename _clean to clean
-
-2004-12-08 02:16  maan
-
-       * gui.c: do not kill writer immediately when reader dies.
-
-2004-12-08 02:01  maan
-
-       * gui.c: Nuke com_sl. Can be done via key mapping
-
-2004-12-08 00:49  maan
-
-       * command.c: nasty use before init bug
-
-2004-12-07 22:50  maan
-
-       * command.c: simplify cmd_perms_itohuman()
-
-2004-12-07 22:44  maan
-
-       * afs.c, command.c, server.h: move afs_get_status_flags() to
-         command.c. It's only needed there, so make it static. Use dynamic
-         buffer.
-
-2004-12-07 22:38  maan
-
-       * command.c: afs_status_tohuman(): return dynamic buffer
-
-2004-12-07 22:33  maan
-
-       * afs.c, command.c, server.h: move afs_status_tohuman() to
-         command.c. It's only needed there, so make it static.
-
-2004-12-07 22:24  maan
-
-       * server.c: report loglevel on startup
-
-2004-12-07 22:23  maan
-
-       * para.h: kill unused loglevel ALERT
-
-2004-12-07 22:23  maan
-
-       * afs.c: remove some old code
-
-2004-12-07 22:11  maan
-
-       * afs.c, mysql.c, ogg.c, server.c: some smallish cleanups
-
-2004-12-07 22:10  maan
-
-       * server.ggo: set default loglevel to 4
-
-2004-12-07 21:28  maan
-
-       * afs.c, server.c: simplify setup_stream_command(). Abort on
-         errors.
-
-2004-12-07 02:09  maan
-
-       * mysql.c: reintroduce com_la as it is needed by dbadm
-
-2004-12-07 01:56  maan
-
-       * command.c: do not divide by zero
-
-2004-12-07 01:51  maan
-
-       * ogg.c: loglevel adjustments
-
-2004-12-07 01:38  maan
-
-       * command.c: Delete unused stuff. Fairly impressive patch :)
-
-2004-12-07 01:32  maan
-
-       * command.c: sort commands alphabetically
-
-2004-12-07 01:23  maan
-
-       * command.c, server.c: clean up com_sc()
-
-2004-12-07 01:07  maan
-
-       * command.c: clean up com_stat() and compute_status_volatile()
-
-2004-12-07 00:18  maan
-
-       * command.c: make uptime_str() return dynamically allocated buffer.
-         Clean up com_si().
-
-2004-12-07 00:10  maan
-
-       * command.c: rename compute_sb_string() to get_sb_string() and
-         return dynamically allocated buffer.
-
-2004-12-06 23:37  maan
-
-       * command.c: rename compute_status() to get_status() and return
-         dynamically allocated buffer
-
-2004-12-06 23:00  maan
-
-       * command.c: make cmd_perms_itohuman() return dynamically allocated
-         4 char permission string. Used by com_help(). This makes
-         com_perms obsolete. Comment out
-
-2004-12-06 22:15  maan
-
-       * command.c: rename find_cmd(). No good name.
-
-2004-12-06 22:11  maan
-
-       * command.c: make find_command() also return the handler (server or
-         dbtool). That makes cmd_handler_itohuman() obsolete, and in turn
-         other functions unused. Comment out what is unneeded.
-
-2004-12-06 21:51  maan
-
-       * command.c: found still more lcl stuff, kill unused var:
-         dbtool_has_pic
-
-2004-12-06 21:49  maan
-
-       * command.c: comment out remaining lcl stuff
-
-2004-12-06 21:48  maan
-
-       * command.c, string.c: move chop() from command.c to string.c
-
-2004-12-06 21:45  maan
-
-       * command.c: comment out unused lcl_init()
-
-2004-12-06 21:42  maan
-
-       * server.c: deactivate lcl stuff
-
-2004-12-06 21:41  maan
-
-       * command.c: fix silly bug that crept in by the last patch
-
-2004-12-06 21:36  maan
-
-       * command.c: simplify send_descriptions(), find_command() and fix
-         com_help()
-
-2004-12-06 20:28  maan
-
-       * command.c: kill useless dummy entries, documentation update.
-
-2004-12-06 20:21  maan
-
-       * afs.c, command.c, server.c: Since we hold a dbtool pointer in mmd
-         there is no need to export it any longer
-
-2004-12-06 20:06  maan
-
-       * command.c: make com_perms() use the internal command list rather
-         than old linked command list
-
-2004-12-06 20:05  maan
-
-       * mysql.c: set name in init
-
-2004-12-06 20:04  maan
-
-       * server.c: set mmd->dbtool in do_inits()
-
-2004-12-06 20:03  maan
-
-       * server.h: New field in struct dbtool: name to be used by
-         com_perms(). New field in mmd: dbtool, a pointer to the currently
-         selected database tool, also used in com_perms(). Currently,
-         there is only one, but this will change once ddt, the dopey
-         database tool, is born.
-
-2004-12-06 19:10  maan
-
-       * command.c: comment out obsolete server-based com_pic()
-
-2004-12-06 04:08  maan
-
-       * mysql.c: make com_cam() also copy the meta data
-
-2004-12-06 03:25  maan
-
-       * mysql.c: as we have extern struct conf in mysql.c there is no
-         need to shadow its values
-
-2004-12-06 03:11  maan
-
-       * mysql.c: some more cosmetics
-
-2004-12-06 03:04  maan
-
-       * mysql.c: only while space cleanups
-
-2004-12-06 02:57  maan
-
-       * mysql.c: nuke get_very_last() which was commented out anyway
-
-2004-12-06 02:52  maan
-
-       * mysql.c: reorganize functions,  simplify com_info()
-
-2004-12-06 02:31  maan
-
-       * mysql.c: new function: get_dir(). Switch back to three-line
-         dbinfo output
-
-2004-12-06 01:39  maan
-
-       * mysql.c: fix get_dbinfo()
-
-2004-12-06 01:20  maan
-
-       * mysql.c: simplify com_cdb() a bit
-
-2004-12-06 01:10  maan
-
-       * mysql.c: port the last dbtool command: com_picch()
-
-2004-12-06 00:56  maan
-
-       * mysql.c: port com_piclistl()
-
-2004-12-06 00:49  maan
-
-       * mysql.c: port com_picdel()
-
-2004-12-06 00:40  maan
-
-       * mysql.c: port com_picass()
-
-2004-12-06 00:22  maan
-
-       * mysql.c: port com_pic()
-
-2004-12-05 23:48  maan
-
-       * mysql.c: port com_verb()
-
-2004-12-05 23:37  maan
-
-       * mysql.c: simplify get_all_attributes(), fix two nasty
-         free()-related bugs
-
-2004-12-05 22:59  maan
-
-       * mysql.c: port com_cam()
-
-2004-12-05 20:51  maan
-
-       * mysql.c: port com_da()
-
-2004-12-05 20:46  maan
-
-       * mysql.c, para.h, string.c: introduce para_basename(), port
-         com_na()
-
-2004-12-05 17:20  maan
-
-       * mysql.c: port com_hist()
-
-2004-12-05 17:13  maan
-
-       * mysql.c: port mbox()
-
-2004-12-05 16:48  maan
-
-       * mysql.c: port com_ls()
-
-2004-12-05 07:12  maan
-
-       * command.c: fix segfault on invalid commands
-
-2004-12-05 07:10  maan
-
-       * server.c: report error message if command failed
-
-2004-12-05 06:03  maan
-
-       * server.c: nuke unused get_song_list()
-
-2004-12-05 05:24  maan
-
-       * mysql.c: port com_last()
-
-2004-12-05 05:04  maan
-
-       * mysql.c: simplify and fix get_all_attributes(), port com_laa()
-
-2004-12-05 04:36  maan
-
-       * mysql.c: refresh mmd->dbinfo also in commands sa and cs
-
-2004-12-05 04:20  maan
-
-       * mysql.c: use mmd-based get_current_song() instead of mysql's
-         entry with newest lastplayed time. That matters in view of
-         com_skip().
-
-2004-12-05 03:46  maan
-
-       * command.c: clean up com_help
-
-2004-12-05 03:20  maan
-
-       * mysql.c: update help for vrfy and us
-
-2004-12-05 03:20  maan
-
-       * command.c: simplify lcl_find and switch to help for new commands
-
-2004-12-05 02:40  maan
-
-       * mysql.c: port com_sa(). Simplify get_last()/get_very_last().
-
-2004-12-05 00:36  maan
-
-       * mysql.c: port com_skip()
-
-2004-12-05 00:26  maan
-
-       * mysql.c: activate new cdb/clean/upd/vrfy commands
-
-2004-12-05 00:15  maan
-
-       * mysql.c: port com_strq()
-
-2004-12-04 23:59  maan
-
-       * mysql.c: port com_strdel(), change current stream to '(none)' if
-         it gets deleted by strdel
-
-2004-12-04 23:39  maan
-
-       * mysql.c: make conf an extern variable in mysql.c, so there is no
-         need to pass it via init. Port com_cdb(), several small fixes.
-
-2004-12-04 23:37  maan
-
-       * server.c, server.h: make conf an extern variable in mysql.c, so
-         there is no need to pass it via init
-
-2004-12-04 21:23  maan
-
-       * mysql.c: port com_vrfy/clean
-
-2004-12-04 20:43  maan
-
-       * mysql.c: port com_upd(). This is not backward compatible. It
-         requires modification of find_cmd in server.conf. So it is
-         disabled until vrfy/clean are also ported.
-
-2004-12-04 20:40  maan
-
-       * exec.c: only close fd[1] if we dup2'ed it
-
-2004-12-04 20:39  maan
-
-       * server.c: abort if dbtool init failed
-
-2004-12-04 15:42  maan
-
-       * mysql.c: port stradd/picadd
-
-2004-12-04 15:33  maan
-
-       * server.ggo: nuke sstream option
-
-2004-12-04 14:31  maan
-
-       * fade.c: use csp instead of play
-
-2004-12-04 14:27  maan
-
-       * mysql.c: new command: csp (change stream and play). Needed since
-         com_play() no longer knows about streams and ignores its
-         arguments.
-
-2004-12-04 14:24  maan
-
-       * afs.c: update_mmd(): fix logging message for unknown audio format
-
-2004-12-04 14:15  maan
-
-       * afs.c: get_song(): log filenames as they are tried to open
-
-2004-12-04 02:23  maan
-
-       * mysql.c: fix com_sl. It used row[1] in results which contained
-         only one column. Fix help of com_streams().
-
-2004-12-04 02:21  maan
-
-       * afs.c: comment out obsolete popen dabtool us
-
-2004-12-03 21:36  maan
-
-       * mysql.c: omit current_stream in ps/ns/streams
-
-2004-12-03 21:28  maan
-
-       * command.c, server.h: com_stat: don't print score
-
-2004-12-03 20:51  maan
-
-       * mysql.c: make ps/ns refresh dbinfo
-
-2004-12-03 20:36  maan
-
-       * mysql.c: port com_ps() and com_ns()
-
-2004-12-03 20:08  maan
-
-       * afs.c, command.c, server.c, server.h: comment out obsolete stream
-         handling code. Internal commands don't know about streams any
-         more
-
-2004-12-03 19:46  maan
-
-       * afs.c, mysql.c, server.c, server.h: make dbtool write directly to
-         shared memory area, get_song_list() now returns char** (full path
-         list without scores)
-
-2004-12-03 17:21  maan
-
-       * afs.c, server.c: comment out old update_dbinfo()
-
-2004-12-03 00:17  maan
-
-       * mysql.c: also print score and stream in dbinfo
-
-2004-12-02 23:24  maan
-
-       * afs.c, mysql.c: use info string provided by  dbtool's
-         get_song_list (overwrite output of old para_dbtool). Other
-         smallish fixes also.
-
-2004-12-02 20:54  maan
-
-       * mysql.c: after the fork we will never see when the stream changes
-
-2004-12-02 20:53  maan
-
-       * mysql.c: remove global variable current_stream. It just doesn't
-         work because
-
-2004-12-02 03:18  maan
-
-       * afs.c, mysql.c: port com_cs() and activate new stream handling
-
-2004-12-02 01:43  maan
-
-       * afs.c: new implementation of get_song() that calls dbtool's
-         get_song function directly rather than calling popen_dbtool()
-         (not yet activated since com_cs is not yet ported)
-
-2004-12-02 01:33  maan
-
-       * mysql.c: new function get_song list to be called directly by afs
-         on song change via server's glue function
-
-2004-12-02 01:29  maan
-
-       * server.c: get_song glue function
-
-2004-12-02 01:28  maan
-
-       * server.h: new struct: db_song_info
-
-2004-12-02 01:27  maan
-
-       * string.c: para_strdup: return empty string if arg is NULL
-
-2004-12-01 22:10  maan
-
-       * mysql.c: port com_streams()
-
-2004-12-01 21:57  maan
-
-       * mysql.c: activate new com_sl()
-
-2004-12-01 04:39  maan
-
-       * mysql.c: fix theoretical memory leak
-
-2004-12-01 04:23  maan
-
-       * mysql.c: get_query: make sure to return NULL on errors
-
-2004-12-01 04:20  maan
-
-       * mysql.c: remove length[] check. We cover length[0]==0 anyway.
-
-2004-12-01 04:11  maan
-
-       * mysql.c: cosmetics
-
-2004-12-01 04:04  maan
-
-       * mysql.c: remove unnused variable 'ret'. reduce size of the last
-         remaining static buffer for sscanf.
-
-2004-12-01 04:00  maan
-
-       * mysql.c: make get_query() return char*, reducing one more static
-         buffer allocation. Free also accept/deny_opts ;)
-
-2004-12-01 03:42  maan
-
-       * mysql.c: further simplify string handling in where_clause
-
-2004-12-01 03:35  maan
-
-       * mysql.c: simplify where_clause logic, free all variables
-
-2004-12-01 02:42  maan
-
-       * mysql.c: get_query: further removal of static buffers
-
-2004-12-01 02:32  maan
-
-       * mysql.c: get_query: remove underscores as it is no longer needed
-
-2004-12-01 02:30  maan
-
-       * mysql.c: Clean up get_query, part II
-
-2004-12-01 02:17  maan
-
-       * mysql.c, para.h, string.c: remove 'dest' argument from
-         s_a_r_list(). Clean up get_query, part I
-
-2004-12-01 00:43  maan
-
-       * mysql.c: port com_sl()
-
-2004-12-01 00:40  maan
-
-       * net.c, string.c: cosmetics
-
-2004-12-01 00:29  maan
-
-       * string.c: loglevel adjustments
-
-2004-12-01 00:25  maan
-
-       * string.c: fix s_a_r in case of several matches
-
-2004-11-30 23:58  maan
-
-       * para.h, string.c: no more static buffers in s_a_r() and friends
-
-2004-11-30 22:18  maan
-
-       * dbtool.c, para.h, string.c: port regex stuff from dbtool.c to
-         string.c
-
-2004-11-30 21:38  maan
-
-       * net.c, para.h: new function: send_va_buffer. Oh yeah!
-
-2004-11-30 21:14  maan
-
-       * Makefile.in: link string.o to all executables that need it
-
-2004-11-30 20:42  maan
-
-       * mysql.c: activate new com_info() (by changing _info to info)
-
-2004-11-30 20:41  maan
-
-       * command.c: com help: also print commands from new api
-
-2004-11-30 20:25  maan
-
-       * Makefile.in, mysql.c, para.h, string.c: contains string handling
-         functions that might be useful for any part of paraslash
-
-2004-11-30 20:10  maan
-
-       * command.c, server.c, server.h: make dbtool an extern variable in
-         command.c
-
-2004-11-30 03:07  maan
-
-       * mysql.c: small cleanups in com_info()
-
-2004-11-30 02:39  maan
-
-       * mysql.c: simplify sql query for dir.dir
-
-2004-11-30 02:30  maan
-
-       * mysql.c: simplify get_atts a lot
-
-2004-11-30 02:03  maan
-
-       * mysql.c: port com_info, introduce para_strcat and para_strdup
-
-2004-11-30 00:24  maan
-
-       * mysql.c: use dynamic buffers provided by new make_message().
-         Introduce para_malloc and para_realloc to avoid checking malloc's
-         return value for each malloc call
-
-2004-11-29 21:54  maan
-
-       * mysql.c: port com_us to the new api
-
-2004-11-29 02:17  maan
-
-       * mysql.c: cosmetics
-
-2004-11-29 02:08  maan
-
-       * Makefile.in, mysql.c, server.c, server.h: port the first command,
-         summary, to the new api. It is called _summary for now
-
-2004-11-29 01:10  maan
-
-       * mysql.c, server.c, server.h: check config file directly in
-         mysql_init
-
-2004-11-29 00:40  maan
-
-       * mysql.c, server.c, server.h: port config file parsing from
-         dbtool.c to mysql.c
-
-2004-11-28 23:47  maan
-
-       * command.c, server.c, server.h: pass dbtool pointer to parse_cmd
-         and actually search the (new, but still empty) dbtool list for
-         commands
-
-2004-11-28 23:29  maan
-
-       * command.c: first search the commands in (emtpy, by now) command
-         list which was returned by mysql_init
-
-2004-11-28 23:11  maan
-
-       * command.c, server.c, server.h: simplify command handling (let
-         functions return struct command* instead of struct
-         linked_cmd_list* which is going to be removed soon)
-
-2004-11-28 23:00  maan
-
-       * Makefile.in, NEWS, server.c, server.ggo, server.h: first
-         preparations (that shouldn't break anything) to include dbtool
-         inside para_server
-
-2004-11-28 22:58  maan
-
-       * mysql.c: this will replace dbtool.c
-
-2004-11-28 22:10  maan
-
-       * Makefile.in, NEWS, configure.ac: bump version to 0.1.2
-
-2004-11-28 21:41  maan
-
-       * afs.c: afs_send_chunk: close stream writer on errors
-
-2004-11-28 21:40  maan
-
-       * dbtool.c: cosmetics
-
-2004-11-28 20:15  maan
-
-       * dbtool.c: make all commands take 3 arguments as required by
-         struct command from server.h
-
-2004-11-28 20:04  maan
-
-       * dbtool.c: simplify decls
-
-2004-11-28 20:01  maan
-
-       * dbtool.c: remove unneeded #includes
-
-2004-11-28 19:57  maan
-
-       * dbtool.c: rename .func to .handler in struct com to match it more
-         closely to struct command defined in server.h
-
-2004-11-25 21:05  maan
-
-       * gui.c: C+L does not clear the screen. Do not claim it will do so
-         in online help
-
-2004-11-25 21:02  maan
-
-       * server.ggo: better online help
-
-2004-11-12 14:56  maan
-
-       * NEWS: [no log message]
-
-2004-11-12 14:56  maan
-
-       * dbtool.c: rename ca to cam (copy all meta data). It now also
-         copies numplayed and lastplayed time as well as the picture id.
-
-2004-11-05 15:40  maan
-
-       * NEWS, configure.ac: bump version to 0.1.1
-
-2004-11-05 15:28  maan
-
-       * NEWS: [no log message]
-
-2004-11-05 15:27  maan
-
-       * ogg.c: add gpl header and mention that it is derived from vcut.c
-
-2004-11-05 15:25  maan
-
-       * CREDITS: add Michael Smith (vcut)
-
-2004-11-05 15:17  maan
-
-       * dbtool.c: new command: mbox
-
-2004-11-05 13:44  maan
-
-       * server.c: set afs_status_flags to AFS_PLAYING | AFS_NEXT if -a
-         and -s were given
-
-2004-11-01 19:20  maan
-
-       * NEWS: [no log message]
-
-2004-10-27 18:39  maan
-
-       * README: add para_krell
-
-2004-10-25 04:21  maan
-
-       * mp3.c, ogg.c: set default values for open_cmd. Fixes segfault
-         with empty config file.
-
-2004-10-25 03:51  maan
-
-       * dbtool.c: get_a: return -1 if database has no attributes
-
-2004-10-25 00:09  maan
-
-       * sdl_gui.c: refresh pic after executing command
-
-2004-10-24 23:32  maan
-
-       * FEATURES: [no log message]
-
-2004-10-24 23:29  maan
-
-       * autogen.sh: simple script for autoconf etc
-
-2004-10-24 20:50  maan
-
-       * addons/gkrellm_cmd_display/Makefile: remove para_ctrl stuff
-
-2004-10-24 20:49  maan
-
-       * addons/gkrellm_cmd_display/para_ctrl.c: it is now called krell.c
-         and belongs to the main tree
-
-2004-10-24 20:41  maan
-
-       * configure.ac: check for gtk2 and build para_krell only if it was
-         found
-
-2004-10-24 20:40  maan
-
-       * Makefile.in: new target: para_krell
-
-2004-10-24 20:39  maan
-
-       * krell.c: former para_ctrl
-
-2004-10-24 05:01  maan
-
-       * dbtool.c: cosmetics
-
-2004-10-22 21:26  maan
-
-       * Makefile.in: change codename
-
-2004-10-22 21:26  maan
-
-       * NEWS: [no log message]
-
-2004-10-22 18:42  maan
-
-       * addons/gkrellm_cmd_display/para_ctrl.c: new macro PRINTF
-
-2004-10-22 18:04  maan
-
-       * addons/gkrellm_cmd_display/para_ctrl.c: More duku, __func__
-
-2004-10-22 15:15  maan
-
-       * addons/gkrellm_cmd_display/para_ctrl.c: do not eat cpu if there
-         is no para_server
-
-2004-10-22 13:18  maan
-
-       * configure.ac: bump version to 0.1.0
-
-2004-10-22 13:00  maan
-
-       * mp3.c, ogg.c: cosmetics
-
-2004-10-17 21:46  maan
-
-       * index.html: mention that all files are signed
-
-2004-10-17 21:20  maan
-
-       * PUBLIC_KEY: gnupg public key
-
-2004-10-17 19:59  maan
-
-       * dbtool.c: kill unused init_seed()
-
-2004-10-17 17:58  maan
-
-       * command.c: compute percentage defensively also in com_ff
-
-2004-10-17 17:55  maan
-
-       * gui.c: kill all decoders if status pipe dies
-
-2004-10-17 17:54  maan
-
-       * command.c: compute percentage defensively
-
-2004-10-17 17:05  maan
-
-       * README.dbtool: english improvements
-
-2004-10-14 23:17  maan
-
-       * dbtool.c: remove the magic recursive randomizer. It is no longer
-         used since Lastplayed is never null
-
-2004-10-14 22:45  maan
-
-       * gui.c: clear top win in init_wins. This should fix stray
-         characters in top.win after resizing the xterm
-
-2004-10-14 22:32  maan
-
-       * gui.c: kill unused #define
-
-2004-10-14 22:28  maan
-
-       * gui.c: do not include header files twice
-
-2004-10-14 21:42  maan
-
-       * README.dbtool, dbtool.c, dbtool.ggo: replace option emph_np by
-         more general default_score. This actually _reduces_ code size.
-
-2004-10-14 20:54  maan
-
-       * dbtool.c: simplify s_a_r_array
-
-2004-10-13 23:19  maan
-
-       * dbtool.c: insert _valid_ default value into colum lastplayed for
-         new songs
-
-2004-10-11 20:30  maan
-
-       * Makefile.in: use new picdir for the internal pics of para_server
-
-2004-10-11 20:21  maan
-
-       * pics/paraslash/: default.jpg, no_pics.jpg: moved from ..
-
-2004-10-11 20:20  maan
-
-       * pics/: default.jpg, no_pics.jpg: moved to pics/paraslash
-
-2004-10-11 20:18  maan
-
-       * pics/web/paraslash.png: moved from ../
-
-2004-10-11 20:18  maan
-
-       * pics/paraslash.png: moved to web
-
-2004-10-11 20:17  maan
-
-       * Makefile.in: small cleanups
-
-2004-10-11 19:57  maan
-
-       * pics/screenshots/: gui-2004-07-11.png, gui-2004-09-02.png,
-         gui-old.png, loglevel1-2004-07-28.txt, sdl_gui.jpg: more or less
-         old screenshots
-
-2004-10-11 19:16  maan
-
-       * index.html: it is now called manual.html, not manual.txt.html
-
-2004-10-11 19:15  maan
-
-       * Makefile.in: nuke targets tags and web as they only work on my
-         local machine anyway
-
-2004-10-11 17:59  maan
-
-       * pics/paraslash.png: logo from web page
-
-2004-10-11 17:20  maan
-
-       * index.html: the paraslash web page
-
-2004-10-10 23:10  maan
-
-       * NEWS: [no log message]
-
-2004-10-10 23:09  maan
-
-       * para.h: no more restrictions on comand length (I hope)
-
-2004-10-10 23:09  maan
-
-       * command.c: chop() can not be static since it is used by server
-         also
-
-2004-10-10 23:08  maan
-
-       * dbtool.c: cosmetics
-
-2004-10-10 23:02  maan
-
-       * client.c, server.c: no more restrictions on comand length (I
-         hope)
-
-2004-10-10 22:30  maan
-
-       * client.c: cosmetics
-
-2004-10-10 20:22  maan
-
-       * client.c: cosmetics
-
-2004-10-10 20:19  maan
-
-       * client.c: fix buffer overflow with long command lines
-
-2004-10-10 19:55  maan
-
-       * client.c: cosmetics
-
-2004-10-08 21:18  maan
-
-       * configure.ac: it runs fine with 2.53 (debian stable)
-
-2004-10-08 21:15  maan
-
-       * pob-ogg.ggo: forgotten to check it in
-
-2004-10-07 22:11  maan
-
-       * afs.c, gui.c, mp3.c, ogg.c, server.h: make gcc 2.95.4 happy
-
-2004-10-07 18:21  maan
-
-       * gui.c: close status pipe on read errors
-
-2004-10-07 18:10  maan
-
-       * command.c: free mem in correct order, fixes segfault on HUP
-
-2004-10-07 02:11  maan
-
-       * sdl_gui.c: make functions static where possible
-
-2004-10-07 00:18  maan
-
-       * README.dbtool: [no log message]
-
-2004-10-06 23:12  maan
-
-       * sdl_gui.c: make pictures work again
-
-2004-10-06 21:07  maan
-
-       * command.c, gui.c, server.c: cosmetics
-
-2004-10-06 20:35  maan
-
-       * command.c: make functions static where possible
-
-2004-10-06 20:32  maan
-
-       * command.c, server.h: use dynamically aloocated buffers in struct
-         command
-
-2004-10-06 19:33  maan
-
-       * dbtool.c: kill dead code in com_vrfy(): check for NULL entries
-
-2004-10-06 19:28  maan
-
-       * dbtool.c: always check return value of init()
-
-2004-10-06 19:24  maan
-
-       * dbtool.c: com_ca: shut down mysql connection
-
-2004-10-06 19:15  maan
-
-       * dbtool.c: fix memory leak
-
-2004-10-06 18:55  maan
-
-       * dbtool.c: free correct pointer
-
-2004-10-06 18:53  maan
-
-       * dbtool.c: refuse to insert too long stream/pic names
-
-2004-10-06 18:42  maan
-
-       * server.c: fix autoplay
-
-2004-10-06 18:33  maan
-
-       * README.dbtool: para_client hup is no longer necessary
-
-2004-10-06 18:30  maan
-
-       * afs.c, command.c, server.c, server.h: read stream list on demand
-         instead of keeping a (possibly obsolete) copy in memory. This
-         fixes com_stat which used stale pointers to current stream name
-         if server reloaded its stream_list due to SIGHUP. Another
-         advantage is that we don't need to send SIGHUP to the server any
-         more when modifying the stream list
-
-2004-10-04 03:14  maan
-
-       * command.c: fix integer overflow for very long (ogg) files
-
-2004-10-04 02:53  maan
-
-       * afs.c: return NULL on next request
-
-2004-10-04 02:52  maan
-
-       * ogg.c: end_of_input: close file and, more important, reset
-         short_write. This bug could cause files to be skipped. Ogg is
-         almost usable now
-
-2004-10-04 02:49  maan
-
-       * server.c: kill unneeded variable sw_pid
-
-2004-10-03 20:59  maan
-
-       * dbtool.c: set pic_id to 1 for new files
-
-2004-10-03 02:24  maan
-
-       * dbtool.c: com_sl: comment out debugging message
-
-2004-10-03 01:42  maan
-
-       * dbtool.c: set all but one filed as notnull. NULLs suck when
-         sorting
-
-2004-10-03 01:06  maan
-
-       * client.c: fix wrong order of arguments to clog that could cause
-         random segfaults
-
-2004-09-30 01:40  maan
-
-       * gui.c: fixup rereading of config file
-
-2004-09-27 02:53  maan
-
-       * command.c: fix integer overflow in stat output for very long ogg
-         files
-
-2004-09-27 02:27  maan
-
-       * ogg.c: dont update time when sending first page or when
-         repos_request
-
-2004-09-27 01:45  maan
-
-       * gui.c: reset buflen when deactivating stream io
-
-2004-09-27 01:28  maan
-
-       * gui.c: delete old stream io handling code
-
-2004-09-27 00:00  maan
-
-       * gui.c: loop over all audio formats in do_select and kill decoder
-         when inactive
-
-2004-09-26 19:09  maan
-
-       * gui.c: clog: print msg to stderr if curses not yet active
-
-2004-09-26 19:07  maan
-
-       * dbtool.c: so not duplicate info
-
-2004-09-26 18:44  maan
-
-       * ogg.c: do not log short writes
-
-2004-09-26 18:43  maan
-
-       * afs.c: set stream writer fd to non-blocking io
-
-2004-09-26 18:41  maan
-
-       * ogg.c: handle short writes properly (do not even try to rewrite)
-
-2004-09-26 16:20  maan
-
-       * server.c, server.ggo: new option: autoplay
-
-2004-09-26 15:44  maan
-
-       * afs.c: more fixes of the same kind
-
-2004-09-26 15:37  maan
-
-       * afs.c: do not segfault in audio_format_name() if no audio_format
-         was selected yet
-
-2004-09-26 14:33  maan
-
-       * fade.c: more detailed output about what is going on
-
-2004-09-24 13:45  maan
-
-       * gui.c: cosmetics
-
-2004-09-24 04:23  maan
-
-       * gui.c: kill reader if writer died and vice versa
-
-2004-09-24 03:09  maan
-
-       * afs.c, server.c: comment out noisy debugging messages
-
-2004-09-24 03:04  maan
-
-       * afs.c, mp3.c, ogg.c, server.c, server.h: major rearrangement of
-         struct audio_format
-
-2004-09-23 19:20  maan
-
-       * ogg.c: reintroduce first_page, clear vcut on errors
-
-2004-09-23 18:43  maan
-
-       * mp3.c: avoid double close on errors
-
-2004-09-23 01:06  maan
-
-       * fade.conf.sample: adapt to new syntax
-
-2004-09-23 01:01  maan
-
-       * gui.conf.sample: kill obsolete commands
-
-2004-09-23 00:52  maan
-
-       * gui.c: new internal key bindings for adjusting loglevel
-
-2004-09-22 22:27  maan
-
-       * ogg.c: rename label aaa, kill dead code
-
-2004-09-22 22:10  maan
-
-       * ogg.c: kill dead code
-
-2004-09-22 22:07  maan
-
-       * ogg.c: nuke first_page
-
-2004-09-22 21:54  maan
-
-       * ogg.c: get output of first page right (I hope)
-
-2004-09-22 21:10  maan
-
-       * gui.c: don't segfault when stopping decoder manually. Avoid
-         kill_decoder also.
-
-2004-09-22 20:32  maan
-
-       * ogg.c: nuke unneeded cutpoint
-
-2004-09-22 20:06  maan
-
-       * 1.0: [no log message]
-
-2004-09-22 13:41  maan
-
-       * INSTALL: typo
-
-2004-09-22 02:56  maan
-
-       * ogg.c: remove more useless variables
-
-2004-09-22 02:52  maan
-
-       * ogg.c: replace fprintf by clog
-
-2004-09-22 02:47  maan
-
-       * ogg.c: cosmetics
-
-2004-09-22 02:34  maan
-
-       * ogg.c: remove unused variables
-
-2004-09-22 01:27  maan
-
-       * gui.c: loglevel adjustment
-
-2004-09-22 00:47  maan
-
-       * gui.ggo: default loglevel: 4
-
-2004-09-22 00:46  maan
-
-       * README.dbtool: typo
-
-2004-09-22 00:03  maan
-
-       * gui.c, gui.ggo: new option loglevel
-
-2004-09-21 23:53  maan
-
-       * gui.c: new function clog, log more info to bot win instead of
-         status bar
-
-2004-09-21 22:01  maan
-
-       * gui.c: increase sleep time after reader/writer has died
-
-2004-09-21 21:16  maan
-
-       * gui.c: cosmetics
-
-2004-09-21 21:13  maan
-
-       * server.c: only send chunk if we are still playing
-
-2004-09-21 21:12  maan
-
-       * ogg.c: return early if there is no stream writer
-
-2004-09-21 21:10  maan
-
-       * pob-ogg.c: check return value of write and abort on errors. ifdef
-         out buffering for now.
-
-2004-09-21 20:53  maan
-
-       * gui.c, gui.ggo: introduce struct stream_io and siol[], an array
-         of such structs, each member holding all relevant information for
-         one audio format. Simplify options and add some docu for para_gui
-         -h.
-
-2004-09-21 18:12  maan
-
-       * gui.c: do not include \n in outputf
-
-2004-09-21 18:05  maan
-
-       * gui.c: print info top bot win when starting/stopping decoder
-
-2004-09-21 14:52  maan
-
-       * afs.c, command.c, gui.c, sdl_gui.c, server.h: print afs status
-         flags as extra line in stat output
-
-2004-09-20 03:23  maan
-
-       * ogg.c: loglevel adjustments
-
-2004-09-20 02:16  maan
-
-       * ogg.c: jumping appears to work
-
-2004-09-20 01:15  maan
-
-       * ogg.c: first version with jumping kind of working
-
-2004-09-19 23:31  maan
-
-       * command.c, mp3.c, server.h: long unsigned is enough
-
-2004-09-19 23:29  maan
-
-       * afs.c: return early from afs_send_chunk if there was a reposition
-         request
-
-2004-09-19 21:37  maan
-
-       * ogg.c: make granpos global and get rid of update_chunk_count
-
-2004-09-19 21:27  maan
-
-       * ogg.c: do not crash on jump in ogg files. Jumping still is not
-         working, but we are getting closer...
-
-2004-09-19 18:12  maan
-
-       * ogg.c: minor improvements
-
-2004-09-19 17:56  maan
-
-       * afs.c: use stop_stream instead of closing file manually
-
-2004-09-19 17:26  maan
-
-       * pob-ogg.c: skip initial crap before first ogg packet, more
-         logging, fix config_file thinko
-
-2004-09-19 15:42  maan
-
-       * pob-ogg.c: Oh boy, that was buggy. For instance, it included
-         client_cmdline.h instead of pob-ogg.cmdline.h
-
-2004-09-18 15:29  maan
-
-       * configure.ac: build para_pob-ogg if oggvorbis libs are found
-
-2004-09-18 15:08  maan
-
-       * mp3.c: comment out noisy debug message
-
-2004-09-18 15:07  maan
-
-       * afs.c: add audio format heuristics (based on filename)
-
-2004-09-18 13:44  maan
-
-       * command.c, mp3.c, para.h, server.c: nuke PETER_B ;) As in real
-         life, PETER_B happened to be useless for anything
-
-2004-09-18 13:09  maan
-
-       * mp3.c: stop stream writer on repos request. This gets rid of all
-         remaining cases of audio clipping, I hope
-
-2004-09-18 13:07  maan
-
-       * mp3.c: rename reposition_stream() to mp3_reposition_stream
-
-2004-09-18 13:06  maan
-
-       * mp3.c: split mp3_stop_stream, new function stop_stream_writer()
-
-2004-09-18 13:03  maan
-
-       * mp3.c: rename stop_stream to mp3_stop_stream
-
-2004-09-17 04:39  maan
-
-       * ogg.c: new function: get_page. Makes ogg_read_chunk much more
-         readable
-
-2004-09-17 04:14  maan
-
-       * ogg.c: remove dead code
-
-2004-09-17 04:12  maan
-
-       * ogg.c: no need to set have_page twice
-
-2004-09-17 04:08  maan
-
-       * ogg.c: avoid needless goto
-
-2004-09-17 03:30  maan
-
-       * ogg.c: new function page_out to clean up the cruft a bit
-
-2004-09-17 03:17  maan
-
-       * ogg.c: still crappy as hell, but a bit more stable. Repositioning
-         is not working yet.
-
-2004-09-17 01:27  maan
-
-       * fade.c: more verbose output
-
-2004-09-17 01:27  maan
-
-       * NEWS: [no log message]
-
-2004-09-17 01:10  maan
-
-       * gui.c: fix clipping when returning from external command
-
-2004-09-17 00:53  maan
-
-       * afs.c, dbtool.c, dbtool_template.c, gui.c: rename fut to sl
-         (score list). It did not print the future anyway, depending on
-         the particular score definition
-
-2004-09-15 22:13  maan
-
-       * afs.c, command.c, server.h: si: report supported audio formats
-
-2004-09-15 21:22  maan
-
-       * command.c: rename uptime to si (server info)
-
-2004-09-12 20:49  maan
-
-       * fade.c, fade.ggo: introduce fall asleep stream vs sleep_stream
-
-2004-09-12 20:33  maan
-
-       * mp3.c: nicer id3 tag info
-
-2004-09-12 20:33  maan
-
-       * command.c: use long unsigned for computing seconds etc. in
-         statusbar
-
-2004-09-12 20:32  maan
-
-       * ogg.c: it kinda works in some sense if you do not try to jump
-         around...
-
-2004-09-12 20:20  maan
-
-       * afs.c: cosmetics
-
-2004-09-12 20:20  maan
-
-       * INSTALL: better english
-
-2004-09-12 20:19  maan
-
-       * CREDITS: [no log message]
-
-2004-09-11 05:55  maan
-
-       * INSTALL: typo
-
-2004-09-07 21:47  maan
-
-       * server.h: function prototype changes
-
-2004-09-07 21:45  maan
-
-       * server.ggo: stream_write command may be given multiple times,
-         nuke afs_buf
-
-2004-09-07 21:44  maan
-
-       * pob-ogg.c: introduce OGG_BUFFSIZE and fill buffer halfways before
-         any output occurs
-
-2004-09-07 21:41  maan
-
-       * mp3.c: mostly rearrangement of functions and small adjustments
-
-2004-09-07 21:39  maan
-
-       * gui.c: support oggvorbis, not yet fit for more audio formats
-
-2004-09-07 21:36  maan
-
-       * command.c: adjustments due to removal of afs_buf and renaming of
-         mmd->frames_sent to mmd->chunks_sent
-
-2004-09-07 21:34  maan
-
-       * afs.c: nuke generic_write_chunk and move relevant bits  to mp3.
-         Iplement better syntax for stream_write_cmd (can be given
-         multiple times, one for each sound format). Many small changes
-
-2004-09-07 21:27  maan
-
-       * server.c: nuke afs_buf, send_chunk takes FILE* now
-
-2004-09-07 21:24  maan
-
-       * configure.ac: add checks for oggvorbis
-
-2004-09-07 21:23  maan
-
-       * Makefile.in: add targets for para_pob-ogg
-
-2004-09-04 13:51  maan
-
-       * FEATURES: [no log message]
-
-2004-09-02 20:19  maan
-
-       * server.h: remove superflous function prototypes
-
-2004-09-02 20:12  maan
-
-       * mp3.c: simplify open_stream
-
-2004-09-02 20:02  maan
-
-       * sdl_gui.c: stat: print audio format
-
-2004-09-02 19:51  maan
-
-       * command.c, gui.c: stat: print audio format, report size in KB
-         instead of bytes
-
-2004-09-02 19:26  maan
-
-       * command.c, server.c, server.h: move uptime_str() from server.c to
-         command.c, it is only used there
-
-2004-09-02 19:22  maan
-
-       * server.c: whitespace fixes
-
-2004-09-02 19:21  maan
-
-       * server.c, server.h: make more functions static
-
-2004-09-02 19:12  maan
-
-       * server.c, server.h: remove logfile from mmd
-
-2004-09-02 18:56  maan
-
-       * server.c, server.h: remove user_list from mmd
-
-2004-09-02 18:41  maan
-
-       * server.c: whitespace fixes
-
-2004-09-02 18:37  maan
-
-       * server.c, server.h: move config_file from mmd to parse_config
-
-2004-09-02 18:24  maan
-
-       * server.c: fix --config_file option
-
-2004-09-02 18:19  maan
-
-       * command.c, server.h: move dbtool_has_pic from mmd to command.c
-
-2004-09-02 18:10  maan
-
-       * command.c, server.c, server.h: move lcl_head from mmd to
-         command.c
-
-2004-09-02 18:09  maan
-
-       * afs.c: loglevel adjustment
-
-2004-09-02 18:06  maan
-
-       * gui.c: change stream_write_cmd_arg to mp3_write_cmd_arg
-
-2004-09-02 17:53  maan
-
-       * afs.c, server.c: cosmetics
-
-2004-09-02 17:41  maan
-
-       * gui.conf.sample, gui.ggo: rename stream_read_cmd to mp3_read_cmd,
-         dito for write
-
-2004-09-02 17:41  maan
-
-       * afs.c, command.c, server.h: commands stat and sb: print file type
-
-2004-09-02 17:39  maan
-
-       * 1.0: [no log message]
-
-2004-09-02 17:04  maan
-
-       * afs.c, server.c, server.h: mv alloc_afs_buf() from server to afs
-
-2004-09-02 16:41  maan
-
-       * afs.c, server.c, server.h: remove extern conf struct from afs.c.
-         Its only use was afs_buf_size which is now passed to
-         afs_send_chunk instead
-
-2004-09-02 16:38  maan
-
-       * NEWS: [no log message]
-
-2004-09-02 16:23  maan
-
-       * mp3.h: no longer needed
-
-2004-09-02 16:22  maan
-
-       * Makefile.in, afs.c, mp3.c, mp3.h, para.h, server.c, server.h:
-         move remaining mp3 specific stuff to mp3.c, introduce
-         open_stream, stop_stream function pointers for completely modular
-         audio format support. Make more functions static, get rid of
-         mp3.h
-
-2004-08-31 03:26  maan
-
-       * mp3.c: return 0 on eof instead of -1
-
-2004-08-31 02:32  maan
-
-       * afs.c, mp3.c, mp3.h, server.h: add infrastructure for dealing
-         with audio files of different format, many small cleanups
-
-2004-08-30 23:18  maan
-
-       * mp3.c, mp3.h: reduce mp3.h to bare minimum by moving everything
-         but function prototypes to mp3.c
-
-2004-08-30 22:46  maan
-
-       * Makefile.in, afs.c, mp3.c, mp3.h: move fread from afs.c to mp3.c
-         into new function mp3_read_chunk. Do some renaming also.
-
-2004-08-30 21:16  maan
-
-       * sdl_gui.ggo: kill option no_pics
-
-2004-08-30 21:15  maan
-
-       * mp3.c: print replacement texts if no id3 tag was found
-
-2004-08-30 21:14  maan
-
-       * command.c: move audio file info to status_volatile since it
-         contains bitrate which is not constant for vbr files
-
-2004-08-30 21:00  maan
-
-       * sdl_gui.c: adapt to new stat output
-
-2004-08-30 20:28  maan
-
-       * gui.c: adapt to new stat output
-
-2004-08-30 19:56  maan
-
-       * para.h: cosmetics
-
-2004-08-30 19:54  maan
-
-       * mp3.c: make functions static where possible
-
-2004-08-30 19:51  maan
-
-       * afs.c, mp3.c, mp3.h, server.h: move mp3info struct from mmd to
-         mp3.c where it belongs
-
-2004-08-30 19:21  maan
-
-       * afs.c, command.c, server.c, server.h: rename mp3_meta_data to
-         misc_meta_data
-
-2004-08-30 19:16  maan
-
-       * afs.c, command.c, mp3.c, mp3.h, server.h: move mp3 specific stuff
-         to mp3.c
-
-2004-08-30 16:52  maan
-
-       * afs.c: rename mp3_stream to audio_file
-
-2004-08-30 16:35  maan
-
-       * command.c, dbtool.c: cosmetics
-
-2004-08-30 16:25  maan
-
-       * Makefile.in: include manual.txt in tgz
-
-2004-08-30 16:19  maan
-
-       * INSTALL: [no log message]
-
-2004-08-30 15:43  maan
-
-       * Makefile.in, para.h: change mp3tech.[ch] to mp3.[ch]
-
-2004-08-30 15:40  maan
-
-       * mp3.c, mp3.h: former mp3tech.[ch]
-
-2004-08-30 15:40  maan
-
-       * mp3tech.c, mp3tech.h: renamed to mp3.[ch]
-
-2004-08-30 15:38  maan
-
-       * mp3tech.c, mp3tech.h: copyright fixes
-
-2004-08-30 15:19  maan
-
-       * Makefile.in: remove dependency on Makefile for cmdline stuff, so
-         that gengetopt is not required for build from tgz
-
-2004-08-30 05:44  maan
-
-       * Makefile.in, NEWS, afs.c, command.c, configure.ac, mp3tech.c,
-         mp3tech.h, para.h, server.c, server.h: major mp3-secific cleanup
-         and enhancements. This should fix timing issues with vbr mp3s
-
-2004-08-30 05:07  maan
-
-       * mp3info.h: most of it was never used, the rest went somewhere
-         else
-
-2004-08-30 05:05  maan
-
-       * textfunc.h: unnecessary
-
-2004-08-25 21:21  maan
-
-       * gui.c: whitespace cleanup
-
-2004-08-25 21:12  maan
-
-       * gui.c: fix memory leak in align_str, add some debugging code
-
-2004-08-23 23:59  maan
-
-       * 1.0: [no log message]
-
-2004-08-23 00:29  maan
-
-       * dbtool.c: comment out check for invalid null entries in
-         attributes as attribute columns are declared non-null anyway
-
-2004-08-21 17:18  maan
-
-       * server.c: minor main() cleanup
-
-2004-08-21 16:46  maan
-
-       * fade.ggo, server.ggo: beautify output of help option
-
-2004-08-21 15:44  maan
-
-       * client.c, dbtool.c, fade.c, gui.c, net.c, sdl_gui.c, server.c:
-         update to gengetopt 2.12.2 requires additional arg for
-         cmdline_parser_configfile
-
-2004-08-15 19:07  maan
-
-       * Makefile.in: Add ChangeLog to phony targets, cosmetics
-
-2004-08-15 19:04  maan
-
-       * dbtool.ggo: typo
-
-2004-08-15 18:35  maan
-
-       * afs.c: update_dbinfo: whitespace fixes
-
-2004-08-15 18:34  maan
-
-       * afs.c: update_dbinfo: always print three lines
-
-2004-08-15 04:01  maan
-
-       * dbtool.c: fix info: for songs not yet played, dir of song was not
-         shown
-
-2004-08-13 19:30  maan
-
-       * README.dbtool: another typo
-
-2004-08-13 19:17  maan
-
-       * README.dbtool: whitespace fixes to make grutatxt happy
-
-2004-08-13 19:13  maan
-
-       * README.dbtool: typo
-
-2004-08-13 19:08  maan
-
-       * NEWS: [no log message]
-
-2004-08-05 23:19  maan
-
-       * dbtool.c: use escaped_name also for updating numplayed
-
-2004-08-04 02:36  maan
-
-       * dbtool.c: fix skip command
-
-2004-07-29 12:50  maan
-
-       * server.c: fix log function for loglevel > VERBOSE
-
-2004-07-29 03:52  maan
-
-       * Makefile.in, NEWS: change codename
-
-2004-07-28 14:06  maan
-
-       * README: typo
-
-2004-07-25 17:41  maan
-
-       * VERSION: no longer needed
-
-2004-07-25 17:40  maan
-
-       * NEWS, configure.ac: bump version to 99
-
-2004-07-24 20:50  maan
-
-       * mp3tech.h: further simplify get_mp3_info
-
-2004-07-24 20:12  maan
-
-       * afs.c: skip song if mp3_info fails
-
-2004-07-24 19:22  maan
-
-       * mp3tech.c, mp3tech.h: further simplify get_mp3_info
-
-2004-07-24 17:51  maan
-
-       * mp3info.h, mp3tech.c: kill unneeded code
-
-2004-07-24 03:08  maan
-
-       * pob-ogg.c: simple http streamer for pogg-http
-
-2004-07-23 21:56  maan
-
-       * gui.c: simplify item placement in top.win
-
-2004-07-23 18:57  maan
-
-       * client.c, afs.c: __func__
-
-2004-07-23 18:50  maan
-
-       * client.c: whitespaces
-
-2004-07-23 18:47  maan
-
-       * net.c: __func__, whitespaces
-
-2004-07-23 18:43  maan
-
-       * server.c: typo
-
-2004-07-23 18:41  maan
-
-       * server.c: __func__
-
-2004-07-23 18:33  maan
-
-       * server.c: whitespace cleanup
-
-2004-07-23 18:31  maan
-
-       * server.c: cosmetics
-
-2004-07-23 18:26  maan
-
-       * INSTALL, Makefile.in, afs.c: cosmetics
-
-2004-07-21 23:46  maan
-
-       * Makefile.in: simplify install
-
-2004-07-21 23:45  maan
-
-       * dbtool.c, dbtool.ggo: new option: emph_np
-
-2004-07-21 23:43  maan
-
-       * README.dbtool: add section on pictures
-
-2004-07-21 23:29  maan
-
-       * README.dbtool: more details on scoring
-
-2004-07-21 20:29  maan
-
-       * afs.c: use proper types for return value of fread/write
-
-2004-07-20 20:15  maan
-
-       * gui.c: detect blocking writes by time, not by count
-
-2004-07-20 16:25  maan
-
-       * maint.mk: everything went to Makefile.in
-
-2004-07-20 16:24  maan
-
-       * INSTALL, Makefile.in, gui.c, maint.mk: INSTALL
-
-2004-07-20 15:37  maan
-
-       * FEATURES: [no log message]
-
-2004-07-20 04:34  maan
-
-       * configure.ac: cosmetics
-
-2004-07-20 03:46  maan
-
-       * dbtool.c: uncomment unused function
-
-2004-07-20 03:46  maan
-
-       * configure.ac: dbtool_template is no longer needed in extras
-         because it's always built
-
-2004-07-20 03:37  maan
-
-       * Makefile.in: introduce maintainer-clean for removing _all_
-         derived files
-
-2004-07-20 03:21  maan
-
-       * configure.ac: generated by autoscan, but heavily edited
-
-2004-07-20 02:52  maan
-
-       * gui.ggo: set default to auto-decoding
-
-2004-07-20 02:51  maan
-
-       * gui.c: reduce use of global variables
-
-2004-07-20 02:02  maan
-
-       * gui.ggo: input timeout is long gone
-
-2004-07-20 02:01  maan
-
-       * gui.c: cosmetics
-
-2004-07-20 01:20  maan
-
-       * gui.c: fix line numbering in COMMAND_MODE, use va_list for
-         print_in_bar
-
-2004-07-20 01:16  maan
-
-       * NEWS: [no log message]
-
-2004-07-20 01:16  maan
-
-       * Makefile.in: add -WAll to CCFLAGS, fix typo
-
-2004-07-19 21:21  maan
-
-       * para.h: don't include version.h
-
-2004-07-19 21:20  maan
-
-       * mp3info.h: resolve -DVERSION conflict
-
-2004-07-19 21:19  maan
-
-       * Makefile.in, maint.mk: move stuff from maint.mk to Makefile.in,
-         nuke paraslash_light
-
-2004-07-19 18:35  maan
-
-       * Makefile.in: use
-
-2004-07-19 18:07  maan
-
-       * install-sh: autoconf refuses to work without it, strange...
-
-2004-07-19 17:46  maan
-
-       * dbtool.c: include mysql/mysql.h instead of mysql.h
-
-2004-07-19 17:45  maan
-
-       * config.mk: no longer needed
-
-2004-07-19 17:44  maan
-
-       * SFont.c, SFont.h, sdl_gui.c: include SDL/SDL.h instead of SDL.h
-
-2004-07-19 17:43  maan
-
-       * Makefile: now created by autoconf from Maikefile.in
-
-2004-07-19 17:42  maan
-
-       * Makefile.in: switch to autoconf
-
-2004-07-19 12:19  maan
-
-       * gui.c: fix line numbering in command mode, cosmetics
-
-2004-07-19 12:18  maan
-
-       * afs.c: don't kill stream writer when song is finished
-
-2004-07-19 12:17  maan
-
-       * server.c: use IPC_PRIVATE, not hardcoded number for semget
-
-2004-07-15 20:57  maan
-
-       * command.c: fix com_ps
-
-2004-07-15 18:57  maan
-
-       * command.c: kill useless sleep, fix possible segfault
-
-2004-07-15 18:47  maan
-
-       * command.c: cosmetics
-
-2004-07-15 18:38  maan
-
-       * afs.c, command.c, server.c, server.h: fix play command by
-         introducing a new member in mmd: old_stream. It contains the
-         number of the stream that was selected as the song started.
-         Moreover, change mmd->stream from char[] to int. This makes the
-         patch so large.
-
-2004-07-14 02:01  maan
-
-       * dbtool_template.c, server.ggo: cosmetics
-
-2004-07-13 02:40  maan
-
-       * command.c: uptime: add afs_buf size to output
-
-2004-07-13 02:15  maan
-
-       * server.c: use PROCEED_MSG macro
-
-2004-07-13 02:03  maan
-
-       * server.c: cosmetics
-
-2004-07-13 01:57  maan
-
-       * server.c: re-allocate afs_buf on HUP, it's size might have
-         changed
-
-2004-07-13 01:56  maan
-
-       * afs.c: afs_send_chunk: rewrite on partial writes
-
-2004-07-13 00:03  maan
-
-       * fade.c: fade did not read config for silly reasons. Fix buffer
-         overflow while at it
-
-2004-07-12 22:48  maan
-
-       * dbtool.c, gui.c, sdl_gui.c: output also directory of sound file
-         in dbinfo
-
-2004-07-12 02:24  maan
-
-       * server.ggo: make help fit on 80 column terminals
-
-2004-07-12 02:23  maan
-
-       * server.c: move log message to where it belongs
-
-2004-07-12 02:23  maan
-
-       * para.h: cosmetics
-
-2004-07-12 02:19  maan
-
-       * gui.c: fix hang-when-stopped bug
-
-2004-07-12 02:18  maan
-
-       * afs.c: __func__
-
-2004-07-12 00:03  maan
-
-       * FEATURES: [no log message]
-
-2004-07-11 22:57  maan
-
-       * INSTALL, README, README.dbtool: various clarifications in
-         documentation
-
-2004-07-11 21:31  maan
-
-       * gui.c: init curses and winch cleanup
-
-2004-07-11 18:41  maan
-
-       * gui.c: hust re-order functions a bit
-
-2004-07-11 18:32  maan
-
-       * gui.c: dont close status pipe for external commands
-
-2004-07-11 17:33  maan
-
-       * gui.c: further simplify do_select logic
-
-2004-07-10 01:01  maan
-
-       * afs.c, server.c, server.ggo, server.h: make chunk buf size for
-         afs run-time configurable
-
-2004-07-09 02:39  maan
-
-       * gui.c: simplify logic in do_select
-
-2004-07-07 23:50  maan
-
-       * Makefile, command.c: output also build date, system and compiler
-         version in command 'version'
-
-2004-07-07 23:49  maan
-
-       * gui.c: cosmetics
-
-2004-07-07 22:57  maan
-
-       * fade.c: fix potential buffer overflow if /home/maan is too long
-
-2004-07-07 22:56  maan
-
-       * afs.c: cosmetics
-
-2004-07-07 22:55  maan
-
-       * gui.c: do_select: logical cleanup
-
-2004-06-30 13:26  maan
-
-       * fade.c: fix waketime in sweet_dreams
-
-2004-06-23 23:32  maan
-
-       * exec.c, server.c, server.ggo, server.h: move popeostream writer
-
-2004-06-23 23:31  maan
-
-       * afs.c: major send_chunk cleanup. Hot!
-
-2004-06-22 01:31  maan
-
-       * gui.c: cleanup dead code
-
-2004-06-20 18:13  maan
-
-       * server.ggo: kill unused option
-
-2004-06-20 18:10  maan
-
-       * FEATURES, INSTALL: some clarifications, typos
-
-2004-06-20 18:08  maan
-
-       * config.mk: cosmetics
-
-2004-06-20 18:06  maan
-
-       * fade.c: bail out if mixer cant be opened
-
-2004-06-20 17:55  maan
-
-       * fade.c: simplify sweet_dreams
-
-2004-06-20 16:28  maan
-
-       * command.c: improve play command: accepts stream as first
-         (optional) argument
-
-2004-06-20 16:25  maan
-
-       * gui.c: dont suck cpu if no server is available
-
-2004-06-12 03:10  maan
-
-       * gui.c: cosmetics
-
-2004-06-10 01:34  maan
-
-       * para.h: add prototype for exec_cmdline_pid_bg
-
-2004-06-09 03:04  maan
-
-       * gui.c: fix missing write on command exec
-
-2004-06-09 02:06  maan
-
-       * gui.c: check also stream write pipe in do_select, introduce ascii
-         logo
-
-2004-06-08 02:57  maan
-
-       * gui.c: it works fine with only 13 lines. Fix minor sigwinch bug
-         when resizing to very small windows
-
-2004-06-08 02:45  maan
-
-       * gui.c: fix color of separator
-
-2004-06-08 02:40  maan
-
-       * gui.c: kill com_exit. Leaving decoder in bg wont work anymore
-
-2004-06-08 02:36  maan
-
-       * gui.c: make it survive partial writes
-
-2004-06-08 02:08  maan
-
-       * gui.c: fix help output
-
-2004-06-08 02:05  maan
-
-       * gui.c: cosmetics
-
-2004-06-08 01:51  maan
-
-       * gui.c: retain screen content on window changes
-
-2004-06-07 23:20  maan
-
-       * gui.c: terminate decoder after 10 times EAGAIN
-
-2004-06-07 04:15  maan
-
-       * gui.c: better sigwinch handling
-
-2004-06-07 03:20  maan
-
-       * gui.c: it is pointless to have a fuction that only contains a
-         for(;;) loop
-
-2004-06-07 02:54  maan
-
-       * gui.c: avoid busy loop when there is nothing to do
-
-2004-06-07 02:12  maan
-
-       * gui.conf.sample: some more examples
-
-2004-06-07 02:02  maan
-
-       * gui.c: add some docu
-
-2004-06-07 01:44  maan
-
-       * gui.c: fix trailing whitespace
-
-2004-06-07 01:41  maan
-
-       * gui.c: no need to set nodelay every time
-
-2004-06-07 01:21  maan
-
-       * gui.ggo: short command line options
-
-2004-06-07 01:20  maan
-
-       * gui.c: simplify key_map, cosmetics
-
-2004-06-07 00:59  maan
-
-       * gui.conf.sample: update to new syntax
-
-2004-06-07 00:47  maan
-
-       * gui.c: cosmetics
-
-2004-06-07 00:43  maan
-
-       * gui.c: nuke GETSTR mode of do_select and com_decode. Many small
-         improvements
-
-2004-06-07 00:42  maan
-
-       * exec.c: two new exec functions without pipes. redirect unneded
-         fds to /dev/null
-
-2004-06-06 17:45  maan
-
-       * exec.c, gui.c, gui.ggo, para.h: implement own functions for
-         stream io
-
-2004-06-06 14:37  maan
-
-       * gui.c: new stop_decoder command
-
-2004-05-29 21:46  maan
-
-       * gui.c: declare more functions as static
-
-2004-05-29 21:43  maan
-
-       * gui.c: more cosmetics
-
-2004-05-29 21:28  maan
-
-       * gui.c: cosmetics
-
-2004-05-29 21:27  maan
-
-       * exec.c: dont mess with stderr
-
-2004-05-29 21:27  maan
-
-       * gui.c: bot window needs at least two lines
-
-2004-05-29 18:32  maan
-
-       * gui.c: color handling cleanup
-
-2004-05-29 17:36  maan
-
-       * gui.c: cosmetics
-
-2004-05-29 17:28  maan
-
-       * NEWS, gui.conf.sample: NEWS
-
-2004-05-29 17:21  maan
-
-       * fade.conf.sample: add fade options
-
-2004-05-29 17:21  maan
-
-       * gui.conf.sample: remove fade options
-
-2004-05-29 17:19  maan
-
-       * gui.c: remove dead code, small cleanups
-
-2004-05-29 17:05  maan
-
-       * exec.c, gui_common.c: move file_exists() from gui_common.c to
-         exec.c since fade also needs it
-
-2004-05-29 17:04  maan
-
-       * Makefile, config.mk: add para_fade
-
-2004-05-29 17:03  maan
-
-       * gui.c, gui.ggo: nuke soundcard stuff which was moved to fade
-
-2004-05-29 17:03  maan
-
-       * fade.c, fade.ggo: contains soundcard and linux specific stuff,
-         ripped out of gui.c, gui.ggo
-
-2004-05-29 14:12  maan
-
-       * gui.ggo: use typestr
-
-2004-05-29 13:45  maan
-
-       * README: add dbadm
-
-2004-05-27 23:48  maan
-
-       * gui_common.c, para.h: add prototypes of new exec functions
-
-2004-05-27 23:48  maan
-
-       * gui.c: use new exec functions to obtain pid of child
-
-2004-05-27 23:46  maan
-
-       * exec.c: fix up exec functions (use exec instead of return,
-         uhuhuhu), add variants of several functions that can return the
-         pid of child processes
-
-2004-05-27 23:44  maan
-
-       * dbadm.c: fix potential segfault
-
-2004-05-23 18:08  maan
-
-       * dbadm.c: fix menu in case of small window size
-
-2004-05-23 16:16  maan
-
-       * dbadm.c: use static functions
-
-2004-05-23 16:11  maan
-
-       * dbadm.c: fix filename printing for long filenames
-
-2004-05-23 15:41  maan
-
-       * Makefile, dbadm.c: use internal popen_xxx fuctions
-
-2004-05-22 16:23  maan
-
-       * Makefile, config.mk: include para_dbadm
-
-2004-05-22 16:22  maan
-
-       * client.c, server.c: increase limit for command line length
-
-2004-05-22 04:20  maan
-
-       * dbadm.c: color cleanups
-
-2004-05-22 03:38  maan
-
-       * dbadm.c: many small cleanups
-
-2004-05-22 02:44  maan
-
-       * dbadm.c: first usable version
-
-2004-05-22 01:02  maan
-
-       * dbadm.c: small tool to modify attributes
-
-2004-05-21 02:35  maan
-
-       * gui.c: new command: toggle auto decoding
-
-2004-05-21 01:54  maan
-
-       * gui.c: kill children on sigint
-
-2004-05-21 00:55  maan
-
-       * gui.c: close status pipe before executing external commands,
-         reopen afterwards
-
-2004-05-15 18:51  maan
-
-       * gui.c: typo
-
-2004-05-15 18:50  maan
-
-       * dbtool.c: free all dynamically allocated resources, static
-         functions, reduce use of exit()
-
-2004-05-12 21:23  maan
-
-       * gui.c: comment out debugging messages
-
-2004-05-12 21:18  maan
-
-       * gui.c: shutdown curses on external commands
-
-2004-05-12 20:30  maan
-
-       * NEWS: [no log message]
-
-2004-05-10 23:09  maan
-
-       * server.c: cosmetics
-
-2004-05-10 23:09  maan
-
-       * client.c: use C99 identifier __func__
-
-2004-05-10 22:12  maan
-
-       * para.h: avoid compiler warning
-
-2004-05-10 22:11  maan
-
-       * afs.c, command.c, server.c: update dbinfo only after commands
-         with perms & DB_WRITE != 0
-
-2004-05-10 04:20  maan
-
-       * gui.c: cosmetics
-
-2004-05-10 03:48  maan
-
-       * gui.c: make errmsg for unknown keys work again
-
-2004-05-10 03:39  maan
-
-       * gui.conf.sample: add standard key mappings
-
-2004-05-10 03:31  maan
-
-       * para.h: key is now a string, not a char
-
-2004-05-10 03:31  maan
-
-       * exec.c: typo
-
-2004-05-10 03:30  maan
-
-       * gui.c: make all commands runtime-configurable, make function keys
-         and control keys work in configfile, much nicer help page
-
-2004-05-09 22:12  maan
-
-       * gui.c: fix line numbering in help
-
-2004-05-09 22:08  maan
-
-       * server.c: move split_args function to exec.c
-
-2004-05-09 22:07  maan
-
-       * para.h: add new struct gui_command
-
-2004-05-09 22:06  maan
-
-       * gui.c: nicify help and improve key map handling
-
-2004-05-09 22:04  maan
-
-       * exec.c: move split_args from server.c, new function
-         popen_read_client_cmdline
-
-2004-05-09 16:29  maan
-
-       * gui.c, maint.mk: cosmetics
-
-2004-05-08 15:04  maan
-
-       * NEWS: [no log message]
-
-2004-05-08 15:01  maan
-
-       * gui.c: new command: V (print version)
-
-2004-05-08 14:31  maan
-
-       * maint.mk: set umask to 022 before creating files. Ugly
-
-2004-05-05 00:11  maan
-
-       * gui.c: cosmetics
-
-2004-05-04 23:40  maan
-
-       * gui.ggo: add new option: key_map to map keys to shell commands
-
-2004-05-04 23:26  maan
-
-       * gui.c: make reread config work again, cleanups
-
-2004-05-04 23:11  maan
-
-       * gui.c: kill key maps 0-9 (volume setting)
-
-2004-05-04 23:05  maan
-
-       * gui.conf.sample: add key_map comments
-
-2004-05-04 22:52  maan
-
-       * gui.c: implement key mappings, kill bogus transform_vol
-
-2004-05-04 02:31  maan
-
-       * client.c, dbtool.c, gui.c, gui.ggo, sdl_gui.c, server.c: update
-         to recent version of gengetopt
-
-2004-04-25 18:04  maan
-
-       * addons/gkrellm_cmd_display/para_ctrl.c: dont crash if no pic was
-         found
-
-2004-04-25 16:09  maan
-
-       * dbtool.c: get pic by identifier if name starts with '#'
-
-2004-04-25 16:08  maan
-
-       * bash_completion: add some more commands
-
-2004-04-25 16:01  maan
-
-       * README: cosmetics
-
-2004-04-25 04:52  maan
-
-       * addons/gkrellm_cmd_display/para_ctrl.c: info text, make it
-         survive theme cgange, cleanups
-
-2004-04-24 16:14  maan
-
-       * addons/gkrellm_cmd_display/para_ctrl.c: cosmetics
-
-2004-04-18 00:29  maan
-
-       * addons/gkrellm_cmd_display/: Makefile, cmd_display.c: again, too
-         much to document. Still buggy wrt opening/closing pipes
-
-2004-04-17 23:53  maan
-
-       * addons/gkrellm_cmd_display/para_ctrl.c: too much to tell
-
-2004-04-17 18:26  maan
-
-       * addons/gkrellm_cmd_display/para_ctrl.c: gkrellm plugin that
-         displays paraslash images
-
-2004-04-17 15:56  maan
-
-       * NEWS, command.c: new command: sc (song change)
-
-2004-04-10 13:10  maan
-
-       * addons/gkrellm_cmd_display/cmd_display.c: make scrolling work
-         again and make scrolling speed configurable
-
-2004-04-10 12:36  maan
-
-       * dbtool.c: cleanups
-
-2004-04-08 20:39  maan
-
-       * addons/gkrellm_cmd_display/cmd_display.c: make click left button
-         exec Mcommand
-
-2004-04-08 14:08  maan
-
-       * addons/gkrellm_cmd_display/cmd_display.c: scroll text
-
-2004-04-05 02:08  maan
-
-       * addons/gkrellm_cmd_display/cmd_display.c: cleanups
-
-2004-04-05 01:26  maan
-
-       * addons/gkrellm_cmd_display/cmd_display.c: cleanups
-
-2004-04-05 00:51  maan
-
-       * addons/gkrellm_cmd_display/: cmd_display.c: Can't crash it any
-         more
-
-2004-04-04 21:30  maan
-
-       * addons/gkrellm_cmd_display/cmd_display.c: fix memory leak, make
-         mouse button work again
-
-2004-04-04 20:21  maan
-
-       * addons/gkrellm_cmd_display/: Makefile, cmd_display.c: too much to
-         mention
-
-2004-04-04 16:15  maan
-
-       * addons/gkrellm_cmd_display/: Makefile, cmd_display.c: former
-         gkrellm-fileread-2.00
-
-2004-03-17 13:42  maan
-
-       * maint.mk: cosmetics
-
-2004-03-17 13:41  maan
-
-       * Makefile: use type -p rather than which to find poc-fec
-
-2004-03-17 13:36  maan
-
-       * 1.0: [no log message]
-
-2004-02-24 14:35  maan
-
-       * NEWS: [no log message]
-
-2004-02-20 16:27  maan
-
-       * gui.c: new command: x (quit, but leave decoder)
-
-2004-02-20 00:50  maan
-
-       * client.c: handle binary input properly
-
-2004-02-14 00:38  maan
-
-       * dbtool.c: cosmetics
-
-2004-02-02 02:33  maan
-
-       * command.c: cosmetics
-
-2004-02-02 02:27  maan
-
-       * NEWS: [no log message]
-
-2004-02-02 02:25  maan
-
-       * gui.c: new key binding: u (uptime)
-
-2004-01-25 01:05  maan
-
-       * README.dbtool, config.mk: cosmetics
-
-2004-01-25 01:05  maan
-
-       * INSTALL: streaming capabilities are no longer required for mp3
-         decoder
-
-2004-01-25 01:04  maan
-
-       * FEATURES: reformat to make it look nicer in html
-
-2004-01-24 23:52  maan
-
-       * dbtool_template.c: help must print _three_ lines
-
-2004-01-24 23:51  maan
-
-       * gui.ggo: use proper default value for decode_cmd
-
-2004-01-24 23:50  maan
-
-       * INSTALL, Makefile, README, config.mk: dbtool.sample script ->
-         dbtool_template.c
-
-2004-01-24 23:03  maan
-
-       * dbtool_template.c: C-version of former dbtool.sample shell script
-
-2004-01-24 23:03  maan
-
-       * dbtool.sample: replaced by dbtool_template.c
-
-2004-01-24 13:19  maan
-
-       * server.c: ignore sigpipe, nicify log message for sigchld
-
-2004-01-24 12:20  maan
-
-       * server.c: remove crappy and unused get_exit_status, kill sigpipe
-         handling code
-
-2004-01-24 12:11  maan
-
-       * NEWS: [no log message]
-
-2004-01-23 09:35  maan
-
-       * gui.c: new command: A (list attributes)
-
-2004-01-23 09:34  maan
-
-       * server.h: add afs_preselect
-
-2004-01-23 09:34  maan
-
-       * server.c: proper signal handling using signal pipe
-
-2004-01-19 00:05  maan
-
-       * net.c: handle partial sends properly
-
-2004-01-18 01:01  maan
-
-       * dbtool.c: new macro: PICID
-
-2004-01-18 01:01  maan
-
-       * NEWS: [no log message]
-
-2004-01-17 23:28  maan
-
-       * README.dbtool: major reorganisation/update
-
-2004-01-13 02:30  maan
-
-       * command.c, net.c, para.h: new function: send_buffer_ll. Like
-         send_buffer, but allows to specify loglevel
-
-2004-01-13 02:29  maan
-
-       * afs.c: cosmetics
-
-2004-01-13 02:00  maan
-
-       * NEWS: [no log message]
-
-2004-01-13 02:00  maan
-
-       * gui.c: add S (list streams)
-
-2004-01-13 01:59  maan
-
-       * Makefile, maint.mk: fix -V (version)
-
-2004-01-13 01:23  maan
-
-       * README.dbtool: update creation of streams
-
-2004-01-13 01:08  maan
-
-       * dbtool.c: get_query: thinko
-
-2004-01-13 01:01  maan
-
-       * dbtool.c: get_query: make an empty stream definition select all
-         songs
-
-2004-01-13 00:48  maan
-
-       * NEWS: [no log message]
-
-2004-01-13 00:48  maan
-
-       * afs.c: afs_send_chunk: either write to poc pipe or kill it
-
-2004-01-09 22:07  maan
-
-       * para.h, server.h: move CHUNK_BUFFSIZE from para.h to server.h
-
-2004-01-09 22:06  maan
-
-       * exec.c: new function: popen_write_poc. It returns pipe fd _and_
-         pid of poc-fec
-
-2004-01-09 22:00  maan
-
-       * afs.c, server.c: new functions: kill_poc/do_get_song. Move poc
-         stuff completely to afs
-
-2004-01-09 21:57  maan
-
-       * NEWS: [no log message]
-
-2004-01-06 23:21  maan
-
-       * server.h: new flag: AFS_REREAD_DB_INFO
-
-2004-01-06 23:21  maan
-
-       * server.c: check semop for return value and retry semop on error
-
-2004-01-06 23:18  maan
-
-       * gui.c: add new key-binding: Q -> strq
-
-2004-01-06 23:17  maan
-
-       * dbtool.c: nuke scan for unnecessary 'end:' fix potential buffer
-         overflow
-
-2004-01-06 23:16  maan
-
-       * command.c: set AFS_REREAD_DB_INFO after each dbtool command to
-         make dbinfo current in stat/gui
-
-2004-01-06 22:52  maan
-
-       * afs.c: single out update of db_info to call it also from server
-         when new flag AFS_REREAD_DB_INFO was set by child
-
-2004-01-05 00:51  maan
-
-       * dbtool.sample: help: output 3 columns
-
-2004-01-05 00:50  maan
-
-       * dbtool.c: piclist: order pics by id
-
-2004-01-05 00:50  maan
-
-       * command.c: uptime: print current loglevel
-
-2004-01-05 00:49  maan
-
-       * README, README.dbtool: [no log message]
-
-2004-01-04 21:55  maan
-
-       * server.h: add get_poc_pipe, change afs_send_chunk
-
-2004-01-04 21:54  maan
-
-       * maint.mk: remove html files on distclean
-
-2004-01-04 21:53  maan
-
-       * config.mk: move BINARIES from Makefile to config.mk to let the
-         user remove targets she doesn't want to build
-
-2004-01-04 21:51  maan
-
-       * afs.c, server.c: move opening/closing of poc pipe to afs, reopen
-         poc_pipe on AFS_REPOS to avoid clipping and decoder crashes
-
-2004-01-04 21:49  maan
-
-       * NEWS: [no log message]
-
-2004-01-04 21:49  maan
-
-       * Makefile: major cleanup, should compile faster on rebuilds
-
-2004-01-04 21:49  maan
-
-       * INSTALL, README.dbtool: more explanation, reordering
-
-2004-01-04 21:47  maan
-
-       * COPYING: change year to 2004
-
-2004-01-04 07:27  maan
-
-       * CREDITS, INSTALL, NEWS, README, README.dbtool, command.c,
-         dbtool.c, server.h: major documentation update
-
-2004-01-04 07:27  maan
-
-       * maint.mk: add manual.txt and web targets
-
-2004-01-04 07:26  maan
-
-       * server.c: dont exit if no streams were found on startup
-
-2004-01-04 02:18  maan
-
-       * afs.c: use POC_FEC which was located by make rather than relying
-         on
-         /home/maan/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/local/scripts:/usr/local/mysql/bin:.:/usr/local/teTeX/bin/i586-pc-linux-gnu/:/home/maan/MIRROR/bin
-
-2004-01-04 02:17  maan
-
-       * Makefile: check also for poc-fec
-
-2004-01-04 02:07  maan
-
-       * README, afs.c, client.c, command.c, dbtool.c, gui.c, maint.mk,
-         para.h, sdl_gui.c, server.c, server.h: cosmetics
-
-2004-01-04 01:54  maan
-
-       * Makefile, config.mk, maint.mk: split Makefile into three parts
-
-2004-01-03 23:27  maan
-
-       * command.c, dbtool.c: cosmetics
-
-2004-01-03 22:38  maan
-
-       * NEWS: [no log message]
-
-2004-01-03 22:28  maan
-
-       * dbtool.c: new function: stdin2buf. make picadd accept jpeg data
-         from stdin. Change picch to only change name
-
-2004-01-03 20:00  maan
-
-       * gui.c: print key-bindings of c/C (next/previous stream) in help
-
-2004-01-03 19:59  maan
-
-       * dbtool.conf.sample: nuke streams
-
-2004-01-03 19:58  maan
-
-       * dbtool.c: strq: use memchr rather than strchr on potentially
-         binary data. stradd: properly escape stream definition
-
-2004-01-03 19:55  maan
-
-       * command.c: dbtool_cmd_handler: cleanup
-
-2004-01-03 19:54  maan
-
-       * client.c: cosmetics
-
-2004-01-03 19:53  maan
-
-       * afs.c: make get_song return -1 on errors rather than 0
-
-2004-01-03 19:52  maan
-
-       * README.dbtool: [no log message]
-
-2004-01-03 05:50  maan
-
-       * server.h: add modus to struct command
-
-2004-01-03 05:49  maan
-
-       * para.h: new #defines: AWAITING_DATA_MSG and PROCEED_MSG
-
-2004-01-03 05:49  maan
-
-       * net.c: new function: recv_bin_buffer
-
-2004-01-03 05:48  maan
-
-       * gui.c: bind ns to c again and ps to C
-
-2004-01-03 05:47  maan
-
-       * dbtool.ggo: nuke streams option
-
-2004-01-03 05:47  maan
-
-       * dbtool.c: new modus flag.  stream list is now stored inside mysql
-         db.  new commands: strq, stradd, strdel cdb: create all tables
-
-2004-01-03 05:44  maan
-
-       * command.c: new command flag: modus (read or write command). This
-         makes three command handlers: server/db_read/db_write.
-         Consequently, dbtool changed a lot.
-
-         new command: ps (reuse code of ns)
-
-2004-01-03 05:39  maan
-
-       * client.c: send stdin to server if server sends AWAITING_DATA_MSG
-
-2004-01-03 05:36  maan
-
-       * 1.0, FEATURES, NEWS, README: [no log message]
-
-2003-12-28 21:29  maan
-
-       * afs.c: reset mmd.vbr after each song. That seems to be
-         necessary..
-
-2003-12-28 04:16  maan
-
-       * Makefile, gui.c: cosmetics
-
-2003-12-28 02:35  maan
-
-       * gui.c: cosmetics
-
-2003-12-28 02:22  maan
-
-       * gui.c: hide cursor
-
-2003-12-27 21:07  maan
-
-       * FEATURES: [no log message]
-
-2003-12-27 14:49  maan
-
-       * Makefile, bash_completion, command.c, exec.c, gui.c,
-         gui_common.c, sdl_gui.c: replace remaining occurences of icc by
-         para
-
-2003-12-27 06:52  maan
-
-       * command.c, dbtool.sample, sdl_gui.c, sdl_gui.conf.sample: replace
-         more icc by para
-
-2003-12-27 06:35  maan
-
-       * Makefile, dbtool.sample, server.conf.sample: replace icc_server
-         by para_server
-
-2003-12-27 06:30  maan
-
-       * Makefile, client.c, dbtool.c, dbtool.sample, exec.c, gui.c,
-         gui_common.c, net.c, sdl_gui.c, server.h: replace icc.h by para.h
-
-2003-12-27 06:25  maan
-
-       * para.h: former icc.h
-
-2003-12-27 06:25  maan
-
-       * icc.h: renamed to para.h
-
-2003-12-27 06:21  maan
-
-       * CREDITS, INSTALL, Makefile, NEWS, README, README.dbtool,
-         client.c, client.conf.sample, client.ggo, command.c, dbtool.c,
-         dbtool.conf.sample, dbtool.ggo, gui.c, gui.ggo, icc.h, sdl_gui.c,
-         sdl_gui.ggo, server.c, server.ggo: replace icc by para
-
-2003-12-27 05:54  maan
-
-       * pics/default.jpg: no more stinky fingers as default, use
-         paraslash logo instead
-
-2003-12-27 00:12  maan
-
-       * xmms-1.2.7.titlebar_vbr_patch: no longer needed
-
-2003-12-27 00:11  maan
-
-       * NEWS: [no log message]
-
-2003-12-27 00:11  maan
-
-       * Makefile: remove dependencies on Makefile
-
-2003-12-26 21:51  maan
-
-       * VERSION: bump version number to 98
-
-2003-12-26 18:53  maan
-
-       * NEWS, README, README.dbtool, gui.c, icc.h: cosmetics
-
-2003-12-26 18:09  maan
-
-       * icc.h, server.h: move struct command from icc.h to server.h
-
-2003-12-26 18:07  maan
-
-       * icc.h, server.h: move struct user from icc.h to server.h
-
-2003-12-26 18:04  maan
-
-       * gui.c, gui_common.c, icc.h, sdl_gui.c: move open_stat_pipe to
-         gui_common.c
-
-2003-12-26 17:37  maan
-
-       * NEWS: [no log message]
-
-2003-12-26 17:37  maan
-
-       * sdl_gui.c: change placement to make all items fit on a 1024x768
-         screen. Also fix config file reading
-
-2003-12-26 17:37  maan
-
-       * afs.c, server.c: loglevel adjustments
-
-2003-12-26 17:37  maan
-
-       * gui_common.c: new function: file_exists
-
-2003-12-26 17:37  maan
-
-       * gui.c: simplify config_file exitst by using new function
-         file_exists
-
-2003-12-26 17:37  maan
-
-       * Makefile: tgz: make four tarballs
-
-2003-12-26 03:09  maan
-
-       * gui.c: base_key: return given value itsself rather that -1 if we
-         have no idea what is is
-
-2003-12-26 02:32  maan
-
-       * gui.c: print codename in Welcome message
-
-2003-12-26 02:32  maan
-
-       * Makefile: include CODENAME in version.h
-
-2003-12-26 02:10  maan
-
-       * server.h: nuke mmd->remaining since it is derived
-
-2003-12-26 02:10  maan
-
-       * gui.c: logical reordering of functions
-
-2003-12-26 02:09  maan
-
-       * server.c: cosmetics
-
-2003-12-26 02:08  maan
-
-       * afs.c, command.c: finetune former afs commands, nuke
-         mmd->remaining since it is derived
-
-2003-12-25 23:52  maan
-
-       * afs.c, server.c: send each file to separate poc process
-
-2003-12-25 21:32  maan
-
-       * gui.c: cosmetics
-
-2003-12-25 21:30  maan
-
-       * gui.c: simplify base_key function
-
-2003-12-25 20:41  maan
-
-       * gui.c: new command: CTRL+L to repaint screen
-
-2003-12-25 20:40  maan
-
-       * command.c: fix cr problem with sb
-
-2003-12-25 19:04  maan
-
-       * afs.c, command.c, server.h: move compute_sb_string from afs to
-         command.c allowing to nuke mmd->status_bar
-
-2003-12-25 18:39  maan
-
-       * afs.c, command.c, server.c, server.h: nuke mmd->afs_status, use
-         only status_flags instead
-
-2003-12-25 17:32  maan
-
-       * gui.c: new commands: F1-F10 to jmp, rename some commands
-
-2003-12-25 02:36  maan
-
-       * server.c, server.h: move gengetopt_args_info conf out of mmd
-
-2003-12-25 02:22  maan
-
-       * afs.c, server.h: get rid of file_status in mmd
-
-2003-12-25 02:06  maan
-
-       * afs.c, server.h: compute mmd->total and friends in
-         afs_send_chunk, not in update_mmd, get rid of mmd->soc
-
-2003-12-25 01:48  maan
-
-       * command.c, server.c, server.h: implement counter for currently
-         active connections
-
-2003-12-25 01:08  maan
-
-       * server.c, server.h: store semid for mmd locking in extern
-         variable, not in mmd itsself
-
-2003-12-25 01:05  maan
-
-       * command.c, server.c, server.h: move mmd lock functions from
-         command.c to server.c
-
-2003-12-25 00:54  maan
-
-       * afs.c, server.c: small logging cleanups
-
-2003-12-23 17:37  maan
-
-       * Makefile: add codename funny
-
-2003-12-23 17:11  maan
-
-       * afs.c, command.c, sdl_gui.c: stat prints wheather current mp3 has
-         vbr or not
-
-2003-12-23 05:25  maan
-
-       * server.c: init mmd->server_pid. That broke hup
-
-2003-12-23 05:23  maan
-
-       * afs.c: cosmetics
-
-2003-12-23 03:54  maan
-
-       * command.c: dont sleep after last status line has been printed
-
-2003-12-23 00:54  maan
-
-       * afs.c, server.c: add some logging
-
-2003-12-22 23:22  maan
-
-       * INSTALL, README: [no log message]
-
-2003-12-22 23:08  maan
-
-       * afs.c, client.c, command.c, net.c, server.c, server.h: change log
-         to clog to avoid compiler warnings
-
-2003-12-22 22:16  maan
-
-       * gui.conf.sample: adapt to new decode_cmd syntax
-
-2003-12-22 22:15  maan
-
-       * gui.c: introduce (and check in do_select) decoder_pipe to avoid
-         multiple instances of the decoder
-
-2003-12-22 16:08  maan
-
-       * server.h: adapt afs_send_chunk to new syntax
-
-2003-12-22 16:07  maan
-
-       * server.c: reopen poc pipe if afs_send_chunk failed
-
-2003-12-22 16:06  maan
-
-       * gui.c: ignore SIGCHLD and SIGPIPE
-
-2003-12-22 16:05  maan
-
-       * afs.c: make afs_send_chunk return negative value if write to
-         poc_pipe failed
-
-2003-12-22 04:59  maan
-
-       * server.c: fix stop command
-
-2003-12-22 04:58  maan
-
-       * command.c: fix stop command, log cleanups
-
-2003-12-22 04:57  maan
-
-       * afs.c: log cleanups
-
-2003-12-22 04:56  maan
-
-       * NEWS: aaa
-
-2003-12-22 04:56  maan
-
-       * Makefile: change THANKS to CREDITS
-
-2003-12-22 04:55  maan
-
-       * CREDITS: add Manuel Odendahl
-
-2003-12-22 02:55  maan
-
-       * CREDITS: former THANKS
-
-2003-12-22 02:55  maan
-
-       * THANKS: renamed to CREDITS
-
-2003-12-22 02:44  maan
-
-       * 1.0, INSTALL, Makefile, NEWS, README, afs.c, command.c, exec.c,
-         gui.c, gui.ggo, icc.h, server.c, server.conf.sample, server.ggo,
-         server.h: kick icecast, switch to poc
-
-2003-12-22 02:44  maan
-
-       * icecast.conf.sample, init_afs.c: no longer needed
-
-2003-12-20 15:48  maan
-
-       * server.c: kill pid_list code (was commented out)
-
-2003-12-20 15:44  maan
-
-       * gui.conf.sample: sample configuration file
-
-2003-12-20 15:43  maan
-
-       * NEWS: [no log message]
-
-2003-12-20 15:41  maan
-
-       * gui.c, gui.ggo: implement auto-decoding
-
-2003-12-20 15:39  maan
-
-       * afs.c: set status to playing _after_ the first chunk has been
-         streamed
-
-2003-12-18 01:48  maan
-
-       * command.c, server.c: fix term command which broke due to removal
-         of pid_list
-
-2003-12-17 00:54  maan
-
-       * SFont.c: include stdlib to avoid compiler warnings
-
-2003-12-17 00:28  maan
-
-       * NEWS: [no log message]
-
-2003-12-17 00:18  maan
-
-       * server.c: Pid was logged twice in debug mode. Fix it.
-
-2003-12-17 00:13  maan
-
-       * command.c, gui.c, init_afs.c, server.c: comment out racy pid_list
-         crap
-
-2003-12-04 23:22  maan
-
-       * dbtool.conf.sample: document gengetopt's strange behaviour
-         concerning backsslashes in arguments
-
-2003-12-04 01:29  maan
-
-       * dbtool.c: cosmetics
-
-2003-12-02 02:31  maan
-
-       * dbtool.c: fix help test format for verb
-
-2003-12-02 02:08  maan
-
-       * dbtool.c: print score of zero if it is undefined
-
-2003-12-02 00:37  maan
-
-       * dbtool.c: new command: verb
-
-2003-12-02 00:37  maan
-
-       * NEWS: [no log message]
-
-2003-12-01 23:20  maan
-
-       * SFont.h: Missing since ages. Reported by Thomas Forell
-
-2003-12-01 23:18  maan
-
-       * NEWS: insert release date of 0.0.97
-
-2003-11-23 21:19  maan
-
-       * gui.c: dont die on sigchld. That was silly. Instead, die on
-         sighup and change signal for rereading conf from hup to usr1
-
-2003-11-23 21:11  maan
-
-       * README.dbtool: document pic column
-
-2003-11-23 21:10  maan
-
-       * dbtool.c: test args_info.find_cmd_given, fix typo
-
-2003-11-20 00:22  maan
-
-       * gui.c: Die on sigchld. This should fix stale  processes that eat
-         up memory.
-
-2003-10-30 21:51  maan
-
-       * server.c, server.ggo: dont change stream on hup
-
-2003-10-26 14:11  maan
-
-       * VERSION: bump version number to 97
-
-2003-10-26 12:18  maan
-
-       * Makefile: add THANKS to txts
-
-2003-10-26 12:18  maan
-
-       * NEWS: cosmetics
-
-2003-10-26 00:46  maan
-
-       * NEWS: cosmetics
-
-2003-10-26 00:41  maan
-
-       * NEWS: nuke icc prefix
-
-2003-10-26 00:33  maan
-
-       * gui.c: com_sleep: change stream _after_ sleep
-
-2003-10-21 22:35  maan
-
-       * README.dbtool: some small changes
-
-2003-10-21 22:25  maan
-
-       * README: sdl_gui update
-
-2003-10-21 21:48  maan
-
-       * dbtool.ggo: gengetopt file for dbtool
-
-2003-10-21 21:46  maan
-
-       * THANKS: list of people who helped developing this project
-
-2003-10-21 21:23  maan
-
-       * gui.c: change snooze key from o to a (because it is easier to hit
-         on the keyboard when dazed and confused in the morning)
-
-2003-10-20 23:58  maan
-
-       * sdl_gui.ggo: add option w which is currently ignored but needed
-         to start sdl_gui from xscreensaver
-
-2003-10-20 23:57  maan
-
-       * gui.c: new function: outputf to print formated output. Avoid
-         sleep on startup, print message in bot window instead.
-
-2003-10-20 23:56  maan
-
-       * client.c: cosmetics
-
-2003-10-20 23:56  maan
-
-       * NEWS: [no log message]
-
-2003-10-20 22:33  maan
-
-       * gui.c: cosmetics
-
-2003-10-20 22:08  maan
-
-       * gui.c: do not cleanup in interrupt handler (that crap originally
-         came from some examples), set flag instead. This allows to omit
-         the strange sleep(1) in finish, so quiting quits immediately now.
-         Also, catch sigterm and exit gracefully.
-
-2003-10-20 21:43  maan
-
-       * gui.c: catch sighup and reread configuration on sighup
-
-2003-10-19 22:58  maan
-
-       * afs.c: cosmetics
-
-2003-10-19 17:11  maan
-
-       * gui.c: make sleep kinda work
-
-2003-10-11 18:49  maan
-
-       * dbtool.c: we only need basename of row[1]
-
-2003-10-11 18:46  maan
-
-       * command.c: help text update
-
-2003-10-11 18:46  maan
-
-       * NEWS: update
-
-2003-10-11 18:46  maan
-
-       * Makefile: Change default prefix to /usr/local
-
-2003-10-08 18:02  maan
-
-       * dbtool.c: update syntax of fut in help (reported by Thomas
-         Forell)
-
-2003-10-07 19:39  maan
-
-       * exec.c: dont dup stderr
-
-2003-10-07 19:38  maan
-
-       * gui.c, gui.ggo: add decode command
-
-2003-10-07 19:33  maan
-
-       * dbtool.c: remove useless printf
-
-2003-10-07 19:33  maan
-
-       * client.c: fix interactive mode (reported by Thomas Forell)
-
-2003-09-25 02:46  maan
-
-       * dbtool.c: minor cleanups
-
-2003-09-24 23:35  maan
-
-       * dbtool.conf.sample: put quotes around find_cmd
-
-2003-09-24 23:34  maan
-
-       * dbtool.c: switch to gengetopt
-
-2003-09-24 23:34  maan
-
-       * NEWS: update
-
-2003-09-24 23:34  maan
-
-       * Makefile: dbtool depends on dbtool.cmdline.c
-
-2003-09-23 20:46  maan
-
-       * Makefile: nuke unused TODO stuff
-
-2003-09-23 19:22  maan
-
-       * gui.ggo: gengetopt file for gui
-
-2003-09-23 19:17  maan
-
-       * command.c, icc.h, server.c: change all handlers from static int
-         com_foo(char *, int); to static int com_foo(int, int, char **);,
-         i.e. pass pointerarray instead of command line to handlers
-
-2003-09-23 19:13  maan
-
-       * afs.c: cosmetics
-
-2003-09-23 19:12  maan
-
-       * .tdldb: unused since May 2002
-
-2003-09-23 15:23  maan
-
-       * server.c: use popen_read_dbtool
-
-2003-09-23 15:23  maan
-
-       * sdl_gui.c: use popen_read_client
-
-2003-09-23 15:22  maan
-
-       * command.c, icc.h: cosmetics
-
-2003-09-22 22:04  maan
-
-       * gui.c: simplify cases (vol1 - vol9), add sleep command to help
-         text
-
-2003-09-22 21:46  maan
-
-       * gui.c: new function: configfile_exists.  do_select: change long
-         int timeout ro tong long timeout. Long timeouts didnt work
-         otherwise.  Fix thinko with select_timeout (introducing
-         default_select_timeout).  New function and command: reread
-         config.
-
-2003-09-22 20:59  maan
-
-       * afs.c: print two digits sor seconds in log info
-
-2003-09-22 17:18  maan
-
-       * gui.c: use gengetopt
-
-2003-09-22 17:18  maan
-
-       * Makefile: gui depends on gui.cmdline.c
-
-2003-09-22 02:50  maan
-
-       * command.c: cosmetics
-
-2003-09-22 02:43  maan
-
-       * dbtool.c: dokumentation update for na
-
-2003-09-22 02:30  maan
-
-       * afs.c: use mmd->size instead of equivalent
-         mmd->file_status.st_size
-
-2003-09-22 02:23  maan
-
-       * afs.c: cosmetics
-
-2003-09-22 02:08  maan
-
-       * icc.h: add popen_read_dbtool
-
-2003-09-22 02:08  maan
-
-       * command.c: use popen_read_dbtool, log correct fd in debug mode
-
-2003-09-22 02:06  maan
-
-       * afs.c: use popen_read_dbtool
-
-2003-09-22 02:06  maan
-
-       * exec.c: new function popen_read_dbtool
-
-2003-09-22 01:03  maan
-
-       * sdl_gui.c: use popen again for commands (with popoen_read,
-         commands having more than one arg doesnt work)
-
-2003-09-22 01:01  maan
-
-       * icc.h: add new function popen_read_client
-
-2003-09-22 01:01  maan
-
-       * gui.c: use new function popen_read_client
-
-2003-09-22 00:59  maan
-
-       * exec.c: new function: popen_read_client
-
-2003-09-22 00:59  maan
-
-       * command.c: adapt help text of ff to new syntax
-
-2003-09-22 00:58  maan
-
-       * Makefile: sdl_gui depends on exec.c
-
-2003-09-22 00:58  maan
-
-       * afs.c: make ff work again with negative offset
-
-2003-09-21 15:15  maan
-
-       * sdl_gui.c: use popen_read where it makes sense
-
-2003-09-19 14:19  maan
-
-       * server.conf.sample: replace never uptodate example configureation
-         by hint to read help
-
-2003-09-19 14:18  maan
-
-       * gui.c: use popen_read
-
-2003-09-19 14:17  maan
-
-       * exec.c: dont log anything, dont exit on errors, return NULL
-         instead
-
-2003-09-19 14:16  maan
-
-       * Makefile: icc_gui needs exec.c
-
-2003-09-18 03:35  maan
-
-       * gui.c: only use strlen if we really need to know the length
-
-2003-09-18 02:38  maan
-
-       * gui.c: cosmetics
-
-2003-09-18 02:24  maan
-
-       * gui.c: tidy up do_select
-
-2003-09-18 02:04  maan
-
-       * gui.c: fix output bug causing end of buffer being displayed on
-         next command
-
-2003-09-17 23:20  maan
-
-       * command.c: help: fix alphabetical ordering
-
-2003-09-17 22:53  maan
-
-       * server.c: use popen_read instead of popen
-
-2003-09-17 22:52  maan
-
-       * exec.c: dont write to stdout/stderr
-
-2003-09-17 22:52  maan
-
-       * command.c: cosmetics
-
-2003-09-17 22:38  maan
-
-       * command.c: lcl_init: use popen_read another time
-
-2003-09-17 22:35  maan
-
-       * command.c: lcl_init: use popen_read
-
-2003-09-17 22:07  maan
-
-       * server.c: always print strerror() text from exit status
-
-2003-09-17 22:07  maan
-
-       * icc.h: add prototype for popen_read_vp
-
-2003-09-17 22:06  maan
-
-       * exec.c: new function: popen_read_vp (ala execvp)
-
-2003-09-17 22:05  maan
-
-       * dbtool.c: change syntax of picass: Now ID has to be specified
-         instead of name.  escape filenames several times.
-
-2003-09-17 22:03  maan
-
-       * command.c: afs_cmd_handler: replace \n by space in args.  new
-         function: split args.  dbtool_cmd_handler: use popen_read_vp
-         instead of popen.
-
-2003-09-17 21:58  maan
-
-       * client.c: dont send addidtional space in commands
-
-2003-09-17 21:58  maan
-
-       * afs.c: dont log warnings on EINTR.
-
-2003-09-17 17:31  maan
-
-       * dbtool.c: info: dont continue if entry not found
-
-2003-09-17 17:26  maan
-
-       * dbtool.c: replace add_slashes by escape_str which calls
-         mysql_real_escape_string
-
-2003-09-17 00:49  maan
-
-       * NEWS: update
-
-2003-09-17 00:48  maan
-
-       * afs.c: replace popen by popen_read
-
-2003-09-17 00:32  maan
-
-       * icc.h: add popen_read
-
-2003-09-17 00:32  maan
-
-       * dbtool.c: modify add_slashes to return dynamically allocated
-         buffer.  use add_slashes in us and info.
-
-2003-09-17 00:30  maan
-
-       * afs.c: use popen_read instead of popen
-
-2003-09-17 00:30  maan
-
-       * Makefile: server depends on exec.c
-
-2003-09-17 00:29  maan
-
-       * exec.c: new: contains only popen_read for now
-
-2003-09-15 03:51  maan
-
-       * dbtool.c: cosmetics
-
-2003-09-15 03:16  maan
-
-       * dbtool.c: help text update
-
-2003-09-15 02:09  maan
-
-       * 1.0, command.c, server.conf.sample: print
-
-2003-09-15 02:01  maan
-
-       * dbtool.c: print mysql_error message in get_resuts, use strlen
-         only where neccessary
-
-2003-09-15 01:59  maan
-
-       * command.c: insert commands in alphabetical order into lcl
-
-2003-09-14 23:13  maan
-
-       * dbtool.c: cosmetics
-
-2003-09-14 20:15  maan
-
-       * dbtool.c: do not write to stderr
-
-2003-09-14 18:39  maan
-
-       * dbtool.c: fut: dont limit number of matches since we have to
-         consider all matches to make the magic randomizer work. That
-         hopefully fixed the bug that made output of fut appear
-         alphabetically ordered if there are many new songs.
-
-2003-09-14 17:30  maan
-
-       * server.h: nuke duplicated info in mmd.stream_name.  change pid_t
-         init_afs to void init_afs.  add pid_list_add.
-
-2003-09-14 17:28  maan
-
-       * server.ggo: use empty default value for stream
-
-2003-09-14 17:27  maan
-
-       * server.c: change static void pid_list_add(pid_t pid) to void
-         pid_list_add(pid_t pid).  exit on errors.  stream_list_init: make
-         sure that initial stream is valid.  simplify handle_sighup and
-         main.
-
-2003-09-14 17:24  maan
-
-       * init_afs.c: exit on errors.  set mmd->afs_pid
-
-2003-09-14 17:22  maan
-
-       * command.c:
-         replace mmd->stream_name by mmd->stream, handle_cmd: exit on
-         errors, new fuction: find_stream, simplify com_cs,
-
-2003-09-14 17:19  maan
-
-       * afs.c: replace mmd->stream_name by mmd->stream
-
-2003-09-13 19:50  maan
-
-       * server.c: new function: init_network
-
-2003-09-13 19:45  maan
-
-       * server.c: new function: init_network
-
-2003-09-13 19:44  maan
-
-       * icc.h, net.c: new functions: setserversockopts, do_bind
-
-2003-09-13 17:13  maan
-
-       * Makefile: make also light tarballs
-
-2003-09-13 16:47  maan
-
-       * NEWS, README, dbtool.c: small documentation update
-
-2003-09-13 16:38  maan
-
-       * Makefile: tgz include date in tarball
-
-2003-09-13 15:59  maan
-
-       * icc.h: do not include argtable.h
-
-2003-09-13 15:53  maan
-
-       * server.conf.sample: remove list of users
-
-2003-09-13 15:52  maan
-
-       * dbtool.conf.sample: change user name from maan to foo
-
-2003-09-13 15:51  maan
-
-       * INSTALL, README.dbtool: document cdb function
-
-2003-09-13 15:50  maan
-
-       * dbtool.c: new command: cdb (create database)
-
-2003-09-12 20:54  maan
-
-       * Makefile: add server.h to headers
-
-2003-09-12 20:28  maan
-
-       * net.c, server.c: logging adjustments
-
-2003-09-12 19:32  maan
-
-       * Makefile: clean: distclean: Remove also ChangLog.bak
-
-2003-09-12 19:24  maan
-
-       * dbtool.c: cosmetics
-
-2003-09-12 19:24  maan
-
-       * command.c: replace icc_server by server in help text
-
-2003-09-12 19:22  maan
-
-       * client.conf.sample: adapt name of keyfile
-
-2003-09-12 19:21  maan
-
-       * README.dbtool: typo
-
-2003-09-12 19:13  maan
-
-       * Makefile: adapt to new filenames without icc prefix
-
-2003-09-12 18:58  maan
-
-       * dbtool.sample: former icc_dbtool.sample
-
-2003-09-12 18:58  maan
-
-       * icc_dbtool.sample: rename to dbtool.sample
-
-2003-09-12 18:54  maan
-
-       * server.c: former icc_server.c
-
-2003-09-12 18:54  maan
-
-       * icc_server.c: rename to server.c
-
-2003-09-12 18:52  maan
-
-       * dbtool.c: former icc_dbtool.c
-
-2003-09-12 18:52  maan
-
-       * icc_dbtool.c: rename ro dbtool.c
-
-2003-09-12 18:49  maan
-
-       * gui.c: former icc_gui.c
-
-2003-09-12 18:49  maan
-
-       * icc_gui.c: renamed to gui.c
-
-2003-09-12 18:48  maan
-
-       * client.c: former icc_client.c
-
-2003-09-12 18:47  maan
-
-       * icc_client.c: renamed to client.c
-
-2003-09-12 18:16  maan
-
-       * afs.c, command.c, icc.h, icc_client.c, icc_dbtool.c, icc_gui.c,
-         init_afs.c, sdl_gui.c: nuke cvs keyword expansion
-
-2003-09-12 18:16  maan
-
-       * Makefile: ChangeLog: Dont show time
-
-2003-09-12 17:42  maan
-
-       * icc.h: nuke unused CONFIDENTIAL bit
-
-2003-09-12 17:41  maan
-
-       * INSTALL: update name of conf files
-
-2003-09-12 17:05  maan
-
-       * Makefile: clean: remove also HTML dir
-
-2003-09-12 17:02  maan
-
-       * Makefile, README: minor cleanups
-
-2003-09-12 16:51  maan
-
-       * dbtool.conf.sample: former icc_dbtool.conf.sample
-
-2003-09-12 16:51  maan
-
-       * icc_dbtool.conf.sample: rename to dbtool.conf.sample
-
-2003-09-12 16:50  maan
-
-       * server.conf.sample: former icc_server.conf.sample
-
-2003-09-12 16:49  maan
-
-       * icc_server.conf.sample: rename to server.conf.sample
-
-2003-09-12 16:48  maan
-
-       * icc_server.c: documentation cleanups
-
-2003-09-12 16:47  maan
-
-       * README.dbtool: comment new sa syntax
-
-2003-09-12 16:47  maan
-
-       * README: update
-
-2003-09-11 03:04  maan
-
-       * icc_server.c: use /dev/urandom to create random numbers
-
-2003-09-11 02:03  maan
-
-       * icc_server.c: cosmetics
-
-2003-09-11 01:53  maan
-
-       * command.c, icc_server.c: minor simplifyings/cleanups/log message
-         fixes
-
-2003-09-11 01:53  maan
-
-       * Makefile: change icc_bash_completion to bash_completion
-
-2003-09-11 01:25  maan
-
-       * bash_completion: former icc_bash_completion
-
-2003-09-11 01:25  maan
-
-       * icc_bash_completion: rename to bash_completion
-
-2003-09-11 01:24  maan
-
-       * icc_server.c, net.c: send_buffer: dont send nullbytes
-
-2003-09-11 01:24  maan
-
-       * icc_bash_completion: cosmetics
-
-2003-09-11 01:08  maan
-
-       * icc_server.c, net.c: modify init_sockaddr to suit needs of both
-         client and server
-
-2003-09-10 22:18  maan
-
-       * icc_bash_completion: adapt to new sa syntax
-
-2003-09-10 03:49  maan
-
-       * icc_dbtool.c: sa syntax conflixted with gengetopt. Fix that.
-
-2003-09-10 02:04  maan
-
-       * icc.h, icc_server.c, net.c: new function: do_accept
-
-2003-09-10 01:36  maan
-
-       * icc_server.c: new function handle_connect to reduce size of main
-
-2003-09-10 01:14  maan
-
-       * icc_server.c: decrease verbosity and avoid buffer overflow
-
-2003-09-10 00:39  maan
-
-       * net.c: fix silly bug
-
-2003-09-10 00:39  maan
-
-       * icc_server.c: use recv_buffer function from net.c
-
-2003-09-09 23:01  maan
-
-       * icc_server.c: daemon_init: reverse return value
-
-2003-09-09 21:48  maan
-
-       * afs.c, icc_server.c, init_afs.c, server.ggo, server.h: make hup
-         work again
-
-2003-09-09 17:17  maan
-
-       * sdl_gui.c: adapt to new syntax of check_buf_for_items
-
-2003-09-09 17:16  maan
-
-       * icc_gui.c: use check_buf_for_items whenever possible
-
-2003-09-09 17:14  maan
-
-       * icc.h: update check_buf_for_items()
-
-2003-09-09 17:13  maan
-
-       * gui_common.c: make check_buf_for_items work again...
-
-2003-09-09 17:12  maan
-
-       * command.c: afs_cmd_handler: write terminiating null byte
-
-2003-09-09 04:43  maan
-
-       * icc_gui.c, icc_server.c: some small cleanups
-
-2003-09-09 04:43  maan
-
-       * NEWS: update
-
-2003-09-09 04:04  maan
-
-       * icc_server.c: many small cleanups
-
-2003-09-09 03:27  maan
-
-       * icc_server.c: nuke unneded functions
-
-2003-09-09 03:23  maan
-
-       * server.ggo: gengetopt file for server
-
-2003-09-09 03:21  maan
-
-       * afs.c, icc_server.c, init_afs.c, server.h: switch to gengetopt
-
-2003-09-09 01:41  maan
-
-       * Makefile, afs.c, command.c, icc_server.c, init_afs.c: include
-         server.h instead of icc.h
-
-2003-09-09 01:41  maan
-
-       * icc.h: move server specific parts to server.h
-
-2003-09-09 01:40  maan
-
-       * server.h: server part of icc.h
-
-2003-09-09 01:16  maan
-
-       * Makefile: server: compile server.cmdline.c
-
-2003-09-09 00:43  maan
-
-       * Makefile: remove .c,.h files generated by gengetopt on distclean
-
-2003-09-09 00:33  maan
-
-       * client.conf.sample: former icc_client.conf.sample
-
-2003-09-09 00:33  maan
-
-       * icc_client.conf.sample: renamed to client.conf.sample
-
-2003-09-09 00:19  maan
-
-       * icc_client.c: setlinebuf is no longer needed
-
-2003-09-09 00:19  maan
-
-       * Makefile, icc.h, icc_gui.c, sdl_gui.c: use new gui_common
-
-2003-09-09 00:17  maan
-
-       * gui_common.c: common functions for sdl_gui and ncurses gui
-
-2003-09-08 23:16  maan
-
-       * icc_gui.c: make it work even when stat output contains null bytes
-
-2003-09-08 20:56  maan
-
-       * Makefile: filter out gengetopts c files from sources
-
-2003-09-08 20:42  maan
-
-       * sdl_gui.conf.sample: former icc_sdl_gui.conf.sample
-
-2003-09-08 20:41  maan
-
-       * icc_sdl_gui.conf.sample: rename to sdl_gui.conf.sample
-
-2003-09-08 20:40  maan
-
-       * Makefile, sdl_gui.c, sdl_gui.ggo: use sdl_gui.cmdline.c instead
-         of sdl_gui_cmdline.c, same for .h
-
-2003-09-08 20:35  maan
-
-       * client.ggo: gengetopt file for client
-
-2003-09-08 20:24  maan
-
-       * Makefile, command.c, icc.h: server: use net.c
-
-2003-09-08 20:17  maan
-
-       * net.c: new file, contains networking routines
-
-2003-09-08 20:16  maan
-
-       * Makefile, icc.h, icc_client.c: icc_client: use gengetopt and new
-         net.c
-
-2003-09-08 20:16  maan
-
-       * sdl_gui.c: typo
-
-2003-09-08 03:20  maan
-
-       * Makefile: remove version.h on distclean
-
-2003-09-08 03:15  maan
-
-       * icc_sdl_gui.conf.sample: sample configuration for sdl_gui
-
-2003-09-08 03:08  maan
-
-       * Makefile, sdl_gui.c: switch to gengetopts for sdl_gui
-
-2003-09-08 03:07  maan
-
-       * icc_dbtool.c: cosmetics
-
-2003-09-08 02:43  maan
-
-       * sdl_gui.ggo: gengetopt file for sdl_gui
-
-2003-09-07 21:30  maan
-
-       * NEWS: update
-
-2003-09-07 21:05  maan
-
-       * command.c, icc_server.c: cosmetics
-
-2003-09-07 20:42  maan
-
-       * command.c: cosmetics
-
-2003-09-07 20:25  maan
-
-       * command.c, icc.h, icc_server.c: nuke mmd->handler, rename
-         mmd->handler_fct to mmd->handler
-
-2003-09-07 20:10  maan
-
-       * command.c, icc.h, icc_server.c: nuke handle_cmd function since
-         all commands a now directly called via function pointers
-
-2003-09-07 18:41  maan
-
-       * command.c: use function pointers to execute internal commands
-
-2003-09-07 18:06  maan
-
-       * command.c, icc.h, icc_server.c: major lcl cleanup
-
-2003-09-07 15:43  maan
-
-       * command.c: simplify struct linked_cmd_list
-
-2003-09-07 15:16  maan
-
-       * command.c, icc.h: reordering of functions
-
-2003-09-07 14:37  maan
-
-       * icc_server.c, init_afs.c: logic was reversed in handle_sighup
-
-2003-09-07 14:34  maan
-
-       * command.c: own function for each internal command
-
-2003-09-07 05:56  maan
-
-       * afs.c, command.c, icc.h, icc_server.c, init_afs.c: major function
-         arguments cleanup
-
-2003-09-07 01:31  maan
-
-       * command.c, icc.h, icc_server.c, init_afs.c: move afs_server_pipe
-         and server_afs_pipe to mmd
-
-2003-09-07 00:59  maan
-
-       * command.c: C99 struct initializers
-
-2003-09-07 00:19  maan
-
-       * command.c: fix potential buffer overflow in compute_status
-
-2003-09-07 00:04  maan
-
-       * command.c: use static functions whenever possible
-
-2003-09-06 23:42  maan
-
-       * command.c: comment out unused lcl_log_list, cosmetics
-
-2003-09-06 23:29  maan
-
-       * command.c: change return type for lcl_del from int to void
-
-2003-09-06 23:17  maan
-
-       * command.c: fix potential buffer overflow, change return value of
-         lcl_add to void
-
-2003-09-06 23:02  maan
-
-       * command.c: cleanup crappy cmd_handler_itohuman
-
-2003-09-06 22:50  maan
-
-       * command.c: fix potential buffer overflow
-
-2003-09-06 22:43  maan
-
-       * command.c: cosmetics
-
-2003-09-06 22:40  maan
-
-       * command.c, icc.h, icc_server.c: handle_cmd doesnt need argument
-         mmd
-
-2003-09-06 22:35  maan
-
-       * afs.c: rename bear_server_pipe to afs_server_pipe
-
-2003-09-06 22:23  maan
-
-       * icc_server.c: rename cb_fd to afs_server_pipe
-
-2003-09-06 22:20  maan
-
-       * icc_server.c: cleanup crappy istrue function
-
-2003-09-06 20:37  maan
-
-       * afs.c, icc_server.c: cosmetics
-
-2003-09-06 20:32  maan
-
-       * afs.c: cosmetics
-
-2003-09-06 20:25  maan
-
-       * icc_server.c, afs.c, command.c, icc.h, init_afs.c: no need to
-         pass mmd via functions, it is an exported variable
-
-2003-09-06 20:07  maan
-
-       * icc_server.c: no need to pass mmd to handle_sighup
-
-2003-09-06 20:03  maan
-
-       * icc_server.c: use static functions whenever possible
-
-2003-09-06 19:52  maan
-
-       * icc_server.c: read_config: doesnt need return value, exit on
-         errors instead
-
-2003-09-06 19:45  maan
-
-       * icc_server.c: reverse logic after fork to have nicer idents
-
-2003-09-06 19:36  maan
-
-       * icc_server.c: minor cleanups
-
-2003-09-06 19:04  maan
-
-       * icc_server.c: handle_sighup doesnt need command line options
-
-2003-09-06 18:45  maan
-
-       * icc_server.c: read_config: close config file unconditionally
-
-2003-09-06 18:35  maan
-
-       * icc_server.c: read_config: close config file
-
-2003-09-06 18:29  maan
-
-       * icc.h: cmd_perms_itohuman doesnt need return value
-
-2003-09-06 18:25  maan
-
-       * icc_server.c, command.c: cmd_perms_itohuman doesnt need return
-         value
-
-2003-09-06 18:22  maan
-
-       * icc_server.c: fix potential buffer overflow, change challenge_nr
-         and chall_response to long unsigned
-
-2003-09-06 18:13  maan
-
-       * icc_server.c: indent main function
-
-2003-09-06 18:00  maan
-
-       * icc_server.c: C99 struct initializers
-
-2003-09-06 17:54  maan
-
-       * icc_server.c: simplify signal handling
-
-2003-09-06 16:47  maan
-
-       * icc_server.c: fix potential buffer overflow in encrypt
-
-2003-09-06 16:44  maan
-
-       * icc_server.c: fix potential buffer overflow in uptime_str
-
-2003-09-06 16:19  maan
-
-       * command.c, icc.h, icc_server.c: fix pidlist locking (I hope)
-
-2003-09-06 15:31  maan
-
-       * icc_server.c: use EXIT_FAILURE/EXIT_SUCCESS in exit()
-
-2003-09-06 15:26  maan
-
-       * icc_server.c: change int pid_list_add to void pid_list_add, same
-         with pid_list_unlock
-
-2003-09-06 15:07  maan
-
-       * icc_server.c: use size_t instead of int in set_conf()
-
-2003-09-06 15:06  maan
-
-       * afs.c: change int read_n_exec() to void read_n_exec()
-
-2003-09-06 14:45  maan
-
-       * afs.c: fix memory leak in mp3_info
-
-2003-09-06 14:00  maan
-
-       * afs.c, icc.h, icc_server.c: fix some minor bugs found by splint
-
-2003-09-06 13:11  maan
-
-       * icc.h: remove TRUE and FALSE
-
-2003-09-06 13:10  maan
-
-       * icc_gui.c: documentation update
-
-2003-09-06 13:10  maan
-
-       * icc_client.c: coding style
-
-2003-09-03 01:17  maan
-
-       * icc_client.c: still more coding style
-
-2003-09-02 23:45  maan
-
-       * icc_client.c: further coding style issues
-
-2003-09-02 23:17  maan
-
-       * icc_client.c: coding style cleanup
-
-2003-09-02 04:03  maan
-
-       * afs.c, icc_client.c: remove TRUE and FALSE
-
-2003-09-02 03:40  maan
-
-       * icc_client.c: indent main function
-
-2003-08-30 20:02  maan
-
-       * icc_gui.c: fix compile warning, change SNOOZE to 540 seconds
-
-2003-08-30 17:51  maan
-
-       * icc_dbtool.c: piclist now shows length of jpg files
-
-2003-08-30 17:18  maan
-
-       * VERSION: bump version number to 96
-
-2003-08-30 17:08  maan
-
-       * NEWS: update
-
-2003-08-30 17:06  maan
-
-       * icc_dbtool.c: vrfy/clean also checks for invalid pic pointers
-
-2003-08-30 16:13  maan
-
-       * icc_gui.c: update upper window also when fading volume
-
-2003-08-30 05:54  maan
-
-       * icc_dbtool.c: add some dokumentation
-
-2003-08-30 05:32  maan
-
-       * icc_dbtool.c: make picdel work when more than one id is given
-
-2003-08-30 05:26  maan
-
-       * icc_dbtool.c: simplify picadd
-
-2003-08-30 05:12  maan
-
-       * icc_dbtool.c: new command: picch, new function:
-         binfile2escaped_string
-
-2003-08-30 03:31  maan
-
-       * icc_dbtool.c: new command: picdel
-
-2003-08-30 01:40  maan
-
-       * sdl_gui.c: close icc pic pipes, default to pic mode, simplify
-         update_pic
-
-2003-08-30 01:37  maan
-
-       * icc_dbtool.c: new command: picass, new functions: get_very_last,
-         get_pic_id_by_name
-
-2003-08-30 01:33  maan
-
-       * command.c: simplify pic
-
-2003-08-29 22:14  maan
-
-       * icc_dbtool.c: new commands: picadd and piclist
-
-2003-08-29 17:18  maan
-
-       * Makefile: add fonts and pics to tgz
-
-2003-08-29 17:06  maan
-
-       * fonts/24P_Arial_Blue.png, fonts/24P_Arial_Metallic_Yellow.png,
-         fonts/24P_Arial_NeonBlue.png, fonts/24P_Arial_NeonYellow.png,
-         fonts/24P_Copperplate_Blue.png, pics/default.jpg,
-         pics/no_pics.jpg: initial import
-
-2003-08-29 17:04  maan
-
-       * sdl_gui.c: use icc_client pic to obtain the picture, new command
-         line option: pic
-
-2003-08-29 17:02  maan
-
-       * icc_server.c: lcl_init needs to know mmd to set dbtool_has_pic
-
-2003-08-29 17:01  maan
-
-       * icc_dbtool.sample: make it work again...
-
-2003-08-29 17:00  maan
-
-       * icc_dbtool.c: add preliminary pic command
-
-2003-08-29 16:59  maan
-
-       * icc_client.c: use write instead of printf to print output
-
-2003-08-29 16:58  maan
-
-       * icc.h: add dbtool_has_pic to mmd
-
-2003-08-29 16:58  maan
-
-       * command.c: add pic command, introduce send_bin_buffer to transfer
-         binary data
-
-2003-08-29 16:54  maan
-
-       * Makefile: install also fonts and pics
-
-2003-08-28 04:05  maan
-
-       * icc_dbtool.c: implement recursive permutation generator
-
-2003-08-28 00:20  maan
-
-       * sdl_gui.c: documentation update
-
-2003-08-25 05:01  maan
-
-       * sdl_gui.c: many small cleanups
-
-2003-08-25 00:37  maan
-
-       * sdl_gui.c: poll all events, not only one
-
-2003-08-24 23:19  maan
-
-       * sdl_gui.c: nuke shm crap
-
-2003-08-24 23:05  maan
-
-       * sdl_gui.c: use select instead of fork
-
-2003-08-24 19:42  maan
-
-       * sdl_gui.c: implement basic picture viewing
-
-2003-08-22 14:20  maan
-
-       * icc_gui.c: fix silly snooze bug
-
-2003-08-21 22:10  maan
-
-       * NEWS: add 'fix long outstanding case sensitivity bug'
-
-2003-08-21 22:09  maan
-
-       * README.dbtool: document binary format for initial creation
-
-2003-08-21 21:38  maan
-
-       * icc_dbtool.c: fix long outstanding case sensitivity bug
-
-2003-08-21 04:20  maan
-
-       * README: update
-
-2003-08-19 03:26  maan
-
-       * NEWS: update
-
-2003-08-19 03:14  maan
-
-       * icc_gui.c: small cleanups
-
-2003-08-19 03:13  maan
-
-       * icc_dbtool.c: vrfy/clean: check/replace NULL values in attributes
-
-2003-08-19 01:21  maan
-
-       * icc_dbtool.c: na: Create NOT NULL columns
-
-2003-08-18 06:02  maan
-
-       * icc_gui.c: do_select: implement getstr mode and timeout in getch
-         mode. Avoid remaining memory leaks
-
-2003-08-18 02:18  maan
-
-       * icc_gui.c: new fucntion: do_select. Fix memory leak while in
-         scroll mode
-
-2003-08-17 20:46  maan
-
-       * icc_gui.c: remove unneeded header includes
-
-2003-08-17 20:12  maan
-
-       * icc_gui.c: fix bug: some lines of stat's output could be missed
-
-2003-08-17 19:53  maan
-
-       * icc_gui.c: add new commands J, K
-
-2003-08-17 04:46  maan
-
-       * icc_gui.c: add comments on new functions
-
-2003-08-17 04:24  maan
-
-       * icc_gui.c: add past command
-
-2003-08-17 04:00  maan
-
-       * icc_gui.c: more status and error messages
-
-2003-08-17 02:06  maan
-
-       * icc_gui.c: reduce minimal top lines to 8
-
-2003-08-17 01:57  maan
-
-       * icc_gui.c: add f command, nicify help output
-
-2003-08-16 22:57  maan
-
-       * icc_gui.c: implement scrolling, fix sigint handling
-
-2003-08-16 21:34  maan
-
-       * icc_gui.c: implement '!' prefix for commands
-
-2003-08-16 21:11  maan
-
-       * icc_gui.c: add +/- to change size of top/bottom windows
-
-2003-08-16 18:14  maan
-
-       * icc_gui.c: add separator, add input window
-
-2003-08-16 17:30  maan
-
-       * icc_gui.c: kill fake shm struct, fix winch handling
-
-2003-08-16 17:08  maan
-
-       * icc_gui.c: kill shared mem crap, fix ':' command
-
-2003-08-16 16:15  maan
-
-       * icc_gui.c: major improvements, use select instead of fork, use
-         two windows
-
-2003-08-15 03:44  maan
-
-       * icc_gui.c: copy LINES and COLS to shm
-
-2003-08-15 03:25  maan
-
-       * icc_gui.c: use semaphore locking
-
-2003-08-14 23:35  maan
-
-       * icc_gui.c: fix potential buffer overflow in print_item
-
-2003-08-14 23:14  maan
-
-       * icc_gui.c: new function: handle_command
-
-2003-08-14 23:05  maan
-
-       * icc_gui.c: cleanup signal handling and shared mem init
-
-2003-08-14 22:50  maan
-
-       * icc_gui.c: new sigchld handler. Check which child has died
-
-2003-08-14 22:37  maan
-
-       * icc_gui.c: remove useless SIGTSTP handler, some small cleanups
-
-2003-08-14 22:18  maan
-
-       * icc_gui.c: exit gracefully and let the terminal intact
-
-2003-08-14 21:57  maan
-
-       * icc_gui.c:
-         use shmXXX instead of mmap to get shared memory area. Works with
-         2.2 kernels.
-
-         new variable: shm->winch to distinguish between winch and status
-         bar updates. So endwin is only called on winch events.
-
-         new function: print welcome. This is used by parent.
-
-2003-08-10 23:25  maan
-
-       * icc_dbtool.c: na: use default value 0 instead of NULL
-
-2003-07-28 04:27  maan
-
-       * icc_gui.c: fix memory leak, notice when invalid key is pressed
-
-2003-07-27 16:19  maan
-
-       * icc_gui.c: don't update status bar in interrupt handler
-
-2003-07-27 06:04  maan
-
-       * NEWS: add old news for 0.0.93 and some recent news
-
-2003-07-27 05:39  maan
-
-       * icc_gui.c: remove definition of row since this is now a comupted
-         value
-
-2003-07-27 05:13  maan
-
-       * icc_gui.c: make it work with 60x10 terminals, add dokumentation
-
-2003-07-27 04:14  maan
-
-       * icc_gui.c: modify transform vol slightly
-
-2003-07-27 04:10  maan
-
-       * icc_gui.c: kill unneeded print_help function
-
-2003-07-27 04:09  maan
-
-       * icc_gui.c: new command: help
-
-2003-07-27 03:38  maan
-
-       * icc_gui.c: adapt also lines to varying window size. Many small
-         cleanups and fixes
-
-2003-07-27 02:10  maan
-
-       * icc_gui.c: update status bar in sigwinch
-
-2003-07-27 01:52  maan
-
-       * icc_gui.c: make it respect varying window sizes
-
-2003-07-26 20:59  maan
-
-       * icc_gui.c: test window geometry and exit if too narrow
-
-2003-07-17 03:34  maan
-
-       * icc_dbtool.c: print_results: avoid trailing whitespace. Some
-         typos
-
-2003-07-13 02:35  maan
-
-       * Makefile: cleanup, introduce variables CC_FLAGS LD_FLAGS
-         SDL_INCLUDES MYSQL_INCLUDES
-
-2003-07-12 17:55  maan
-
-       * README.dbtool: add mysql commands for creating the tables data
-         and dir
-
-2003-07-09 02:28  maan
-
-       * icc_dbtool.c: more documentation, cosmetics
-
-2003-07-09 01:57  maan
-
-       * README.dbtool: replace LASTPLAYED by LASTPLAYED(). Same with
-         NUMPLAYED. Small cleanups
-
-2003-07-09 01:45  maan
-
-       * Makefile: clean: remove icc_dbtool
-
-2003-07-09 01:41  maan
-
-       * Makefile: nuke make_streams
-
-2003-07-09 01:40  maan
-
-       * make_streams: now implemented in icc_dbtool.c
-
-2003-07-08 23:12  maan
-
-       * icc_dbtool.c: fut: implement parsing functions for new
-         streams_def syntax
-
-2003-07-08 22:30  maan
-
-       * icc_dbtool.c: nuke randomize function which is no longer needed
-
-2003-07-08 22:29  maan
-
-       * icc_dbtool.c: streams: adapt to new syntax, change default
-         filename from streams to stream_defs
-
-2003-06-30 05:03  maan
-
-       * Makefile: icc_server depends on mp3info.h
-
-2003-06-30 04:57  maan
-
-       * Makefile: icc_sdl_gui depends on SFont.c
-
-2003-06-30 04:56  maan
-
-       * SFont.c: comment out unused functions
-
-2003-06-30 04:40  maan
-
-       * SFont.c: indent to kr style
-
-2003-06-30 04:34  maan
-
-       * SFont.c: add GPL header
-
-2003-06-29 22:05  maan
-
-       * INSTALL, README: change icc_dbtool.template to icc_dbtool.sample
-
-2003-06-29 22:04  maan
-
-       * Makefile: major cleanup and bugfixes
-
-2003-06-29 21:17  maan
-
-       * icc_dbtool.sample: former icc_dbtool.template
-
-2003-06-29 21:16  maan
-
-       * icc_dbtool.template: moved to icc_dbtool.sample
-
-2003-06-29 21:01  maan
-
-       * Makefile: Use cvs status to determine if local copy is up to date
-
-2003-06-29 19:44  maan
-
-       * VERSION: bump version number to 95
-
-2003-06-29 19:39  maan
-
-       * Makefile: install: also install make_streams
-
-2003-06-29 19:39  maan
-
-       * make_streams: bash script to produce the streams configuration
-         file
-
-2003-06-29 19:37  maan
-
-       * README.dbtool: document new syntax of streams.in
-
-2003-06-29 18:22  maan
-
-       * 1.0: improve change ssl text
-
-2003-06-29 18:19  maan
-
-       * Makefile: add NEWS and make_streams to sources
-
-2003-06-29 18:15  maan
-
-       * NEWS: contains release notes
-
-2003-06-29 17:53  maan
-
-       * icc_server.c: cosmetics
-
-2003-06-29 17:52  maan
-
-       * icc_bash_completion: use streams command to complete cs
-
-2003-06-28 13:58  maan
-
-       * afs.c: fix small race at end of song play
-
-2003-06-28 13:44  maan
-
-       * icc_server.c: set_conf: Use const char* variables for output of
-         messages to reduce space
-
-2003-06-28 13:12  maan
-
-       * icc_server.c: call wait directly from the sigchld interupt
-         handler to avoid zombies
-
-2003-06-28 13:10  maan
-
-       * command.c: cosmetics
-
-2003-06-22 06:58  maan
-
-       * icc_dbtool.c: fix order of rows bug
-
-2003-06-22 04:18  maan
-
-       * command.c: stat: print streamname continuously
-
-2003-06-22 04:13  maan
-
-       * 1.0, icc_dbtool.c: fix bug: fut n always prints all valid songs
-         instead of only n
-
-2003-06-22 03:51  maan
-
-       * icc_gui.c, sdl_gui.c: print score
-
-2003-06-22 03:51  maan
-
-       * icc_dbtool.template: fut: print dummy score
-
-2003-06-22 03:50  maan
-
-       * command.c: stat: print score
-
-2003-06-22 03:50  maan
-
-       * afs.c: get_song: adapt to new output of fut (contains score now)
-
-2003-06-22 03:48  maan
-
-       * icc_dbtool.c: simplify fut since ~/.icc/streams contains full
-         query now
-
-2003-06-22 03:47  maan
-
-       * icc.h: add mmd.score
-
-2003-06-19 17:18  maan
-
-       * icc_bash_completion: add ca (copy attributes)
-
-2003-06-19 17:12  maan
-
-       * icc_dbtool.c: add ca (copy attributes) command
-
-2003-06-15 20:44  maan
-
-       * sdl_gui.c: major cleanup, speed improvements and debugging
-
-2003-06-15 19:16  maan
-
-       * command.c: only send full volatile status when it has changed
-
-2003-06-15 19:02  maan
-
-       * command.c: only send full status when song has changed
-
-2003-06-15 02:42  maan
-
-       * icc_dbtool.c: com_us: use basename of given argument
-
-2003-06-15 01:47  maan
-
-       * icc_dbtool.c: fix do_update_song (introduce get_numplayed)
-
-2003-06-02 00:54  maan
-
-       * icc_dbtool.c: small cleanups
-
-2003-06-02 00:01  maan
-
-       * afs.c: flush id3 tags before updating
-
-2003-06-01 23:45  maan
-
-       * icc_dbtool.c: us: increase Numplayed, info: print Numplayed,
-         get_a: fix off by one bug
-
-2003-06-01 23:06  maan
-
-       * icc_dbtool.c: get_aa: skip first _three_ rows, since third row is
-         now reserved for number of times song has been played
-
-2003-06-01 22:43  maan
-
-       * icc_dbtool.c: return is not a function!
-
-2003-06-01 22:42  maan
-
-       * icc_dbtool.c: fix return value in get_a
-
-2003-05-18 18:33  maan
-
-       * sdl_gui.c: make non-interactive mode working. Some cleanups
-
-2003-05-18 04:11  maan
-
-       * sdl_gui.c: add command line options -w -h -f -i
-
-2003-05-05 01:47  maan
-
-       * VERSION: bump version number to 94
-
-2003-05-05 01:46  maan
-
-       * Makefile: start tag name with letter to make cvs happy
-
-2003-05-05 01:45  maan
-
-       * VERSION: decrease version to 93, since make version failed
-
-2003-05-05 01:45  maan
-
-       * Makefile: use backtick expansion rather than double dollars
-
-2003-05-05 01:42  maan
-
-       * VERSION: bump version number to 94
-
-2003-05-05 01:42  maan
-
-       * VERSION: decrease version to 93, since make version failed
-
-2003-05-05 01:41  maan
-
-       * Makefile: typo that caused cvs -q tag to fail
-
-2003-05-05 01:37  maan
-
-       * VERSION: bump version number to 94
-
-2003-05-04 00:24  maan
-
-       * icc_server.c: loglevel adjustments
-
-2003-05-04 00:09  maan
-
-       * icc_server.c: minor auth cleanup
-
-2003-05-03 23:21  maan
-
-       * icc_server.c: reduce # arguments for handle_sighup
-
-2003-05-03 21:28  maan
-
-       * icc_server.c: avoid use of TRUE and FALSE (tele-tubby)
-
-2003-05-03 21:10  maan
-
-       * icc_server.c: init mmd->num_played, mmd->num_commands and
-         mmd->stream_name early
-
-2003-05-03 21:08  maan
-
-       * icc.h: reduce number of arguments to init_afs
-
-2003-05-03 21:08  maan
-
-       * init_afs.c: reduce number of arguments to init_afs, move init of
-         some sane values of mmd where they belong, comment out silly
-         PETER_B log messages
-
-2003-05-03 20:44  maan
-
-       * icc.h: add prototype for afs_status_tohuman
-
-2003-05-03 20:44  maan
-
-       * command.c: don't duplicate afs_status_tohuman, use it
-
-2003-05-03 20:30  maan
-
-       * afs.c: insert missing function descriptors
-
-2003-05-03 20:30  maan
-
-       * icc.h: init afs returns pid_t
-
-2003-05-03 20:26  maan
-
-       * icc_server.c: fix missing exit for unknown commands. Strange...
-
-2003-05-03 20:13  maan
-
-       * init_afs.c: init afs returns pid_t
-
-2003-05-03 20:11  maan
-
-       * icc.h, icc_server.c, init_afs.c: move definition of conn to
-         init_afs
-
-2003-05-03 20:01  maan
-
-       * sdl_gui.c: unicolor, proposed by christian
-
-2003-05-03 19:58  maan
-
-       * icc_server.c: first bind socket, then fork. Avoids log flodding
-         if second instance of icc_server is started
-
-2003-05-03 19:51  maan
-
-       * icc_server.c: further cosmetics
-
-2003-05-03 19:34  maan
-
-       * icc_server.c: cosmetics
-
-2003-05-03 19:30  maan
-
-       * icc_server.c: kill dead code [send(...)]
-
-2003-05-03 19:13  maan
-
-       * icc_server.c: fix nasty bug introduced by use of send_buffer:
-         strlen(buf) might not give correct length in case of encrypted
-         data
-
-2003-05-03 00:47  maan
-
-       * icc_server.c: further small cleanups
-
-2003-05-03 00:34  maan
-
-       * icc.h: add prototype for send_buffer
-
-2003-05-03 00:23  maan
-
-       * icc_server.c: cosmetics
-
-2003-05-03 00:14  maan
-
-       * icc_server.c: use send_buffer() rather than send()
-
-2003-05-02 23:53  maan
-
-       * afs.c: compute_sb_string: use basename instead of weird strchr()
-         madness
-
-2003-05-02 23:22  maan
-
-       * afs.c: replace cleanexit by clean_n_jump
-
-2003-05-02 23:02  maan
-
-       * command.c: stat: output two digits for seconds
-
-2003-05-02 23:01  maan
-
-       * icc.h: replace BUFFSIZE by CHUNK_BUFFSIZE
-
-2003-04-30 00:39  maan
-
-       * afs.c: update meta data stream regularly (adjustable in icc.h)
-
-2003-04-29 22:54  maan
-
-       * icc_dbtool.c: Comment out noisy output in upd
-
-2003-04-20 17:40  maan
-
-       * README: nuke php description, add sdl_gui description
-
-2003-04-20 17:31  maan
-
-       * sdl_gui.c: add documentation
-
-2003-04-20 17:16  maan
-
-       * sdl_gui.c: add gpl header
-
-2003-04-20 17:14  maan
-
-       * sdl_gui.c: cut length of output lines if too long
-
-2003-04-20 16:49  maan
-
-       * afs.c, command.c, icc.h, icc_gui.c, sdl_gui.c: replace mmd.misc
-         by mmd.dbinfo
-
-2003-04-20 16:30  maan
-
-       * afs.c: enumerate Â«misc:» lines for status output
-
-2003-04-20 16:28  maan
-
-       * Makefile: also install icc_sdl_gui
-
-2003-04-20 15:57  maan
-
-       * SFont.c: needed by sdl_gui
-
-2003-04-20 15:56  maan
-
-       * sdl_gui.c: The gui of death that makes you blind
-
-2003-04-20 15:55  maan
-
-       * command.c: status: print id tags
-
-2003-04-20 15:55  maan
-
-       * afs.c: cleanups
-
-2003-04-20 15:53  maan
-
-       * Makefile: new target: sdl_gui
-
-2003-04-04 02:45  maan
-
-       * icc_gui.c: show also mp3tags
-
-2003-04-04 02:25  maan
-
-       * command.c: stat: print also id3 tags
-
-2003-04-04 02:12  maan
-
-       * Makefile, afs.c, command.c, icc.h: include mp3info struct in mmd
-         and remove duplication of information in mmd
-
-2003-04-04 01:19  maan
-
-       * mp3tech.c, mp3tech.h, mp3info.h, textfunc.h: taken from mp3info
-         package
-
-2003-04-04 01:18  maan
-
-       * afs.c: Use mp3tech instead of mp3info
-
-2003-04-04 01:18  maan
-
-       * Makefile: include mp3tech
-
-2003-04-03 04:20  maan
-
-       * icc_gui.c: add c (change stream) to status bar
-
-2003-04-03 03:53  maan
-
-       * icc_dbtool.c: further cosmetics
-
-2003-04-02 22:18  maan
-
-       * icc_dbtool.c: cosmetics
-
-2003-04-02 03:19  maan
-
-       * icc_dbtool.template: Omit streams in help's output
-
-2003-04-02 03:07  maan
-
-       * README.dbtool: Improve(?) Real life eample
-
-2003-04-02 02:40  maan
-
-       * icc_server.conf.sample: use 127.0.0.1 as default icecast ip
-
-2003-04-02 02:33  maan
-
-       * icc_dbtool.template: add nec. streams command and some more
-         comments
-
-2003-03-29 18:22  maan
-
-       * command.c, icc_gui.c: new command: ns (next stream)
-
-2003-03-29 17:37  maan
-
-       * command.c, icc_dbtool.c, icc_gui.c: info: print default text if
-         no attributes set or lastplayed=NULL
-
-2003-03-29 02:12  maan
-
-       * INSTALL, README: linguistic improvements (I hope)
-
-2003-03-29 00:43  maan
-
-       * VERSION: bump version number to 93
-
-2003-03-29 00:43  maan
-
-       * Makefile: add xmms-patch to sources
-
-2003-03-29 00:40  maan
-
-       * xmms-1.2.7.titlebar_vbr_patch: patch for xmms-1.2.7 to fix title
-         display for mp3s with vbr
-
-2003-03-29 00:32  maan
-
-       * afs.c, command.c: nicify afs status output
-
-2003-03-28 05:18  maan
-
-       * icc_gui.c: statusbar improvements
-
-2003-03-28 05:05  maan
-
-       * icc_gui.c: major optic overhowl. I like it colored
-
-2003-03-28 00:06  maan
-
-       * icc_gui.c: print also current stream
-
-2003-03-28 00:05  maan
-
-       * command.c: stat: print name of current stream
-
-2003-03-28 00:04  maan
-
-       * afs.c: cleanups
-
-2003-03-18 02:29  maan
-
-       * icc_gui.c: use linux/soundcard.h to set volume directly
-
-2003-03-17 22:29  maan
-
-       * icc_gui.c: cosmetics
-
-2003-03-17 22:22  maan
-
-       * icc_gui.c: additional delay for command '-'
-
-2003-03-17 22:18  maan
-
-       * init_afs.c: loglevel adjustments
-
-2003-03-17 22:17  maan
-
-       * icc_server.c: log: print server if mmd not yet defined
-
-2003-03-17 05:10  maan
-
-       * afs.c, icc_server.c: adjust some loglevels
-
-2003-03-17 02:16  maan
-
-       * command.c, icc.h, icc_server.c, init_afs.c: use semaphor-locking
-         to serialize access to server-afs pipes
-
-2003-03-17 01:19  maan
-
-       * init_afs.c: kill processgroup if afs dies
-
-2003-03-12 22:22  maan
-
-       * icc.h: add prototypes for pid_list_lock, pid_list_unlock
-
-2003-03-12 22:21  maan
-
-       * command.c: uptime: lock pid_list before accessing
-
-2003-03-12 21:51  maan
-
-       * icc_server.c: add semaphor locking for pid_list. Fix several bugs
-         causing corrupt pid_list
-
-2003-03-12 21:50  maan
-
-       * icc.h: add server and afs pids to mmd struct, split macro LICENSE
-
-2003-03-12 21:48  maan
-
-       * command.c: fix typo
-
-2003-03-11 00:43  maan
-
-       * afs.c, command.c, icc_server.c: forgotten cleanups
-
-2003-02-23 18:06  maan
-
-       * icc.h, icc_server.c: new loglevel: VERBOSE
-
-2003-02-23 16:54  maan
-
-       * icc_server.c: fix permission bug (commands were executed even if
-         permissions are not suff.)
-
-2003-02-23 16:46  maan
-
-       * Makefile: Change icebear.c and init_icebear.c to afs
-
-2003-02-23 16:45  maan
-
-       * init_afs.c: new, former init_icebear.c
-
-2003-02-23 16:44  maan
-
-       * init_icebear.c: renamed to init_afs.c
-
-2003-02-23 16:40  maan
-
-       * afs.c: new file, former icebear.c
-
-2003-02-23 16:39  maan
-
-       * icebear.c: will be renamed to afs.c
-
-2003-02-23 16:35  maan
-
-       * command.c, icc.h, icc_dbtool.c, icc_server.c, icebear.c: change
-         rest of occurences of icebear to afs
-
-2003-02-23 16:18  maan
-
-       * icc.h, icebear.c, init_icebear.c: change icebear function to afs
-
-2003-02-23 16:12  maan
-
-       * command.c, icc.h, icc_server.c, icebear.c, init_icebear.c: change
-         icebear_init to afs_init
-
-2003-02-23 15:57  maan
-
-       * INSTALL, command.c, icc.h, icc_server.c, icc_server.conf.sample,
-         icebear.c: change ICEBEAR to AFS
-
-2003-02-23 15:47  maan
-
-       * icc_dbtool.c, icebear.c: cosmetics
-
-2003-02-23 03:31  maan
-
-       * command.c: cosmetics
-
-2003-02-23 03:20  maan
-
-       * command.c, icc.h: change ICEBEAR_HANDLER to AFS_HANDLER
-
-2003-02-23 03:08  maan
-
-       * icc_server.c: cosmetics
-
-2003-02-23 03:00  maan
-
-       * command.c, icc.h, icc_server.c: replace icc_server: by server:
-
-2003-02-23 02:45  maan
-
-       * icebear.c: comment out unneeded signal handler code
-
-2003-02-23 02:17  maan
-
-       * icc_server.c: Fix bug: become deamon *before* we record our pid.
-
-2003-02-23 02:07  maan
-
-       * icc_server.c: make version the first line that is printed out
-
-2003-02-23 01:05  maan
-
-       * icebear.c: logical simplifications
-
-2003-02-23 00:34  maan
-
-       * icebear.c: new function: send_chunk. Many cleanups
-
-2003-02-22 23:01  maan
-
-       * icebear.c: new functions: get_song and compute_sb_string
-
-2003-02-22 22:51  maan
-
-       * icebear.c: new functions: get_song and compute_sb_string
-
-2003-02-22 21:56  maan
-
-       * icebear.c: cosmetics
-
-2003-02-22 21:46  maan
-
-       * icebear.c: only send metadata stream once
-
-2003-02-22 21:36  maan
-
-       * icebear.c: clear buffer before reading
-
-2003-02-18 01:48  maan
-
-       * icc_gui.c: thinko: add break statements
-
-2003-02-18 01:30  maan
-
-       * command.c: add comment
-
-2003-02-18 01:29  maan
-
-       * icc_gui.c: use case instead of ifs
-
-2003-02-18 00:34  maan
-
-       * command.c: comment out obsolete check for icebear_fd
-
-2003-02-18 00:32  maan
-
-       * icc_server.c: log pid of current process
-
-2003-02-17 23:43  maan
-
-       * init_icebear.c: cosmetics
-
-2003-02-17 23:30  maan
-
-       * icc_server.c: cosmetics
-
-2003-02-17 23:29  maan
-
-       * icc.h: add struct pid_list and macro FOR_EACH_PROC from server
-
-2003-02-17 23:27  maan
-
-       * command.c: uptime: add pid of chilren in output
-
-2003-02-17 03:47  maan
-
-       * icc_server.c: sigchd handler: Wait not only for one child. There
-         may be more...
-
-2003-02-17 02:36  maan
-
-       * icebear.c: make it terminate if read fails and ppid == 1
-
-2003-02-11 03:04  maan
-
-       * icc_gui.c: major cleanup. Wow, is that crappy
-
-2003-02-11 00:35  maan
-
-       * command.c, icc.h, icc_server.c, icebear.c: implement pid list to
-         keep track of children. Needed for hup since kill(0,sighup)
-         doesnt work in daemon mode
-
-2003-02-10 01:53  maan
-
-       * icc_server.c: cosmetics
-
-2003-02-10 01:51  maan
-
-       * icc_dbtool.template: add -print to find command, documentation
-         update
-
-2003-02-10 01:50  maan
-
-       * icc_dbtool.c: remove obsolete ass command
-
-2003-02-10 00:55  maan
-
-       * command.c, icc_server.c: new function send_buffer
-
-2003-02-10 00:04  maan
-
-       * command.c: new command: hup
-
-2003-02-09 23:33  maan
-
-       * icc.h, icc_server.c, icebear.c: handle sighup correctly (all
-         children have to reload log file)
-
-2003-02-09 18:30  maan
-
-       * icc.h, icc_server.c, icebear.c, init_icebear.c: reduce use of
-         global variables. Extend mmd and put info there instead
-
-2003-02-09 15:58  maan
-
-       * icc_server.c: print plural form correctly in uptime
-
-2003-02-09 15:46  maan
-
-       * icc_server.c: cosmetics
-
-2003-02-09 01:55  maan
-
-       * command.c: further cosmetics
-
-2003-02-09 01:18  maan
-
-       * command.c: cosmetics
-
-2003-02-08 23:16  maan
-
-       * icc_client.c: cosmetics
-
-2003-01-11 16:30  maan
-
-       * VERSION, icc_dbtool.c, icc_gui.c, icebear.c, init_icebear.c:
-         change 2002 to 2003
-
-2003-01-11 16:28  maan
-
-       * icc_client.c, icc_server.c: cleanup. use new macros LICENSE and
-         COPYRIGHT
-
-2003-01-11 16:27  maan
-
-       * icc.h: add macros COPYRIGHT, LICENSE
-
-2003-01-11 16:26  maan
-
-       * command.c: minor cleanups
-
-2003-01-11 16:24  maan
-
-       * README.dbtool: fix some misprints
-
-2003-01-11 16:23  maan
-
-       * README:
-         Minor clarifications
-
-2002-12-23 22:26  maan
-
-       * icebear.c: cosmetic cleanup
-
-2002-12-23 22:20  maan
-
-       * icc_server.c: cosmetic cleanups
-
-2002-12-23 22:15  maan
-
-       * icebear.c: set icc version in init_shout
-
-2002-12-15 23:11  maan
-
-       * Makefile: commit change of version number on target version
-         before calling cvs tag
-
-2002-12-15 23:04  maan
-
-       * Makefile: version now implies distclean
-
-2002-12-15 22:56  maan
-
-       * Makefile: enable cvs tagging
-
-2002-12-15 22:53  maan
-
-       * Makefile: prepare for cvs tagging
-
-2002-12-15 22:49  maan
-
-       * Makefile: fix version (no more tdl), new target: update
-
-2002-12-15 22:37  maan
-
-       * Makefile: tgz no longer implies version
-
-2002-12-15 21:20  maan
-
-       * icebear.c: minor cleanups
-
-2002-12-15 21:04  maan
-
-       * icc_server.c: remove unneeded comments
-
-2002-12-15 20:55  maan
-
-       * icc_server.c, icebear.c: move (parts of) initialization of conn
-         fromicebear to server
-
-2002-12-15 20:11  maan
-
-       * icc_server.c: minor code cleanup,  add documentation bits
-
-2002-12-15 18:05  maan
-
-       * INSTALL, icebear.c: icc_dbtool is no longer a script. Fix
-         accordingly
-
-2002-12-15 14:28  maan
-
-       * icc_server.c: cosmetic cleanup
-
-2002-12-14 21:51  maan
-
-       * icc.h, icebear.c: use new mmd.mdst (meta data stream text) to
-         display meta data
-
-2002-12-14 02:51  maan
-
-       * icebear.c: new function: update_mmd
-
-2002-12-14 02:02  maan
-
-       * 1.0, icebear.c: preparation for movement of large parts in
-         icebear to extra function
-
-2002-12-14 01:03  maan
-
-       * icebear.c: minor code cleanup
-
-2002-12-14 00:10  maan
-
-       * icebear.c: use icecast meta data streaming
-
-2002-12-13 22:53  maan
-
-       * icc_dbtool.c: remove #include <libgen.h>
-
-2002-12-13 22:50  maan
-
-       * icc.h: add documentation
-
-2002-12-12 23:23  maan
-
-       * icc_client.c: better ERROR logging
-
-2002-12-08 03:11  maan
-
-       * command.c: code cleanup
-
-2002-12-08 02:54  maan
-
-       * command.c: fix cs in case invalid stream name is given
-
-2002-12-01 01:47  maan
-
-       * icc_dbtool.c: unlink tempfile _after_ closing
-
-2002-12-01 00:55  maan
-
-       * command.c, icc.h, icc_client.c, icc_dbtool.c, icc_gui.c,
-         icc_server.c, init_icebear.c: add Keyword Expansion
-
-2002-12-01 00:48  maan
-
-       * .changelog_before_cvs: self explanatory
-
-2002-12-01 00:46  maan
-
-       * Makefile: New Changelog Format with cvs2cl
-
-2002-12-01 00:19  maan
-
-       * icebear.c: add Keyword Expansion
-
-2002-12-01 00:09  maan
-
-       * .tdldb, 1.0, COPYING, GPL, INSTALL, Makefile, README,
-         README.dbtool, VERSION, command.c, icc.h, icc_bash_completion,
-         icc_client.c, icc_client.conf.sample, icc_dbtool.c,
-         icc_dbtool.conf.sample, icc_dbtool.template, icc_gui.c,
-         icc_server.c, icc_server.conf.sample, icebear.c,
-         icecast.conf.sample, init_icebear.c: Initial revision
-
-2002-12-01 00:09  maan
-
-       * .tdldb, 1.0, COPYING, GPL, INSTALL, Makefile, README,
-         README.dbtool, VERSION, command.c, icc.h, icc_bash_completion,
-         icc_client.c, icc_client.conf.sample, icc_dbtool.c,
-         icc_dbtool.conf.sample, icc_dbtool.template, icc_gui.c,
-         icc_server.c, icc_server.conf.sample, icebear.c,
-         icecast.conf.sample, init_icebear.c: initial import into cvs
-
index 04d8f32621edd1426e2651aab711dd11516d9080..00cb6cc905af69531136fbf06b03e9ee1052b072 100644 (file)
--- a/Doxyfile
+++ b/Doxyfile
@@ -622,7 +622,6 @@ EXCLUDE_PATTERNS       = *.cmdline.* \
                          gui* \
                          gcc-compat.h \
                          fade.c \
-                         config.h \
                        *_command_list.h \
                        *_completion.h
 
@@ -1267,7 +1266,7 @@ ENABLE_PREPROCESSING   = YES
 # compilation will be performed. Macro expansion can be done in a controlled
 # way by setting EXPAND_ONLY_PREDEF to YES.
 
-MACRO_EXPANSION        = NO
+MACRO_EXPANSION        = YES
 
 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
 # then the macro expansion is limited to the macros specified with the
@@ -1301,13 +1300,7 @@ INCLUDE_FILE_PATTERNS  =
 # undefined via #undef or recursively expanded use the := operator
 # instead of the = operator.
 
-PREDEFINED             = HAVE_MAD \
-                         HAVE_FAAD \
-                         HAVE_OGGVORBIS \
-                         __GNUC__=4 \
-                         __GNUC_MINOR__=4 \
-                         HAVE_UCRED \
-                        HAVE_CLOCK_GETTIME
+PREDEFINED             = __GNUC__=4 __GNUC_MINOR__=4
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
 # this tag can be used to specify a list of macro names that should be expanded.
index 19679923934883941ab6b810dcbb0e33cf4c3e39..6762b449bed265fd2e0141e3c6bf462bf44e3a6e 100644 (file)
@@ -16,6 +16,10 @@ ggo_descriptions_declared := @ggo_descriptions_declared@
 object_executable_matrix := @object_executable_matrix@
 
 executables := @executables@
+receivers := @receivers@
+filters := @filters@
+writers := @writers@
+
 recv_objs := @recv_objs@
 filter_objs := @filter_objs@
 client_objs := @client_objs@
index d80203765c521d68a3f2f634536cf46283142545..d6ffe0c424a2adf2a623d8b2376f327932142911 100644 (file)
@@ -51,11 +51,10 @@ man_pages := $(patsubst %, $(man_dir)/%.1, $(prefixed_executables))
 
 autocrap := config.h.in configure
 tarball_pfx := $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
-tarball_delete := $(addprefix $(tarball_pfx)/,\
-       web .changelog_before_cvs .changelog_cvs .gitignore)
+tarball_delete := $(addprefix $(tarball_pfx)/, web .gitignore)
 tarball := $(tarball_pfx).tar.bz2
 
-.PHONY: dep all clean distclean maintainer-clean install man tarball
+.PHONY: dep all clean clean2 distclean maintainer-clean install man tarball
 all: dep $(prefixed_executables) $(man_pages)
 dep: $(deps)
 man: $(man_pages)
@@ -87,6 +86,7 @@ DEBUG_CPPFLAGS += -Wredundant-decls
 DEBUG_CPPFLAGS += -Wall -Wno-sign-compare -Wno-unknown-pragmas
 DEBUG_CPPFLAGS += -Wformat-security
 DEBUG_CPPFLAGS += -Wmissing-format-attribute
+DEBUG_CPPFLAGS += -Wdeclaration-after-statement
 
 ifeq ($(uname_s),Linux)
        CPPFLAGS += -fdata-sections -ffunction-sections
@@ -125,36 +125,44 @@ endif
 
 %_command_list.h: %.cmd %.c
        @[ -z "$(Q)" ] || echo 'GEN $@'
-       $(Q) ./command_util.sh h < $< >$@
+       $(Q) ./command_util.bash h < $< >$@
 %_command_list.man: %.cmd %.c
        @[ -z "$(Q)" ] || echo 'GEN $@'
-       $(Q) ./command_util.sh man < $< > $@
+       $(Q) ./command_util.bash man < $< > $@
 %_completion.h: %.cmd %.c
        @[ -z "$(Q)" ] || echo 'GEN $@'
-       $(Q) ./command_util.sh compl $(strip $(call TOUPPER,$(*F)))_COMPLETERS \
+       $(Q) ./command_util.bash compl $(strip $(call TOUPPER,$(*F)))_COMPLETERS \
                $(strip $(call TOUPPER,$(*F)))_COMMANDS < $< > $@
 
 server_command_list.h server_command_list.man server_completion.h: command.c
 afs_command_list.h afs_command_list.man afs_completion.h: afs.c aft.c attribute.c
 audiod_command_list.h audiod_command_list.man audiod_completion.h: audiod_command.c
 
-server_command_lists_man = server_command_list.man afs_command_list.man
-$(man_dir)/para_server.1: $(help2man_dir)/para_server $(server_command_lists_man) | $(man_dir)
-       @[ -z "$(Q)" ] || echo 'MAN $<'
-       $(Q) opts="`for i in $(server_command_lists_man); do printf "%s\n" "-i $$i"; done`"; \
-       $(HELP2MAN) $$opts ./$< > $@
+server_command_lists := server_command_list.man afs_command_list.man
+audiod_command_lists := audiod_command_list.man
+play_command_lists := play_command_list.man
 
-$(man_dir)/para_audiod.1: $(help2man_dir)/para_audiod audiod_command_list.man | $(man_dir)
-       @[ -z "$(Q)" ] || echo 'MAN $<'
-       $(Q) $(HELP2MAN) -N -i audiod_command_list.man ./$< > $@
+$(man_dir)/para_server.1: $(server_command_lists)
+$(man_dir)/para_audiod.1: $(audiod_command_lists)
+$(man_dir)/para_play.1: $(play_command_lists)
 
-$(man_dir)/para_play.1: $(help2man_dir)/para_play play_command_list.man | $(man_dir)
-       @[ -z "$(Q)" ] || echo 'MAN $<'
-       $(Q) $(HELP2MAN) -N -i play_command_list.man ./$< > $@
+$(man_dir)/para_server.1: man_util_command_lists := $(server_command_lists)
+$(man_dir)/para_audiod.1: man_util_command_lists := $(audiod_command_lists)
+$(man_dir)/para_play.1: man_util_command_lists := $(play_command_lists)
 
-$(man_dir)/%.1: $(help2man_dir)/% | $(man_dir)
+$(man_dir)/para_%.1: $(ggo_dir)/%.ggo man_util.bash | $(man_dir) $(help2man_dir)
        @[ -z "$(Q)" ] || echo 'MAN $<'
-       $(Q) $(HELP2MAN) -N ./$< > $@
+       $(Q) \
+               COMMAND_LISTS="$(man_util_command_lists)" \
+               FILTERS="$(filters)" \
+               GENGETOPT=$(GENGETOPT) \
+               GGO_DIR=$(ggo_dir) \
+               HELP2MAN=$(HELP2MAN) \
+               HELP2MAN_DIR=$(help2man_dir) \
+               RECEIVERS="$(receivers)" \
+               VERSION="$(GIT_VERSION)" \
+               WRITERS="$(writers)" \
+               ./man_util.bash $@
 
 $(hostbin_dir)/error2: error2.c | $(hostbin_dir)
        @[ -z "$(Q)" ] || echo 'HCC $<'
diff --git a/NEWS b/NEWS
index 787bdde64d7cd797d93b73131256a9530be363bf..ab53a17697ea7c92f2d0b2107d4d8dcee95d9e4c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,7 +6,8 @@ NEWS
 ---------------------------------------------
 
 The new sync filter, the AES_CTR128 stream cipher and the overhauled
-network code are the highlights of this release.
+network code are the highlights of this release. It also includes a
+fair number of smaller fixes and improvements not mentioned here.
 
        - The new sync filter synchronizes playback between multiple
          clients.
@@ -17,8 +18,11 @@ network code are the highlights of this release.
          are necessary, and a client linked against openssl can
          speak with a server linked against libgcrypt and vice versa.
        - Major cleanup of the networking subsystem.
-       - Improvements to para_fade: the new set mode, multi-channal
+       - Improvements to para_fade: the new set mode, multi-channel
          initial volumes, better error logging.
+       - The man pages of para_audiod, para_filter, para_recv, and
+         para_write contain the relevant options for receivers, filters,
+         writers. This broke in 0.5.0.
        - Improved user manual.
        - Minor fixes to avoid clang warnings.
 
@@ -45,6 +49,9 @@ of the build system.
        - Many small bugs in the build system have been identified
          and fixed.
 
+Downloads: ./releases/paraslash-0.5.1.tar.bz2 (tarball),
+./releases/paraslash-0.5.1.tar.bz2.asc (signature)
+
 ----------------------------------------
 0.5.0 (2013-08-23) "invertible validity"
 ----------------------------------------
diff --git a/aac.h b/aac.h
index 08bc8b1ef6d26fdf6486b0a3becd015a3b5e9b7f..6e6c3402b303095334bd71e84d10c95d835ab47e 100644 (file)
--- a/aac.h
+++ b/aac.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 1610cb2c12b99f9494af33dabeef747672253b08..f354a63ce9c3c34b95d32d19bc588bd1134470eb 100644 (file)
--- a/aac_afh.c
+++ b/aac_afh.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index ab1fb50c259546755f23ca8838eeba1c63def529..ca29607a1753e243d8d2f627842776e57af7ce2e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 3ff90834c62bb75f179e5778ef02f6d23feb0d09..d63236da5112d2ea9a9ac52d80c31abdc0ad78f4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/acl.c b/acl.c
index 7762a990d38a090ae661371cdee1066fb075c429..e1415050e6e47a1397689bbcbcdc341693834e71 100644 (file)
--- a/acl.c
+++ b/acl.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -18,6 +18,7 @@
 #include "string.h"
 #include "list.h"
 #include "net.h"
+#include "acl.h"
 
 /**
  * Describes one entry in the blacklist/whitelist of a paraslash sender.
diff --git a/acl.h b/acl.h
index c44f26ab21fa042ca0be1093e97262c5d325ce2d..af68e1bcef1c517b411a531ff9f6e8d03637ec9f 100644 (file)
--- a/acl.h
+++ b/acl.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2008-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/afh.c b/afh.c
index 8e70750511381b425c33f0c7cf8237dc1a47af16..15b5e6b940b17b02043b38937ff8f44fca0dc04e 100644 (file)
--- a/afh.c
+++ b/afh.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2008-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/afh.h b/afh.h
index b224b61a4bbf5f210311fe2c7573c4725e866e7a..2264cc6139501e26d1f46ba89960cf5e630308c2 100644 (file)
--- a/afh.h
+++ b/afh.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 5be43550c202b516aaedf332dbbfba341da20dcb..cad972d94026eb1f1587fdf7201b752786b801b7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 5c17dab7de21132cf48d50bfaf37eabba506ce6f..0c7b3946377b6d25be9549834920054e3034de0d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2011-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/afs.c b/afs.c
index 135888a7fc632e6760d2aba4e1b4b2b4738af618..fa4f4326cc110cd377ab6e8a7c30c74fe8148373 100644 (file)
--- a/afs.c
+++ b/afs.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/afs.h b/afs.h
index 8a6b927c74f78f86cad9e748fa04dd02a88bb2ef..7a3f963f940e3e710e02d0dbb34e42e97a9542fd 100644 (file)
--- a/afs.h
+++ b/afs.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -20,7 +20,7 @@ struct afs_info {
        uint32_t image_id;
        /** Lyrics blob associated with this file (foreign key). */
        uint32_t lyrics_id;
-       /** Mp3, ogg, aac, wma, spx. */
+       /** Mp3, ogg, ... */
        uint8_t audio_format_id;
        /** Amplification value. */
        uint8_t amp;
diff --git a/aft.c b/aft.c
index f529416aec375779419a1a936699f6f0584da051..179777ba8c8999dc633cf8578f08951ff7dd995c 100644 (file)
--- a/aft.c
+++ b/aft.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index c5daebc2682b13eb0d6e2a12b9956ae5b77ff4b8..be38e887af9babf8925bcda4d8065a79f991ff7c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2012-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index a3912c1165e6054b0be0bd622b17175fdad4fd8a..ad59a829e4d0967bad079b9df6caa0e976b8f77b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index b0f3687212a1e1a4f4106bba8356bfe84b934d87..c3e55cf0477b253dfd663953613c2ed5f95daa51 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2009-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index fdae8eea542f97720f963f281bddd121cf5d0a38..730653c1b06844ed0822cc784c0c61b6a0303269 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2011-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 867e24b9ee705561a18ee5460a2a4f92438c56a2..ffe841025c1f7776e0bf33e35a951953abc48160 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 79051a98bb03b542dbb7d53a76c0d4a426a484bc..5f6b5ae1195645e3a8b4c2b458559625a036701c 100644 (file)
--- a/audioc.c
+++ b/audioc.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index f12dbc1b999a0892abdcea5791692f1f5dfab3c3..d815c4aa6c98e699dc48304cd96db1d14c28035b 100644 (file)
--- a/audiod.c
+++ b/audiod.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -219,7 +219,7 @@ static int get_matching_audio_format_nums(const char *re)
  * from the status items received from para_server and the start time of the
  * (first) writer of the given slot.
  *
- * It has to to take into account that probably the stream was not started at
+ * It has to take into account that the stream was probably not started at
  * the beginning of the file, that the clock between the server and the client
  * host may differ and that playback of the stream was delayed, e.g. because
  * the prebuffer filter is used in the filter configuration of the given slot.
@@ -647,7 +647,7 @@ static bool must_start_decoder(void)
        return true;
 }
 
-static unsigned compute_time_diff(const struct timeval *status_time)
+static void compute_time_diff(const struct timeval *status_time)
 {
        struct timeval tmp, diff;
        static unsigned count;
@@ -655,8 +655,6 @@ static unsigned compute_time_diff(const struct timeval *status_time)
        const struct timeval max_deviation = {0, 500 * 1000};
        const int time_smooth = 5;
 
-       if (!status_time)
-               return count;
        sign = tv_diff(status_time, now, &diff);
 //             PARA_NOTICE_LOG("%s: sign = %i, sa_time_diff_sign = %i\n", __func__,
 //                     sign, sa_time_diff_sign);
@@ -686,7 +684,6 @@ static unsigned compute_time_diff(const struct timeval *status_time)
        );
 out:
        stat_task->sa_time_diff_sign = sa_time_diff_sign;
-       return count;
 }
 
 static int update_item(int itemnum, char *buf)
index 5485b4243d56399b804cb368048b0f715a05ed66..aa98001c3d34906775ce6cf7c135dfb22c060ac1 100644 (file)
--- a/audiod.h
+++ b/audiod.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 1ffab87c0fbd5269d6da52b05428dc44132dd922..4485d9e9df28ca0fb2d1689046c1e53cffc9f5a5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index d35247eb7d47d4d739a61973949f8c564d67bb2f..33bf64f6f4e68790e04ae1edff8d9c613b8c0ec5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+# Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
 #
 # Licensed under the GPL v2. For licencing details see COPYING.
 
diff --git a/blob.c b/blob.c
index 373d8d005cc1ea9e232f47f76e0c3794cd018538..dc71b8e3feb61323279b770effbab33b7c6d4978 100644 (file)
--- a/blob.c
+++ b/blob.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 56ab2b24cccd3e0b1f0bd786006cd3c08ab6424f..5afa3ad3deda281415cfd172af0c13092b95ad67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2009-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 6127dd92a1373b37c2315dd03cb9d364d1a15d10..e01cb90609b6acf89109a21b0279dc446e150ac3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2009-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 11459e08c375c62285664637125c599f0e5b02be..a36cea9ab34fb319bf7070eaa43e8bb65dcfcd24 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index ba1a8eca48f2bf9407c7f3efbbdbd74e7414b2c7..5310d170735c24cef72bfe2443e104310947e14e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2012-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index c870d4d2a0d397d17777f09fe3f94ff527cfc86a..5328c1132f51ff9b85c2c448f740233732c76a10 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -13,6 +13,7 @@
 #include "afh.h"
 #include "string.h"
 #include "error.h"
+#include "chunk_queue.h"
 
 /**
  * Senders may use the chunk queue facility to deal with laggy connections.  It
index 7514682464b787295863119b90a03ae5b9eb8439..946cacda31749437a575cecc0e319aac92864dd8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 873edc163b3e5f5164307d647724cf6655ec0d5f..c1ef5217345eb96720e7ce81e495e681f6d774f2 100644 (file)
--- a/client.c
+++ b/client.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 6e438f7ed15179da1817aea1c738712e229d7223..82dbc03327260cb9d3810c47f0e8d972f421d70e 100644 (file)
--- a/client.h
+++ b/client.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 3b8ed511090a5a637d867f48baf391338677c837..900d3653893dea7067330d60a929ce0a4b13d902 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 37f727e278c6b61cedede8e6a84e77db3ba4c74b..eb470cf6066b16d78a9154a85124b88e6045ad11 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -11,6 +11,7 @@
 #include "para.h"
 #include "list.h"
 #include "string.h"
+#include "close_on_fork.h"
 
 static struct list_head close_on_fork_list;
 static int initialized;
index 26126cc938cc0f8c9bb751b2cebf6f7ee52d5169..eb15875c36b8affba5a3defdce8f787ad73026ba 100644 (file)
--- a/command.c
+++ b/command.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -115,7 +115,6 @@ static unsigned get_status(struct misc_meta_data *nmmd, int parser_friendly,
        char mtime[30] = "";
        char *status, *flags; /* vss status info */
        /* nobody updates our version of "now" */
-       char *ut = get_server_uptime_str(NULL);
        long offset = (nmmd->offset + 500) / 1000;
        struct timeval current_time;
        struct tm mtime_tm;
@@ -149,7 +148,6 @@ static unsigned get_status(struct misc_meta_data *nmmd, int parser_friendly,
                (long unsigned)current_time.tv_usec);
        free(flags);
        free(status);
-       free(ut);
        *result = b.buf;
        return b.offset;
 }
diff --git a/command_util.bash b/command_util.bash
new file mode 100755 (executable)
index 0000000..e33e076
--- /dev/null
@@ -0,0 +1,305 @@
+#!/usr/bin/env bash
+
+read_header()
+{
+       local key value i
+
+       while read key value; do
+               case "$key" in
+               ---)
+                       break
+                       ;;
+               BN:)
+                       base_name="$value"
+                       ;;
+               SF:)
+                       source_files="$value"
+                       ;;
+               SN:)
+                       section_name="$value"
+                       ;;
+               TM:)
+                       template_members="$value"
+               esac
+       done
+}
+
+read_one_command()
+{
+       local line
+
+       name_txt=""
+       desc_txt=""
+       usage_txt=""
+       help_txt=""
+       perms_txt=""
+       template=0
+       template_name=""
+       template_prototype=""
+       while read key value; do
+               case "$key" in
+               ---)
+                       break
+                       ;;
+               N:)
+                       name_txt="$value"
+                       ;;
+               T:)
+                       template_name="$value"
+                       template=1
+                       ;;
+               O:)
+                       template_prototype="$value"
+                       template=1
+                       ;;
+               P:)
+                       perms_txt="$value"
+                       ;;
+               D:)
+                       desc_txt="$value"
+                       ;;
+               U:)
+                       usage_txt="$value"
+                       ;;
+               H:)
+                       help_txt="${value}"
+                       while read line; do
+                               if test "$line" = "---"; then
+                                       break;
+                               fi
+                               line=${line#H:}
+                               help_txt="$help_txt
+${line# }"
+                       done
+                       break
+                       ;;
+               esac
+       done
+       if test $template -eq 0; then
+               if test -n "$name_txt" -a -n "$desc_txt" -a -n "$usage_txt" \
+                               -a -n "$help_txt"; then
+                       ret=1
+                       return
+               fi
+       else
+               if test -n "$template_name" -a -n "$template_prototype" \
+                               -a -n "$name_txt " -a -n "$template_members" \
+                               -a -n "$desc_txt" -a -n "$usage_txt" \
+                               -a -n "$help_txt"; then
+                       ret=1
+                       return
+               fi
+       fi
+       if test -z "$name_txt" -a -z "$desc_txt" -a -z "$usage_txt" \
+                       -a -z "$help_txt"; then
+               ret=0
+               return
+       fi
+       ret=-1
+       #return
+       echo "!ERROR!"
+       echo "N: $name_txt"
+       echo "D: $desc_txt"
+       echo "S: $usage_txt"
+       echo "P: $perms_txt"
+       echo "H: $help_txt"
+       echo "O: $template_prototype"
+}
+
+dump_man()
+{
+       if test $template -eq 0; then
+               echo ".SS \"$name_txt\""
+               echo "$desc_txt"
+               echo
+               echo "\\fBUsage: \\fP$usage_txt"
+       else
+               for member in $template_members; do
+                       local sed_cmd="sed -e s/@member@/$member/g"
+                       local t_name_txt=$(echo $name_txt | $sed_cmd)
+                       echo ".SS \"$t_name_txt\""
+               done
+               echo "$desc_txt" | sed -e "s/@member@/{$(echo $template_members | sed -e 's/ / | /g')}/g"
+               echo
+               echo "\\fBUsage: \\fP"
+               echo
+               echo ".nf"
+               for member in $template_members; do
+                       local sed_cmd="sed -e s/@member@/$member/g"
+                       local t_usage_txt=$(echo $usage_txt | $sed_cmd)
+                       printf "\t$t_usage_txt\n"
+               done
+               echo ".fi"
+       fi
+       echo
+       echo "$help_txt" | sed -e 's/^  //'
+       echo
+       if test -n "$perms_txt"; then
+               echo -n "\\fBpermissions:\\fP "
+               if test "$perms_txt" = "0"; then
+                       echo "(none)"
+               else
+                       echo "$perms_txt"
+               fi
+       fi
+       echo
+}
+
+
+com_man()
+{
+       echo "[$section_name]"
+       echo
+       while : ; do
+               read_one_command
+               if test $ret -lt 0; then
+                       exit 1
+               fi
+               if test $ret -eq 0; then
+                       break
+               fi
+               dump_man
+       done
+}
+
+make_proto()
+{
+       local regex='\(__noreturn \)*\(static \)*int com_'
+       local source_file match="" all_commands CR='
+'
+       if test -n "$prototype"; then
+               result="$prototype$CR"
+               return
+       fi
+       all_commands="$(cat $source_files | grep "$regex")"
+       result=
+       for source_file in $source_files; do
+               match=$(grep "$regex$name_txt(" <<< "$all_commands" | head -n 1 | sed -e 's/$/;/1')
+               if test -n "$match"; then
+                       result="$result$match$CR"
+                       break
+               fi
+       done
+}
+
+make_array_member()
+{
+       local TAB='     ' CR='
+'
+       local tmp
+
+       result="{.name = \"$name_txt\", .handler = com_$name_txt, "
+       if test -n "$perms_txt"; then
+               result="$result .perms = $perms_txt,"
+       fi
+       result="$result.description = \"$desc_txt\", .usage = \"$usage_txt\", \\$CR .help = "
+       tmp="$(printf "%s\n" "$help_txt" | sed -e 's/^/\"/g' -e 's/$/\\n\"/g' \
+               -e "s/$TAB/\\\t/g" -e's/$/\\/g')"
+       result="$result$tmp$CR}, \\$CR"
+}
+
+make_completion()
+{
+       local CR='
+'
+       result="  {.name = \"$name_txt\", .completer = ${name_txt}_completer}, \\$CR"
+}
+
+template_loop()
+{
+       local loop_result=
+
+       local t_name="$name_txt"
+       local t_perms="$perms_txt"
+       local t_desc="$desc_txt"
+       local t_usage="$usage_txt"
+       local t_help="$help_txt"
+       local t_source_files="$source_files"
+       local member
+       for member in $template_members; do
+               name_txt="${t_name//@member@/$member}"
+               perms_txt="${t_perms//@member@/$member}"
+               desc_txt="${t_desc//@member@/$member}"
+               usage_txt="${t_usage//@member@/$member}"
+               help_txt="${t_help//@member@/$member}"
+               prototype="${template_prototype//@member@/$member}"
+               result=
+               $1
+               loop_result="$loop_result$result"
+       done
+       result="$loop_result"
+       # reset global variables
+       name_txt="$t_name"
+       perms_txt="$t_perms"
+       desc_txt="$t_desc"
+       usage_txt="$t_usage"
+       help_txt="$t_help"
+       source_files="$t_source_files"
+}
+
+com_header()
+{
+       local array_members CR='
+'
+
+       while : ; do
+               read_one_command
+               if test $ret -lt 0; then
+                       exit 1
+               fi
+               if test $ret -eq 0; then
+                       break
+               fi
+               if test $template -eq 0; then
+                       make_proto
+                       printf "%s" "$result"
+                       make_array_member
+                       array_members="$array_members$result"
+                       continue
+               fi
+               template_loop make_proto
+               printf "%s" "$result"
+               template_loop make_array_member
+               array_members="$array_members$result"
+       done
+       array_members="$array_members{.name = NULL} \\$CR"
+       echo "#define DEFINE_$(tr 'a-z' 'A-Z' <<< "$base_name")_CMD_ARRAY $array_members"
+}
+
+com_completion()
+{
+
+       echo "#define $1 \\"
+       while : ; do
+               read_one_command
+               if test $ret -lt 0; then
+                       exit 1
+               fi
+               if test $ret -eq 0; then
+                       break
+               fi
+               if test $template -eq 0; then
+                       make_completion
+                       printf "%s" "$result"
+                       continue
+               fi
+               template_loop make_completion
+               printf "%s" "$result"
+       done
+       echo
+}
+
+read_header
+arg="$1"
+shift
+case "$arg" in
+       "h")
+               com_header
+               ;;
+       "man")
+               com_man $*
+               ;;
+       "compl")
+               com_completion $*
+               ;;
+esac
diff --git a/command_util.sh b/command_util.sh
deleted file mode 100755 (executable)
index e33e076..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-#!/usr/bin/env bash
-
-read_header()
-{
-       local key value i
-
-       while read key value; do
-               case "$key" in
-               ---)
-                       break
-                       ;;
-               BN:)
-                       base_name="$value"
-                       ;;
-               SF:)
-                       source_files="$value"
-                       ;;
-               SN:)
-                       section_name="$value"
-                       ;;
-               TM:)
-                       template_members="$value"
-               esac
-       done
-}
-
-read_one_command()
-{
-       local line
-
-       name_txt=""
-       desc_txt=""
-       usage_txt=""
-       help_txt=""
-       perms_txt=""
-       template=0
-       template_name=""
-       template_prototype=""
-       while read key value; do
-               case "$key" in
-               ---)
-                       break
-                       ;;
-               N:)
-                       name_txt="$value"
-                       ;;
-               T:)
-                       template_name="$value"
-                       template=1
-                       ;;
-               O:)
-                       template_prototype="$value"
-                       template=1
-                       ;;
-               P:)
-                       perms_txt="$value"
-                       ;;
-               D:)
-                       desc_txt="$value"
-                       ;;
-               U:)
-                       usage_txt="$value"
-                       ;;
-               H:)
-                       help_txt="${value}"
-                       while read line; do
-                               if test "$line" = "---"; then
-                                       break;
-                               fi
-                               line=${line#H:}
-                               help_txt="$help_txt
-${line# }"
-                       done
-                       break
-                       ;;
-               esac
-       done
-       if test $template -eq 0; then
-               if test -n "$name_txt" -a -n "$desc_txt" -a -n "$usage_txt" \
-                               -a -n "$help_txt"; then
-                       ret=1
-                       return
-               fi
-       else
-               if test -n "$template_name" -a -n "$template_prototype" \
-                               -a -n "$name_txt " -a -n "$template_members" \
-                               -a -n "$desc_txt" -a -n "$usage_txt" \
-                               -a -n "$help_txt"; then
-                       ret=1
-                       return
-               fi
-       fi
-       if test -z "$name_txt" -a -z "$desc_txt" -a -z "$usage_txt" \
-                       -a -z "$help_txt"; then
-               ret=0
-               return
-       fi
-       ret=-1
-       #return
-       echo "!ERROR!"
-       echo "N: $name_txt"
-       echo "D: $desc_txt"
-       echo "S: $usage_txt"
-       echo "P: $perms_txt"
-       echo "H: $help_txt"
-       echo "O: $template_prototype"
-}
-
-dump_man()
-{
-       if test $template -eq 0; then
-               echo ".SS \"$name_txt\""
-               echo "$desc_txt"
-               echo
-               echo "\\fBUsage: \\fP$usage_txt"
-       else
-               for member in $template_members; do
-                       local sed_cmd="sed -e s/@member@/$member/g"
-                       local t_name_txt=$(echo $name_txt | $sed_cmd)
-                       echo ".SS \"$t_name_txt\""
-               done
-               echo "$desc_txt" | sed -e "s/@member@/{$(echo $template_members | sed -e 's/ / | /g')}/g"
-               echo
-               echo "\\fBUsage: \\fP"
-               echo
-               echo ".nf"
-               for member in $template_members; do
-                       local sed_cmd="sed -e s/@member@/$member/g"
-                       local t_usage_txt=$(echo $usage_txt | $sed_cmd)
-                       printf "\t$t_usage_txt\n"
-               done
-               echo ".fi"
-       fi
-       echo
-       echo "$help_txt" | sed -e 's/^  //'
-       echo
-       if test -n "$perms_txt"; then
-               echo -n "\\fBpermissions:\\fP "
-               if test "$perms_txt" = "0"; then
-                       echo "(none)"
-               else
-                       echo "$perms_txt"
-               fi
-       fi
-       echo
-}
-
-
-com_man()
-{
-       echo "[$section_name]"
-       echo
-       while : ; do
-               read_one_command
-               if test $ret -lt 0; then
-                       exit 1
-               fi
-               if test $ret -eq 0; then
-                       break
-               fi
-               dump_man
-       done
-}
-
-make_proto()
-{
-       local regex='\(__noreturn \)*\(static \)*int com_'
-       local source_file match="" all_commands CR='
-'
-       if test -n "$prototype"; then
-               result="$prototype$CR"
-               return
-       fi
-       all_commands="$(cat $source_files | grep "$regex")"
-       result=
-       for source_file in $source_files; do
-               match=$(grep "$regex$name_txt(" <<< "$all_commands" | head -n 1 | sed -e 's/$/;/1')
-               if test -n "$match"; then
-                       result="$result$match$CR"
-                       break
-               fi
-       done
-}
-
-make_array_member()
-{
-       local TAB='     ' CR='
-'
-       local tmp
-
-       result="{.name = \"$name_txt\", .handler = com_$name_txt, "
-       if test -n "$perms_txt"; then
-               result="$result .perms = $perms_txt,"
-       fi
-       result="$result.description = \"$desc_txt\", .usage = \"$usage_txt\", \\$CR .help = "
-       tmp="$(printf "%s\n" "$help_txt" | sed -e 's/^/\"/g' -e 's/$/\\n\"/g' \
-               -e "s/$TAB/\\\t/g" -e's/$/\\/g')"
-       result="$result$tmp$CR}, \\$CR"
-}
-
-make_completion()
-{
-       local CR='
-'
-       result="  {.name = \"$name_txt\", .completer = ${name_txt}_completer}, \\$CR"
-}
-
-template_loop()
-{
-       local loop_result=
-
-       local t_name="$name_txt"
-       local t_perms="$perms_txt"
-       local t_desc="$desc_txt"
-       local t_usage="$usage_txt"
-       local t_help="$help_txt"
-       local t_source_files="$source_files"
-       local member
-       for member in $template_members; do
-               name_txt="${t_name//@member@/$member}"
-               perms_txt="${t_perms//@member@/$member}"
-               desc_txt="${t_desc//@member@/$member}"
-               usage_txt="${t_usage//@member@/$member}"
-               help_txt="${t_help//@member@/$member}"
-               prototype="${template_prototype//@member@/$member}"
-               result=
-               $1
-               loop_result="$loop_result$result"
-       done
-       result="$loop_result"
-       # reset global variables
-       name_txt="$t_name"
-       perms_txt="$t_perms"
-       desc_txt="$t_desc"
-       usage_txt="$t_usage"
-       help_txt="$t_help"
-       source_files="$t_source_files"
-}
-
-com_header()
-{
-       local array_members CR='
-'
-
-       while : ; do
-               read_one_command
-               if test $ret -lt 0; then
-                       exit 1
-               fi
-               if test $ret -eq 0; then
-                       break
-               fi
-               if test $template -eq 0; then
-                       make_proto
-                       printf "%s" "$result"
-                       make_array_member
-                       array_members="$array_members$result"
-                       continue
-               fi
-               template_loop make_proto
-               printf "%s" "$result"
-               template_loop make_array_member
-               array_members="$array_members$result"
-       done
-       array_members="$array_members{.name = NULL} \\$CR"
-       echo "#define DEFINE_$(tr 'a-z' 'A-Z' <<< "$base_name")_CMD_ARRAY $array_members"
-}
-
-com_completion()
-{
-
-       echo "#define $1 \\"
-       while : ; do
-               read_one_command
-               if test $ret -lt 0; then
-                       exit 1
-               fi
-               if test $ret -eq 0; then
-                       break
-               fi
-               if test $template -eq 0; then
-                       make_completion
-                       printf "%s" "$result"
-                       continue
-               fi
-               template_loop make_completion
-               printf "%s" "$result"
-       done
-       echo
-}
-
-read_header
-arg="$1"
-shift
-case "$arg" in
-       "h")
-               com_header
-               ;;
-       "man")
-               com_man $*
-               ;;
-       "compl")
-               com_completion $*
-               ;;
-esac
index 0c0200e7e3b522af5aad7bb0a9f86f7e32024218..b488f55cb3ae2471201ab518ae84e3603ebcf005 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index cdbc0e56b0f51992973076a4ae602ca0a2d1e33a..07ecffdd71f31e1246d8262bda5fbdd762212f99 100644 (file)
@@ -580,7 +580,11 @@ if test -n "$with_flac_libs"; then
        LDFLAGS="$LDFLAGS $flac_libs"
 fi
 AC_CHECK_HEADER(FLAC/stream_decoder.h, [], have_flac=no)
-AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], have_flac=no, -logg -lm)
+AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], [
+       # nope, try again with -logg
+       AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [],
+               have_flac=no, -lm -logg)
+       ], -lm)
 if test "$have_flac" = "yes"; then
        AC_DEFINE(HAVE_FLAC, 1, define to 1 if you want to build the flacdec filter)
        AC_SUBST(flac_cppflags)
@@ -728,15 +732,17 @@ AC_CHECK_HEADERS([readline/readline.h], [
 ])
 
 if test "$have_readline" = "yes"; then
-       readline_ldflags="$readline_libs -lreadline"
-       AC_SEARCH_LIBS([rl_free_keymap], [readline], [], [have_readline="no"])
+       readline_ldflags="$readline_libs"
+       AC_SEARCH_LIBS([rl_free_keymap], [readline], [
+               readline_ldflags="$readline_ldflags -lreadline"
+       ], [have_readline="no"])
        if test "$have_readline" = "no"; then # try with -lcurses
                 # clear cache
                AC_MSG_NOTICE([trying again with -lcurses])
                 unset ac_cv_search_rl_free_keymap 2> /dev/null
                AC_SEARCH_LIBS([rl_free_keymap], [readline], [
                        have_readline=yes
-                       readline_ldflags="$readline_ldflags -lcurses"
+                       readline_ldflags="$readline_ldflags -lreadline -lcurses"
                ], [], [-lcurses])
        fi
        if test "$have_readline" = "no"; then # try with -ltermcap
@@ -745,7 +751,7 @@ if test "$have_readline" = "yes"; then
                 unset ac_cv_search_rl_free_keymap 2> /dev/null
                AC_SEARCH_LIBS([rl_free_keymap], [readline], [
                        have_readline=yes
-                       readline_ldflags="$readline_ldflags -ltermcap"
+                       readline_ldflags="$readline_ldflags -lreadline -ltermcap"
                ], [], [-ltermcap])
        fi
 fi
@@ -1172,6 +1178,8 @@ if test "$have_samplerate" = "yes"; then
        filter_cmdline_objs="$filter_cmdline_objs resample_filter"
        filters="$filters resample"
 fi
+filters="$(echo $filters)"
+AC_SUBST(filters)
 filter_objs="add_cmdline($filter_cmdline_objs) $filter_errlist_objs"
 
 AC_SUBST(filter_objs, add_dot_o($filter_objs))
@@ -1236,6 +1244,7 @@ if test "$have_flac" = "yes"; then
        recv_errlist_objs="$recv_errlist_objs flac_afh"
 fi
 recv_objs="add_cmdline($recv_cmdline_objs) $recv_errlist_objs"
+AC_SUBST(receivers, "http dccp udp afh")
 AC_SUBST(recv_objs, add_dot_o($recv_objs))
 AC_DEFINE_UNQUOTED(INIT_RECV_ERRLISTS, objlist_to_errlist($recv_errlist_objs),
        errors used by para_recv)
@@ -1269,6 +1278,7 @@ if test "$have_speex" = "yes"; then
 fi
 if test "$have_opus" = "yes"; then
        afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
+       audio_format_handlers="$audio_format_handlers opus"
 fi
 if test "$have_faad" = "yes"; then
        afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
@@ -1428,6 +1438,7 @@ if test "$have_alsa" = "yes"; then
        writers="$writers alsa"
        default_writer="ALSA_WRITE"
 fi
+AC_SUBST(writers)
 write_objs="add_cmdline($write_cmdline_objs) $write_errlist_objs"
 AC_SUBST(write_objs, add_dot_o($write_objs))
 AC_DEFINE_UNQUOTED(INIT_WRITE_ERRLISTS,
@@ -1546,7 +1557,7 @@ unix socket credentials: $have_ucred
 readline (interactive CLIs): $have_readline
 audio formats handlers: $audio_format_handlers
 id3 version2 support: $have_libid3tag
-filters: $(echo $filters)
+filters: $filters
 writers: $writers
 
 para_fade: $build_fade
diff --git a/convert_0.3-0.4.sh b/convert_0.3-0.4.sh
deleted file mode 100755 (executable)
index aa0b239..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-#!/usr/bin/env bash
-
-#-------------------------------------------------------------------------------
-## Script to convert the database of paraslash 0.3.5 to version 0.4.x.
-##
-## Assumptions:
-##     - para_server 0.3.5 is running
-##     - "para_client check" reports no errors
-##     - para_server 0.4.x is running, listens on another port and uses a
-##       different afs database and a different afs socket
-##     - The database of paraslash 0.4.x has been initialized (i.e.
-##       para_client init has successfully been executed)
-##     - All audio files in the 0.3.x database have already been added to
-##       the 0.4.x database (execute para_client add /my/audio/file/dir to
-##       do that)
-##
-#-------------------------------------------------------------------------------
-
-# Call this script without arguments to see usage info
-
-# How to connect to para_server 0.3.x.
-client03=/usr/local/bin/para_client
-port03=2991
-host03=localhost
-database03=$HOME/.paraslash/afs_database
-
-# How to connect to para_server 0.4.x.
-client04=$(pwd)/para_client
-port04=2990
-host04=localhost
-database04=$HOME/.paraslash/afs_database-0.4
-
-# Any character that does not occur in any filename of an audio file
-sep='|'
-
-
-client03_cmd="$client03 -p $port03 -i $host03"
-client04_cmd="$client04 -p $port04 -i $host04"
-
-exec_client03_cmd()
-{
-       result="$($client03_cmd -- "$@")"
-}
-
-exec_client04_cmd()
-{
-       result="$($client04_cmd -- "$@")"
-}
-
-convert_attribute_table()
-{
-       local atts
-
-       echo "converting attribute table"
-       exec_client03_cmd lsatt
-       atts="$result"
-       exec_client04_cmd addatt $atts
-}
-
-convert_attributes()
-{
-       local OIFS="$IFS" a p att atts
-
-       printf "converting attributes: "
-       $client03_cmd -- ls -p -lv \
-               | grep '^path:\|^attributes_txt:' \
-               | sed -e "/^path:/N;s/\n/$sep/1" \
-               | {
-                       IFS="$sep"
-                       while read p a; do
-                               p=${p#path: }
-                               a=${a#attributes_txt:}
-                               IFS=" "
-                               atts=
-                               for att in $a; do
-                                       atts="$atts $att+"
-                               done
-                               IFS="$OIFS"
-                               [[ -n "$atts" ]] && $client04_cmd -- setatt $atts "$p"
-                               IFS="$sep"
-                               printf "."
-                       done
-                       echo done
-               }
-               IFS="$OIFS"
-}
-
-convert_lna()
-{
-       local OIFS="$IFS" p l n a
-
-       printf "converting last_played, num_played, amplification values: "
-       $client03_cmd -- ls -p -d -lv \
-               | grep '^path:\|^last_played: \|^num_played: \|^amplification: ' \
-               | sed -e "/^path:/N;N;N;s/\n/$sep/g" \
-               | {
-                       IFS="$sep"
-                       while read p l n a; do
-                               #echo "p: $p, l:$l, n:$n a:$a"
-                               p=${p#path: }
-                               l=${l#last_played: }
-                               n=${n#num_played: }
-                               a=${a#amplification: }
-                               IFS="$OIFS"
-                               $client04_cmd -- touch "-l$l" "-n$n" "-a$a" "$p"
-                               IFS="$sep"
-                               printf "."
-                       done
-                       echo done
-               }
-               IFS="$OIFS"
-}
-
-convert_blobs()
-{
-       local blob name
-
-       for blob in img lyr mood pl; do
-               printf "converting $blob table: "
-               exec_client03_cmd ls$blob
-               echo "$result" | while read name; do
-                       $client03_cmd -- cat$blob "$name" | $client04_cmd -- add$blob "$name"
-                       printf "."
-               done
-               echo done
-       done
-}
-
-convert_ids()
-{
-       local OIFS="$IFS" p i y iopts yopts
-
-       printf "converting image and lyrics ids: "
-       $client03_cmd -- ls -p -lv \
-               | grep '^path:\|^image_name: \|^lyrics_name: ' \
-               | sed -e "/^path:/N;N;s/\n/$sep/g" \
-               | {
-                       IFS="$sep"
-                       while read p i l; do
-                               IFS="$OIFS"
-                               iopts=
-                               yopts=
-                               p=${p#path: }
-                               i=${i#image_name: }
-                               l=${l#lyrics_name: }
-                               if [[ "$i" != '(none)' ]]; then
-                                       exec_client04_cmd lsimg -l "$i"
-                                       iopts="-i${result%%     *}"
-                               fi
-                               if [[ "$l" != '(none)' ]]; then
-                                       exec_client04_cmd lslyr -l "$l"
-                                       yopts="-y${result%%     *}"
-                               fi
-                               if [[ -n "$iopts" && -n "$yopts" ]]; then
-                                       $client04_cmd -- touch "$iopts" "$yopts" "$p"
-                               elif [[ -n "$iopts" ]]; then
-                                       $client04_cmd -- touch "$iopts" "$p"
-                               elif [[ -n "$yopts" ]]; then
-                                       $client04_cmd -- touch "$yopts" "$p"
-                               fi
-                               printf "."
-                               IFS="$sep"
-                       done
-                       echo done
-               }
-               IFS="$OIFS"
-}
-
-
-usage()
-{
-       grep '^##' $0 | sed -e 's/^## *//'
-       echo '
-Usage: $0 command
-
-command is one of the following:
-
-       attribute_table: create attributes
-       attributes: convert attributes for each audio file
-       lna: convert the last_played/num_played/amplification values
-       blobs: convert the image/lyrics/moods/playlists tables
-       ids: convert image and the lyrics id of each audio file.
-       all: Do all of the above.
-
-Edit the top of the script to customize some options.
-'
-}
-
-if test $# -ne 1; then
-       usage
-       exit 1
-fi
-
-case "$1" in
-attribute_table)
-       convert_attribute_table
-       ;;
-attributes)
-       convert_attributes
-       ;;
-lna)
-       convert_lna
-       ;;
-blobs)
-       convert_blobs
-       ;;
-ids)
-       convert_ids
-       ;;
-all)
-       convert_attribute_table
-       convert_attributes
-       convert_lna
-       convert_blobs
-       convert_ids
-       ;;
-*)
-       usage
-       exit 1
-       ;;
-esac
diff --git a/crypt.c b/crypt.c
index e6a31e0e121f9235804664a303c742339caedec4..0137e004cbb2b0e121373c1ffe1d5ee6e5f75b6e 100644 (file)
--- a/crypt.c
+++ b/crypt.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/crypt.h b/crypt.h
index e9657ff5c0ae2b9c5a8875ea9f37e8e145ff9f64..324a87b349a5b9f69443e47c44e242ffb0be04df 100644 (file)
--- a/crypt.h
+++ b/crypt.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 3676fff1b1a7d822dcaaefaec62c0f64bd90b3db..ddebe62e16e547e243d808cf9155261698fecbec 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2011-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 6c71d7e3716829d90485894bc261ee867589d7bf..71aabf53f944eea64d4214fccff354787b7e6f9b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 18ad1568fbb5074bbddd60bc99835bb49967d24e..05002f4eff228e0200d5d6cdce9be0c697ed3bc3 100644 (file)
--- a/daemon.c
+++ b/daemon.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index ca3432a31de2fc3eaadf13572cef68358f85c0a2..796a7e6baf76fe15041386041e21d403b4c58cf0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 22f2bd1ba63467c7a13eb15951b000e67ccf3a62..1e95aac6401cf43cf7368a0ad61a2c37e6428587 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/error.h b/error.h
index 3b57680b92e2c2c057c55d9ef148fe8bb51d25c3..301e2ca5e1ae36a045a044d8f69c072e82c62a88 100644 (file)
--- a/error.h
+++ b/error.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 630d4c7195416ff54f217521ead604200925e32f..9271dadf8a6424e86ccdc7ae3ff5e504b93e0155 100644 (file)
--- a/error2.c
+++ b/error2.c
@@ -1,3 +1,11 @@
+/*
+ * Copyright (C) 2013-2014 Andre Noll <maan@systemlinux.org>
+ *
+ * Licensed under the GPL v2. For licencing details see COPYING.
+ */
+
+/** \file error2.c Simple program to create error2.h. */
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <assert.h>
@@ -135,6 +143,18 @@ static void dump_bipolar(void)
        }
 }
 
+/**
+ * The main function of error2.c.
+ *
+ * The purpose of this program is to create the error2.h file which defines the
+ * enumerations of all error codes which may be used by any given .c file. This
+ * header is included by most .c files of the paraslash suite.
+ *
+ * Since this program is executed on the build system, it must be compiled with
+ * the host compiler.
+ *
+ * \return \p EXIT_SUCCESS or \p EXIT_FAILURE.
+ */
 int main(void)
 {
        int ret;
diff --git a/exec.c b/exec.c
index 66065d374e4e0a19b9410e00c05ec1c0a35225cf..5f48436d2b2fe8ff29cdb88a49971acdd5b32acd 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2003-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/fade.c b/fade.c
index 0a3ccebb844326267f421044d998d77c27096356..543a666dd0e32fbf106d263d3cf96e1bb11ce136 100644 (file)
--- a/fade.c
+++ b/fade.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1998-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1998-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/fd.c b/fd.c
index f70dedc1ec57fd7f2779b5818bb02e7746dfa263..b8d0d77c3ba94091d753714d54b8181ce7c395ac 100644 (file)
--- a/fd.c
+++ b/fd.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/fd.h b/fd.h
index 3cd2638bbef079f2546aeb13c6dbc0ec4fa89634..c8127a4a5a19547c8b54cab8db2d1bb34a9bc6d8 100644 (file)
--- a/fd.h
+++ b/fd.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 691d696af6e3972ac9f2becf68c0712873fe9624..b8e130d4ed124ad67fb6550073e3122be7a346be 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2009-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index f7b2b30792881e6146a4e2af1d12373f14b8a53f..7d63469f8ef68d9ed9e99531c6b31ab7307612dd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 3b68857328b230877e2f8cd9061fb07ee789902c..b3dc022e37f5ceaaca680f63a25173e46ba398d4 100644 (file)
--- a/filter.c
+++ b/filter.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 80bc896be87612d869da1610366333fced5660a3..de8ce8e8b5d0ca128cbc2cb4f3bb568ec416c07e 100644 (file)
--- a/filter.h
+++ b/filter.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 2616c9bdfc940a3415ef6e5abd3a446d4e859b7e..8ce66ea878c309d96e98e944f21af02670d9060c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index d2f256dc152a8e9547968b5f30ece5cff381754c..21f86f4645bfd483e4a23f3e5c577a8626e7b630 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2011-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index bf881725165f38415267193473f56bc145dc2b5c..2a58044c59baef2ba898e2d33b642846657e7efd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2011-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 2a1a90d357dc3fd3cc81803bd0a8ce46a2734f71..751c1a4a65d4d0b3b9e5a90242462a83d3fc6cf1 100644 (file)
--- a/gcrypt.c
+++ b/gcrypt.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2011-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -97,7 +97,7 @@ static void mgf1(unsigned char *seed, size_t seed_len, unsigned result_len,
 {
        gcry_error_t gret;
        gcry_md_hd_t handle;
-       size_t n;;
+       size_t n;
        unsigned char *md;
        unsigned char octet_string[4], *rp = result, *end = rp + result_len;
 
diff --git a/ggo.c b/ggo.c
index 99171c73457d150cb2f4b193f5fe20df0025e662..deea00bbb1ac46074af5f87ec1fc7787922b0138 100644 (file)
--- a/ggo.c
+++ b/ggo.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2008-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/ggo.h b/ggo.h
index 81565e7c24b50d130afd36560c4f5973973f1090..9d9c5044db9a8c0fa4061bcd579f861c353d54ea 100644 (file)
--- a/ggo.h
+++ b/ggo.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2008-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index ecc16fc89bd66d6a71b351b9e468d125bc8a1775..672c96f1d6b42ac8fd75418486cdb02ce2d24395 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index a4e81ced7283144e65db596898b2637196ded577..91adf2eaaadf67870cdee678019de7701f0f9850 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/gui.c b/gui.c
index 54fc9db98bd91ad836eb79288d42927eadcb1fcf..0f0a4a94d435b6ca836d99b95cb76a74ecbfc6f8 100644 (file)
--- a/gui.c
+++ b/gui.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1998-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1998-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/gui.h b/gui.h
index 2a3214d0e11acb64d8064ecbfd335a1e06898203..8f25c767b5384c49789101e87802527439b9c6ce 100644 (file)
--- a/gui.h
+++ b/gui.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index a0c47fb0da23f0fb5ceb5243dff1f3bb80e81238..fa63e90972fa7b3b70ec9b2fec53adf098a3e107 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 9c42a1a85817f6cca6aa827e0ed349a01312949b..1f02e48d9ae5ad2e32ae3273110cb540912e67a0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 60b877c08082ffa7e1cd7fb41617ab32bb7a465a..3e9c95393c5120c82bd91cc4bd84e5ea9c56f60c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/imdct.c b/imdct.c
index aab498a390ba3ecdeded2452120d729540e84184..93393e9959edb611e32b92c41a8c09c61e3af55e 100644 (file)
--- a/imdct.c
+++ b/imdct.c
@@ -58,7 +58,9 @@ struct mdct_context {
        struct fft_context fft;
 };
 
-/** cos(2 * pi * x / n) for 0 <= x <= n / 4, followed by its reverse */
+/** \cond cosine_tabs */
+
+/* cos(2 * pi * x / n) for 0 <= x <= n / 4, followed by its reverse */
 #define COSINE_TAB(n) static fftsample_t cos_ ## n[n / 2] __a_aligned(16)
 
 COSINE_TAB(16);
@@ -79,6 +81,7 @@ static fftsample_t *cos_tabs[] = {
        cos_16, cos_32, cos_64, cos_128, cos_256, cos_512, cos_1024, cos_2048,
        cos_4096, cos_8192, cos_16384, cos_32768, cos_65536,
 };
+/** \endcond cosine_tabs */
 
 __a_const static int split_radix_permutation(int i, int n)
 {
index 43cb99f2781979e74b66eef640fadb7878f30aeb..ee953bf12a26377bb02efb3fc96e1b3cf3e7b0e9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2011-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 1d6b36aa1a57e87e2c61283a21627e0ab2271064..96401b16a3a89b68182464622e55b6e629b0bc82 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2011-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/ipc.c b/ipc.c
index 89bbe53564e3c678e97b453e38b7c70be8063314..b8a6fd0c3733d16faa0f35179329d563381c9ec8 100644 (file)
--- a/ipc.c
+++ b/ipc.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index ebc1d1cfa751f3e8ce6f2b8a96923c7c628362f1..0df2fad8c9ff66bef9b633ed2ff0ebbf4042313e 100644 (file)
@@ -1,6 +1,6 @@
 args "--unamed-opts=audio_file --no-handle-version --no-handle-help"
 
-purpose "Print information about audio file(s)."
+purpose "Print information about audio file(s)"
 
 include(header.m4)
 include(loglevel.m4)
index 6fdef59eead56accda9ed3d1cb639d356a34db6f..08c3152121797a39218bced32d4944635acc212a 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Make an audio stream from a local file."
+purpose "Make an audio stream from a local file"
 
 description "
        The afh (audio format handler) receiver can be used to write
index 04b4963d3a9fbe6bc342ffa808ae6f33a8a168fa..be56c9849144b9a266aca80bf6bb2b5a31c15a40 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Native ALSA output plugin."
+purpose "Native ALSA output plugin"
 
 include(header.m4)
 
index 2d4d4ce6ca5166355fa99bdbf28884a2a213daff..a02cc5b73f8e2bf85a94090d3b781b4f85efe827 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Amplify the decoded audio stream."
+purpose "Amplify the decoded audio stream"
 
 option "amp" a
 #~~~~~~~~~~~~~
index ccee4ee62f5fc23903857f9ba29e0b470792548a..29112d711694b239c82dee218ca88745a3f38dc2 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Output plugin for libao."
+purpose "Output plugin for libao"
 
 include(header.m4)
 <qu>
index 36520bfa0f16888020d431d7001c40c17c00146a..f216204f78330449c95bd09acfe35d1d1ded252f 100644 (file)
@@ -1,6 +1,6 @@
 args "--unamed-opts=command --conf-parser --no-handle-version --no-handle-help"
 
-purpose "Communicate with para_audiod through a local socket."
+purpose "Communicate with para_audiod through a local socket"
 
 include(header.m4)
 <qu>
index 5fc15893cb0b963337bac97e47f6885f1cb38a58..2e6f936f3a94d058ee35d24afd59ca9966f958cf 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-handle-help --no-handle-version --conf-parser"
 
-purpose "Connect to para_server, receive, decode and play audio streams."
+purpose "Connect to para_server, receive, decode and play audio streams"
 
 include(header.m4)
 define(CURRENT_PROGRAM,para_audiod)
index 5b4c8ec844314b06eb08c62b909d52677834709b..0530d39551993fb5b9ec35641f975732c4b84068 100644 (file)
@@ -1,6 +1,6 @@
 args "--unamed-opts=command --no-handle-error --conf-parser --no-handle-version --no-handle-help"
 
-purpose "Communicate with para_server through the paraslash control port."
+purpose "Communicate with para_server through the paraslash control port"
 
 include(header.m4)
 define(CURRENT_PROGRAM,para_client)
index 772bdb2ef69615036791b9fa795c2018b55b9c05..501f46ccfd8f0730787c37e5290fa0b19dfa71a9 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Dynamically adjust the volume of an audio stream."
+purpose "Dynamically adjust the volume of an audio stream"
 
 option "blocksize" b
 #~~~~~~~~~~~~~~~~~~~
index f8191fe003bec99957155d71c8ef5a5be694376b..1ba3fb59e79fb462e67a97b926816f1c7885a84e 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Receive a DCCP audio stream."
+purpose "Receive a DCCP audio stream"
 
 option "host" i
 "ip or host"
index d0883c49618c45147080edfc3285653872448c79..59389ffefb5105ee8af56e4d7b844377c9d5d9c7 100644 (file)
@@ -1,6 +1,6 @@
 args "--conf-parser --no-handle-version --no-handle-help"
 
-purpose "An alarm clock and volume-fader for OSS and ALSA."
+purpose "An alarm clock and volume-fader for OSS and ALSA"
 
 include(header.m4)
 define(CURRENT_PROGRAM,para_fade)
index 045b8657236b57ed58b8ececdd8cd183481acb53..4f98884f4bad2c5828f420068e103d14d3923dec 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Output plugin that writes to a local file."
+purpose "Output plugin that writes to a local file"
 
 option "filename" f
 #~~~~~~~~~~~~~~~~~~
index baf6ecdb974a72ec7ceb8058d13e2264e1b448ad..b8b49f622600d749a2b1c7dccb1fe2b0f2b7c16a 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-handle-help --no-handle-version --conf-parser"
 
-purpose "Decode or process audio data from STDIN to STDOUT."
+purpose "Decode or process audio data from STDIN to STDOUT"
 
 include(header.m4)
 include(loglevel.m4)
index 5b44efa61ac98ebd0d13f81801b759bfdc0d9c06..8e21356f3bb362b3aecccd6f4d19bbaea58c7ae2 100644 (file)
@@ -1,6 +1,6 @@
 args "--conf-parser --no-handle-version --no-handle-help"
 
-purpose "Show para_audiod status in a curses window."
+purpose "Show para_audiod status in a curses window"
 
 include(header.m4)
 define(CURRENT_PROGRAM,para_gui)
index b8ece39d9809a85dfa4e3e0d7b09afefd2475954..6db3ff0444fdc7feedd067c79292d8b7abc00bb1 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Receive an HTTP audio stream."
+purpose "Receive an HTTP audio stream"
 
 include(header.m4)
 
index ada70d198b496abc98fb5ed462180f81d4c0d99a..79e101a3e4e88f3e55b096b90780615b82b2e602 100644 (file)
@@ -25,14 +25,3 @@ $(m4depdir)/%.m4d: $(m4_ggo_dir)/%.m4 | $(m4depdir)
 $(ggo_dir)/%.ggo: $(m4_ggo_dir)/%.m4 $(m4_ggo_dir)/header.m4 | $(ggo_dir)
        @[ -z "$(Q)" ] || echo 'M4 $<'
        $(Q) m4 -I $(m4_ggo_dir) $< > $@
-
-$(help2man_dir)/para_%: $(ggo_dir)/%.ggo | $(help2man_dir)
-       @[ -z "$(Q)" ] || echo 'G2X $<'
-       $(Q) printf "#!/bin/sh\nif [ \"\$$1\" = '--version' ]; then \
-                       $(GENGETOPT) $(ggo_opts) --show-version < $<; \
-               elif [ \"\$$1\" = '--help' ]; then \
-                       $(GENGETOPT)  $(ggo_opts) --show-detailed-help < $<; \
-               else \
-                       exit 1; \
-               fi\n" > $@.tmp
-       $(Q) chmod 755 $@.tmp && mv $@.tmp $@
index a6425b3e7f296485101c52e8dc5fa72a9acac355..8b187835d1ecd7d8b109244a9e5efc1b38c2936e 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Decode an mp3 stream."
+purpose "Decode an mp3 stream"
 
 include(header.m4)
 
index 352bea5bc3cfe2e0d2d431c2e4b7c0fb1f31f60f..578d81387ec3562312572ec218b4aa4cf9a234cc 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Output plugin for the Open Sound System."
+purpose "Output plugin for the Open Sound System"
 
 option "device" d
 #~~~~~~~~~~~~~~~~
index 5add6f2e6e340f5eacd4260d33e4166522751261..83ed737ca91168156cb3c3a05efea655e8ceaabd 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Output plugin for Mac OS coreaudio."
+purpose "Output plugin for Mac OS coreaudio"
 
 section "osx options"
 #####################
index cb406bec8f45cad5fdde710ddc0ee8657d2e56c6..168755907fd302f8eb5f95c5484f04df210f95a9 100644 (file)
@@ -1,6 +1,6 @@
 args "--unamed-opts=audio_file --no-handle-version --conf-parser --no-handle-help"
 
-purpose "Command line audio player."
+purpose "Command line audio player"
 
 description "para_play operates either in command mode or in insert
 mode. In insert mode it presents a prompt and allows to enter commands
index 9e84dcfcea04934a7f5a2f3f776d5afabe0b6bc1..20ff86fe4b332038e497313540a2cea515f486a4 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Delay processing of an audio stream."
+purpose "Delay processing of an audio stream"
 
 option "duration" d
 #~~~~~~~~~~~~~~~~~~
index 086c9c0a5c73049630bda211a8433ddfebba3963..9a9a88046f66b8c31fc23c670df730539525912d 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-handle-help --no-handle-version"
 
-purpose "A command line HTTP/DCCP/UDP stream grabber."
+purpose "A command line HTTP/DCCP/UDP stream grabber"
 
 include(header.m4)
 include(loglevel.m4)
index 4f4af4b0c41182d21faecf888926488bb372095e..2e5f40054edcfa9c9239139e1be3aaf8a8857597 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Transform raw audio to a different sample rate."
+purpose "Transform raw audio to a different sample rate"
 
 include(header.m4)
 
index 4c52d2c22b93d937777d7ded66e28ac946ecdd2a..916e88563ea32af2fc75d94c19a74f5c03ea0b64 100644 (file)
@@ -1,6 +1,6 @@
 args "--conf-parser --no-handle-version --no-handle-help"
 
-purpose "Manage and stream audio files."
+purpose "Manage and stream audio files"
 
 include(header.m4)
 define(CURRENT_PROGRAM,para_server)
index 48770d974dc495f205a1538367511600fee97281..dcdad4f7b70143647ed40bc36e5c5cdefdc7975b 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-version --no-help"
 
-purpose "Receive an UDP audio stream."
+purpose "Receive an UDP audio stream"
 
 option "host" i
 "ip or host to receive udp packets from"
index 8b13f457a1480a3f430b31c478d5237ae9a0ba61..83e8bcabf4ccbfe642e39d8ab07eaa7371427943 100644 (file)
@@ -1,6 +1,6 @@
 args "--no-handle-help --no-handle-version"
 
-purpose "Play wav or raw audio."
+purpose "Play wav or raw audio"
 
 include(header.m4)
 include(loglevel.m4)
diff --git a/man_util.bash b/man_util.bash
new file mode 100755 (executable)
index 0000000..cb7519c
--- /dev/null
@@ -0,0 +1,108 @@
+#!/usr/bin/env bash
+
+# Receivers, filters, writers are called "modules" in this script
+print_modhelp()
+{
+       local ggo="$1"
+
+       $GENGETOPT --show-detailed-help \
+               --set-version "" \
+               --set-package "" \
+               < "$ggo" | awk 'BEGIN {
+                       have_purpose=0
+                       have_usage=0
+               } {
+                       if (!have_purpose) {
+                               if ($0 ~ /^ *$/)
+                                       next
+                               printf(" (%s):", $0)
+                               have_purpose=1
+                               next
+                       }
+                       if (!have_usage) {
+                               if ($0 ~ /^Usage: /) {
+                                       have_usage=1
+                               }
+                               next
+                       }
+                       print $0
+               }'
+}
+
+make_help()
+{
+       local target="$1" module ggo
+
+       ggo="$GGO_DIR/$1.ggo"
+       $GENGETOPT --show-detailed-help \
+               --set-version "$VERSION" \
+               --set-package "para_$1" \
+               < "$ggo"
+
+       if [[ "$target" == 'recv' || "$target" == 'audiod' ]]; then
+               for module in $RECEIVERS; do
+                       ggo="$GGO_DIR/${module}_recv.ggo"
+                       [[ ! -f "$ggo" ]] && continue
+                       printf "\nOptions for the $module receiver"
+                       print_modhelp "$ggo"
+               done
+       fi
+       if [[ "$target" == 'filter' || "$target" == 'audiod' ]]; then
+               for module in $FILTERS; do
+                       ggo="$GGO_DIR/${module}_filter.ggo"
+                       [[ ! -f "$ggo" ]] && continue
+                       printf "\nOptions for the $module filter"
+                       print_modhelp "$ggo"
+               done
+       fi
+       if [[ "$target" == 'write' || "$target" == 'audiod' ]]; then
+               for module in $WRITERS; do
+                       ggo="$GGO_DIR/${module}_write.ggo"
+                       [[ ! -f "$ggo" ]] && continue
+                       printf "\nOptions for the $module writer"
+                       print_modhelp "$ggo"
+               done
+       fi
+}
+
+set -u
+
+(($# != 1)) && exit 1
+
+# These must be set by the caller (make or help2man)
+export COMMAND_LISTS FILTERS GENGETOPT GGO_DIR HELP2MAN HELP2MAN_DIR \
+       RECEIVERS VERSION WRITERS
+
+# If either --version or --help-xxx was given, we are being called by help2man
+if [[ "$1" == "--version" ]]; then
+       echo "$VERSION"
+       exit $?
+fi
+if [[ "$1" =~ --help- ]]; then
+       make_help "${1#--help-}"
+       exit $?
+fi
+
+# Called by make, run help2man
+output_file="$1"
+target="${output_file##*/para_}"
+target="${target%.*}" # server, audiod, filter, ...
+link="$HELP2MAN_DIR/para_$target"
+
+cl_opts=
+for cl in $COMMAND_LISTS; do
+       cl_opts+=" --include $cl"
+done
+
+# Create a symlink para_$target, pointing to this script. This hack is
+# necessary because help2man always includes the name of the executable in its
+# output.
+ln -sf "$PWD/$0" "$link"
+
+# This will call us again twice, with either --help-$target or --version given.
+$HELP2MAN --no-info --help-option "--help-$target" $cl_opts \
+       "$link" > "$output_file"
+if (($? != 0)); then
+       rm -f "$output_file"
+       exit 1
+fi
diff --git a/mix.h b/mix.h
index 427a84f559c8f67369c24e9f4910f9cccdb83e8a..cfcfd72b6058bbd2ededbf6693805581d42957e5 100644 (file)
--- a/mix.h
+++ b/mix.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2012-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/mm.c b/mm.c
index 5ce3476eca25fc8f5304ae81d04c1f526c1b199a..6f2c088e9e653d375e4ab76157f58582f0d04797 100644 (file)
--- a/mm.c
+++ b/mm.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/mm.h b/mm.h
index b635a5a841597a4d56c389c1aee4063c92be0f12..9c64002b59908520d11c187f935fffc2e37c6725 100644 (file)
--- a/mm.h
+++ b/mm.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/mood.c b/mood.c
index d15e011f04c720cef376b73752d9fcba51c61f00..897c22b9997d21d25f3644cd866706a7152182d9 100644 (file)
--- a/mood.c
+++ b/mood.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -18,6 +18,7 @@
 #include "ipc.h"
 #include "mm.h"
 #include "sideband.h"
+#include "mood.h"
 
 /**
  * Contains statistical data of the currently admissible audio files.
@@ -838,7 +839,7 @@ int change_current_mood(char *mood_name)
        if (ret < 0)
                return ret;
        log_statistics();
-       PARA_INFO_LOG("%d admissible files \n", statistics.num);
+       PARA_INFO_LOG("%d admissible files\n", statistics.num);
        for (i = 0; i < statistics.num; i++) {
                struct admissible_file_info *a = aa.array + i;
                ret = add_to_score_table(a->aft_row, a->score);
diff --git a/mood.h b/mood.h
index f97081a96c7d16d06e2f8d8ea865547c34035134..10e2ba10eb87712b9a483cdeee56e37d8f96c6ae 100644 (file)
--- a/mood.h
+++ b/mood.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 251574a528d38a665b0ab67c88c213f6e27b5e41..2b558cbbaa1d8c82fd5fc121b6a1ce30fbff08ee 100644 (file)
--- a/mp3_afh.c
+++ b/mp3_afh.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2003-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2003-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 33c0dfc9f7d5019484a17f97a47064fb75798358..feaa1d1f03f9a9a4bd4b0d6f1984219b480099ad 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/net.c b/net.c
index 986660fa8f12fd11649d9bd4b3310b01837811dc..c11f67c4bac3f7f316daa317ae71ed8ebe6f10a9 100644 (file)
--- a/net.c
+++ b/net.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/net.h b/net.h
index e249498e3901b307bb68c57fe9bb4ac4d33d93a2..877d1cbbe537bcb70f3d4ededc91514f226e61c0 100644 (file)
--- a/net.h
+++ b/net.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index a6120be28bfcf8bfb581cc1fb37a8f37776a2533..debc0c9f3dec6e9416bf42ea52a0e3c05ff6d6e6 100644 (file)
--- a/ogg_afh.c
+++ b/ogg_afh.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2004-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index ac70eb3f0fc543a316f636c7a589cfaa60018c5c..21444fa33b1b35f8f1a7653b103f27469956e680 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2004-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index a4d44f4395a178c7cdfab2a0b74baba81c37aef3..59a5c486423e3e34f51dcdb3e541fe65efe15b60 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2010-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index f41150f2638c62d4dd48fc23f9705f1dcf94ac4d..1eaa79300f5f70a9310ca17d7c52e5ba38e76a5b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index b079bcd5f3f373ed3b9e4826f010edd0e70a6201..10fe25d8e8dc00a3e085b4d6f2eae832f913b8a2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2012-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index cae9a6e9164de556ce5bde23de6c81aad7b476c3..fea6727463c858c87b0d9729a37800ff08a58b7b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2013-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index c3b405cc338df6666342e863aa3a0ac053ea8500..d7489859556d111e12fc20c43785c517c033b144 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (c) 2002-2007 Jean-Marc Valin
  * Copyright (c) 2008 CSIRO
  * Copyright (c) 2007-2012 Xiph.Org Foundation
- * Copyright (C) 2012-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2012-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 7e19fcbe3f9e7dd473f49f20f15442683dfff32d..5fbfea08e178a56f43a0ead27d3a88c603c4145b 100644 (file)
--- a/oss_mix.c
+++ b/oss_mix.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1998-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1998-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 3c61a445eec2456ec5fdcf585a9d95753d4cd71c..d547acf7422e2437a2af0d74f706d477bea8c309 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2009-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index f1e308d8beb498586f60acbe1fa93b24077bc320..889854c22a711a167e5bbfa61ac35241c60f8a95 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/para.h b/para.h
index d1e266fcfb249758b633860540a4bd637cc7152a..6bd048d8c590cb2bc493a1f65860a30517f6230e 100644 (file)
--- a/para.h
+++ b/para.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/play.c b/play.c
index 01125ab647f73482bb248ecdbaac2b8b2ad13021..5736a2ddbdfc04199f6d2bf6544f9ce2d35a56f8 100644 (file)
--- a/play.c
+++ b/play.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2012-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index c822e0802c53fdfbb72b5d728e0ca84aabbedc45..b83f8df8c30e93a04af060714445f7c40ef9ee63 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index c72d6d4951bb784816502a982185647ef9bcfe63..7371038a57cd7ef4450f02ddaf0add12c09050ca 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index f4ef76e245c98ca141caf4bd04e8594087ac6da6..6fac4cb31d944db1aa603fbfdd71819a946a359c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2009-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/recv.c b/recv.c
index 7a5549aaa27fe49f267d5cdcf122e8b244649f34..babd1e306989b18f2702ec14ef0e26e5706e99e5 100644 (file)
--- a/recv.c
+++ b/recv.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/recv.h b/recv.h
index 68222acffc7fc41f8fa2c4d644ff70ee3c4f753d..a590aabdb02b3a79902f4ea3d02e8379bd81133f 100644 (file)
--- a/recv.h
+++ b/recv.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 2ea8a5992034419cf0375bae43851172c136b765..2d6aa74a55063da799f35d1b9abbe07b33aa59b4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -50,19 +50,19 @@ static void *parse_receiver_args(int receiver_num, char *options)
 }
 
 /**
- * check if given string is a valid command line for any receiver
+ * Check if the given string is a valid receiver specifier.
  *
  * \param \ra string of the form receiver_name:options
  * \param receiver_num contains the number of the receiver upon success
  *
  * This function checks whether \a ra starts with the name of a supported
  * paraslash receiver, optinally followed by a colon and any options for that
- * receiver. If a valid receiver name was found and further are present, the
- * remaining part of \a ra is passed to that receiver's config parser.
+ * receiver. If a valid receiver name was found the remaining part of \a ra is
+ * passed to the receiver's config parser.
  *
- * \return On success, a pointer to the gengetopt args info struct is returned
- * and \a receiver_num contains the number of the receiver. Otherwise this function
- * returns \p NULL.
+ * \return On success, a pointer to the receiver-specific gengetopt args info
+ * struct is returned and \a receiver_num contains the number of the receiver.
+ * On errors, the function returns \p NULL.
  */
 void *check_receiver_arg(char *ra, int *receiver_num)
 {
index 5ad584ded50eaad435f5afdfeedccac9f40bcd75..2caa1e21395a7a77909d0284f6e44e3013640857 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2012-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index a5a1c2594f0de72f7fc75dffeac3d93c8cf59d6c..e85661e4c0d57e56fb6b245b5c106c6e87090180 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index ce89d4b792db234ea8bba7dc04f04ce1076cf08e..075eb070927c97429f62c6f4acb3c02af61cdafa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/sched.c b/sched.c
index d42e149801e4a7ecabd4f96cc1f79802eb7a4ff1..8b68667bf453c481df6950ec727be3b134037f99 100644 (file)
--- a/sched.c
+++ b/sched.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/sched.h b/sched.h
index 234a8458d5870a1f14c66c81c140b61c0c20bf01..f15e4efb666738d5f12da542e3ae10c3d774132e 100644 (file)
--- a/sched.h
+++ b/sched.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/score.c b/score.c
index 37f4c55072d920bcef85ec622f6568c91b0ed11e..f1afd22be7bc5c580312ca8eca3d128d1044dee0 100644 (file)
--- a/score.c
+++ b/score.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/send.h b/send.h
index 01e0d0a850586312d4c6f4376ee7373ccdde9f93..8a69cb714ecd6c4a33d5c9c3bd8e99a9b3aff454 100644 (file)
--- a/send.h
+++ b/send.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index a16869b07154022bfd9adf4a56250d34a2de16fb..0baac3a6f5c9713e810f97b53d13275f4178c610 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index f92ef5518cd507ea5e1ef6026e03f841f4b37e37..fa19ce4225111e33ec7f192935f455c6cd5b2d76 100644 (file)
--- a/server.c
+++ b/server.c
@@ -1,66 +1,37 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
 
 /** \file server.c Paraslash's main server. */
 
-
 /**
- * \mainpage Starting points for getting an overview:
+ * \mainpage Main data structures:
  *
- *     - The main programs: \ref server.c, \ref audiod.c, \ref client.c,
- *       \ref audioc.c, \ref afh.c, \ref play.c,
  *     - Server: \ref server_command, \ref sender,
- *     - Audio file selector: \ref audio_format_handler, \ref afs_table,
- *     - Client: \ref receiver, \ref receiver_node, \ref filter,
- *       \ref filter_node, \ref writer_node.
- *
- *
- * The gory details, listed by topic:
+ *     - Audio file selector: \ref afs_info, \ref afs_table,
+ *     - Audio format handler: \ref audio_format_handler, \ref afh_info
+ *     - Receivers/filters/writers: \ref receiver, \ref receiver_node,
+ *       \ref filter, \ref filter_node, \ref writer_node, \ref writer.
  *
- *     - Audio format handlers: \ref send_common.c \ref mp3_afh.c,
- *       \ref ogg_afh.c, \ref aac_afh.c, \ref wma_afh.c, \ref spx_afh.c
- *     - Decoders: \ref mp3dec_filter.c, \ref oggdec_filter.c,
- *       \ref aacdec_filter.c, \ref wmadec_filter.c, spxdec_filter.c,
- *       \ref flacdec_filter.c,
- *     - Volume normalizer: \ref compress_filter.c,
- *     - Output: \ref alsa_write.c, \ref osx_write.c, \ref oss_write.c,
- *     - http: \ref http_recv.c, \ref http_send.c,
- *     - udp: \ref udp_recv.c, \ref udp_send.c,
- *     - dccp: \ref dccp_recv.c, \ref dccp_send.c,
- *     - Audio file selector: \ref afs.c, \ref aft.c, \ref mood.c,
- *     - Afs structures: \ref afs_table, \ref audio_file_data,
- *       \ref afs_info \ref afh_info,
- *     - Afs tables: \ref aft.c, \ref mood.c, \ref playlist.c,
- *       \ref attribute.c, \ref score.c,
- *     - The virtual streaming system: \ref vss.c, \ref chunk_queue.c.
+ * Selected APIs:
  *
- * Lower levels:
- *
- *     - Scheduling: \ref sched.c, \ref sched.h,
- *     - Networking: \ref net.c,
- *     - File descriptors: \ref fd.c,
- *     - Signals: \ref signal.c,
- *     - Daemons: \ref daemon.c,
- *     - Strings: \ref string.c, \ref string.h,
+ *     - Scheduling: \ref sched.h,
+ *     - Buffer trees: \ref buffer_tree.h,
+ *     - Sideband API: \ref sideband.h,
+ *     - Crypto: \ref crypt.h, \ref crypt_backend.h,
+ *     - Error subsystem: \ref error.h, \ref error2.c,
+ *     - Inter process communication: \ref ipc.h,
+ *     - Forward error correction: \ref fec.h,
+ *     - Daemons: \ref daemon.h,
+ *     - Mixer API: \ref mix.h,
+ *     - Interactive sessions: \ref interactive.h,
+ *     - File descriptors: \ref fd.h,
+ *     - Signals: \ref signal.h,
+ *     - Networking: \ref net.h,
  *     - Time: \ref time.c,
- *     - Spawning processes: \ref exec.c,
- *     - Inter process communication: \ref ipc.c,
- *     - Blob tables: \ref blob.c,
- *     - The error subsystem: \ref error.h.
- *     - Access control for paraslash senders: \ref acl.c, \ref acl.h.
- *     - Internal crypto API: \ref crypt.h.
- *     - interactive sessions (libreadline): \ref interactive.c.
- *
- * Low-level data structures:
- *
- *     - Doubly linked lists: \ref list.h,
- *     - Ring buffer: \ref ringbuffer.c, \ref ringbuffer.h,
- *     - openssl: \ref crypt.c
- *     - libgcrypt: \ref gcrypt.c
- *     - Forward error correction: \ref fec.c.
+ *     - Doubly linked lists: \ref list.h.
  */
 
 #include <netinet/in.h>
index 820295a3ed8f627431081e8eecc540e43c9a19c1..64f0cc75972b9ec17ff9693fe0664d24c9ec4a42 100644 (file)
--- a/server.h
+++ b/server.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 6004651f110537ecf0da5eaf220365078e264cd9..a5f191615b4582542e5408442c69cf5096d7eea3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2012-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 20e195b364b3d8bffcce3df4cd2c48f9e6afe4a8..4a838cee916cba03e85634784b0b3488595873a7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2012-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 3b202a2c8ba6a62b23fa46f7e99ed207c4f08750..972d9d129a03f8060cda1a8dd2d98e3b181b2875 100644 (file)
--- a/signal.c
+++ b/signal.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2004-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -11,6 +11,9 @@
 #include "para.h"
 #include "error.h"
 #include "fd.h"
+#include "list.h"
+#include "sched.h"
+#include "signal.h"
 
 static int signal_pipe[2];
 
index 92af8170529fc1cbe3d5fa41d8bc79a2257f29d7..526f15025c658f5f09b1388feba057addb848864 100644 (file)
--- a/signal.h
+++ b/signal.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/spx.h b/spx.h
index c4999f07a6a32c2229afa8187c13871c64b3a7f8..3ae2c87cd85abb42a89d7663ab0540903dff7e23 100644 (file)
--- a/spx.h
+++ b/spx.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2010-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 8f7d715cf20cc730d985845818c8dd49f4bde200..2afebb186573fdc190f473efb467923c2c052ca8 100644 (file)
--- a/spx_afh.c
+++ b/spx_afh.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2010-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 3bd3d48d2b9fbc70fe8c8283a3ab47421ef1c463..f770be7db07d759dac671e1c19bb459cb8a133e8 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2002-2006 Jean-Marc Valin
- * Copyright (C) 2010-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2010-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 9bba042c040c0687eb33f0fc156dbf62f06392c9..72ecd62a8d9c11460e6962689f52446e3b43ccb7 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2002-2006 Jean-Marc Valin
- * Copyright (C) 2010-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2010-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/stat.c b/stat.c
index 8036de3a9d682d9bfe7506a09ee52cabbb9780ea..afc9c389d801b8d1fe970a64f7001516e930a831 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/stdin.c b/stdin.c
index 20b9250e9b7fbf3c252e20dff8891bfeeb5112dd..d5425b28504493a65eda7381959cba8af31dbf5f 100644 (file)
--- a/stdin.c
+++ b/stdin.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/stdin.h b/stdin.h
index cdf0c67fd57a1078f38a9f175d598adf65ece520..22ea7ed6cab3fb16ebcda30a35f0c878600a8203 100644 (file)
--- a/stdin.h
+++ b/stdin.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index cf33bf6d0b67cf49625d27b4d602dec35922d32d..4554145f3d24883e828c849e856e4eca2f428cc6 100644 (file)
--- a/stdout.c
+++ b/stdout.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index a21b7cedfb699d9402f666a1a754a26d12cdcec1..dbf8866b368f16d800ab90e799a71e07ff726954 100644 (file)
--- a/stdout.h
+++ b/stdout.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 38e25b09c5f3ff2b289d6e943a0f7bde3bfc23ad..8cc7d5d7965e725839375237af3f063b1b44d13b 100644 (file)
--- a/string.c
+++ b/string.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2004-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -36,7 +36,7 @@
  *
  * \sa realloc(3).
  */
-__must_check __malloc void *para_realloc(void *p, size_t size)
+__must_check void *para_realloc(void *p, size_t size)
 {
        /*
         * No need to check for NULL pointers: If p is NULL, the call
index 935c7d456c2c5b6910b356f2ddd52fd62848cf67..b13a0d86bbe57b2fb7a31e81ad04c3f19ca96bad 100644 (file)
--- a/string.h
+++ b/string.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/time.c b/time.c
index fe431208d27130f452e0d61e7d801477730fbbfa..c405351a96f978c39b18ec0466a65fad012aff26 100644 (file)
--- a/time.c
+++ b/time.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 96b6c73123acba4da30e34e9d50850cfa7b554ac..15cf73eb210dd0354b27abf795e60fdd1959377b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 4580f009b3cb4b75d2f9e4c3a4e274cfc230e387..6ed5026ac31102932d4fb3b23e6e87d375002096 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 31ffe67b6e96f44aaabb2c32ac31ef4cfee2d468..4815e5d368c28ce8f66d00d0da3af2ce6c9bc003 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 5a1d69208c2720ead0c37dcadd29acc08a918ccc..120b0fdb44d6f9e64b9264b85f22ddafe419131f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index f8f7e6a33f69a4624f347e8b2c95f88e61111bb7..8526bbcc47b29d6483c13a7ed0b6885a8e6fb061 100644 (file)
--- a/version.c
+++ b/version.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2013-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -7,6 +7,7 @@
 /** \file version.c Some helpers for printing version and copyright strings. */
 
 #include "para.h"
+#include "version.h"
 
 /** \file version.h Macros for printing the version string. */
 
@@ -28,8 +29,8 @@ __a_const const char *version_git(void)
  *
  * \param pfx The program name (without the leading "para_").
  *
- * \return A statically allocated string which contains the program name, the
- * git version and the codename. It must not be freed by the caller.
+ * \return A statically allocated string which contains the program name and
+ * the git version. It must not be freed by the caller.
  */
 const char *version_single_line(const char *pfx)
 {
@@ -56,7 +57,7 @@ const char *version_text(const char *pfx)
        static char buf[512];
 
        snprintf(buf, sizeof(buf) - 1, "%s\n"
-               "Copyright (C) 2013 Andre Noll\n"
+               "Copyright (C) 2013-2014 Andre Noll\n"
                "This is free software with ABSOLUTELY NO WARRANTY."
                " See COPYING for details.\n"
                "Report bugs to <maan@systemlinux.org>.\n"
diff --git a/vss.c b/vss.c
index 2349b0931cfcc22b4d54b01f6c26f6b545614e6a..3ace49e9e90e8fb27144964a0f61f1fae267e843 100644 (file)
--- a/vss.c
+++ b/vss.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/vss.h b/vss.h
index bedbb8017a1c4cddf12282d53a48b71b6bb60648..c4d6f7376933a9f59569405dfa9e847e2c9dc0b9 100644 (file)
--- a/vss.h
+++ b/vss.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index eaef1f5cca7b79c4b532d91dda239aaa7e53c0ee..ea3236c7f56a0ee1b2719b47a80dc4e4754154ad 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 475079bae46270f9be09d9559bbaa097b0befbbf..8f7428f7c54b5d5ec04dedad57971d5706212d25 100644 (file)
        </tr>
        <tr>
                <td>
-                       <br />
-                       <a href="index.html">Home</a><br />
-                       <a href="FEATURES.html">Features</a><br />
-                       <a href="screenshots.html">Screenshots</a><br />
-                       <a href="download.html">Download</a><br />
-                       <a href="documentation.html">Documentation</a><br />
-                       <a href="/gitweb/gitweb.cgi?p=.git;a=summary">Changes</a><br />
-                       <a href="devel.html">Development</a><br />
-                       <a href="license.html">License</a><br />
-                       <a href="contact.html">Contact</a><br />
-                       <a href="CREDITS.html">Credits</a><br />
+                       <br>
+                       <a href="index.html">Home</a><br>
+                       <a href="FEATURES.html">Features</a><br>
+                       <a href="screenshots.html">Screenshots</a><br>
+                       <a href="download.html">Download</a><br>
+                       <a href="documentation.html">Documentation</a><br>
+                       <a href="/gitweb/gitweb.cgi?p=.git;a=summary">Changes</a><br>
+                       <a href="devel.html">Development</a><br>
+                       <a href="license.html">License</a><br>
+                       <a href="contact.html">Contact</a><br>
+                       <a href="CREDITS.html">Credits</a><br>
                </td>
                <td>
index cf919d0d8b6c86d85c03a3355c53fca7e731f183..68980a865dc082af5a2ccbeae0e08184fe57a228 100644 (file)
        </tr>
        <tr>
                <td>
-                       <br />
-                       <a href="../../index.html">Home</a><br />
-                       <a href="../../FEATURES.html">Features</a><br />
-                       <a href="../../screenshots.html">Screenshots</a><br />
-                       <a href="../../download.html">Download</a><br />
-                       <a href="../../documentation.html">Documentation</a><br />
-                       <a href="/gitweb/gitweb.cgi?p=.git;a=summary">Changes</a><br />
-                       <a href="../../devel.html">Development</a><br />
-                       <a href="../../license.html">License</a><br />
-                       <a href="../../contact.html">Contact</a><br />
-                       <a href="../../CREDITS.html">Credits</a><br />
+                       <br>
+                       <a href="../../index.html">Home</a><br>
+                       <a href="../../FEATURES.html">Features</a><br>
+                       <a href="../../screenshots.html">Screenshots</a><br>
+                       <a href="../../download.html">Download</a><br>
+                       <a href="../../documentation.html">Documentation</a><br>
+                       <a href="/gitweb/gitweb.cgi?p=.git;a=summary">Changes</a><br>
+                       <a href="../../devel.html">Development</a><br>
+                       <a href="../../license.html">License</a><br>
+                       <a href="../../contact.html">Contact</a><br>
+                       <a href="../../CREDITS.html">Credits</a><br>
                </td>
                <td>
                        <h1>API Reference</h1>
index c9e43663ecd783578fe0606b2612cc9771c38b1e..adc82b58bcc7257582dae581969ffbd22847eef1 100644 (file)
-Dec 08 19:23:27 meins 2 log_welcome: welcome to para_audiod git (Sat Dec  8 13:42:52 MET 2007)
-Dec 08 19:23:27 meins 2 init_writers: maximal number of writers: 3
-Dec 08 19:23:27 meins 2 check_writer_arg: checking  alsa -d plug:swmix
-Dec 08 19:23:27 meins 2 alsa_parse_config: options: -d plug:swmix, 2
-Dec 08 19:23:27 meins 2 alsa_parse_config: help given: 0
-Dec 08 19:23:27 meins 2 init_writers: mp3 writer #0: alsa
-Dec 08 19:23:27 meins 2 check_writer_arg: checking  alsa -d plug:swmix
-Dec 08 19:23:27 meins 2 alsa_parse_config: options: -d plug:swmix, 2
-Dec 08 19:23:27 meins 2 alsa_parse_config: help given: 0
-Dec 08 19:23:27 meins 2 init_writers: ogg writer #0: alsa
-Dec 08 19:23:27 meins 2 check_writer_arg: checking  alsa -d plug:swmix
-Dec 08 19:23:27 meins 2 alsa_parse_config: options: -d plug:swmix, 2
-Dec 08 19:23:27 meins 2 alsa_parse_config: help given: 0
-Dec 08 19:23:27 meins 2 init_writers: aac writer #0: alsa
-Dec 08 19:23:27 meins 2 init_receivers: initializing http receiver
-Dec 08 19:23:27 meins 2 init_receivers: initializing dccp receiver
-Dec 08 19:23:27 meins 2 init_receivers: initializing ortp receiver
-Dec 08 19:23:27 meins 2 init_filters: maximal number of filters: 6
-Dec 08 19:23:27 meins 2 add_filter: mp3 filter 1: mp3dec
-Dec 08 19:23:27 meins 2 add_filter: mp3 filter 2: compress
-Dec 08 19:23:27 meins 2 add_filter: ogg filter 1: oggdec
-Dec 08 19:23:27 meins 2 add_filter: ogg filter 2: compress
-Dec 08 19:23:27 meins 2 add_filter: aac filter 1: aacdec
-Dec 08 19:23:27 meins 2 add_filter: aac filter 2: compress
-Dec 08 19:23:27 meins 2 clear_slot: clearing slot 0
-Dec 08 19:23:27 meins 2 clear_slot: clearing slot 1
-Dec 08 19:23:27 meins 2 clear_slot: clearing slot 2
-Dec 08 19:23:27 meins 2 clear_slot: clearing slot 3
-Dec 08 19:23:27 meins 2 clear_slot: clearing slot 4
-Dec 08 19:23:27 meins 2 init_grabbing: grab init
-Dec 08 19:23:27 meins 2 setup_signal_handling: signal pipe: fd 4
-Dec 08 19:23:27 meins 3 audiod_get_socket: local socket: /var/paraslash/audiod_socket.meins
-Dec 08 19:23:27 meins 2 daemon_init: daemonizing
-Dec 08 19:23:27 meins 2 init_sched: initializing scheduler
-Dec 08 19:23:27 meins 2 register_task: registering signal task (0x80631bc)
-Dec 08 19:23:27 meins 2 register_task: registering command task (0xbfec3ec4)
-Dec 08 19:23:27 meins 2 register_task: registering status task (0x80632e8)
-Dec 08 19:23:27 meins 2 register_task: registering audiod task (0xbfec3fe8)
-Dec 08 19:23:27 meins 2 status_pre_select: clock diff count: 5
-Dec 08 19:23:27 meins 2 client_open: loglevel: 5
-Dec 08 19:23:27 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:23:27 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:23:27 meins 3 client_open: connecting localhost:2990
-Dec 08 19:23:27 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:23:27 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:23:27 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:23:27 meins 2 client_post_select: --> 1499570993
-Dec 08 19:23:27 meins 2 client_post_select: decrypting session key
-Dec 08 19:23:27 meins 2 enable_crypt: rc4 encryption activated for fd 7
-Dec 08 19:23:27 meins 2 unregister_task: unregistering client (0x8067878)
-Dec 08 19:23:28 meins 2 handle_connect: connection from user 409, buf: stat
-Dec 08 19:23:28 meins 2 handle_connect: argv[0]: stat, argc= 1
-Dec 08 19:23:28 meins 2 com_stat: mask: 0xffffffff
-Dec 08 19:23:28 meins 2 stat_client_add: adding client on fd 7
-Dec 08 19:23:28 meins 2 dump_stat_client_list: stat client on fd 7
-Dec 08 19:23:28 meins 2 status_pre_select: clock diff count: 4
-Dec 08 19:23:28 meins 2 client_open: loglevel: 5
-Dec 08 19:23:28 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:23:28 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:23:28 meins 3 client_open: connecting localhost:2990
-Dec 08 19:23:28 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:23:28 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:23:28 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:23:28 meins 2 client_post_select: --> 1400991892
-Dec 08 19:23:28 meins 2 client_post_select: decrypting session key
-Dec 08 19:23:28 meins 2 enable_crypt: rc4 encryption activated for fd 8
-Dec 08 19:23:28 meins 2 compute_time_diff: time diff (cur/avg): -1ms/+1ms
-Dec 08 19:23:28 meins 2 unregister_task: unregistering client (0x8067878)
-Dec 08 19:23:29 meins 2 status_pre_select: clock diff count: 3
-Dec 08 19:23:29 meins 2 client_open: loglevel: 5
-Dec 08 19:23:29 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:23:29 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:23:29 meins 3 client_open: connecting localhost:2990
-Dec 08 19:23:29 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:23:29 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:23:29 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:23:29 meins 2 client_post_select: --> 1772412478
-Dec 08 19:23:29 meins 2 client_post_select: decrypting session key
-Dec 08 19:23:29 meins 2 enable_crypt: rc4 encryption activated for fd 8
-Dec 08 19:23:29 meins 2 compute_time_diff: time diff (cur/avg): -1ms/+1ms
-Dec 08 19:23:29 meins 2 unregister_task: unregistering client (0x8067878)
-Dec 08 19:23:30 meins 2 status_pre_select: clock diff count: 2
-Dec 08 19:23:30 meins 2 client_open: loglevel: 5
-Dec 08 19:23:30 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:23:30 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:23:30 meins 3 client_open: connecting localhost:2990
-Dec 08 19:23:30 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:23:30 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:23:30 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:23:30 meins 2 client_post_select: --> 1882631692
-Dec 08 19:23:30 meins 2 client_post_select: decrypting session key
-Dec 08 19:23:30 meins 2 enable_crypt: rc4 encryption activated for fd 8
-Dec 08 19:23:30 meins 2 compute_time_diff: time diff (cur/avg): -1ms/+1ms
-Dec 08 19:23:30 meins 2 unregister_task: unregistering client (0x8067878)
-Dec 08 19:23:31 meins 2 status_pre_select: clock diff count: 1
-Dec 08 19:23:31 meins 2 client_open: loglevel: 5
-Dec 08 19:23:31 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:23:31 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:23:31 meins 3 client_open: connecting localhost:2990
-Dec 08 19:23:31 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:23:31 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:23:31 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:23:31 meins 2 client_post_select: --> 1630455651
-Dec 08 19:23:31 meins 2 client_post_select: decrypting session key
-Dec 08 19:23:31 meins 2 enable_crypt: rc4 encryption activated for fd 8
-Dec 08 19:23:31 meins 2 compute_time_diff: time diff (cur/avg): -1ms/+1ms
-Dec 08 19:23:31 meins 2 unregister_task: unregistering client (0x8067878)
-Dec 08 19:23:36 meins 2 client_open: loglevel: 5
-Dec 08 19:23:36 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:23:36 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:23:36 meins 3 client_open: connecting localhost:2990
-Dec 08 19:23:36 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:23:36 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:23:36 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:23:36 meins 2 client_post_select: --> 759215314
-Dec 08 19:23:36 meins 2 client_post_select: decrypting session key
-Dec 08 19:23:36 meins 2 enable_crypt: rc4 encryption activated for fd 8
-Dec 08 19:23:36 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:23:36 meins 2 clear_slot: clearing slot 0
-Dec 08 19:23:36 meins 3 open_receiver: started ogg: dccp receiver in slot 0
-Dec 08 19:23:36 meins 2 register_task: registering dccp receiver node (0x806a324)
-Dec 08 19:23:37 meins 2 open_filters: opening ogg filters
-Dec 08 19:23:37 meins 3 open_filters: ogg filter 1/2 (oggdec) started in slot 0
-Dec 08 19:23:37 meins 3 open_filters: ogg filter 2/2 (compress) started in slot 0
-Dec 08 19:23:37 meins 2 register_task: registering filter chain (0x807460c)
-Dec 08 19:23:37 meins 3 ogg_convert: input buffer: 17032, opening ov callbacks
-Dec 08 19:23:37 meins 3 ogg_convert: 2 channels, 44100 Hz
-Dec 08 19:23:37 meins 2 open_writers: opening ogg writers
-Dec 08 19:23:37 meins 2 open_writers: samplerate: 44100
-Dec 08 19:23:37 meins 3 wng_open: opening wng 0x80a5660 with 1 writer(s)
-Dec 08 19:23:37 meins 2 register_task: registering  (0x80a5684)
-Dec 08 19:23:37 meins 2 alsa_open: 2 channel(s), 44100Hz
-Dec 08 19:23:37 meins 2 alsa_open: buffer time: 170658
-Dec 08 19:23:37 meins 2 alsa_open: buffer size: 7526, period_size: 940
-Dec 08 19:23:43 meins 3 rn_event_handler: dccp_recv: end of file
-Dec 08 19:23:43 meins 2 unregister_task: unregistering dccp receiver node (0x806a324)
-Dec 08 19:23:43 meins 2 unregister_task: unregistering client (0x8067878)
-Dec 08 19:23:43 meins 2 kill_all_decoders: unregistering writer node group in slot 0
-Dec 08 19:23:43 meins 2 unregister_task: unregistering writer node group (0x80a5684)
-Dec 08 19:23:43 meins 2 kill_all_decoders: unregistering filter chain in slot 0
-Dec 08 19:23:43 meins 2 unregister_task: unregistering filter chain (0x807460c)
-Dec 08 19:23:43 meins 2 try_to_close_slot: closing slot 0 
-Dec 08 19:23:43 meins 3 wng_close: closing wng with 1 writer(s)
-Dec 08 19:23:43 meins 2 alsa_close: closing writer node 0x80a57b0
-Dec 08 19:23:43 meins 3 close_filters: closing filter chain 0x80745e0
-Dec 08 19:23:43 meins 2 close_filters: closing oggdec filter
-Dec 08 19:23:43 meins 2 close_filters: closing compress filter
-Dec 08 19:23:43 meins 3 close_receiver: closing ogg receiver in slot 0 (eof = 1)
-Dec 08 19:23:43 meins 2 clear_slot: clearing slot 0
-Dec 08 19:23:48 meins 2 client_open: loglevel: 5
-Dec 08 19:23:48 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:23:48 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:23:48 meins 3 client_open: connecting localhost:2990
-Dec 08 19:23:48 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:23:48 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:23:48 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:23:48 meins 2 client_post_select: --> 960122352
-Dec 08 19:23:48 meins 2 client_post_select: decrypting session key
-Dec 08 19:23:48 meins 2 enable_crypt: rc4 encryption activated for fd 8
-Dec 08 19:23:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:23:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:23:58 meins 2 clear_slot: clearing slot 0
-Dec 08 19:23:58 meins 3 open_receiver: started mp3: http receiver in slot 0
-Dec 08 19:23:58 meins 2 register_task: registering http receiver node (0x806a204)
-Dec 08 19:23:58 meins 2 http_recv_post_select: sending http request
-Dec 08 19:23:58 meins 2 http_recv_post_select: received ok msg, streaming
-Dec 08 19:23:59 meins 2 open_filters: opening mp3 filters
-Dec 08 19:23:59 meins 3 open_filters: mp3 filter 1/2 (mp3dec) started in slot 0
-Dec 08 19:23:59 meins 3 open_filters: mp3 filter 2/2 (compress) started in slot 0
-Dec 08 19:23:59 meins 2 register_task: registering filter chain (0x807260c)
-Dec 08 19:23:59 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 173 ms left
-Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 147 ms left
-Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 121 ms left
-Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 95 ms left
-Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 69 ms left
-Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 43 ms left
-Dec 08 19:23:59 meins 2 audiod_pre_select: initial delay: 17 ms left
-Dec 08 19:23:59 meins 2 open_writers: opening mp3 writers
-Dec 08 19:23:59 meins 2 open_writers: samplerate: 44100
-Dec 08 19:23:59 meins 3 wng_open: opening wng 0x80a3c18 with 1 writer(s)
-Dec 08 19:23:59 meins 2 register_task: registering  (0x80a3c3c)
-Dec 08 19:23:59 meins 2 alsa_open: 2 channel(s), 44100Hz
-Dec 08 19:23:59 meins 2 alsa_open: buffer time: 170658
-Dec 08 19:23:59 meins 2 alsa_open: buffer size: 7526, period_size: 940
-Dec 08 19:24:43 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:24:57 meins 4 alsa_write_post_select: EAGAIN
-Dec 08 19:24:57 meins 4 alsa_write_post_select: EAGAIN
-Dec 08 19:25:33 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:25:43 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:25:51 meins 3 rn_event_handler: http_recv: end of file
-Dec 08 19:25:51 meins 2 unregister_task: unregistering http receiver node (0x806a204)
-Dec 08 19:25:51 meins 2 unregister_task: unregistering client (0x8067878)
-Dec 08 19:25:51 meins 2 kill_all_decoders: unregistering writer node group in slot 0
-Dec 08 19:25:51 meins 2 unregister_task: unregistering writer node group (0x80a3c3c)
-Dec 08 19:25:51 meins 2 kill_all_decoders: unregistering filter chain in slot 0
-Dec 08 19:25:51 meins 2 unregister_task: unregistering filter chain (0x807260c)
-Dec 08 19:25:51 meins 2 try_to_close_slot: closing slot 0 
-Dec 08 19:25:51 meins 3 wng_close: closing wng with 1 writer(s)
-Dec 08 19:25:51 meins 2 alsa_close: closing writer node 0x806a440
-Dec 08 19:25:51 meins 3 close_filters: closing filter chain 0x80725e0
-Dec 08 19:25:51 meins 2 close_filters: closing mp3dec filter
-Dec 08 19:25:51 meins 2 close_filters: closing compress filter
-Dec 08 19:25:51 meins 3 close_receiver: closing mp3 receiver in slot 0 (eof = 1)
-Dec 08 19:25:51 meins 2 clear_slot: clearing slot 0
-Dec 08 19:25:56 meins 2 client_open: loglevel: 5
-Dec 08 19:25:56 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:25:56 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:25:56 meins 3 client_open: connecting localhost:2990
-Dec 08 19:25:56 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:25:56 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:25:56 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:25:56 meins 2 client_post_select: --> 563263924
-Dec 08 19:25:56 meins 2 client_post_select: decrypting session key
-Dec 08 19:25:56 meins 2 enable_crypt: rc4 encryption activated for fd 8
-Dec 08 19:25:56 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:26:06 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:26:06 meins 2 clear_slot: clearing slot 0
-Dec 08 19:26:06 meins 3 open_receiver: started mp3: http receiver in slot 0
-Dec 08 19:26:06 meins 2 register_task: registering http receiver node (0x806a29c)
-Dec 08 19:26:06 meins 2 http_recv_post_select: sending http request
-Dec 08 19:26:06 meins 2 http_recv_post_select: received ok msg, streaming
-Dec 08 19:26:06 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:26:06 meins 2 open_filters: opening mp3 filters
-Dec 08 19:26:06 meins 3 open_filters: mp3 filter 1/2 (mp3dec) started in slot 0
-Dec 08 19:26:06 meins 3 open_filters: mp3 filter 2/2 (compress) started in slot 0
-Dec 08 19:26:06 meins 2 register_task: registering filter chain (0x80726dc)
-Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 173 ms left
-Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 147 ms left
-Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 121 ms left
-Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 95 ms left
-Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 69 ms left
-Dec 08 19:26:06 meins 2 audiod_pre_select: initial delay: 43 ms left
-Dec 08 19:26:07 meins 2 audiod_pre_select: initial delay: 17 ms left
-Dec 08 19:26:07 meins 2 open_writers: opening mp3 writers
-Dec 08 19:26:07 meins 2 open_writers: samplerate: 44100
-Dec 08 19:26:07 meins 3 wng_open: opening wng 0x80a3cb8 with 1 writer(s)
-Dec 08 19:26:07 meins 2 register_task: registering  (0x80a3cdc)
-Dec 08 19:26:07 meins 2 alsa_open: 2 channel(s), 44100Hz
-Dec 08 19:26:07 meins 2 alsa_open: buffer time: 170658
-Dec 08 19:26:07 meins 2 alsa_open: buffer size: 7526, period_size: 940
-Dec 08 19:26:51 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:26:58 meins 2 unregister_task: unregistering client (0x8067878)
-Dec 08 19:26:58 meins 2 kill_all_decoders: unregistering writer node group in slot 0
-Dec 08 19:26:58 meins 2 unregister_task: unregistering writer node group (0x80a3cdc)
-Dec 08 19:26:58 meins 2 kill_all_decoders: unregistering filter chain in slot 0
-Dec 08 19:26:58 meins 2 unregister_task: unregistering filter chain (0x80726dc)
-Dec 08 19:26:58 meins 2 kill_all_decoders: unregistering receiver_node in slot 0
-Dec 08 19:26:58 meins 2 unregister_task: unregistering http receiver node (0x806a29c)
-Dec 08 19:26:58 meins 2 try_to_close_slot: closing slot 0 
-Dec 08 19:26:58 meins 3 wng_close: closing wng with 1 writer(s)
-Dec 08 19:26:58 meins 2 alsa_close: closing writer node 0x80a3e08
-Dec 08 19:26:58 meins 3 close_filters: closing filter chain 0x80726b0
-Dec 08 19:26:58 meins 2 close_filters: closing mp3dec filter
-Dec 08 19:26:58 meins 2 close_filters: closing compress filter
-Dec 08 19:26:58 meins 3 close_receiver: closing mp3 receiver in slot 0 (eof = 1)
-Dec 08 19:26:58 meins 2 clear_slot: clearing slot 0
-Dec 08 19:27:04 meins 2 client_open: loglevel: 5
-Dec 08 19:27:04 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:27:04 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:27:04 meins 3 client_open: connecting localhost:2990
-Dec 08 19:27:04 meins 5 makesock: can not create TCP socket localhost#2990.
-Dec 08 19:27:04 meins 5 client_open: Connection refused
-Dec 08 19:27:09 meins 2 client_open: loglevel: 5
-Dec 08 19:27:09 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:27:09 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:27:09 meins 3 client_open: connecting localhost:2990
-Dec 08 19:27:09 meins 5 makesock: can not create TCP socket localhost#2990.
-Dec 08 19:27:09 meins 5 client_open: Connection refused
-Dec 08 19:27:14 meins 2 client_open: loglevel: 5
-Dec 08 19:27:14 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:27:14 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:27:14 meins 3 client_open: connecting localhost:2990
-Dec 08 19:27:14 meins 5 makesock: can not create TCP socket localhost#2990.
-Dec 08 19:27:14 meins 5 client_open: Connection refused
-Dec 08 19:27:19 meins 2 client_open: loglevel: 5
-Dec 08 19:27:19 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:27:19 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:27:19 meins 3 client_open: connecting localhost:2990
-Dec 08 19:27:19 meins 5 makesock: can not create TCP socket localhost#2990.
-Dec 08 19:27:19 meins 5 client_open: Connection refused
-Dec 08 19:27:24 meins 2 client_open: loglevel: 5
-Dec 08 19:27:24 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:27:24 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:27:24 meins 3 client_open: connecting localhost:2990
-Dec 08 19:27:24 meins 5 makesock: can not create TCP socket localhost#2990.
-Dec 08 19:27:24 meins 5 client_open: Connection refused
-Dec 08 19:27:29 meins 2 client_open: loglevel: 5
-Dec 08 19:27:29 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:27:29 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:27:29 meins 3 client_open: connecting localhost:2990
-Dec 08 19:27:29 meins 5 makesock: can not create TCP socket localhost#2990.
-Dec 08 19:27:29 meins 5 client_open: Connection refused
-Dec 08 19:27:34 meins 2 client_open: loglevel: 5
-Dec 08 19:27:34 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:27:34 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:27:34 meins 3 client_open: connecting localhost:2990
-Dec 08 19:27:34 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:27:34 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:27:34 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:27:34 meins 2 client_post_select: --> 1725057215
-Dec 08 19:27:34 meins 2 client_post_select: decrypting session key
-Dec 08 19:27:34 meins 2 enable_crypt: rc4 encryption activated for fd 8
-Dec 08 19:27:34 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:27:45 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:27:45 meins 2 clear_slot: clearing slot 0
-Dec 08 19:27:45 meins 3 open_receiver: started mp3: http receiver in slot 0
-Dec 08 19:27:45 meins 2 register_task: registering http receiver node (0x806a7b4)
-Dec 08 19:27:45 meins 2 http_recv_post_select: sending http request
-Dec 08 19:27:45 meins 2 http_recv_post_select: received ok msg, streaming
-Dec 08 19:27:46 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:27:46 meins 2 open_filters: opening mp3 filters
-Dec 08 19:27:46 meins 3 open_filters: mp3 filter 1/2 (mp3dec) started in slot 0
-Dec 08 19:27:46 meins 3 open_filters: mp3 filter 2/2 (compress) started in slot 0
-Dec 08 19:27:46 meins 2 register_task: registering filter chain (0x80729f4)
-Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 173 ms left
-Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 147 ms left
-Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 121 ms left
-Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 95 ms left
-Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 69 ms left
-Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 43 ms left
-Dec 08 19:27:46 meins 2 audiod_pre_select: initial delay: 17 ms left
-Dec 08 19:27:46 meins 2 open_writers: opening mp3 writers
-Dec 08 19:27:46 meins 2 open_writers: samplerate: 44100
-Dec 08 19:27:46 meins 3 wng_open: opening wng 0x80a4000 with 1 writer(s)
-Dec 08 19:27:46 meins 2 register_task: registering  (0x80a4024)
-Dec 08 19:27:46 meins 2 alsa_open: 2 channel(s), 44100Hz
-Dec 08 19:27:46 meins 2 alsa_open: buffer time: 170658
-Dec 08 19:27:46 meins 2 alsa_open: buffer size: 7526, period_size: 940
-Dec 08 19:28:30 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:28:58 meins 3 rn_event_handler: http_recv: end of file
-Dec 08 19:28:58 meins 2 unregister_task: unregistering http receiver node (0x806a7b4)
-Dec 08 19:28:58 meins 2 unregister_task: unregistering client (0x8067878)
-Dec 08 19:28:58 meins 2 kill_all_decoders: unregistering writer node group in slot 0
-Dec 08 19:28:58 meins 2 unregister_task: unregistering writer node group (0x80a4024)
-Dec 08 19:28:58 meins 2 kill_all_decoders: unregistering filter chain in slot 0
-Dec 08 19:28:58 meins 2 unregister_task: unregistering filter chain (0x80729f4)
-Dec 08 19:28:58 meins 2 try_to_close_slot: closing slot 0 
-Dec 08 19:28:58 meins 3 wng_close: closing wng with 1 writer(s)
-Dec 08 19:28:58 meins 2 alsa_close: closing writer node 0x80a4150
-Dec 08 19:28:58 meins 3 close_filters: closing filter chain 0x80729c8
-Dec 08 19:28:58 meins 2 close_filters: closing mp3dec filter
-Dec 08 19:28:58 meins 2 close_filters: closing compress filter
-Dec 08 19:28:58 meins 3 close_receiver: closing mp3 receiver in slot 0 (eof = 1)
-Dec 08 19:28:58 meins 2 clear_slot: clearing slot 0
-Dec 08 19:29:03 meins 2 client_open: loglevel: 5
-Dec 08 19:29:03 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:29:03 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:29:03 meins 3 client_open: connecting localhost:2990
-Dec 08 19:29:03 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:29:03 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:29:03 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:29:03 meins 2 client_post_select: --> 705434988
-Dec 08 19:29:03 meins 2 client_post_select: decrypting session key
-Dec 08 19:29:03 meins 2 enable_crypt: rc4 encryption activated for fd 8
-Dec 08 19:29:03 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:29:13 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:29:13 meins 2 clear_slot: clearing slot 0
-Dec 08 19:29:13 meins 3 open_receiver: started ogg: dccp receiver in slot 0
-Dec 08 19:29:13 meins 2 register_task: registering dccp receiver node (0x806a804)
-Dec 08 19:29:13 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:29:13 meins 2 open_filters: opening ogg filters
-Dec 08 19:29:13 meins 3 open_filters: ogg filter 1/2 (oggdec) started in slot 0
-Dec 08 19:29:13 meins 3 open_filters: ogg filter 2/2 (compress) started in slot 0
-Dec 08 19:29:13 meins 2 register_task: registering filter chain (0x8074a44)
-Dec 08 19:29:14 meins 3 ogg_convert: input buffer: 17167, opening ov callbacks
-Dec 08 19:29:14 meins 3 ogg_convert: 2 channels, 44100 Hz
-Dec 08 19:29:14 meins 2 open_writers: opening ogg writers
-Dec 08 19:29:14 meins 2 open_writers: samplerate: 44100
-Dec 08 19:29:14 meins 3 wng_open: opening wng 0x80c8d20 with 1 writer(s)
-Dec 08 19:29:14 meins 2 register_task: registering  (0x80c8d44)
-Dec 08 19:29:14 meins 2 alsa_open: 2 channel(s), 44100Hz
-Dec 08 19:29:14 meins 2 alsa_open: buffer time: 170658
-Dec 08 19:29:14 meins 2 alsa_open: buffer size: 7526, period_size: 940
-Dec 08 19:29:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:30:48 meins 2 compute_time_diff: time diff (cur/avg): -3ms/+1ms
-Dec 08 19:30:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:31:48 meins 2 compute_time_diff: time diff (cur/avg): -2ms/+1ms
-Dec 08 19:31:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:32:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:32:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:33:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:33:56 meins 3 rn_event_handler: dccp_recv: end of file
-Dec 08 19:33:56 meins 2 unregister_task: unregistering dccp receiver node (0x806a804)
-Dec 08 19:33:56 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:33:56 meins 3 filter_event_handler: filter chain: eof
-Dec 08 19:33:56 meins 2 unregister_task: unregistering filter chain (0x8074a44)
-Dec 08 19:33:56 meins 2 wng_event_handler: wng: end of file
-Dec 08 19:33:56 meins 2 unregister_task: unregistering writer node group (0x80c8d44)
-Dec 08 19:33:56 meins 2 try_to_close_slot: closing slot 0 
-Dec 08 19:33:56 meins 3 wng_close: closing wng with 1 writer(s)
-Dec 08 19:33:56 meins 2 alsa_close: closing writer node 0x80c8e70
-Dec 08 19:33:56 meins 3 close_filters: closing filter chain 0x8074a18
-Dec 08 19:33:56 meins 2 close_filters: closing oggdec filter
-Dec 08 19:33:56 meins 2 close_filters: closing compress filter
-Dec 08 19:33:56 meins 3 close_receiver: closing ogg receiver in slot 0 (eof = 1)
-Dec 08 19:33:56 meins 2 clear_slot: clearing slot 0
-Dec 08 19:33:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:33:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:33:58 meins 2 clear_slot: clearing slot 0
-Dec 08 19:33:58 meins 3 open_receiver: started ogg: dccp receiver in slot 0
-Dec 08 19:33:58 meins 2 register_task: registering dccp receiver node (0x80d0dc4)
-Dec 08 19:33:58 meins 2 open_filters: opening ogg filters
-Dec 08 19:33:58 meins 3 open_filters: ogg filter 1/2 (oggdec) started in slot 0
-Dec 08 19:33:58 meins 3 open_filters: ogg filter 2/2 (compress) started in slot 0
-Dec 08 19:33:58 meins 2 register_task: registering filter chain (0x807481c)
-Dec 08 19:33:58 meins 2 compute_time_diff: time diff (cur/avg): -3ms/+1ms
-Dec 08 19:33:58 meins 3 ogg_convert: input buffer: 16947, opening ov callbacks
-Dec 08 19:33:58 meins 3 ogg_convert: 2 channels, 44100 Hz
-Dec 08 19:33:58 meins 2 open_writers: opening ogg writers
-Dec 08 19:33:58 meins 2 open_writers: samplerate: 44100
-Dec 08 19:33:58 meins 3 wng_open: opening wng 0x809d860 with 1 writer(s)
-Dec 08 19:33:58 meins 2 register_task: registering  (0x809d884)
-Dec 08 19:33:58 meins 2 alsa_open: 2 channel(s), 44100Hz
-Dec 08 19:33:58 meins 2 alsa_open: buffer time: 170658
-Dec 08 19:33:58 meins 2 alsa_open: buffer size: 7526, period_size: 940
-Dec 08 19:34:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:34:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:35:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:35:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:36:48 meins 2 compute_time_diff: time diff (cur/avg): -3ms/+1ms
-Dec 08 19:36:54 meins 3 rn_event_handler: dccp_recv: end of file
-Dec 08 19:36:54 meins 2 unregister_task: unregistering dccp receiver node (0x80d0dc4)
-Dec 08 19:36:54 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:36:54 meins 3 filter_event_handler: filter chain: eof
-Dec 08 19:36:54 meins 2 unregister_task: unregistering filter chain (0x807481c)
-Dec 08 19:36:54 meins 2 wng_event_handler: wng: end of file
-Dec 08 19:36:54 meins 2 unregister_task: unregistering writer node group (0x809d884)
-Dec 08 19:36:54 meins 2 try_to_close_slot: closing slot 0 
-Dec 08 19:36:54 meins 3 wng_close: closing wng with 1 writer(s)
-Dec 08 19:36:54 meins 2 alsa_close: closing writer node 0x809d9b0
-Dec 08 19:36:54 meins 3 close_filters: closing filter chain 0x80747f0
-Dec 08 19:36:54 meins 2 close_filters: closing oggdec filter
-Dec 08 19:36:54 meins 2 close_filters: closing compress filter
-Dec 08 19:36:54 meins 3 close_receiver: closing ogg receiver in slot 0 (eof = 1)
-Dec 08 19:36:54 meins 2 clear_slot: clearing slot 0
-Dec 08 19:36:56 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:36:56 meins 2 clear_slot: clearing slot 0
-Dec 08 19:36:56 meins 3 open_receiver: started mp3: http receiver in slot 0
-Dec 08 19:36:56 meins 2 register_task: registering http receiver node (0x80d14ec)
-Dec 08 19:36:56 meins 2 http_recv_post_select: sending http request
-Dec 08 19:36:56 meins 2 http_recv_post_select: received ok msg, streaming
-Dec 08 19:36:56 meins 2 open_filters: opening mp3 filters
-Dec 08 19:36:56 meins 3 open_filters: mp3 filter 1/2 (mp3dec) started in slot 0
-Dec 08 19:36:56 meins 3 open_filters: mp3 filter 2/2 (compress) started in slot 0
-Dec 08 19:36:56 meins 2 register_task: registering filter chain (0x80d16ac)
-Dec 08 19:36:56 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 174 ms left
-Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 148 ms left
-Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 122 ms left
-Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 96 ms left
-Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 70 ms left
-Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 44 ms left
-Dec 08 19:36:56 meins 2 audiod_pre_select: initial delay: 18 ms left
-Dec 08 19:36:56 meins 2 open_writers: opening mp3 writers
-Dec 08 19:36:56 meins 2 open_writers: samplerate: 44100
-Dec 08 19:36:56 meins 3 wng_open: opening wng 0x80743a0 with 1 writer(s)
-Dec 08 19:36:56 meins 2 register_task: registering  (0x80743c4)
-Dec 08 19:36:56 meins 2 alsa_open: 2 channel(s), 44100Hz
-Dec 08 19:36:56 meins 2 alsa_open: buffer time: 170658
-Dec 08 19:36:56 meins 2 alsa_open: buffer size: 7526, period_size: 940
-Dec 08 19:36:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:37:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+1ms
-Dec 08 19:37:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:38:48 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:38:58 meins 2 compute_time_diff: time diff (cur/avg): -0ms/+0ms
-Dec 08 19:39:06 meins 7 signal_event_handler: terminating on signal 15
-Dec 08 19:39:06 meins 7 clean_exit: caught deadly signal
-Dec 08 19:39:06 meins 2 log_welcome: welcome to para_audiod git (Sat Dec  8 13:42:52 MET 2007)
-Dec 08 19:39:06 meins 1 log_welcome: using loglevel 1
-Dec 08 19:39:06 meins 2 init_writers: maximal number of writers: 3
-Dec 08 19:39:06 meins 2 check_writer_arg: checking  alsa -d plug:swmix
-Dec 08 19:39:06 meins 2 alsa_parse_config: options: -d plug:swmix, 2
-Dec 08 19:39:06 meins 2 alsa_parse_config: help given: 0
-Dec 08 19:39:06 meins 2 init_writers: mp3 writer #0: alsa
-Dec 08 19:39:06 meins 2 check_writer_arg: checking  alsa -d plug:swmix
-Dec 08 19:39:06 meins 2 alsa_parse_config: options: -d plug:swmix, 2
-Dec 08 19:39:06 meins 2 alsa_parse_config: help given: 0
-Dec 08 19:39:06 meins 2 init_writers: ogg writer #0: alsa
-Dec 08 19:39:06 meins 2 check_writer_arg: checking  alsa -d plug:swmix
-Dec 08 19:39:06 meins 2 alsa_parse_config: options: -d plug:swmix, 2
-Dec 08 19:39:06 meins 2 alsa_parse_config: help given: 0
-Dec 08 19:39:06 meins 2 init_writers: aac writer #0: alsa
-Dec 08 19:39:06 meins 2 init_receivers: initializing http receiver
-Dec 08 19:39:06 meins 2 init_receivers: initializing dccp receiver
-Dec 08 19:39:06 meins 2 init_receivers: initializing ortp receiver
-Dec 08 19:39:06 meins 1 check_receiver_arg: checking http -i 127.0.0.1
-Dec 08 19:39:06 meins 1 parse_receiver_args: options: -i 127.0.0.1
-Dec 08 19:39:06 meins 1 parse_receiver_args: argc = 3, argv[0]: http
-Dec 08 19:39:06 meins 1 check_receiver_arg: checking dccp -i localhost
-Dec 08 19:39:06 meins 1 parse_receiver_args: options: -i localhost
-Dec 08 19:39:06 meins 1 parse_receiver_args: argc = 3, argv[0]: dccp
-Dec 08 19:39:06 meins 1 check_receiver_arg: checking dccp -i localhost
-Dec 08 19:39:06 meins 1 parse_receiver_args: options: -i localhost
-Dec 08 19:39:06 meins 1 parse_receiver_args: argc = 3, argv[0]: dccp
-Dec 08 19:39:06 meins 2 init_filters: maximal number of filters: 6
-Dec 08 19:39:06 meins 2 add_filter: mp3 filter 1: mp3dec
-Dec 08 19:39:06 meins 2 add_filter: mp3 filter 2: compress
-Dec 08 19:39:06 meins 2 add_filter: ogg filter 1: oggdec
-Dec 08 19:39:06 meins 2 add_filter: ogg filter 2: compress
-Dec 08 19:39:06 meins 2 add_filter: aac filter 1: aacdec
-Dec 08 19:39:06 meins 2 add_filter: aac filter 2: compress
-Dec 08 19:39:06 meins 2 clear_slot: clearing slot 0
-Dec 08 19:39:06 meins 2 clear_slot: clearing slot 1
-Dec 08 19:39:06 meins 2 clear_slot: clearing slot 2
-Dec 08 19:39:06 meins 2 clear_slot: clearing slot 3
-Dec 08 19:39:06 meins 2 clear_slot: clearing slot 4
-Dec 08 19:39:06 meins 2 init_grabbing: grab init
-Dec 08 19:39:06 meins 2 setup_signal_handling: signal pipe: fd 4
-Dec 08 19:39:06 meins 1 para_install_sighandler: catching signal 2
-Dec 08 19:39:06 meins 1 para_install_sighandler: catching signal 15
-Dec 08 19:39:06 meins 1 para_install_sighandler: catching signal 1
-Dec 08 19:39:06 meins 3 audiod_get_socket: local socket: /var/paraslash/audiod_socket.meins
-Dec 08 19:39:06 meins 2 daemon_init: daemonizing
-Dec 08 19:39:06 meins 2 init_sched: initializing scheduler
-Dec 08 19:39:06 meins 2 register_task: registering signal task (0x80631bc)
-Dec 08 19:39:06 meins 1 register_task: pre_select: 0x80631c0
-Dec 08 19:39:06 meins 1 register_task: post_select: 0x80631c0
-Dec 08 19:39:06 meins 2 register_task: registering command task (0xbfa7e274)
-Dec 08 19:39:06 meins 1 register_task: pre_select: 0xbfa7e278
-Dec 08 19:39:06 meins 1 register_task: post_select: 0xbfa7e278
-Dec 08 19:39:06 meins 2 register_task: registering status task (0x80632e8)
-Dec 08 19:39:06 meins 1 register_task: pre_select: 0x80632ec
-Dec 08 19:39:06 meins 1 register_task: post_select: 0x80632ec
-Dec 08 19:39:06 meins 2 register_task: registering audiod task (0xbfa7e398)
-Dec 08 19:39:06 meins 1 register_task: pre_select: 0xbfa7e39c
-Dec 08 19:39:06 meins 1 register_task: post_select: 0xbfa7e39c
-Dec 08 19:39:06 meins 2 status_pre_select: clock diff count: 5
-Dec 08 19:39:06 meins 2 client_open: loglevel: 5
-Dec 08 19:39:06 meins 2 client_open: config_file: /home/maan/.paraslash/client.conf
-Dec 08 19:39:06 meins 2 client_open: key_file: /home/maan/.paraslash/key.maan
-Dec 08 19:39:06 meins 3 client_open: connecting localhost:2990
-Dec 08 19:39:06 meins 2 register_task: registering client (0x8067878)
-Dec 08 19:39:06 meins 1 register_task: pre_select: 0x806787c
-Dec 08 19:39:06 meins 1 register_task: post_select: 0x806787c
-Dec 08 19:39:06 meins 2 client_post_select: --> auth rc4 maan
-Dec 08 19:39:06 meins 2 client_post_select: <-- [challenge]
-Dec 08 19:39:06 meins 2 client_post_select: --> 153889019
-Dec 08 19:39:06 meins 1 client_post_select: ++++ server info ++++
-
-Proceed.
-
-++++ end of server info ++++
-Dec 08 19:39:06 meins 2 client_post_select: decrypting session key
-Dec 08 19:39:06 meins 2 enable_crypt: rc4 encryption activated for fd 7
-Dec 08 19:39:06 meins 1 client_post_select: --> 
-stat
-1
-End of Command.
+Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp
+Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp
+Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp
+Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp
+Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp
+Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp
+Dec 29 02:18:32 klar (0) check_receiver_arg: checking udp
+Dec 29 02:18:32 klar (1) parse_receiver_args: receiving wma streams via udp receiver
+Dec 29 02:18:32 klar (1) parse_receiver_args: receiving ogg streams via udp receiver
+Dec 29 02:18:32 klar (1) parse_receiver_args: receiving spx streams via udp receiver
+Dec 29 02:18:32 klar (1) parse_receiver_args: receiving opus streams via udp receiver
+Dec 29 02:18:32 klar (1) parse_receiver_args: receiving aac streams via udp receiver
+Dec 29 02:18:32 klar (1) parse_receiver_args: receiving mp3 streams via udp receiver
+Dec 29 02:18:32 klar (1) parse_receiver_args: receiving flac streams via udp receiver
+Dec 29 02:18:32 klar (1) add_filter: wma filter 0: fecdec
+Dec 29 02:18:32 klar (1) add_filter: ogg filter 0: fecdec
+Dec 29 02:18:32 klar (1) add_filter: spx filter 0: fecdec
+Dec 29 02:18:32 klar (1) add_filter: opus filter 0: fecdec
+Dec 29 02:18:32 klar (1) add_filter: aac filter 0: fecdec
+Dec 29 02:18:32 klar (1) add_filter: mp3 filter 0: fecdec
+Dec 29 02:18:32 klar (1) add_filter: flac filter 0: fecdec
+Dec 29 02:18:32 klar (1) add_filter: mp3 filter 1: mp3dec
+Dec 29 02:18:32 klar (1) add_filter: ogg filter 1: oggdec
+Dec 29 02:18:32 klar (1) add_filter: aac filter 1: aacdec
+Dec 29 02:18:32 klar (1) add_filter: wma filter 1: wmadec
+Dec 29 02:18:32 klar (1) add_filter: spx filter 1: spxdec
+Dec 29 02:18:32 klar (1) add_filter: flac filter 1: flacdec
+Dec 29 02:18:32 klar (1) add_filter: opus filter 1: opusdec
+Dec 29 02:18:32 klar (1) add_filter: wma filter 2: amp
+Dec 29 02:18:32 klar (1) add_filter: ogg filter 2: amp
+Dec 29 02:18:32 klar (1) add_filter: spx filter 2: amp
+Dec 29 02:18:32 klar (1) add_filter: opus filter 2: amp
+Dec 29 02:18:32 klar (1) add_filter: aac filter 2: amp
+Dec 29 02:18:32 klar (1) add_filter: mp3 filter 2: amp
+Dec 29 02:18:32 klar (1) add_filter: flac filter 2: amp
+Dec 29 02:18:32 klar (1) add_filter: wma filter 3: compress
+Dec 29 02:18:32 klar (1) add_filter: ogg filter 3: compress
+Dec 29 02:18:32 klar (1) add_filter: spx filter 3: compress
+Dec 29 02:18:32 klar (1) add_filter: opus filter 3: compress
+Dec 29 02:18:32 klar (1) add_filter: aac filter 3: compress
+Dec 29 02:18:32 klar (1) add_filter: mp3 filter 3: compress
+Dec 29 02:18:32 klar (1) add_filter: flac filter 3: compress
+Dec 29 02:18:32 klar (1) parse_writer_args: wma writer: alsa (default)
+Dec 29 02:18:32 klar (1) parse_writer_args: ogg writer: alsa (default)
+Dec 29 02:18:32 klar (1) parse_writer_args: spx writer: alsa (default)
+Dec 29 02:18:32 klar (1) parse_writer_args: opus writer: alsa (default)
+Dec 29 02:18:32 klar (1) parse_writer_args: aac writer: alsa (default)
+Dec 29 02:18:32 klar (1) parse_writer_args: mp3 writer: alsa (default)
+Dec 29 02:18:32 klar (1) parse_writer_args: flac writer: alsa (default)
+Dec 29 02:18:32 klar (1) log_welcome: welcome to para_audiod git (Sun Dec 29 01:49:51 MET 2013)
+Dec 29 02:18:32 klar (1) clear_slot: clearing slot 0
+Dec 29 02:18:32 klar (1) clear_slot: clearing slot 1
+Dec 29 02:18:32 klar (1) clear_slot: clearing slot 2
+Dec 29 02:18:32 klar (1) clear_slot: clearing slot 3
+Dec 29 02:18:32 klar (1) clear_slot: clearing slot 4
+Dec 29 02:18:32 klar (1) setup_signal_handling: signal pipe: fd 4
+Dec 29 02:18:32 klar (0) para_sigaction: catching signal 2
+Dec 29 02:18:32 klar (0) para_sigaction: catching signal 15
+Dec 29 02:18:32 klar (0) para_sigaction: catching signal 1
+Dec 29 02:18:32 klar (0) para_sigaction: catching signal 13
+Dec 29 02:18:32 klar (1) btr_new_node: added stat as btr root
+Dec 29 02:18:32 klar (2) audiod_get_socket: local socket: /var/paraslash/audiod_socket.klar
+Dec 29 02:18:32 klar (1) register_task: registering signal task (0x807fc2c)
+Dec 29 02:18:32 klar (0) register_task: pre_select: 0x807fc2c
+Dec 29 02:18:32 klar (0) register_task: post_select: 0x807fc30
+Dec 29 02:18:32 klar (1) register_task: registering command task (0xbf84acd0)
+Dec 29 02:18:32 klar (0) register_task: pre_select: 0xbf84acd0
+Dec 29 02:18:32 klar (0) register_task: post_select: 0xbf84acd4
+Dec 29 02:18:32 klar (1) register_task: registering stat (0x807fabc)
+Dec 29 02:18:32 klar (0) register_task: pre_select: 0x807fabc
+Dec 29 02:18:32 klar (0) register_task: post_select: 0x807fac0
+Dec 29 02:18:32 klar (1) client_parse_config: loglevel: warning
+Dec 29 02:18:32 klar (1) client_parse_config: config_file: /home/maan/.paraslash/client.conf
+Dec 29 02:18:32 klar (1) client_parse_config: key_file: /home/maan/.paraslash/key.maan
+Dec 29 02:18:32 klar (2) client_connect: connecting p133:2990
+Dec 29 02:18:32 klar (1) btr_new_node: new root: client recv (was stat)
+Dec 29 02:18:32 klar (1) btr_new_node: added client send as btr root
+Dec 29 02:18:32 klar (1) register_task: registering client (0x80db404)
+Dec 29 02:18:32 klar (0) register_task: pre_select: 0x80db404
+Dec 29 02:18:32 klar (0) register_task: post_select: 0x80db408
+Dec 29 02:18:32 klar (1) parse_features: server feature: sideband
+Dec 29 02:18:32 klar (1) client_post_select: --> auth rsa maan sideband
+Dec 29 02:18:32 klar (1) client_post_select: <-- [challenge] (256 bytes)
+Dec 29 02:18:33 klar (1) client_post_select: --> 3c9229389de0fd26030b79ab4b10719801372d98
+Dec 29 02:18:33 klar (0) send_sb_command: --> stat
+Dec 29 02:18:33 klar (0) dispatch_sbb: band: OUTPUT
+Dec 29 02:18:33 klar (0) dispatch_sbb: band: OUTPUT
+Dec 29 02:18:33 klar (1) clear_slot: clearing slot 0
+Dec 29 02:18:33 klar (1) btr_new_node: added udp as btr root
+Dec 29 02:18:33 klar (1) udp_recv_open: receiving from 224.0.1.38:8000, fd=8
+Dec 29 02:18:33 klar (1) btr_pool_new: udp_recv, 327680 bytes
+Dec 29 02:18:33 klar (2) open_receiver: started ogg: udp receiver in slot 0
+Dec 29 02:18:33 klar (1) register_task: registering udp receiver node (0x80dbfcc)
+Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dbfcc
+Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dbfd0
+Dec 29 02:18:33 klar (1) open_filters: opening ogg filters
+Dec 29 02:18:33 klar (1) btr_new_node: new leaf node: fecdec (child of udp)
+Dec 29 02:18:33 klar (1) register_task: registering  (0x80dc8c8)
+Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dc8c8
+Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dc8cc
+Dec 29 02:18:33 klar (2) open_filters: ogg filter 0/4 (fecdec) started in slot 0
+Dec 29 02:18:33 klar (1) btr_new_node: new leaf node: oggdec (child of fecdec)
+Dec 29 02:18:33 klar (1) register_task: registering  (0x80dca04)
+Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dca04
+Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dca08
+Dec 29 02:18:33 klar (2) open_filters: ogg filter 1/4 (oggdec) started in slot 0
+Dec 29 02:18:33 klar (1) btr_new_node: new leaf node: amp (child of oggdec)
+Dec 29 02:18:33 klar (1) amp_open: amplification: 0 (scaling factor: 1.00)
+Dec 29 02:18:33 klar (1) register_task: registering  (0x80dcb40)
+Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dcb40
+Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dcb44
+Dec 29 02:18:33 klar (2) open_filters: ogg filter 2/4 (amp) started in slot 0
+Dec 29 02:18:33 klar (1) btr_new_node: new leaf node: compress (child of amp)
+Dec 29 02:18:33 klar (1) register_task: registering  (0x80dcc7c)
+Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dcc7c
+Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dcc80
+Dec 29 02:18:33 klar (2) open_filters: ogg filter 3/4 (compress) started in slot 0
+Dec 29 02:18:33 klar (1) btr_new_node: new leaf node: alsa writer (child of compress)
+Dec 29 02:18:33 klar (1) register_task: registering alsa writer (0x80dc270)
+Dec 29 02:18:33 klar (0) register_task: pre_select: 0x80dc270
+Dec 29 02:18:33 klar (0) register_task: post_select: 0x80dc274
+Dec 29 02:18:33 klar (2) open_writers: alsa writer started in slot 0
+Dec 29 02:18:33 klar (2)  udp
+Dec 29 02:18:33 klar (2)   fecdec
+Dec 29 02:18:33 klar (2)    oggdec
+Dec 29 02:18:33 klar (2)     amp
+Dec 29 02:18:33 klar (2)      compress
+Dec 29 02:18:33 klar (2)       alsa writer
+Dec 29 02:18:33 klar (2) btr_splice_out_node: splicing out amp
+Dec 29 02:18:33 klar (1) btr_splice_out_node: parent(compress): oggdec
+Dec 29 02:18:33 klar (1) unregister_task: unregistering amp (slot 0) (no amplification necessary)
+Dec 29 02:18:33 klar (0) add_slice: group 374 complete, ignoring slice 26
+Dec 29 02:18:33 klar (0) add_slice: group 375 complete, ignoring slice 26
+Dec 29 02:18:33 klar (2) dispatch_slice: init fec (26, 27)
+Dec 29 02:18:33 klar (1) btr_pool_new: fecdec, 131072 bytes
+Dec 29 02:18:33 klar (0) decode_group: decoding group 375 (26 slices)
+Dec 29 02:18:33 klar (0) decode_group: writing group 375 (4245/8710 decoded data bytes)
+Dec 29 02:18:33 klar (1) decode_group: writing audio file header
+Dec 29 02:18:33 klar (0) decode_group: decoding group 376 (26 slices)
+Dec 29 02:18:33 klar (0) decode_group: writing group 376 (4157/4160 decoded data bytes)
+Dec 29 02:18:33 klar (2) ogg_init: iqs: 12752, min_iqs: 8000, opening ov callbacks
+Dec 29 02:18:33 klar (0) cb_read: vorbis requests 65536 bytes have 12752
+Dec 29 02:18:33 klar (2) ogg_init: 2 channels, 44100 Hz
+Dec 29 02:18:33 klar (0) add_slice: group 376 complete, ignoring slice 26
+Dec 29 02:18:34 klar (0) decode_group: decoding group 377 (26 slices)
+Dec 29 02:18:34 klar (0) decode_group: writing group 377 (4370/4394 decoded data bytes)
+Dec 29 02:18:34 klar (0) add_slice: group 377 complete, ignoring slice 26
+Dec 29 02:18:34 klar (0) decode_group: decoding group 378 (26 slices)
+Dec 29 02:18:34 klar (0) decode_group: writing group 378 (4230/4238 decoded data bytes)
+Dec 29 02:18:34 klar (0) add_slice: group 378 complete, ignoring slice 26
+Dec 29 02:18:34 klar (0) decode_group: decoding group 379 (26 slices)
+Dec 29 02:18:34 klar (0) decode_group: writing group 379 (4193/4212 decoded data bytes)
+Dec 29 02:18:34 klar (0) cb_read: vorbis requests 65536 bytes have 12793
+Dec 29 02:18:34 klar (1) btr_exec_up: executing sample_rate on oggdec
+Dec 29 02:18:34 klar (1) btr_exec_up: sample_rate(oggdec): 44100
+Dec 29 02:18:34 klar (1) btr_exec_up: executing channels on oggdec
+Dec 29 02:18:34 klar (1) btr_exec_up: channels(oggdec): 2
+Dec 29 02:18:34 klar (1) btr_exec_up: executing sample_format on oggdec
+Dec 29 02:18:34 klar (1) btr_exec_up: sample_format(oggdec): 2
+Dec 29 02:18:34 klar (1) alsa_write_post_select: 2 channel(s), 44100Hz
+Dec 29 02:18:34 klar (1) alsa_init: opening default
+Dec 29 02:18:35 klar (1) alsa_init: dumping alsa configuration
+Dec 29 02:18:35 klar (1) alsa_init: Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
+Dec 29 02:18:35 klar (1) alsa_init: Converter: linear-interpolation
+Dec 29 02:18:35 klar (1) alsa_init: Protocol version: 10002
+Dec 29 02:18:35 klar (1) alsa_init: Its setup is:
+Dec 29 02:18:35 klar (1) alsa_init:   stream       : PLAYBACK
+Dec 29 02:18:35 klar (1) alsa_init:   access       : RW_INTERLEAVED
+Dec 29 02:18:35 klar (1) alsa_init:   format       : S16_LE
+Dec 29 02:18:35 klar (1) alsa_init:   subformat    : STD
+Dec 29 02:18:35 klar (1) alsa_init:   channels     : 2
+Dec 29 02:18:35 klar (1) alsa_init:   rate         : 44100
+Dec 29 02:18:35 klar (1) alsa_init:   exact rate   : 44100 (44100/1)
+Dec 29 02:18:35 klar (1) alsa_init:   msbits       : 16
+Dec 29 02:18:35 klar (1) alsa_init:   buffer_size  : 15052
+Dec 29 02:18:35 klar (1) alsa_init:   period_size  : 940
+Dec 29 02:18:35 klar (1) alsa_init:   period_time  : 21333
+Dec 29 02:18:35 klar (1) alsa_init:   tstamp_mode  : NONE
+Dec 29 02:18:35 klar (1) alsa_init:   period_step  : 1
+Dec 29 02:18:35 klar (1) alsa_init:   avail_min    : 940
+Dec 29 02:18:35 klar (1) alsa_init:   period_event : 0
+Dec 29 02:18:35 klar (1) alsa_init:   start_threshold  : 15052
+Dec 29 02:18:35 klar (1) alsa_init:   stop_threshold   : 15052
+Dec 29 02:18:35 klar (1) alsa_init:   silence_threshold: 0
+Dec 29 02:18:35 klar (1) alsa_init:   silence_size : 0
+Dec 29 02:18:35 klar (1) alsa_init:   boundary     : 986447872
+Dec 29 02:18:35 klar (1) alsa_init: Slave: Direct Stream Mixing PCM
+Dec 29 02:18:35 klar (1) alsa_init: Its setup is:
+Dec 29 02:18:35 klar (1) alsa_init:   stream       : PLAYBACK
+Dec 29 02:18:35 klar (1) alsa_init:   access       : MMAP_INTERLEAVED
+Dec 29 02:18:35 klar (1) alsa_init:   format       : S16_LE
+Dec 29 02:18:35 klar (1) alsa_init:   subformat    : STD
+Dec 29 02:18:35 klar (1) alsa_init:   channels     : 2
+Dec 29 02:18:35 klar (1) alsa_init:   rate         : 48000
+Dec 29 02:18:35 klar (1) alsa_init:   exact rate   : 48000 (48000/1)
+Dec 29 02:18:35 klar (1) alsa_init:   msbits       : 16
+Dec 29 02:18:35 klar (1) alsa_init:   buffer_size  : 16384
+Dec 29 02:18:35 klar (1) alsa_init:   period_size  : 1024
+Dec 29 02:18:35 klar (1) alsa_init:   period_time  : 21333
+Dec 29 02:18:35 klar (1) alsa_init:   tstamp_mode  : NONE
+Dec 29 02:18:35 klar (1) alsa_init:   period_step  : 1
+Dec 29 02:18:35 klar (1) alsa_init:   avail_min    : 1024
+Dec 29 02:18:35 klar (1) alsa_init:   period_event : 0
+Dec 29 02:18:35 klar (1) alsa_init:   start_threshold  : 16384
+Dec 29 02:18:35 klar (1) alsa_init:   stop_threshold   : 16384
+Dec 29 02:18:35 klar (1) alsa_init:   silence_threshold: 0
+Dec 29 02:18:35 klar (1) alsa_init:   silence_size : 0
+Dec 29 02:18:35 klar (1) alsa_init:   boundary     : 1073741824
+Dec 29 02:18:35 klar (1) alsa_init: Hardware PCM card 0 'Ensoniq AudioPCI' device 0 subdevice 0
+Dec 29 02:18:35 klar (1) alsa_init: Its setup is:
+Dec 29 02:18:35 klar (1) alsa_init:   stream       : PLAYBACK
+Dec 29 02:18:35 klar (1) alsa_init:   access       : MMAP_INTERLEAVED
+Dec 29 02:18:35 klar (1) alsa_init:   format       : S16_LE
+Dec 29 02:18:35 klar (1) alsa_init:   subformat    : STD
+Dec 29 02:18:35 klar (1) alsa_init:   channels     : 2
+Dec 29 02:18:35 klar (1) alsa_init:   rate         : 48000
+Dec 29 02:18:35 klar (1) alsa_init:   exact rate   : 48000 (1572864000/32768)
+Dec 29 02:18:35 klar (1) alsa_init:   msbits       : 16
+Dec 29 02:18:35 klar (1) alsa_init:   buffer_size  : 16384
+Dec 29 02:18:35 klar (1) alsa_init:   period_size  : 1024
+Dec 29 02:18:35 klar (1) alsa_init:   period_time  : 21333
+Dec 29 02:18:35 klar (1) alsa_init:   tstamp_mode  : ENABLE
+Dec 29 02:18:35 klar (1) alsa_init:   period_step  : 1
+Dec 29 02:18:35 klar (1) alsa_init:   avail_min    : 1024
+Dec 29 02:18:35 klar (1) alsa_init:   period_event : 0
+Dec 29 02:18:35 klar (1) alsa_init:   start_threshold  : 1
+Dec 29 02:18:35 klar (1) alsa_init:   stop_threshold   : 1073741824
+Dec 29 02:18:35 klar (1) alsa_init:   silence_threshold: 0
+Dec 29 02:18:35 klar (1) alsa_init:   silence_size : 1073741824
+Dec 29 02:18:35 klar (1) alsa_init:   boundary     : 1073741824
+Dec 29 02:18:35 klar (1) alsa_init:   appl_ptr     : 0
+Dec 29 02:18:35 klar (1) alsa_init:   hw_ptr       : 1040
+Dec 29 02:18:35 klar (0) add_slice: group 379 complete, ignoring slice 26
+Dec 29 02:18:35 klar (0) decode_group: decoding group 380 (26 slices)
+Dec 29 02:18:35 klar (0) decode_group: writing group 380 (4158/4160 decoded data bytes)
+Dec 29 02:18:35 klar (0) add_slice: group 380 complete, ignoring slice 26
+Dec 29 02:18:35 klar (0) decode_group: decoding group 381 (26 slices)
+Dec 29 02:18:35 klar (0) decode_group: writing group 381 (4241/4264 decoded data bytes)
+Dec 29 02:18:35 klar (0) add_slice: group 381 complete, ignoring slice 26
+Dec 29 02:18:35 klar (0) cb_read: vorbis requests 65536 bytes have 8399
+Dec 29 02:18:35 klar (0) cb_read: vorbis requests 65536 bytes have 0
+Dec 29 02:18:35 klar (0) decode_group: decoding group 382 (26 slices)
+Dec 29 02:18:35 klar (0) decode_group: writing group 382 (4281/4290 decoded data bytes)
+Dec 29 02:18:35 klar (0) add_slice: group 382 complete, ignoring slice 26
+Dec 29 02:18:35 klar (0) cb_read: vorbis requests 65536 bytes have 4281
+Dec 29 02:18:35 klar (0) cb_read: vorbis requests 65536 bytes have 0
index 2a6c7443d1b1852481eb0a7b92cba4e576c6afd0..9166de768a76adb05f73a5984325184f557c9734 100644 (file)
Binary files a/web/screenshots/gui.png and b/web/screenshots/gui.png differ
index f84ede8161f817ff99d197a646e04b4a5b3d72df..c8287b37361b5bdeec2902f89911dc8bbd5ad763 100644 (file)
-Dec 08 19:28:58 2: (21285) log_welcome: welcome to para_server git (Sat Dec  8 13:42:52 MET 2007)
-Dec 08 19:28:58 1: (21285) log_welcome: using loglevel 1
-Dec 08 19:28:58 1: (21285) populate_user_list: found entry for maan
-Dec 08 19:28:58 1: (21285) populate_user_list: found 4 perm entries
-Dec 08 19:28:58 1: (21285) populate_user_list: found entry for install
-Dec 08 19:28:58 1: (21285) populate_user_list: found 4 perm entries
-Dec 08 19:28:58 1: (21285) populate_user_list: found entry for www
-Dec 08 19:28:58 1: (21285) populate_user_list: found 4 perm entries
-Dec 08 19:28:58 2: (21285) daemon_init: daemonizing
-Dec 08 19:28:58 3: (21286) server_init: initializing audio format handlers
-Dec 08 19:28:58 2: (21286) afh_init: supported audio formats: mp3 ogg aac
-Dec 08 19:28:58 3: (21286) afh_init: initializing mp3 handler
-Dec 08 19:28:58 3: (21286) afh_init: initializing ogg handler
-Dec 08 19:28:58 3: (21286) afh_init: initializing aac handler
-Dec 08 19:28:58 3: (21286) server_init: initializing virtual streaming system
-Dec 08 19:28:58 2: (21286) vss_init: announce timeval: 300ms
-Dec 08 19:28:58 3: (21286) vss_init: initializing http sender
-Dec 08 19:28:58 2: (21286) para_listen: listening on TCP port 8000, fd 4
-Dec 08 19:28:58 1: (21286) http_send_init: http sender init complete
-Dec 08 19:28:58 3: (21286) vss_init: initializing dccp sender
-Dec 08 19:28:58 2: (21286) para_listen: listening on DCCP port 5001, fd 5
-Dec 08 19:28:58 3: (21286) vss_init: initializing ortp sender
-Dec 08 19:28:58 1: (21286) ortp_send_init: ortp sender init complete
-Dec 08 19:28:58 3: (21286) setup_signal_handling: setting up signal handlers
-Dec 08 19:28:58 1: (21286) para_install_sighandler: catching signal 2
-Dec 08 19:28:58 1: (21286) para_install_sighandler: catching signal 15
-Dec 08 19:28:58 1: (21286) para_install_sighandler: catching signal 1
-Dec 08 19:28:58 1: (21286) para_install_sighandler: catching signal 17
-Dec 08 19:28:58 1: (21286) para_install_sighandler: catching signal 10
-Dec 08 19:28:58 3: (21286) server_init: initializing the audio file selector
-Dec 08 19:28:58 2: (21287) get_database_dir: afs_database dir /home/maan/.paraslash/afs_database
-Dec 08 19:28:58 3: (21287) open_afs_tables: opening 7 osl tables in /home/maan/.paraslash/afs_database
-Dec 08 19:28:58 2: (21287) osl_open_table: opening table audio_files
-Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'audio_files' from table description
-Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 32
-Dec 08 19:28:58 1: (21287) map_table: mapping table 'audio_files' (index: /home/maan/.paraslash/afs_database/audio_files/index)
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/index: size 218667
-Dec 08 19:28:58 1: (21287) read_table_desc: 5 columns
-Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'audio_files' matches on-disk data, good
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/2346ad27d7568ba9896f1b7da6b5991251debdf2: size 143430
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/3150ecd5e0294534a81ae047ddac559de481d774: size 436636
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/94ea39e309f3f31357ab60b190b6b8c32f21620b: size 225390
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/b063ad096f9d142a388ca2a10d46b56904e26cda: size 1174409
-Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 6830
-Dec 08 19:28:58 2: (21286) init_afs: afs_socket: 8, afs_socket_cookie: 1363241225
-Dec 08 19:28:58 3: (21286) server_init: initializing tcp command socket
-Dec 08 19:28:58 2: (21286) para_listen: listening on TCP port 2990, fd 9
-Dec 08 19:28:58 3: (21286) server_init: server init complete
-Dec 08 19:28:58 1: (21286) chk_barrier: autoplay_delay barrier: 14981ms left
-Dec 08 19:28:58 1: (21286) status_refresh: 0 events, forcing status update
-Dec 08 19:28:58 1: (21286) para_next_signal: next signal: 10
-Dec 08 19:28:58 1: (21286) chk_barrier: autoplay_delay barrier: 14981ms left
-Dec 08 19:28:58 1: (21286) para_next_signal: next signal: 10
-Dec 08 19:28:58 1: (21286) chk_barrier: autoplay_delay barrier: 14981ms left
-Dec 08 19:28:58 2: (21287) aft_open: audio file table contains 6830 files
-Dec 08 19:28:58 2: (21287) osl_open_table: opening table attributes
-Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'attributes' from table description
-Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 16
-Dec 08 19:28:58 1: (21287) map_table: mapping table 'attributes' (index: /home/maan/.paraslash/afs_database/attributes/index)
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/attributes/index: size 396
-Dec 08 19:28:58 1: (21287) read_table_desc: 2 columns
-Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'attributes' matches on-disk data, good
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/attributes/fd1e48caeff7212c45fc08608b7187feb10a7a2d: size 42
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/attributes/6ae999552a0d2dca14d62e2bc8b764d377b1dd6c: size 141
-Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 21
-Dec 08 19:28:58 2: (21287) osl_open_table: opening table score
-Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'score' from table description
-Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 0
-Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 0
-Dec 08 19:28:58 2: (21287) osl_open_table: opening table moods
-Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'moods' from table description
-Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 16
-Dec 08 19:28:58 1: (21287) map_table: mapping table 'moods' (index: /home/maan/.paraslash/afs_database/moods/index)
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/moods/index: size 235
-Dec 08 19:28:58 1: (21287) read_table_desc: 3 columns
-Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'moods' matches on-disk data, good
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/moods/87ea5dfc8b8e384d848979496e706390b497e547: size 50
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/moods/6ae999552a0d2dca14d62e2bc8b764d377b1dd6c: size 67
-Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 10
-Dec 08 19:28:58 2: (21287) osl_open_table: opening table lyrics
-Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'lyrics' from table description
-Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 16
-Dec 08 19:28:58 1: (21287) map_table: mapping table 'lyrics' (index: /home/maan/.paraslash/afs_database/lyrics/index)
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/lyrics/index: size 347
-Dec 08 19:28:58 1: (21287) read_table_desc: 3 columns
-Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'lyrics' matches on-disk data, good
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/lyrics/87ea5dfc8b8e384d848979496e706390b497e547: size 85
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/lyrics/6ae999552a0d2dca14d62e2bc8b764d377b1dd6c: size 478
-Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 17
-Dec 08 19:28:58 2: (21287) osl_open_table: opening table images
-Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'images' from table description
-Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 16
-Dec 08 19:28:58 1: (21287) map_table: mapping table 'images' (index: /home/maan/.paraslash/afs_database/images/index)
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/images/index: size 7227
-Dec 08 19:28:58 1: (21287) read_table_desc: 3 columns
-Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'images' matches on-disk data, good
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/images/87ea5dfc8b8e384d848979496e706390b497e547: size 2235
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/images/6ae999552a0d2dca14d62e2bc8b764d377b1dd6c: size 12950
-Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 447
-Dec 08 19:28:58 2: (21287) osl_open_table: opening table playlists
-Dec 08 19:28:58 1: (21287) init_table_structure: creating table structure for 'playlists' from table description
-Dec 08 19:28:58 1: (21287) init_table_structure: OK. Index entry size: 16
-Dec 08 19:28:58 1: (21287) map_table: mapping table 'playlists' (index: /home/maan/.paraslash/afs_database/playlists/index)
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/playlists/index: size 107
-Dec 08 19:28:58 1: (21287) read_table_desc: 3 columns
-Dec 08 19:28:58 1: (21287) compare_table_descriptions: table description of 'playlists' matches on-disk data, good
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/playlists/87ea5dfc8b8e384d848979496e706390b497e547: size 10
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/playlists/6ae999552a0d2dca14d62e2bc8b764d377b1dd6c: size 7
-Dec 08 19:28:58 1: (21287) osl_open_table: num rows: 2
-Dec 08 19:28:58 2: (21287) afs_init: server_socket: 9, afs_socket_cookie: 1363241225
-Dec 08 19:28:58 1: (21287) osl_open_disk_object: filename: /home/maan/.paraslash/afs_database/moods/f3f1dd33eb2a8b380b64a830e5fd90eab77d9ff3/9d/b063f3b5e0adfd0d29a03db0a1c207b3740a94
-Dec 08 19:28:58 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/moods/f3f1dd33eb2a8b380b64a830e5fd90eab77d9ff3/9d/b063f3b5e0adfd0d29a03db0a1c207b3740a94: size 31
-Dec 08 19:28:58 1: (21287) parse_mood_line: accept entry added, method: 0x806c0f4
-Dec 08 19:28:58 3: (21287) change_current_mood: computing statistics of admissible files
-Dec 08 19:28:58 2: (21287) log_statistics: last_played mean: 1193159581, last_played sigma: 4161524
-Dec 08 19:28:58 2: (21287) log_statistics: num_played mean: 32, num_played sigma: 21
-Dec 08 19:28:58 2: (21287) change_current_mood: 26 admissible files 
-Dec 08 19:28:58 3: (21287) change_current_mood: loaded mood gulp
-Dec 08 19:28:58 2: (21287) register_signal_task: signal pipe: fd 8
-Dec 08 19:28:58 1: (21287) para_install_sighandler: catching signal 2
-Dec 08 19:28:58 1: (21287) para_install_sighandler: catching signal 15
-Dec 08 19:28:58 1: (21287) para_install_sighandler: catching signal 13
-Dec 08 19:28:58 1: (21287) para_install_sighandler: catching signal 1
-Dec 08 19:28:58 2: (21287) init_sched: initializing scheduler
-Dec 08 19:28:58 2: (21287) register_task: registering signal task (0x806f244)
-Dec 08 19:28:58 1: (21287) register_task: pre_select: 0x806f248
-Dec 08 19:28:58 1: (21287) register_task: post_select: 0x806f248
-Dec 08 19:28:58 2: (21287) setup_command_socket_or_die: listening on socket /var/paraslash/afs_command_socket (fd 1)
-Dec 08 19:28:58 2: (21287) register_task: registering command task (0x806f118)
-Dec 08 19:28:58 1: (21287) register_task: pre_select: 0x806f11c
-Dec 08 19:28:58 1: (21287) register_task: post_select: 0x806f11c
-Dec 08 19:28:59 2: (21286) main: got connection from ::ffff:127.0.0.1#42344, forking
-Dec 08 19:28:59 1: (21356) close_listed_fds: closing fd 9
-Dec 08 19:28:59 1: (21356) close_listed_fds: closing fd 8
-Dec 08 19:28:59 1: (21356) close_listed_fds: closing fd 6
-Dec 08 19:28:59 1: (21356) close_listed_fds: closing fd 5
-Dec 08 19:28:59 1: (21356) close_listed_fds: closing fd 4
-Dec 08 19:28:59 1: (21286) chk_barrier: autoplay_delay barrier: 13507ms left
-Dec 08 19:28:59 1: (21356) handle_connect: received rc4 request for user maan
-Dec 08 19:28:59 1: (21356) handle_connect: sending 64 byte challenge
-Dec 08 19:28:59 2: (21356) handle_connect: good auth for maan (1081806111)
-Dec 08 19:28:59 1: (21356) init_rc4_keys: rc4 keys initialized (84:105)
-Dec 08 19:28:59 2: (21356) enable_crypt: rc4 encryption activated for fd 10
-Dec 08 19:28:59 3: (21356) handle_connect: invalid command
-Dec 08 19:28:59 1: (21286) para_next_signal: next signal: 17
-Dec 08 19:28:59 1: (21286) para_reap_child: child 21356 exited. Exit status: 1
-Dec 08 19:28:59 1: (21286) chk_barrier: autoplay_delay barrier: 13498ms left
-Dec 08 19:29:03 2: (21286) main: got connection from ::ffff:127.0.0.1#42345, forking
-Dec 08 19:29:03 1: (21362) close_listed_fds: closing fd 9
-Dec 08 19:29:03 1: (21362) close_listed_fds: closing fd 8
-Dec 08 19:29:03 1: (21362) close_listed_fds: closing fd 6
-Dec 08 19:29:03 1: (21362) close_listed_fds: closing fd 5
-Dec 08 19:29:03 1: (21362) close_listed_fds: closing fd 4
-Dec 08 19:29:03 1: (21286) chk_barrier: autoplay_delay barrier: 9951ms left
-Dec 08 19:29:03 1: (21362) handle_connect: received rc4 request for user maan
-Dec 08 19:29:03 1: (21362) handle_connect: sending 64 byte challenge
-Dec 08 19:29:03 2: (21362) handle_connect: good auth for maan (705434988)
-Dec 08 19:29:03 1: (21362) init_rc4_keys: rc4 keys initialized (18:65)
-Dec 08 19:29:03 2: (21362) enable_crypt: rc4 encryption activated for fd 10
-Dec 08 19:29:03 1: (21362) check_perms: checking permissions
-Dec 08 19:29:03 3: (21362) handle_connect: calling com_stat() for maan@::ffff:127.0.0.1#42345
-Dec 08 19:29:13 1: (21286) chk_barrier: autoplay_delay barrier: 3ms left
-Dec 08 19:29:13 1: (21286) vss_preselect: ready and playing, but no audio file
-Dec 08 19:29:13 3: (21286) vss_post_select: requesting new fd from afs
-Dec 08 19:29:13 1: (21287) execute_server_command: received: new
-Dec 08 19:29:13 3: (21287) open_next_audio_file: getting next audio file
-Dec 08 19:29:13 1: (21287) osl_open_disk_object: filename: /home/maan/.paraslash/afs_database/audio_files/7e078c9876ccabef154017c770e05195c85b5e4d/55/b5e38d467105bd88133cf5ded70e551e582593
-Dec 08 19:29:13 1: (21287) mmap_full_file: /home/maan/.paraslash/afs_database/audio_files/7e078c9876ccabef154017c770e05195c85b5e4d/55/b5e38d467105bd88133cf5ded70e551e582593: size 4532
-Dec 08 19:29:13 1: (21287) mmap_full_file: /home/mp3/checked/dvd_07/cd_46/The_G.U.L.P.__Scheiss_Krieg.ogg: size 5274482
-Dec 08 19:29:13 1: (21287) mood_update_audio_file: score: 6
-Dec 08 19:29:13 1: (21287) mood_update_audio_file: moving from rank 26 to 35%
-Dec 08 19:29:13 1: (21287) score_update: new score: 0, rank 9/26
-Dec 08 19:29:13 1: (21287) osl_update_object: updating column 1 of score
-Dec 08 19:29:13 1: (21287) score_update: new score: -65, rank 1/26
-Dec 08 19:29:13 1: (21287) osl_update_object: updating column 1 of score
-Dec 08 19:29:13 1: (21287) save_afd: size: 8932
-Dec 08 19:29:13 1: (21287) pass_afd: passing 8 bytes and fd 12
-Dec 08 19:29:13 1: (21286) recv_afs_result: fd: 10, code: 0, shmid: 28442631
-Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 300ms left
-Dec 08 19:29:13 1: (21286) status_refresh: 1 events, forcing status update
-Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 300ms left
-Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 300ms left
-Dec 08 19:29:13 1: (21286) para_next_signal: next signal: 10
-Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 300ms left
-Dec 08 19:29:13 3: (21286) dccp_post_select: connection from ::ffff:127.0.0.1#46539
-Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 287ms left
-Dec 08 19:29:13 1: (21286) chk_barrier: data send barrier: 287ms left
-Dec 08 19:29:13 1: (21287) para_next_signal: next signal: 10
-Dec 08 19:29:13 1: (21286) status_refresh: 2 events, forcing status update
-Dec 08 19:29:13 1: (21286) para_next_signal: next signal: 10
-Dec 08 19:29:13 1: (21287) para_next_signal: next signal: 10
-Dec 08 19:29:14 1: (21286) cq_enqueue: 4446 bytes queued for 0x8072eb0
+Dec 29 02:12:57 (1) (16077) log_welcome: welcome to para_server git (Sun Dec 29 01:49:51 MET 2013)
+Dec 29 02:12:57 (0) (16077) populate_user_list: found entry for user maan
+Dec 29 02:12:57 (0) (16077) populate_user_list: found 4 perm entries
+Dec 29 02:12:57 (0) (16077) populate_user_list: found entry for user sshmaan
+Dec 29 02:12:57 (1) (16077) get_asymmetric_key: decoding public rsa-ssh key /home/maan/.ssh/id_rsa.pub
+Dec 29 02:12:57 (0) (16077) check_ssh_key_header: type: ssh-rsa, rlen: 7
+Dec 29 02:12:57 (0) (16077) read_bignum: bnsize: 3
+Dec 29 02:12:57 (0) (16077) read_bignum: bnsize: 257
+Dec 29 02:12:57 (0) (16077) populate_user_list: found 4 perm entries
+Dec 29 02:12:57 (0) (16077) populate_user_list: found entry for user install
+Dec 29 02:12:57 (3) (16077) populate_user_list: public key /home/maan/.paraslash/key.pub.install too short (64)
+Dec 29 02:12:57 (0) (16077) populate_user_list: found entry for user www
+Dec 29 02:12:57 (3) (16077) populate_user_list: public key /home/maan/.paraslash/key.pub.www too short (64)
+Dec 29 02:12:57 (0) (16077) populate_user_list: found entry for user maan@albrecht
+Dec 29 02:12:57 (0) (16077) populate_user_list: found 2 perm entries
+Dec 29 02:12:57 (2) (16077) server_init: initializing audio format handlers
+Dec 29 02:12:57 (1) (16077) afh_init: supported audio formats: mp3 wma ogg spx aac flac
+Dec 29 02:12:57 (2) (16077) afh_init: initializing mp3 handler
+Dec 29 02:12:57 (2) (16077) afh_init: initializing ogg handler
+Dec 29 02:12:57 (2) (16077) afh_init: initializing aac handler
+Dec 29 02:12:57 (2) (16077) afh_init: initializing wma handler
+Dec 29 02:12:57 (2) (16077) afh_init: initializing spx handler
+Dec 29 02:12:57 (2) (16077) afh_init: initializing flac handler
+Dec 29 02:12:57 (2) (16077) afh_init: initializing opus handler
+Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 10
+Dec 29 02:12:57 (0) (16077) para_block_signal: blocking signal 17
+Dec 29 02:12:57 (2) (16077) server_init: initializing the audio file selector
+Dec 29 02:12:57 (1) (16077) init_afs: afs_socket: 4, afs_socket_cookie: 3213854017
+Dec 29 02:12:57 (2) (16077) init_signal_task: setting up signal handling
+Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 2
+Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 15
+Dec 29 02:12:57 (0) (16078) para_sigaction: catching signal 13
+Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 1
+Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 17
+Dec 29 02:12:57 (0) (16077) para_sigaction: catching signal 13
+Dec 29 02:12:57 (1) (16077) register_task: registering signal task (0x807c3e4)
+Dec 29 02:12:57 (0) (16077) register_task: pre_select: 0x807c3e4
+Dec 29 02:12:57 (0) (16077) register_task: post_select: 0x807c3e8
+Dec 29 02:12:57 (0) (16077) para_unblock_signal: unblocking signal 17
+Dec 29 02:12:57 (2) (16077) server_init: initializing virtual streaming system
+Dec 29 02:12:57 (1) (16078) register_signal_task: signal pipe: fd 4
+Dec 29 02:12:57 (0) (16078) para_sigaction: catching signal 2
+Dec 29 02:12:57 (0) (16078) para_sigaction: catching signal 15
+Dec 29 02:12:57 (1) (16077) init_vss_task: announce timeval: 300ms
+Dec 29 02:12:57 (0) (16078) para_sigaction: catching signal 1
+Dec 29 02:12:57 (2) (16077) init_vss_task: initializing http sender
+Dec 29 02:12:57 (1) (16078) register_task: registering signal task (0x807cec4)
+Dec 29 02:12:57 (0) (16078) register_task: pre_select: 0x807cec4
+Dec 29 02:12:57 (1) (16077) acl_add_entry: adding 192.168.0.0/24 to access list
+Dec 29 02:12:57 (0) (16078) register_task: post_select: 0x807cec8
+Dec 29 02:12:57 (1) (16077) acl_add_entry: adding 127.0.0.1/32 to access list
+Dec 29 02:12:57 (1) (16078) get_database_dir: afs_database dir /home/maan/.paraslash/afs_database-0.4
+Dec 29 02:12:57 (2) (16078) open_afs_tables: opening 7 osl tables in /home/maan/.paraslash/afs_database-0.4
+Dec 29 02:12:57 (1) (16077) para_listen: listening on TCP port 8000, fd 7
+Dec 29 02:12:57 (2) (16077) init_vss_task: initializing dccp sender
+Dec 29 02:12:57 (1) (16077) para_listen: listening on DCCP port 8000, fd 8
+Dec 29 02:12:57 (2) (16077) init_vss_task: initializing udp sender
+Dec 29 02:12:57 (1) (16077) udp_com_add: adding to target list (224.0.1.38:8000)
+Dec 29 02:12:57 (1) (16077) udp_com_add: adding to target list (192.168.0.2:8000)
+Dec 29 02:12:57 (0) (16077) udp_send_init: udp sender init complete
+Dec 29 02:12:57 (1) (16077) register_task: registering vss task (0x807c65c)
+Dec 29 02:12:57 (0) (16077) register_task: pre_select: 0x807c65c
+Dec 29 02:12:57 (0) (16077) register_task: post_select: 0x807c660
+Dec 29 02:12:57 (2) (16077) init_server_command_task: initializing tcp command socket
+Dec 29 02:12:57 (1) (16077) para_listen: listening on TCP port 2990, fd 11
+Dec 29 02:12:57 (1) (16077) register_task: registering server command task (0x807c2c0)
+Dec 29 02:12:57 (0) (16077) register_task: pre_select: 0x807c2c0
+Dec 29 02:12:57 (0) (16077) register_task: post_select: 0x807c2c4
+Dec 29 02:12:57 (2) (16077) server_init: server init complete
+Dec 29 02:12:57 (0) (16077) status_refresh: 0 events, forcing status update
+Dec 29 02:12:57 (1) (16078) aft_open: audio file table contains 9212 files
+Dec 29 02:12:57 (1) (16078) afs_init: server_socket: 5, afs_socket_cookie: 3213854017
+Dec 29 02:12:57 (0) (16078) parse_mood_line: accept entry added, method: 0x806fdac
+Dec 29 02:12:57 (2) (16078) change_current_mood: computing statistics of admissible files
+Dec 29 02:12:57 (1) (16078) log_statistics: last_played mean: 1385279255, last_played sigma: 2805987
+Dec 29 02:12:57 (1) (16078) log_statistics: num_played mean: 48, num_played sigma: 18
+Dec 29 02:12:57 (1) (16078) change_current_mood: 26 admissible files
+Dec 29 02:12:57 (2) (16078) change_current_mood: loaded mood gulp
+Dec 29 02:12:57 (1) (16078) setup_command_socket_or_die: listening on socket /var/paraslash/afs_command_socket-0.4 (fd 7)
+Dec 29 02:12:57 (1) (16078) register_task: registering afs command task (0x807cfec)
+Dec 29 02:12:57 (0) (16078) register_task: pre_select: 0x807cfec
+Dec 29 02:12:57 (0) (16078) register_task: post_select: 0x807cff0
+Dec 29 02:12:57 (1) (16077) command_post_select: got connection from 192.168.0.4:60731, forking
+Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 11
+Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 10
+Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 9
+Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 8
+Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 7
+Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 5
+Dec 29 02:12:57 (0) (16079) close_listed_fds: closing fd 4
+Dec 29 02:12:57 (0) (16079) para_sigaction: catching signal 17
+Dec 29 02:12:57 (0) (16079) para_sigaction: catching signal 2
+Dec 29 02:12:57 (0) (16079) para_sigaction: catching signal 15
+Dec 29 02:12:57 (0) (16079) para_sigaction: catching signal 1
+Dec 29 02:12:57 (0) (16079) parse_auth_request: received auth request for user maan
+Dec 29 02:12:57 (0) (16079) handle_connect: received auth request for user maan
+Dec 29 02:12:57 (0) (16079) handle_connect: sending 64 byte challenge + rc4 keys (256 bytes)
+Dec 29 02:12:57 (0) (16079) handle_connect: received 20 bytes challenge response
+Dec 29 02:12:57 (1) (16079) handle_connect: good auth for maan
+Dec 29 02:12:57 (0) (16079) check_perms: checking permissions
+Dec 29 02:12:57 (2) (16079) handle_connect: calling com_stat() for maan@192.168.0.4:60731
+Dec 29 02:12:57 (0) (16079) para_sigaction: catching signal 10
+Dec 29 02:13:02 (1) (16077) command_post_select: got connection from 192.168.0.1:58527, forking
+Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 11
+Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 10
+Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 9
+Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 8
+Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 7
+Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 5
+Dec 29 02:13:02 (0) (16080) close_listed_fds: closing fd 4
+Dec 29 02:13:02 (0) (16080) para_sigaction: catching signal 17
+Dec 29 02:13:02 (0) (16080) para_sigaction: catching signal 2
+Dec 29 02:13:02 (0) (16080) para_sigaction: catching signal 15
+Dec 29 02:13:02 (0) (16080) para_sigaction: catching signal 1
+Dec 29 02:13:02 (0) (16080) parse_auth_request: received auth request for user maan
+Dec 29 02:13:02 (0) (16080) handle_connect: received auth request for user maan
+Dec 29 02:13:02 (0) (16080) handle_connect: sending 64 byte challenge + rc4 keys (256 bytes)
+Dec 29 02:13:02 (0) (16080) handle_connect: received 20 bytes challenge response
+Dec 29 02:13:02 (1) (16080) handle_connect: good auth for maan
+Dec 29 02:13:02 (0) (16080) check_perms: checking permissions
+Dec 29 02:13:02 (2) (16080) handle_connect: calling com_stat() for maan@192.168.0.1:58527
+Dec 29 02:13:02 (0) (16080) para_sigaction: catching signal 10
+Dec 29 02:13:09 (1) (16077) command_post_select: got connection from 192.168.0.1:58528, forking
+Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 11
+Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 10
+Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 9
+Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 8
+Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 7
+Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 5
+Dec 29 02:13:09 (0) (16089) close_listed_fds: closing fd 4
+Dec 29 02:13:09 (0) (16089) para_sigaction: catching signal 17
+Dec 29 02:13:09 (0) (16089) para_sigaction: catching signal 2
+Dec 29 02:13:09 (0) (16089) para_sigaction: catching signal 15
+Dec 29 02:13:09 (0) (16089) para_sigaction: catching signal 1
+Dec 29 02:13:09 (0) (16089) parse_auth_request: received auth request for user maan
+Dec 29 02:13:09 (0) (16089) handle_connect: received auth request for user maan
+Dec 29 02:13:09 (0) (16089) handle_connect: sending 64 byte challenge + rc4 keys (256 bytes)
+Dec 29 02:13:09 (0) (16089) handle_connect: received 20 bytes challenge response
+Dec 29 02:13:09 (1) (16089) handle_connect: good auth for maan
+Dec 29 02:13:09 (0) (16089) check_perms: checking permissions
+Dec 29 02:13:09 (2) (16089) handle_connect: calling com_play() for maan@192.168.0.1:58528
+Dec 29 02:13:09 (0) (16077) para_next_signal: next signal: 17
+Dec 29 02:13:09 (0) (16077) para_reap_child: child 16089 exited. Exit status: 0
+Dec 29 02:13:09 (0) (16077) vss_pre_select: ready and playing, but no audio file
+Dec 29 02:13:09 (0) (16077) status_refresh: 1 events, forcing status update
+Dec 29 02:13:09 (2) (16077) vss_post_select: requesting new fd from afs
+Dec 29 02:13:09 (2) (16078) open_next_audio_file: getting next audio file
+Dec 29 02:13:09 (2) (16078) open_and_update_audio_file: /home/mp3/checked/dvd_07/cd_45/The_G.U.L.P.__Popstar.ogg
+Dec 29 02:13:09 (1) (16078) shm_get_shmmax: shmmax: 33554432
+Dec 29 02:13:09 (0) (16078) mood_update_audio_file: score: -11
+Dec 29 02:13:09 (0) (16078) mood_update_audio_file: moving from rank 26 to 29%
+Dec 29 02:13:09 (0) (16078) score_update: new score: -13, rank 8/26
+Dec 29 02:13:09 (0) (16078) score_update: new score: -67, rank 1/26
+Dec 29 02:13:09 (0) (16078) pass_afd: passing 8 bytes and fd 8
+Dec 29 02:13:09 (0) (16077) recv_afs_result: fd: 12, code: 0, shmid: 121700353
+Dec 29 02:13:09 (0) (16077) vorbis_get_header_callback: processing ogg packet #0
+Dec 29 02:13:09 (0) (16077) add_ogg_page: header/body/old/new: 28/30/0/58
+Dec 29 02:13:09 (1) (16077) process_packets_2_and_3: ogg page serial: 867600341
+Dec 29 02:13:09 (0) (16077) vorbis_get_header_callback: processing ogg packet #1
+Dec 29 02:13:09 (1) (16077) vorbis_get_header_callback: replacing metadata packet
+Dec 29 02:13:09 (1) (16077) process_packets_2_and_3: ogg page serial: 867600341
+Dec 29 02:13:09 (0) (16077) vorbis_get_header_callback: processing ogg packet #2
+Dec 29 02:13:09 (0) (16077) add_ogg_page: header/body/old/new: 45/4247/58/4350
+Dec 29 02:13:09 (1) (16077) vorbis_get_header: created 4350 byte ogg vorbis header
+Dec 29 02:13:09 (0) (16077) chk_barrier: data send barrier: 203ms left
+Dec 29 02:13:09 (0) (16077) status_refresh: 2 events, forcing status update
+Dec 29 02:13:09 (0) (16079) connect_local_socket: connecting to /var/paraslash/afs_command_socket-0.4
+Dec 29 02:13:09 (0) (16080) connect_local_socket: connecting to /var/paraslash/afs_command_socket-0.4
+Dec 29 02:13:09 (2) (16077) udp_init_session: sending to udp 192.168.0.2:8000
+Dec 29 02:13:09 (1) (16077) udp_init_fec: current MPS = 548 bytes
+Dec 29 02:13:09 (1) (16077) initialize_fec_client: mps: 548, k: 26, n: 28, extra slices: 12
+Dec 29 02:13:09 (0) (16077) set_group_timing: durations (group/chunk/slice): 226/226/8
+Dec 29 02:13:09 (0) (16077) setup_next_fec_group: FEC group 0: 1 chunks (0 - 0), 4350 bytes
+Dec 29 02:13:09 (0) (16077) setup_next_fec_group: slice_bytes: 168, 0 header slices, 26 data slices
+Dec 29 02:13:09 (0) (16077) vss_send: sending 0:0 (168 bytes)
+Dec 29 02:13:09 (2) (16077) udp_init_session: sending to udp 224.0.1.38:8000
+Dec 29 02:13:09 (1) (16077) udp_init_fec: current MPS = 548 bytes
+Dec 29 02:13:09 (1) (16077) initialize_fec_client: mps: 548, k: 26, n: 27, extra slices: 24
+Dec 29 02:13:09 (0) (16077) set_group_timing: durations (group/chunk/slice): 226/226/8
+Dec 29 02:13:09 (0) (16077) setup_next_fec_group: FEC group 0: 1 chunks (0 - 0), 4350 bytes
+Dec 29 02:13:09 (0) (16077) setup_next_fec_group: slice_bytes: 168, 0 header slices, 26 data slices
+Dec 29 02:13:09 (0) (16077) vss_send: sending 0:0 (168 bytes)
+Dec 29 02:13:09 (0) (16077) status_refresh: 3 events, forcing status update
+Dec 29 02:13:09 (0) (16079) connect_local_socket: connecting to /var/paraslash/afs_command_socket-0.4
+Dec 29 02:13:09 (0) (16080) connect_local_socket: connecting to /var/paraslash/afs_command_socket-0.4
+Dec 29 02:13:09 (0) (16077) vss_send: sending 0:1 (168 bytes)
+Dec 29 02:13:09 (0) (16077) vss_send: sending 0:1 (168 bytes)
+Dec 29 02:13:09 (0) (16077) vss_send: sending 0:2 (168 bytes)
+Dec 29 02:13:09 (0) (16077) vss_send: sending 0:2 (168 bytes)
+Dec 29 02:13:09 (0) (16077) vss_send: sending 0:3 (168 bytes)
index 207b0ba8cae25c024172023d58d3691e7c4f5e9b..7ac1ba64354ab87bbbbbd8494e6d7f171f3c30e3 100644 (file)
--- a/wma_afh.c
+++ b/wma_afh.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2009-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index b101d0a6e88e921d814e630113d59a263a657fd1..97cdba0ae5a34953257de5657fc79f62f355500f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2009-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 8b751f04592eff0f7d6b3e5fe73ade1938c17382..0071337f38427cc98f341404a6819ee683352ecc 100644 (file)
@@ -149,6 +149,8 @@ struct private_wmadec_data {
 #define VLCBITS 9
 #define VLCMAX DIV_ROUND_UP(22, VLCBITS)
 
+/** \cond sine_winows */
+
 #define SINE_WINDOW(x) static float sine_ ## x[x] __a_aligned(16)
 
 SINE_WINDOW(128);
@@ -161,6 +163,7 @@ SINE_WINDOW(4096);
 static float *sine_windows[6] = {
        sine_128, sine_256, sine_512, sine_1024, sine_2048, sine_4096
 };
+/** \endcond sine_windows */
 
 /* Generate a sine window. */
 static void sine_window_init(float *window, int n)
diff --git a/write.c b/write.c
index 6799db4175282b779c2fd454d11988be31b933d8..4ed5f72e10638eb03149d6a431511d8d7b59539e 100644 (file)
--- a/write.c
+++ b/write.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
diff --git a/write.h b/write.h
index 829216088c3c2ae16f1be035bd75a490e1989076..0cfcafdade93f8334a9b8236656ba967def148ec 100644 (file)
--- a/write.h
+++ b/write.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
index 33ef8be60d0a5fa04e2acd4d21f9b9ad7fc75d2a..e191c49ad2ec2240534b6c420ac6d146ac3efc49 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -16,6 +16,7 @@
 #include "buffer_tree.h"
 #include "write.h"
 #include "error.h"
+#include "write_common.h"
 
 /** the array containing the names of all supported writers */
 const char *writer_names[] ={WRITER_NAMES};
index ecad2d18eb2fe37b9e9d39691238b9acefebb3a2..e0351602f2331da0913fa826f9d800663e3b9b92 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2014 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */