From: Andre Noll Date: Sun, 12 Jun 2016 07:29:21 +0000 (+0200) Subject: Merge branch 'refs/heads/t/opus_cleanup' X-Git-Tag: v0.5.6~19 X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=3fd8d0567ae654aed7e97e832568d3e1b98e20a2;p=paraslash.git Merge branch 'refs/heads/t/opus_cleanup' Was cooking for two months. * refs/heads/t/opus_cleanup: opus: Make opus_common.[ch] independent of ogg.h. opus: Use uint16_t for preskip and gain. --- 3fd8d0567ae654aed7e97e832568d3e1b98e20a2 diff --cc NEWS.md index b95cbb4f,00000000..d7b347e1 mode 100644,000000..100644 --- a/NEWS.md +++ b/NEWS.md @@@ -1,1286 -1,0 +1,1287 @@@ +NEWS +==== + +------------------------------------------ +current master branch "cascading gradient" +------------------------------------------ + +The highlight of this release is the new -m flag for para_afh which +lets it modify the meta tags of the given audio file(s). This feature +is supported for all audio formats. Many small cleanups and bug fixes +not mentioned here have accumulated and are also part of the release. + +- para_afh learned to modify meta tags of mp3 wma ogg spx + opus flac aac files. +- afs commands propagate error codes to the client. +- The check command now also checks the attribute table for + inconsistencies. +- New -v flag for the version command (print verbose version string) +- New option --priority for para_server and para_audiod. +- New mood methods: image_id and lyrics_id. +- The manual and this NEWS file have been converted to markdown. +- Cleanup of the wma decoder and bitstream code. +- Improved wide-character support and fixes related to signal handling. +- para_gui no longer reports 100% playing time at the stream start. ++- Opus cleanups. + +Download: [tarball](./releases/paraslash-git.tar.bz2) + +-------------------------------------- +0.5.5 (2015-09-20) "magnetic momentum" +-------------------------------------- + +Many new features and a lot of other improvements. + +- On Linux systems, local sockets are now created in the + abstract name space by default. This allows to get rid of + the socket specials in /var/paraslash. +- The --user-allow option of para_audiod now accepts also + usernames rather than only user IDs. +- New autoconf macros to avoid duplication in configure.ac. +- Status items (as shown by para_gui) are updated correctly + when the meta information of the current audio changes. +- para_server and para_audiod no longer refuse to start in + the background if no log file is given. Instead, all log + messages go to /dev/null in this case. +- Web page cleanup. +- New syntax for the -l and -s options of the ls command. + These options should now be specified as -l=v rather than + -lv, for example. The old syntax still works, but support + will be dropped in v0.6.0. + +Downloads: +[tarball](./releases/paraslash-0.5.5.tar.bz2), +[signature](./releases/paraslash-0.5.5.tar.bz2.asc) + +------------------------------------------ +0.5.4 (2015-01-23) "exponential alignment" +------------------------------------------ + +Another cleanup and bugfix release. + +- New server command: tasks. +- Minor cleanups to daemon.c. +- New URLs for home page and git services. +- Improved error diagnostics for the mvblob commands. +- New sender subcommand: status. +- Improved help text for server and afs commands. +- audiod memory leak fixes. +- Miscellaneous improvements to the build system. +- oss_writer improvements. +- Improved handling of mp3 files with both id3v1 and id3v2 tags. + +Downloads: +[tarball](./releases/paraslash-0.5.4.tar.bz2), +[signature](./releases/paraslash-0.5.4.tar.bz2.asc) + +--------------------------------------------- +0.5.3 (2014-08-01) "symbolic synchronization" +--------------------------------------------- + +Not many new features, but lots of fixes and usability improvements. + +- para_gui has been converted to use the paraslash scheduler. +- Various alsa-related fixes, mostly for the raspberry pi. +- Many scheduler improvements and cleanups. +- The test suite has been extended to include sanity checks + for the generated man pages. +- ao_writer fixes. This writer was in a quite bad shape. Many + serious bugs have been fixed. +- new audiod command: version. +- Minor improvements to the bitstream API. +- The cpsi command now prints a meaningful error message if + none of the given patterns matched any audio file. + +Downloads: +[tarball](./releases/paraslash-0.5.3.tar.bz2), +[signature](./releases/paraslash-0.5.3.tar.bz2.asc) + +---------------------------------------- +0.5.2 (2014-04-11) "orthogonal interior" +---------------------------------------- + +The new sync filter, the AES_CTR128 stream cipher and the overhauled +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. +- Connections between para_server and para_client are now + encrypted by means of AES rather than RC4 if both sides + support it. RC4 is still available as a fallback. This + feature is fully transparent, i.e. no command line options + 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-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. +- ogg/vorbis latency improvements. +- Improved user manual. +- Minor fixes to avoid clang warnings. + +Downloads: +[tarball](./releases/paraslash-0.5.2.tar.bz2), +[signature](./releases/paraslash-0.5.2.tar.bz2.asc) + +------------------------------------------ +0.5.1 (2013-12-20) "temporary implication" +------------------------------------------ + +Lots of fixes and improvements all over the place, and a major overhaul +of the build system. + +- Audiod improvements and fixes. +- Buffer tree robustness improvements. +- Cleanup of the mood subsystem. +- Fixes and cleanups for the flac decoder. +- Latency improvements for the ogg/opus decoder. +- Crypto support is now optional. On systems without + openssl/gcrypt, the build succeeds but para_server, + para_audiod, para_client won't be built. +- The build system now works for cross-compile setups. +- The dependency tree has been flattened, which speeds up + builds and avoids to recreate the man pages on every change. +- The error code helper has been rewritten from perl to C, + which further improves build time. +- Many small bugs in the build system have been identified + and fixed. + +Downloads: +[tarball](./releases/paraslash-0.5.1.tar.bz2), +[signature](./releases/paraslash-0.5.1.tar.bz2.asc) + +---------------------------------------- +0.5.0 (2013-08-23) "invertible validity" +---------------------------------------- + +Some API-breaking changes, one serious bug fix, and a lot of bike-shedding. + +- The sideband compatibility code has been removed, hence + sideband connections (introduced in 0.4.11) are now mandatory. +- Addblob commands can produce output. +- The stat command no longer sends garbage when para_server was + compiled against libgcrypt. +- Dependencies for gengetopt files are computed automatically. + This eliminates a constant source of build bugs. +- The setatt command now accepts file name patterns rather than only + path names. +- overview.pdf is now based on dia, a simple diagram creation program. + The new version is much more detailed and contains descriptions of + the various programs of the paraslash package. +- The separator of all multi-word options has been changed from + underscore to dash. For example --log_color becomes --log-color. +- Overhauled web pages and the new logo. + +Downloads: +[tarball](./releases/paraslash-0.5.0.tar.bz2), +[signature](./releases/paraslash-0.5.0.tar.bz2.asc) + +-------------------------------------- +0.4.13 (2013-07-29) "spectral gravity" +-------------------------------------- + +One more 0.4.x release before the API-breaking changes for 0.5.0 go +in. The main features of this release are the ogg/opus audio format, +and UTF-8 support, but it includes also tons of other improvements +and fixes all over the place. + +- New audio format: ogg/opus. +- UTF8 support for para_gui and the mp3 audio format handler. +- Scheduler improvements and fixes. +- The obsolete gettimeofday() function has been replaced + by clock_gettime() on systems which support it. +- Speed and usability improvements for para_gui. +- para_client now restores the fd flags of stdin and stdout + on shutdown. +- Improved manual pages. +- Consistent version strings for all executables. +- Reduced dependencies on generated files result in fewer + recompilations on changes. +- Performance improvements for the compress filter. +- Improved downloads web page. + +----------------------------------------- +0.4.12 (2012-12-20) "volatile relativity" +----------------------------------------- +The new command line player, the resample filter, ALSA support for +para_fade, and the improved build system are the highlights of this +release which probably marks the end of the 0.4.x series. + +- The afh receiver and the para_play executable. +- The resample filter: A sample rate converter based on + libsamplerate. +- The "versions" directory has been removed from the master + branch. The tarballs of the old releases are now available + in the new "releases" branch. +- Overhaul of the build system: All generated files are now + written to the "build" directory. +- The modular mixer API and the alsa mixer. +- Minor fixes for the osx writer. + +-------------------------------------- +0.4.11 (2012-07-20) "mutual diversity" +-------------------------------------- + +The major feature in this release is the new sideband API for +client-server communication. This API will be used exclusively starting +with 0.5.0, which breaks backward compatibility but allows to get rid +of quite some compatibility code. Other noteworthy changes include +decoder latency improvements and a long-standing bug fix for the +ALSA writer. + +- Sideband connections: If both para_server and para_client + support this feature, data is sent as a multiplexed stream. +- The --no_default_filters option of para_filter has been + removed. +- Several fixes and latency improvements to various decoders. +- The ALSA writer now limits the prebuffer time to 500ms. +- Documentation improvements. +- Overhaul of the command_util.sh script. +- Fixes for some minor problems found by the clang analyzer. +- Compiles (almost) without warnings on gcc-3. +- Robustness improvements of the buffer tree code. + +------------------------------------------ +0.4.10 (2012-03-30) "heterogeneous vacuum" +------------------------------------------ + +Nothing earth-shaking in this release, but quite a few usability +improvements and the usual mix of cleanups and fixes. + +- The --no_default_filters option of para_filter has been + deprecated. It still works but has no effect and will be + removed in the next version. +- para_gui now prints also the stderr output of the executing + command in the bottom window. +- Cleanup and consolidation of the various wrappers for + write(), writev(), send() and friends. +- The obscure error messages on mmap() failures have been + replaced by meaningful messages. This affects mainly + para_afh. +- para_audioc: Cleanups and memory leak fixes. +- Test 0004-server no longer fails if para_server is not + being built. +- New configure options: --with-id3tag-{headers,libs}. + +------------------------------------- +0.4.9 (2011-12-06) "hybrid causality" +------------------------------------- + +Support for another audio format, interactive mode for para_client +and para_audiod and many small improvements/fixes all over the place. + +- Support for flac, the free lossless audio codec. +- Fix for an endless loop in the mp3 decoder for certain + (corrupt) mp3 files. +- When executed without specifying a command, para_client + and para_audioc start an interactive shell (requires + libreadline being installed). The interactive mode offers + full tab completion and command line history. +- autogen.sh now detects a distcc setup and adjusts the + parameter for the -j option of make accordingly. +- Shared memory areas are no longer restricted to 64K. We now + detect the maximal size of a shared memory area at runtime. +- cleanup of the internal uptime API. +- para_server prefaults the mmapped audio file to avoid + delays on slow media. +- A new test for the test-suite that exercises the + communication between para_server and para_audiod. +- The alsa writer eats up less CPU cycles when configured to + use the DMIX plugin. +- Simplified and unified receiver code. +- Makefile cleanups. +- Commands which print a list of matching audio files now + emit a meaningful error message if no audio file matched the + given pattern(s). + +-------------------------------------- +0.4.8 (2011-08-19) "nested assignment" +-------------------------------------- + +Gcrypt support, the overhauled osx writer and regex format specifiers +are the highlights of this release. + +- support for libgcrypt as a drop-in replacement for openssl. + Run configure --enable-cryptolib=gcrypt to link against + libgcrypt. The two crypto implementations are compatible to + each other, i.e. a para_client executable linked against + gcrypt can connect to para_server linked against libssl + and vice versa. +- Rewrite of the osx writer (output plugin for Mac OS). +- audiod: The format specifier for receivers, filters and + writers is now treated as a regular expression. This allows + to replace 5 lines in the config file (one for each audio + format) by one single line. See the manual for details. +- The \*.cmdline.[ch] files are no longer contained in the released + tarballs. This reduces the size of the tarballs but requires + gengetopt to build the tarball. +- Compiles cleanly also with llvm/clang. +- Corrupt mp3 files are handled more gracefully. +- The alsa writer uses poll fds instead of computing timeouts. +- Cleanup of the generic writer API. +- sched: Optimized zero timeouts. +- vss timeout cleanups. +- oggdec fixes and improvements. + +-------------------------------------- +0.4.7 (2011-06-01) "infinite rollback" +-------------------------------------- + +The new ao writer, support for ssh RSA keys and a couple of other +enhancements. + +- Support for ESD, Pulseaudio, AIX, Solaris, IRIX and other + platforms through the libao audio library. +- Support for RSA keys generated with ssh-keygen. +- configure: improved options for ogg/vorbis/speex. +- The git version reported by --version always matches HEAD. +- The autogen script detects the number of processors and + runs a parallel make if possible. +- Major cleanup of the crypto API. +- Documentation updates. + +------------------------------------------ +0.4.6 (2011-03-31) "deterministic entropy" +------------------------------------------ + +Lots of ogg/vorbis improvements, the new test suite, enhancements +for para_gui and a fair amount of other bug fixes. + +- For DCCP/OGG streams the audio file header is only sent once + at the beginning of the stream rather than periodically + every five seconds. This reduces network traffic and the + FEC group size. +- The vorbis comment header is replaced by an empty dummy header + before the header is sent over the network. This also results in + less network traffic and smaller FEC groups. +- The new "test" make target allows to perform some sanity checks prior + to installing the package. +- ogg timing fixes and performance improvements +- Scheduler improvements +- Proper exit codes for para_write +- para_gui: New option --theme to select a startup theme. Several + other improvements and fixes. +- aacdec error message cleanups +- simplified color error handling + +-------------------------------------------- +0.4.5 (2010-12-17) "symmetric randomization" +-------------------------------------------- + +Bug fixes, internal cleanups and variable-sized FEC slices. + +- Contains a fix for an invalid-free-bug in the ogg audio format + handler code. +- Switching off the DCCP sender works again. +- para_audiod handles crashes of para_server more robustly. +- Internal scheduler and writer cleanups. +- Reduced latency due to variable-sized FEC slices. +- Improved documentation and error diagnostics. +- The build of para_server is now optional, allowing the build + to succeed in case libosl is not installed. + +------------------------------------------ +0.4.4 (2010-08-06) "persistent regularity" +------------------------------------------ + +Support for yet another audio format, para_write improvements and +bug fixes. + +- Support for the speex codec. +- Support for sample formats other than 16 bit little endian. +- error2.h is now created by a perl script which speeds up configure + considerably. +- Fix a bug in the aac decoder which could lead to segfaults in + para_filter/para_audiod. +- Fixes for autoconf-2.66. + +---------------------------------------- +0.4.3 (2010-07-05) "imaginary radiation" +---------------------------------------- + +Many improvements for the DCCP and the UDP transport, the new user +manual and the usual mix of bug fixes and internal improvements. + +- FEC support for the DCCP sender (Gerrit Renker). The new + --dccp_max_slice_size, --dccp_data_slices_per_group and + --dccp_slices_per_group options can be used to set the FEC + parameters for the DCCP transport. +- DNS lookups for UDP targets (Gerrit Renker). +- The new user manual replaces the README, README.afs, REQUIREMENTS + and INSTALL documents. +- Fix an end-of-file detection bug in the oggdec filter. +- The new nonblock API. +- Both options of the oggdec filter have been removed. +- New debug mode for the internal scheduler. + +------------------------------------------ +0.4.2 (2010-04-23) "associative expansion" +------------------------------------------ + +It's been some time since the last release, but finally here is +paraslash-0.4.2. The bulk of the changes comes from the new buffer +tree API, but there are changes all over the tree. Mainly performance +and usability improvements, but also quite some bug fixes. + +- The new buffer tree API. +- DCCP: Support for CCID negotiation (Gerrit Renker). +- UDP robustness fixes. +- The --bufsize option for mp3dec is gone as it no longer makes sense + for the new buffer tree API. +- Fix audible buffer underruns for wma streams. +- The alsa writer no longer prints meaningless underrun durations. +- audiod: Defaults work also for udp streams. If no filter is + given for an audio format that is received via upd, fecdec is + automatically added as the first filter (along with the decoder). + +--------------------------------------- +0.4.1 (2009-12-22) "concurrent horizon" +--------------------------------------- + +Support for another audio format, minor feature enhancements and lots of bug +fixes. All fixes that have been accumulated in the maint branch (in particular +those mentionened in the 0.3.6 release notes) appear in this release as well. + +- wma support. +- new afh option: --human to activate human-readable output. +- new server/audiod option: --log-timing to print timing information. +- build system improvements. +- source code documentation updates. + +------------------------------------- +0.3.6 (2009-12-07) "cubic continuity" +------------------------------------- + +Quite a few bugs have been found and fixed since 0.3.5, so here's +another 0.3.x release. No new features. + +- Always check return value of malloc(). +- ogg vorbis/FEC: Do not write garbage after the audio file header. +- exit if root privileges could not be dropped. +- FEC: Fix computation of extra slices. +- oss: Fix check for empty input buffer. +- Avoid buffer underruns due to filter chain output buffer constraints. +- server: Fix assignment of afs_pid. +- Don't panic if the afs database contains unknown audio formats. +- http/dccp: Do not send the audio file header twice. +- FEC: Timing improvements. + +---------------------------------------------- +0.4.0 (2009-11-10) "simultaneous independence" +---------------------------------------------- + +Two significant changes which require the new version number: The +improved authentication dialog and the fact that the database code +has been moved to a library, libosl. To use the new version, you have +to generate new RSA keys, see INSTALL for details. A shell script is +provided for conversion of the 0.3 database to the new 0.4 format. + +- stronger crypto for client authentication +- the database code has been moved to a library +- improved status item handling +- cleanup of the build system +- The "-V" option now also prints the git version +- the new parser-friendly listing mode for the ls and stat commands +- mandatory rc4 encryption +- major audio format handler cleanups +- (id3,...) tags are no longer stored as a combined string in the database +- new mood methods: artist_matches, title_matches, comment_matches, + album_matches, year_maches, year. + +-------------------------------------------- +0.3.5 (2009-09-21) "symplectic separability" +-------------------------------------------- + +Full client support for \*BSD Unixes, complete re-write of the ogg +vorbis audio format handler, various improvements all over the place +and the usual mix of bugfixes. This release marks the end of the 0.3 +series if no serious problems show up. + +- the new oss writer (supported on \*BSD and Linux) +- rewrite of the ogg vorbis audio format handler. It's + recommended to replace the chunk tables of existing ogg + vorbis files in the afs database by re-adding these files + with "add -f". +- support for netmask subsets (Gerrit Renker) +- the new prebuffer filter +- improved signal handling +- variable fec output buffer size +- improved FEC timing fixes audible buffer underruns in UDP mode +- --log_color actually works +- new ls option: -d (print dates as seconds after the epoch) +- update to gengetopt 2.22.2 +- support for RSA keys of size > 512 bits +- new option "mixer_channel" for para_fade + +----------------------------------------- +0.3.4 (2009-05-07) "elliptic inheritance" +----------------------------------------- + +The new udp sender, forward error correction, colored logs and various +other improvements. As the udp sender does not depend on any special +libraries, it is built unconditionally. + +- The udp sender replaces the ortp sender. The new code uses forward + error correction to protect against packet losses. Many thanks to + Gerrit Renker for providing ipv6 support. +- The default port for udp streaming now defaults to 8000, like + for the http and the dccp senders/receivers. +- Loglevels are now specified as symbolic names, e.g. + "--loglevel info". +- improved ipv4 and ipv6 URI parser (Gerrit Renker). +- para_server/para_audiod: Color support for log messages. +- new options for mp3dec: --ignore-crc, --bufsize +- new audiod option: --config-file. +- gengetopt cleanups. +- Improved help/man pages: The documentation of para_audiod, + para_recv, para_filter and para_write now also contains + all options of the available receivers/filters/writers. The + man page of para_fade contains a description of the different + modes of operation. +- More source code documentation. +- vss timing fixes. + +-------------------------------------------- +0.3.3 (2008-12-01) "axiomatic perspectivity" +-------------------------------------------- + +Internal code cleanups, bug fixes, improved tag handling and the new +amplification filter. + +- para_server uses the generic scheduling code. +- overhaul of the virtual streaming system. +- mp3: id3 version 2 support via libid3tag (optional) +- ogg: vorbis comment support. +- aac meta info support. +- mp3 audio format handler cleanups. +- new filter: "amp" to amplify the amplitude of the audio stream +- new status item/database entry: amplification. It is + used by the amp filter to pre-amplify the audio stream. +- fix a close-without-open bug in para_write. +- fix a bug in com_init() which was introduced in 0.3.2. +- better error diagnostics for para_client. + +----------------------------------------- +0.3.2 (2008-04-11) "probabilistic parity" +----------------------------------------- + +The new para_afh executable, scheduling and documentation improvements. + +- new ls option: -lc (list chunk table) +- new executable: para_afh, the stand-alone audio file handler tool +- afs commands can send output more than SHMMAX (32MB on Linux). This + also reduces the memory usage of commands that produce large amounts + of output. +- major scheduler and audiod cleanups. +- more detailed and much nicer man pages. + +--------------------------------------- +0.3.1 (2008-02-23) "liquid interaction" +--------------------------------------- + +A mix of cleanups, bug fixes, improvements, and some new features. No +significant changes to the new database (osl) code, which is generally +a good sign. + +- Share some similar/duplicate code between the http and the + dccp sender. +- Generic access control lists for paraslash senders. +- dccp sender: Access control lists, connection limiting and support + for the allow,deny,on,off,help sender commands. +- The default dccp port changed from 5001 to 8000 (suggested by + Gerrit Renker). +- para_server starts even if not all public keys could be loaded. +- Audiod performance improvements. +- fix a bug in the "off" command of the http sender. +- fix some fd and memory leaks. +- Update to gengetopt-2.22. + +------------------------------------- +0.3.0 (2008-01-12) "solar saturation" +------------------------------------- + +paraslash.0.3.0 -- 'WWDBND --what would databases never do?'. + + +Usually one might expect lots of new features AND a big increase in size +for a major release like this. + +However, paraslash-0.3.0.tar.bz2 is the smallest paraslash tarball +ever. The decrease in size is mostly due to the removal of some +graphical tools (which were only quick hacks anyway). But also the +fact that the mysql code is gone cuts down the size a bit. + +Being independent of mysql comes at a cost: The fact that paraslash +now contains its own database (the object storage layer, osl) increases +the (stripped) binary size of para_server by ~50K on i386. + +- no more restrictions on unique basenames. +- independent of mysql: The new self-contained object + storage layer (osl) replaces the mysql database. +- New executable para_fsck: Check integrity of osl tables. +- Lyrics support. +- Reliable audio file move/rename detection. +- More portable than ever: Tested on Linux (x86_32, x86_64, sparc64), + MacOS (ppc32, x86_32), FreeBSD (x86_32), NetBSD (x86_32) and + Solaris (sparc64). +- the new osl-based audio file selector (afs) replaces the random, + the playlist and the mysql selector of paraslash-0.2.x. +- IPv6 support (thanks to Gerrit Renker). +- paraslash-0.2.x streams are now called "moods". Writing + 0.3.x-mood definitions should be both easier and more + powerful than writing 0.2.x-stream definitions. +- para_krell, para_slider, para_para_sdl_gui, para_dbadm have + been removed. The world is a better place without them. However, + para_gui is still there. +- afs tracks audio file selection also in playlist mode. +- few easy-to-use afs commands replace the many not-so-easy-to-use + mysql commands (and are available also in playlist mode). +- Improved error subsystem. +- The earth-shaking new logo. + +----------------------------------------- +0.2.17 (2007-11-20) "isotropic threshold" +----------------------------------------- + +Mainly bugfixes and cleanups in this version which marks the end of +the 0.2.x series if no serious bugs show up after the release. + +- mysql_selector: fix a locking bug. +- universal chunk queueing. +- dccp sender uses chunk queueing if write() returns EAGAIN (thanks + to Gerrit Renker). +- be more carful wrt. signed vs. unsigned argument passing. +- cleanup error.h and fix some references to invalid error + codes. +- update to gengetopt-2.21. +- update to ortp-0.13.1. +- autoconf: extend checks for headers, library functions and + compiler characteristics. +- Fix streaming of large mp3 files. +- Fix an off-by-one bug in playlist handling. + +-------------------------------------- +0.2.16 (2007-04-05) "neural discharge" +-------------------------------------- + +The main change in this release is the major audio format handler +cleanup which removes some similar/duplicate code and makes it easier +to implement plugins for other audio formats. Of course, the usual mix +of other improvements/changes/bugfixes also made it into the release. + +- simplified audio format handlers (most of the handling functions + were moved one layer up to the virtual streaming system). +- para_server uses mmap to read audio files +- repositioning of mp3 streams is much faster, in particular for + jumping near the end of large mp3 files. +- permission flags DB_READ,DB_WRITE have been renamed to AFS_READ + and AFS_WRITE. +- fix a bug in para_filter that caused decoding of aac files + to start only after a few seconds. +- fix osx_writer hangs +- simplified dccp code (thanks to Gerrit Renker) +- the compress filter works also on big endian systems (ppc) + +----------------------------------------- +0.2.15 (2007-02-16) "inductive resonance" +----------------------------------------- + +Minor improvements, more documentation and a bunch of bug fixes. + +- para_server: The server.users file is only read once on server + startup rather than for each connection +- mp3dec: Fix decoding of corrupt mp3 files +- afs (audio file sender) is now called vss (virtual streaming + system). Consequently, the permission flags specified in + ~/.paraslash/server.users have also changed: AFS_READ and AFS_WRITE + become VSS_READ and VSS_WRITE respectively. +- para_audiod/para_filter: Fix a bug that caused the last chunk + of audio data not being written under certain circumstances +- audiod: compute the difference of server time and local time + correctly +- para_server/para_audiod: Fix some memory leaks +- documentation improvements +- configure.ac: fix checks for para_krell +- new man pages + +------------------------------------------- +0.2.14 (2006-10-15) "transient singularity" +------------------------------------------- + +The only major enhancement of this version is the osx writer which completes +the Mac OS Port and was originally planned already for 0.2.13 but had to wait +until now for reasons beyond the scope of this changelog entry. + +- new output plugin for Mac Os: the osx writer +- rename configure command line options from --enable-xxx-headers to + --with-xxx-headers and --enable-xxx-libs to --with-xxx-libs +- configure: new command line options: --with-mad-headers, + --with-mad-libs, --with-oggvorbis-headers, and --with-oggvorbis-libs +- some robustness fixes +- dymamic audio format recognition for audiod +- para_server: new command line option: --autoplay_delay +- para_audiod: new command line option: --clock_diff_count + +--------------------------------------- +0.2.13 (2006-07-14) "sonic convolution" +--------------------------------------- + +A bunch of new features and core changes. + +- the new paraslash scheduler, short and sweet. +- Support for m4a/mp4 files via the new aac audio format + handler/filter (requires libfaad). +- each writer has its own command line parser, just like + para_recv and para_filter. +- para_client and para_audioc use the error subsystem +- writers are integrated in para_audiod (currently linux-only) +- para_client is integrated in para_audiod +- random/playlist selector: improved info strings +- new audiod commands: tasks, kill +- update to libortp-0.10.1 +- para_fade: wake time defaults to 8 hours from now +- update to autoconf-2.60 + +------------------------------------------ +0.2.12 (2006-05-12) "oriented abstraction" +------------------------------------------ + +Many user-visible changes in this release and lots of new +features: + +- the new optional dccp sender/receiver. It uses the datagram + congestion control protocol. You'll need a fairly new kernel + for this. +- paraslash works on Mac OS X (thanks to Gerd Becker) +- para_play renamed to para_write +- modular output plugin design (writers) for para_write +- new file_writer output plugin for para_write +- compress filter speed improvements +- update to libortp-0.9.1 +- update to gengetopt-2.17rc +- para_client no longer depends on libreadline (as the + code for the interactive mode was removed). +- gcc-2-95 is no longer a supported compiler. It may still + work, but it gets no more testing. +- the tarball no longer contains the screenshot images which + reduces its size quite a bit. +- configure: new command line options: --enable-mysql-headers + and --enable-mysql-libs + +------------------------------------ +0.2.11 (2006-03-11) "atomic duality" +------------------------------------ + +Here it is, the first paraslash release developed with git. There +are fairly many user-visible changes in this release. As two out of +the three "database tools" of paraslash don't use a database at all, +they are now called "audio file selectors" instead. + +- the cdt command (change database tool) becomes chs (change + selector) +- no more colon separators: The syntax of some options of + para_audiod and para_filter have changed. Use --help for + more info (and some examples). +- update to gengetopt-2.16 (thanks to Lorenzo Bettini) +- switch from cvs to git (should've done that earlier) +- the new ipc subsystem +- new audio file selector: playlist +- para_server: the dopey selector is now called "random", + and is the default selector. Use the --selector option to + choose another selector at startup, or the chs command to + change the selector at runtime. +- X86_64 fixes (thanks to Steffen Klassert) +- para_play fixes + +-------------------------------------- +0.2.10 (2006-02-17) "cyclic attractor" +-------------------------------------- + +Huge documentation update, a scrollable window for para_gui, ortp +improvements, and of course many small fixes not mentioned here. +The diffstat below is rather misleading as most insertions are due +to the new source documentation. + +- autoconf cleanup +- para_server also uses the new error subsystem +- lots of new documentation (UTSL) +- gui improvements: + - keysyms for cursor keys and for next/previous page keys + - scrollable output window + - new internal commands: scroll up/down, page up/down + - fix color of command output. +- ortp: the --chunk_time and --header flags are no longer needed +for para_recv/para_audiod as this information is now encoded in +each rtp packet sent by para_server. + +------------------------------------------- +0.2.9 (2006-01-24) "progressive turbulence" +------------------------------------------- + +Internal audiod receivers/filters, the new error subsystem and +a lot of small improvements. + +- para_recv and para_filter are integrated into the para_audiod + binary, i.e. audiod no longer spawns a new process for + each receiver/filter. As para_recv and para_filter might be + useful as standalone programs, they still get built (linked + against the same object files that are also used for audiod). +- further ortp timing improvements should reduce the CPU usage + of the ortp receiver. +- improved audio grabbing. The 'grab' command of para_audiod + has its own set of command line options. Read the output of + "para_audioc help grab" for more info. +- oggdec: configurable input prebuffer size. +- the new error subsystem gives better error diagnostics + and reduces code size. + +----------------------------------------- +0.2.8 (2006-01-02) "dynamic accumulation" +----------------------------------------- + +The new modular filter design and the para_play-hangs bugfix. + +- new executable: para_filter. It combines para_mp3dec, + para_oggdec and para_compress. It also adds a further filter + type, wav, that just inserts a wave header at the desired point + of the filter chain. All 'piping' is done in-memory (i.e. no + read/write operations are used). +- para_play: fix a stupid bug that caused it to hang under + certain circumstances. + +------------------------------------------- +0.2.7 (2006-12-27) "transparent invariance" +------------------------------------------- + +Not many user-visible changes but a fair amount of internal improvements. + +- The http sender buffers data if it can not be sent + out immediately (because the socket is not writable). This + should prevent para_server from shutting down the connection + too early on a loaded network. +- para_play also prebuffers data if it is told to start at a + future time by the --start_time option. +- The return of para_recv: It combines para_ortp_recv and + para_http_recv. Use the --receiver option to switch between + the two. para_recv builds without libortp, but contains + only the http receiver in this case. +- update to ortp 0.8.1. As this ortp release contains incompatible + changes, para_recv-0.2.7 won't link against older ortp libs. +- improved ortp timings. +- use of gcc-extensions that #define away for non-gcc and + gcc < 3.0. + +------------------------------------------- +0.2.6 (2005-10-29) "recursive compensation" +------------------------------------------- + +Transparent session encryption (uses openssl's Alleged RC4 cipher), +the internal find command and several other improvements and cleanups. + +- Encrypt the session if encryption is requested by the client + (default for para_client 0.2.6). This is backwards + compatible, so older clients can still connect to para_server + 0.2.6. Use the new client option --plain to request an + uncrypted session (off by default, must be set to on in + order to connect to para_server 0.2.x with 0 <= x <= 5). +- para_server uses an internal function to locate audio files + rather than calling find(1). The server option + --mysql_audio_file_dir replaces --mysql_find_cmd. +- documentation update +- man pages +- header file cleanup +- para_client code cleanup +- para_gui: faster display of output of display commands + +------------------------------------------ +0.2.5 (2005-10-13) "aggressive resolution" +------------------------------------------ + +This release adds internal senders, i.e. no more external programs are +spawned for sending out the audio data. There are two different senders +available: The http sender and the ortp sender (former para_send which +is no longer needed). + +The new sender code has a plugin-like design so it can be easily +extended should there be be any future need for supporting another +network streaming protocol. All senders are completely independent of +each other. In particular, the http and the ortp sender can operate +in parallel. + +- new server command: sender to control senders at runtime. + Read the output of "para_server -h" and "para_client help + sender" for more information. +- para_recv renamed to para_ortp_recv +- new executable: para_http_recv, a simple command line + http receiver. +- major afs/mp3/ogg code simplifications due to internal + senders. +- ogg timing improvements +- fix several minor memory leaks (found by valgrind) +- empty stream definitions work again +- com_ne(): ignore errors on remove +- audiod: fix segfault on server restart + +--------------------------------------- +0.2.4 (2005-09-21) "toxic anticipation" +--------------------------------------- + +Several small improvements, fixes and the new grab command. + +- audiod: + - new command: "grab" to grab the output of the stream reader + or any filters. Read the output of "para_audioc help grab" + for more information. + - fix memory leak + - code cleanup +- audioc: new command line option: --bufsize to specify a + buffer size different from the default size 8192. +- improved error diagnostics for para_play. +- new configure option: --enable-ssldir so search for openssl in + non-standard places +- sdl_gui: Make it look nice again for 1024x768 +- server: report total size of memory allocated with sbrk by malloc, + new command line option: --announce_time + +----------------------------------------- +0.2.3 (2005-09-01) "hydrophilic movement" +----------------------------------------- + +Two new executables and major feature enhancements. + +- audiod filters: It is now possible to specify arbitrary many + (including none) filters for each supported audio + format. This can be used e.g. for normalizing volume, + transforming or grabbing the audio stream, or for using + visualizers. Read the output of "para_audiod -h" for the + syntax of the new --filter_cmd option. +- new executable: para_play, a tiny alsa player. It + can play wave files or raw pcm (16 bit little endian) + from stdin. +- new executable: para_compress, a dynamic range compressor + intended to keep audio output at a consistent volume. Derived + from [AudioCompress](http://trikuare.cx/code/AudioCompress.html). +- audiod: New option: --stream_delay. This can be used in + a local network to syncronize the audio output of all + clients that play the same stream. + +------------------------------------------ +0.2.2 (2005-08-19) "tangential excitation" +------------------------------------------ + +Mostly internal changes in this release, but also some new commands +for the mysql database tool. + +- cleanup exec.c, fix para_exec bug +- compile time loglevel (log messages below the given level + won't be compiled in, which reduces the size of the + resulting binaries) +- new log macros that shorten the size of the source code. +- workaround a gcc-4.1 bug (?) that caused send_cred_buffer() + to send only zeros. With this workaround, para_audioc works + again. +- avoid gcc-4 warning: conflicting types for built-in function 'clog' +- new mysql commands: "rm" (remove entry), "mv" (rename entry) "ne" + (new entry), "snp" (set numplayed). Read the manual for more + information. + +--------------------------------------- +0.2.1 (2005-08-15) "surreal experience" +--------------------------------------- + +Here comes paraslash-0.2.1. It contains a couple of new features and, +surprise, only minor bug fixes. + +- kill noisy mp3 debug message +- cleanup of the build system +- para_server and para_client directly use the crypto routines + of the openssl library rather than invoking the openssl command + line utitlity +- server/audiod: new option --user to switch to the given user + when invoked as root. Read the output of "para_server -h" for + more information. +- gui/sdl_gui: new option --stat_cmd to be used to retrieve the + status. Default: "para_audioc stat" +- sdl_gui: new option --pic_cmd to be used to download the picture. + Default: "para_client pic" +- audiod: 5 slots ought to be enough for everybody +- audiod: new status item: Uptime, kill hup command + +------------------------------------------ +0.2.0 (2005-08-06) "distributed diffusion" +------------------------------------------ + +After several month of increased development activity, paraslash-0.2.0 +has arrived. It contains many new features and is much more +self-contained than the old 0.1.x series. Enjoy! + +- para_server: fix hang on song change and crash on sighup. + Speed up mysql queries. The DIR_LIKE macro is gone. +- new executables: para_audiod, the local audio daemon that + starts playback (uses SCM_CREDENTIALS socket magic) and + para_audioc, the corresponding client. +- new executables: para_mp3dec/para_oggdec, two really teensy + decoders. para_mp3dec is based on libmad, para_oggdec requires + libvorbisfile. +- ovsend/ovrecv are capable of streaming ogg as well as mp3, so + they are now called para_send and para_recv respectively. +- documentation updates +- para_gui is themable. For now there is the default theme that + looks as before and the simple theme: blue and easy. +- gui: audio streaming is now handled by audiod. Time display shows + playback time rather than streaming time +- slider: update to libzmw-0.2.0 +- para_krell: fix crash on server shutdown +- switch from gzip to bzip2 + +---------------------------------------- +0.1.7 (2005-04-18) "melting penetration" +---------------------------------------- + +The main change in this release is clearly the oggvorbis rewrite, +but there are also lots of smaller changes. If you intend to use both +the mp3 and the ogg plugin, it is recommended to use software mixing, +e.g. the dmix plugin which is provided by ALSA. + +- new executables: para_ovsend and para_ovrecv for sending/receiving + oggvorbis files via rtp. Requires the open rtp library. Get it at + http://www.linphone.org/ortp/ +- rewrite of the ogg_vorbis core code +- configure detects libzmw and, if detected, includes + para_slider to the list of binaries to be built by make +- server stream writers read from their associated fifo rather + than from stdin +- slider: two new sliders, lastplayed and numplayed +- fix nasty double free bug which caused random segfaults in case of + mp3 files with invalid header information +- gui: new command line option: --stream_timeout=seconds to + deactivate a slot if it is idle for that many seconds (default=`5') +- diffstats + +--------------------------------------- +0.1.6 (2005-03-05) "asymptotic balance" +--------------------------------------- + +Only little user-visible changes in this release. Mainly bugfixes and +core code cleanup. This is probably the most stable version ever if you +stick to mp3... + +- fix several memory leaks +- rename default name of mysql database from "music" to "paraslash". + Use para_server's --mysql_database option if you do not want to + rename your old database. +- rework ogg vorbis code +- make update command work on mysql servers with LOCAL_INFILE + disabled +- gui: improved stream I/O (slots) +- simplified audio format API +- para_pob_ogg is gone + +------------------------------------ +0.1.5 (2004-12-31) "opaque eternity" +------------------------------------ + +Let's slide gently into the new year. + +- new: para_slider (not built automatically, type "make + para_slider" to build). A toy for those who always felt that + creating stream definitions is difficult. See screenshots, + README and FEATURES for more info. +- improved signal handling. Fixes server segfault on SIGHUP + for linux kernels newer than Aug 24 2004 and makes para_gui + race-free. +- reload database tool on SIGHUP +- improved help message for sl +- do not log "broken pipe" messages as errors. They are + perfectly ok. +- fix wrong error message on permission errors + +----------------------------------------- +0.1.4 (2004-12-19) "tunneling transition" +----------------------------------------- + +Bugfix release. As expected, 0.1.3 introduced a bunch of new bugs. +Hopefully, most of them got wiped out with this release. Some +enhancements went also in. + +- improved error diagnostics for all commands +- stradd/picadd: overwrite previous contents if entry already + exists, rather than returning errors +- stradd: use current stream if invoked without args +- faster (and hopefully more stable) ogg-vorbis handling +- para_krell: reap children to avoid zombie-flooding in case + no server is running +- si: report also server pid +- server: don't busy-loop if dbtool reports only invalid files. +- gui: CTRL+C works again, fix stream_read command line option +- fix pic_add, hist +- fix mysql dbtool startup in case no database exists +- many small fixes and cleanups + +--------------------------------------- +0.1.3: (2004-12-10) "vanishing inertia" +--------------------------------------- + +Starting from this release, the database tools are integrated in the +server binary. This decreases server startup time, reduces code size +and speeds up database commands. However, the layout of the underlying +mysql database changed only slightly and 0.1.3 should be backwards +compatible in that respect. + +Visible changes: + +- If mysql is not detected at compile time, or fails to init + at runtime, fall back to the dopey database tool which should + always work. +- para_dbtool and dbtool.conf are gone. All mysql specific + options are read from server.conf and are prefixed by 'mysql_'. +- new command: cdt (change database tool) +- new command line option: dbtool (choose startup database tool) +- The name of current stream is now stored in the database, + so paraslash remembers its current stream when restarted. +- new command: csp (change stream and play) +- para_gui also reports current database tool and server uptime + +------------------------------------------- +0.1.2: (2004-11-28) "spherical fluctuation" +------------------------------------------- + +Point release before the big dbtool changes go in. + +- dbtool: rename ca to cam (copy all meta data). It now also + copies numplayed and lastplayed time as well as the picture + id. +- fix endless-loop-bug caused by mp3 files with invalid header + +----------------------------------------- +0.1.1: (2004-11-05) "floating atmosphere" +----------------------------------------- + +- gkrellm plugin +- new dbtool command: mbox. Browse your sound-file collection + with your favorite mail reader. +- several small fixes + +------------------------------------- +0.1.0: (2004-10-22) "rotating cortex" +------------------------------------- + +- fix logging bug for loglevel > VERBOSE +- fix skip command +- correct timings for vbr mp3s +- modular audio format support +- ogg-vorbis support (experimental) +- new server option: autoplay + +----------------------------------------- +0.0.99: (2004-07-25) "harmonic deviation" +----------------------------------------- + +- rename projectname from icc to paraslash (play, archive, rate + and stream large audio sets happily) +- paraslash is no longer restricted to one particular audio + streaming software +- new dbtool commands (stradd, strq, strdel) for easy stream + managment w/o configuration file. That obsoletes stream_defs + file/config option for dbtool. +- picadd accepts jpeg data from stdin +- new server commands: ps (select previous stream), sc (song change) +- new default pictures for sdl_gui +- gui: new key_map option for binding commands and internal + functions to arbitrary keys, nice help screen, rip out + soundcard/linux specific stuff, avoid noise artefacts while jumping, + show silly logo on startup +- new executables: para_fade for fading volume, para_dbadm for + manipulating attributes +- cdb adds _all_ tables to mysql database +- revised and beautified documentation +- sample dbtool rewritten in C +- autoconf + +--------------------------------------------- +0.0.98: (2003-12-26) "incremental smoothness" +--------------------------------------------- + +- kick icecast in favour of poc. That removes some races and reduces + core code considerably. +- cbr/vbr is displayed by stat and gui/sdl_gui. New status flags + give finer info on afs' status. +- gui can start decoder (see config options). Further new gui + commands: refresh (^L), jmp (F1-F10) +- gui rereads conf on SIGUSR1 instead of SIGHUP. SIGHUP + terminates gui. This fixes dead instances consuming memory + continuously. +- new dbtool command: verb for sending verbatim sql queries. +- fix pid_list races (by removing pid_list) +- codename funnies + +-------------------- +0.0.97: (2003-10-26) +-------------------- + +- installation prefix now defaults to /usr/local +- new commands for gui: snozze, sleep and reread config +- config file for gui and sdl_gui +- fix problems with filenames containing funny characters + (reported by Thomas Forell) +- improved signal handling for gui, now it rereads conf on SIGHUP +- new dbtool command: cdb (create database) +- switch from argtable to gengetopt +- major code cleanup and speed improvements +- fix several potential buffer overflows +- many small fixes and cleanups + +------------------- +0.0.96 (2003-08-30) +------------------- + +- easy stream_defs syntax +- sdl_gui can display images associated to the file being played +- Major feature enhancements for icc_gui including dynamic text + placement and the top/bottom window design +- vrfy/clean now also checks for NULL values in attributes as + well as for invalid picture pointers +- fix long outstanding case sensitivity bug +- many small fixes and cleanups + +------------------- +0.0.95 (2003-06-29) +------------------- + +- sdl gui runs much faster +- new dbtool command: ca (copy attributes) +- count and display number of times the song has been played +- new feature: scoring +- command line options for sdl_gui +- simpler syntax of streams file +- decrease network traffic of stat +- fix zombie bug +- many small fixes and cleanups + +------------------- +0.0.94 (2003-05-04) +------------------- + +- new server command: ns (next stream) +- new icc_gui command: c (change stream) +- internal mp3info +- stat shows also id3 tag info +- new sdl based gui +- log flodding bug fixed +- many small fixes and cleanups + +------------------- +0.0.93 (2003-03-28) +------------------- + +- colors for icc_gui +- icc_gui sets volume directly (linux only) +- proper locking that fixes some races +- fix security bug that caused commands to be executed even + with unsufficient permissions +- new command: hup to make all servers reread their configuration file +- icecast meta data streaming +- many small fixes and cleanups