sox-12.17.9
-----------
o Updates to compile under VC6. Jimen Ching
o Declare st_signalinfo_t to specifically be signed in case
platform does not default ot signed chars. This
is required for NetBSD/powerpc.
o When seek()ing in AIFF, SMP, and WAV handlers, remaining samples were
incorrectly computed based on bytes and not samples. Jukka
o Changed noisered effect to just warn during clipping instead
of aborting. Ian Turner
o Fixed bug were pieces of audio were lost every buffer read
when running both -c and -r options together on mono audio.
Users probably percieved it as shorter audio files that
played with a sped up tempo.
Bugfix will also apply to other times when multiple effects
are ran on the command line.
o Added support for -V option to play/rec scripts.
o Fix to silence effect to allow negative periods to be specified
(to remove silence from middle of sound file).
o Fix swap option handling so that special case of "swap 1 1" will
work.
o Track length of Ogg Vorbis files on read.
o Add support for displaying a status line that tracks progress
of read/write routines. Part of information requires read
file handlers to be able to determine file length.
o Converted alsa driver to use asoundlib instead of directly
talking to kernel driver. This also means that device names
are now the ALSA logical names instead of /dev type names.
o Added ALSA support to play/rec scripts.
o Added st_open*, st_read, st_write, st_seek, st_close routines
to help simplify developer interface to libst. See libst.3..
o Removed st_initformat(), st_copyformat(), and
st_checkformat() from library. If your app used those
functions then copy them from 12.17.8 source code
directly into your application or update to use new
routines.
o Force word-alignment on AIFF SSND and APPL chunks on input.
Matthew Hodgson.
o Add fix to WAV handler to only return data in multiples
of sample_size*channels to better handle corrupt files.
o Fixed bug where "-4" option didn't work with avg
effect (Tom Christie).
o Fixed fade's fade-out-length to match man page
description as noted by Geoff Kuenning. This required
updates to the sample crossfade scripts. Also modified fade
effect to report when no more samples will be produced to
prevent unneeded reading of whole file.
o Allow aborting SoX with SIGTERM, along with previous SIGINT.
Norman Ramsey.
sox-12.17.8
-----------
o noisered effect had compile problems with some compilers.
o "-x" option was being ignored since 12.17.7.
o Stuart Brady added support for reading and writing RIFX files (big
endian RIFF/WAV files). Also added support for auto detecting
DEC-style ".sd\0" files.
o Gene Mar found typo in polyphase nuttall calculation.
o SMP buffer overflow (detected by gcc 4.0). Reported by Marcus Meissner
and Matthias Saou.
o Fixed URL in manpage to resample overviews.
o Fixed WAV handler so that it didn't think WAV chunks with max size
were invalid chunks. This allows WAV's to be used in pipes since
they have to default to max size.
o WAV files with alaw or ulaw data don't need extended format chunks.
(Lars Immisch)
o In AIFF files, fixed problem were short comments should cause
AIFF handler to get confused and become misaligned.
o Christian Weisgerber sent patches to man page fixes
and patches for sunaudio driver on openbsd.
o Default volume for soxmix wrongly set to 0 instead
of 1/#_input_files (float rounding error).
o Update to ALSA driver to do a better job of detecting
unsupported sample rate/size/encoding and change to
a supported one.
o Fix bug in alsa writing were last last partial buffer
wasn't being flushed.
o Guentcho Skordev pointed out ogg vorbis files were using
the same value for serial numbers each time.
o Changed sox to only read the exact size of a WAV data chunk
if cooledit IFF LIST chunk is found at the end of the file.
Normally, this isn't done to allow reading > 2gig WAV files.
o Modified configure to detect cygwin compiler after detecting
gcc compiler (fixes some default CFLAGS options).
o Added explicit rule for compile *.o from *.c so that
CPPFLAGS is always referenced. Not all platform's default
rule includes CPPFLAGS (FreeBSD).
o Under linux, add include path to /lib/modules/* so that ALSA
include files can be auto detected.
o Ian Turner added an effect to remove noise from an audio
file by first profiling silent periods of the audio
to determine what the noise is (like background hiss on
cassette tapes).
buffer overflows in the WAV parser that could lead to arbitrary
code execution.
sox-12.17.6
-----------
o Changed comment code to always use copies of strings to
fix bug in WAV handlering freeing argv[] memory.
o Use calloc() to create ft_t structures so that all
memory is initialized before being referenced.
o Fixed VOC EOF bug were it thought there was an extra
block when there wasn't.
o Restructured directory layout so that source code is in
a seperate directory.
o Modified SoX to accept multiple input files. Concatenates
files together in this case.
o Removed map effect so that loops and instr could be removed
from effects structures. This makes effects engine stand
alone from the rest of the sox package.
o Benedikt Zeyen found a bug in synth effect when generating
brown noise that could cause clipping.
o David Leverton sent another patch to prevent crashes on
amd64's when resampling.
o Fixed a bug were MP3 files with large ID3v2 tags could
cause SoX to stick in a loop forever. Now, it will
abort on IDv3 tags larger then 100k. Could still be
improved to handle any size.
o Changed volume option (-v) so that it tracks the file
it was specified. This means that when specified with
the input file, it changes volume before effects engine
and when specified with output file, its done after effects
engine.
o Added crossfade_cat.sh script that will concatenate to
audio files and do a crossfade between them.
o Fixed bug in fade effect were it was impossible to do a
fadeout starting from the beginning of the audio file.
o Removed rounding error when changing volume of audio with
"-v" option. This error caused doing a "-v -1.0" twice
to not result in the original file.
o Fixed a possible overflow in lots of effects were MIN
value was treated as -MAX instead of -MAX-1.
o Modifed sox so its OK for effects to not process any
input or output bytes as long as they return ST_EOF.
o When effects output data and reported ST_EOF at the
same time, that buffer was discarded as well as
data from any chained effect.
o Added patch from Eric Benson that attempts to do a seek()
if the first effect is trim. This greatly speeds up
processing large files.
o Daniel Pouzzner implemented a multi-band compander (using
the butterworth filters to split the audio into bands).
o Donnie Smith updated the silence effect so that its possible
to remove silence from the middle of a sound file by
using a negative value for stop_periods.
o Changed float routines to only work with normalized values
from -1:1.
o Modifed .au handler to be able to read and write 32-bit
and 64-bit float data. Only tested reading so far.
o WAV with GSM data now always pads data to even number of bytes.
o Added support for writing 32-bit audio to AIFF.
sox-12.17.5
-----------
o Thomas Klausner sent in patches to compile audio drivers under
NetBSD.
o Rahul Powar pointed out a memory leak in the WAV file handler.
It wasn't calling the correct close() function when closing
input files.
o Modified play.1 man page to not use multiple name lines. This
appears to confuse some conversion programs. Updated sox.1
man page for typo in reverb option.
o Andrew Church fixed problem with header of stereo 8SVX files.
o Jimen Ching added support to scan over garbage data at the
beginning of MP3 files to find valid frames. This is useful
to play WAV and AIFF files that have MP3 data in them until
those handlers support it directly. To play those, force
sox to use the mp3 handler with the "-t mp3" option.
o Added patch from Ulf Harnhammar to wav handler to prevent
buffer overflows.
o Added patch from Redhat to allow resample to work on certain 64-bit
machines (Sam Varshavchik)
o Tony Seebregts added a file handler for headerless Dialogic/OKI ADPCM
files (VOX files).
o Jan Paul Schmidt added a repeat effect to do loops the brute force way.
This is also good for file format that don't support loops as well.
o Fix for OSS driver in rate tolerance calcs that were off because
of type conversion problems. Guenter Geiger.
o Allow reading sphere files with headers greater then 256 bytes. Jimen
Ching.
o Fix for vorbis were comments are displayed in KEY=value format always.
Stop printing some info to stdout in case output is a pipe. Guenter
Geiger.
o J Robert Ray submitted fix for AIFF handler to ignore lowercase
chunks that are unknown.
o Bugfix for 8-bit voc files. Jimen Ching
o General warning cleanups (cbagwell)
o Memory leaks in reading WAV files (Ufuk Kayserilioglu)
o Rearrange link order of ogg vorbis libraries so that they
can be compiled as static. (Christian Weisgerbr)
Selection of changes:
* Various bugfixes to Ogg Vorbis handler as well as updating
to use version 1.0 of library. Also, modified the files
that are output by Ogg Vorbis handler to use VBR format.
* Minor cleanups to sox.c to free and close all files instead
of relying on C library to do it on exit.
* Fixed some integer overflow problems in compand effect.
* libst prototype cleanups and private data structure
cleanups.
* Added new handler for Psion Record.app files.
* Play/Record scripts now look at an AUDIODEV
enviornment variable to see what audio device to
play to. Also scripts to work on Sun Rays.
* Added support for reading and writing MP3 files if
external MP3 libraries are avaliable.
* Fix multile channel bug in avg effect.
* Allow AIFF files with an invalid length of 0 to be
processed.