Change History
--------------

This file contains a list of all changes starting after the release of
sox-11gamma.

sox-12.17.1
---------
  o Andreas Kies fixed a bug were we were not detecting correctly
    if an output file was seekable.
  o Fixed a bug in the mask effect introduced in 12.17.  If the libc
    version of rand() returned more then 15-bit values then it would
    trash your data.  Reported by Friedhel Mehnert.
  o Added a new fade in/out effect from Ari Moisio.
  o AIFF files now ignore a MARK chunk if the loop type is NoLoop (0).
  o Fixed bug were it was impossible to output ADPCM data in wav files.
  o Fixed bug were rate had to be specified for sphere files (fix from
    Antti Honkela).
  o Added small work around to let compile with cygwin's gcc 95.2
    which also now allows to compile with GSM support under windows.
  o Removed accessing of sound devices in tests for sound support and
    instead just look for needed header files.  This allows the sound
    support to be detected even if the device is currently busy or when
    compiled on a box that doesn't have a sound card but the OS supports
    it (which is the enviornment of most distributions creating new
    binaries).
  o Added support to partially handle AIFC files but only uncompressed
    versions.  This should allow people to work with raw CD audio data
    on Mac OSX and also gives a basis for adding future support for
    things like ADPCM processing.
  o Added new "earwax" effect from Edward Beingessner.  It is meant to
    be used for CD audio played through headphones.  It will move the
    sound stage from left/right to in front of you.
  o Trim effect did not compute locations as was documented in the
    man pages.  Changed effect so that it computed the time the
    same way that the fade effect does.

sox-12.17
---------
  o Sox can now read and write w98 compatible gsm .wav files,
    if compiled properly with libgsm.  Thanks go to Stuart
    Daines <sjd.u-net.com> for the gsm-wav patches.
    This is new, and relatively untested. See -g format option.
  o Sox can now write IMA_ADPCM and ADPCM compressed .wav,
    this is new, and relatively untested. See -i and -a format
    options in manpage.
  o General changes to wav.c for writing additional wav formats.
    Reading wave headers: more consistency checks.
    Writing wave headers: fixes for w98.
  o Speedups to adpcm read routines, new codex versions are
    now in ima_rw.c and adpcm.c.
  o Speedups for raw.c, especially for gcc with glibc.
  o Fixed a segfault problem with ulaw/alaw conversion, where
    an out-of-range index into the tables could occur.
  o More detailed output from the stat effect.
  o Continued rewrite of resample.c, now it is almost as
    fast with floating arithmetic as the old (buggy) version
    was with 16-bit integer arithmetic.  The older version
    in sox-12.16 shifted frequencies slightly and was less
    accurate.
  o Extensive rewrite of polyphas.c, should be faster and use
    less memory now.  The sox-12.16 polyphase code had some bugs.
  o New effect 'filter' which is a high-quality DSP lowpass/
    highpass/bandpass filter using windowed sinc function
    methods, like polyphase and resample.
  o Jan Paul Schmidt added new low/high/bandpass and bandlimit
    filters to sox.  They have much better results then the old
    versions of low/high/bandpass.  The new effects are all
    Butterworth filters.
  o New data file type supported, -sl or extension .sl for
    signed 32-bit integers.  Some simplification of the raw.c
    source.
  o Some test programs and scripts in the test directory, for
    making gnuplot plots of frequency response, error-levels
    of rate-conversion and filter effects.
  o Removed sbdsp code.  All modern unixes are support via OSS,
    ALSA, or sun audio device interfaces.
  o Added AVR handler from Jan Paul Schmidt.
  o SoX now waits until the last possible moment before opening
    the output file.  This will allow all input and effect options
    to be parsed for errors and abort before overwriting any file.
  o SoX will no longer write to files that exists.  This will keep
    it from deleting files when a user mistakenly types "sox *.wav".
  o Added new compander effect from Nick Bailey.  Nice general purpose
    filter.
  o Under Solaris, SoX now checks hardware ability to play stereo/PCM
    and forces output data to match.  Sorry, no SunOS support.  I don't
    have access to one any more.
  o Fixed array overrun bug in rate effect as pointed out by Ian
    Donaldson.
  o Fixed clip24() range as pointed out by Ted Powell.
  o Fixed possible segfault in echos effect, as pointed out by Zinx
    Verituse.
  o Moved most documentation to new "soxexam.1" manual page so that
    all users on a unix system will have access to important information.
    This means no more TIPS, CHEATS, or CHEATS.eft files.
  o Richard Kent fixed a byte alignment problem in aiff comment code.
  o Loring Holden added support to create missing directories on install
    and support for installs from outside the source directory.
  o Fabien COELHO added a pan and volume effect.
  o Fabien COELHO added a speed effect to sox (like speeding up a tape
    machine).  Also added pitch which changes pitch without effecting
    duration and stretch which stretch time without effecting pitch.
  o Leigh Smith updated aiff support to use the COMT check when writing
    comments instead of the ANNO.  It is the prefered method from Apple
    and newer programs are starting to require it.  Also fixed some bugs
    in how we compute the length of various chunks in output files.
  o Changed the default block alignement for IMA ADPCM WAV files to use
    256 which is what windows programs use.  Badly written readers expect
    256.
  o Matthias Nutt helped add support for specifying multiple effects
    to SoX on the command line.
  o Curt Zirzow added a trim effect to trim off audio data.
  o Updated ALSA driver to support new interface. Jimen Ching 

sox-12.16
---------
  
  o Changed raw data functions to perform I/O operations using block reads.
    Should improve speeds greatly, especially when filesize is in megs.
    Got code ready to tweak speed more which also forced me to clean up
    Endian test code.
  o Fixed a bug in .au's handling of G.723.  It wasn't using the correct
    number of bits.  Added A-law support to .au.
  o Quoted $filename in play/rec scripts so that files with spaces in
    their names can be given.
  o Old OS/2 support didn't work.  Replaced with known working EMX
    GCC compatible code.
  o ADPCM WAV files were defaulting to 8-bit outputs and thus losing
    some persision.  Now defaults to 16-bit signed uncompressed data.
  o Fixed a couple cross-platform compiler issues.
  o Jimen Ching has added support for "configure" in to SOX.  Finally,
    a good solution to cross-platform compiling!
  o Jimen Ching has added native support for the ALSA driver to play
    and record audio from. (jching@flex.com)
  o Minor correction for -r example in manual page.
  o Renamed sox.sh to soxeffect and rewrote.  Symbolic links can be made
    from this file to the name of a sox effect.  It will then run that
    effect on STDIN and output the results to STDOUT.
  o Fixed up some makefiles and 16-bit support from patches sent by
    Mark Morgan Lloyd (markMLl.in@telemetry.co.uk).  Also added some
    nice DOS test bat files from him as well.
  o Cleaned up some more cross-platform compile problems.  In the process
    got it working with Turbo C again, kinda.  It still locks DOS up at times.
  o Made AIFF handler work with invalid headers that some programs generate.
    Also fix an Endian bug thats been there for quite a long time (when
    ran on Intel machines).  Made comment lengths even length to make
    most MacOS programs happy.  cbagwell
  o Resample function was updated by Andreas Wilde 
    (andreas@eakaw2.et.tu-dresden.de) to fix problem were freqs. were
    off by a factor of 2.
  o Added an effect that swaps stereo channels.  cbagwell
  o Combined play and rec scripts to a single program to ease mantaince.
    Also added GNU style long-options (--help).  Careful, some options have
    change (but more logical).
  o Fixed a very old silly bug were low/high/bandpass filters would
    add some trash data to the end of the sound file.
  o "avg" effect wouldn't give error message when you tried to average
    x number of channels in to the same number of channels.
  o Fixed core dump when writting AIFF files with no comments.
    (Olaf Pueschel)

sox-12.15
---------

  o Juergen Mueller moved Sox forward quite a bit by adding all the
    most commonly known "Guitar Effects".  He enhanced echo support,
    added chorus, flanger, and reverb effects.  He also wrote a very
    handy CHEAT.eft file for using various effects.
  o Incorporated Yamaha TX-16W sampler file support provided by
    Rob Talley (rob@aii.com) and Mark Lakata (lakata@physics.berkeley.edu).
  o Fixed a small bug in hcom compression, dependent on sign 
    extension.  Leigh Smith (leigh@psychokiller.dialix.oz.au).
  o sox -h now prints out the file formats and effects supported.
    Leigh Smith and Chris Bagwell.
  o smp transfers comments more completely.  Leigh Smith.
  o aiff manages markers and loops correctly and produces more 
    verbose output.  Leigh Smith.
  o Added polyphase resampler (kb@ece.cmu.edu).  This adds a slightly
    different resampling algorithm to the mix.
  o Michael Brown (mjb@pootle.demon.co.uk) sent a patch to stop crashes 
    from happening when reading mono MS ADPCM files.
  o Fabrice Bellard has added a less buggy 'rate' conversion.  I've left
    the old rate code included but if all goes well this will become
    the new 'rate'.  Please test and let me know how it works.  Resample
    effect needs to be reworked now.
  o Heiko Eissfeldt: Implemented a simple deemphasis effect for
    certain audio cd samples.
  o Matija Nalis (mnalis@public.srce.hr) sent a patch to fix volume adjustment
    (-v) option of sox.
  o Fixed typo in optimazation flag in unix makefile, as pointed out by
    Manoj Kasichainula (manojk@io.com).
  o Fixed missing ';;' in play script. cbagwell
  o Fixed bug in determining length of IMA and MS ADPCM WAVE files. cbagwell
  o Fixed bug in how stereo effects were drained which fixed the
    "reverse" effect from only saving half of stereo files. cbagwell
  o Can use "-e" without an effect again.
  o Added -g and -a options for new style support of GSM and ADPCM.  Added
    error checking to various formats to avoid allowing these types.

sox-12.14
---------

  o Bumped major version number up and shortened name.  The shorter name
    should help the various distributions using this package.
  o Added support for MS ADPCM and IMA (or DVI) ADPCM for .wav files.
    Thanks to Mark Podlipec's xanim for this code (podlipec@ici.net).
  o Change Lance Norskog's email address to thinman@meer.net.  The old
    one was bouncing.
  o Added path string to play and rec strings so that it could be run by
    users without complete paths setup (i.e. Ran by "rc" files during bootup
    or shutdown)
  o Fixed -e option from Richard Guenther 
      (richard.guenther@student.uni-tuebingen.de) and fixed a small bug
    in stat.
  o Fixed a bug in the mask effect for ULAW/ALAW files.
  o Fixed a bug in cdr output files that appended trash to end of file.
  o Guenter Geiger (geiger@iem.mhsg.ac.at) made a rather large patch to
    allow sox to work on 64-bit alphas.  It was done the easiest meathod
    by changing all long declarations to use a macro that knows to
    make it 32-bits.  Want to port to another 64-bit-but-not-alpha
    machine?  Grep for "alpha" to see changes.  There are most likely
    several bugs left for alphas.  Guenter is also supporting this
    package for the Debian distribution.
  o Did some major code cleanups to clear out some warning messages
    during compile.  This is to clear up problems I'm finding under
    both alpha and dos.  Some warning messages are actually useful
    now (pointing out possible data loss).  Hopefully, I didn't
    break anything.
  o Code clean up allows me to finally compile code under Turbo C
    again.  Too bad the EXE gets a currupted stack somewhere and locks
    up the system.  Anyone want to try it with Borland C for me?
    If you get a working EXE I would like to start distributing a DOS
    package like there used to be.
  o Speaking of cleanups, anyone want to help cleanup the makefiles for
    various platforms?  They are quite outdated right now and it is
    very obvious that Sox hasn't been able to compile under all the
    platforms it once did for several releases.  Please send in 
    the cleaned-up makefile versions along with what programs you
    used to compile it with.
  o There is a known bug in hcom's compress() function.  It is allocating
    memory that can't be free'd under some OS's.  It causes a core dump.

sox-11gamma-cb3
---------------

This release of sox is mainly a bugfix release.  The following things
have changed:

  o  Documentation has been updated when it was obviously wrong.
     Much more work could be done.  Man pages were updated to
     work correctly on Solaris and add some missing info.
  o  Several people sent me patches to fix compiling on Solaris
     as well as fix a few bugs.
  o  Change USS driver's name to OSS.  Man, does that driver
     like to change names!  This could cause problems if you
     have made your own custom play and rec scripts.
  o  Updated my email address.  Sorry if I haven't responded to
     any emails as I no longer have access to my old address.
     Please use cbagwell@sprynet.com.
  o  Fixed unix test scripts so that they worked again.
  o  Fixed endian bug in psion .wve code.
  o  Replaced outdated voc info file with detailed format info
     inside voc code.
  o  Added new sound format, cvsd (Continuously Variable Slope Delta)
     from Thomas Sailer (sailer@ife.ee.ethz.ch).

sox-11gamma-cb2
---------------

This release of sox is based on the latest gamma version released
plus some patches I've made to support the following new features:

I would like to thank everyone that wrote me about the long
standing bug in Sox that could DELETE your /dev/* file if the
program was aborted for reason such as invalid audio file.  Special
thanks for Bryan Franklin for sending in a patch when I was
to busy to even look for it.


  o  Better play support for 8-bit stereo voc files.  New support
     for outputing both 8-bit and 16-bit stereo voc files.
  o  Built-in support for playing and recording from Linux /dev/dsp.
     This is a re-write and seperate module from the previous
     support included inside the sbdsp module.  Also fixes a buffer
     size bug that showed up when using newer versions of OSS.
     This driver will work with OSS (and older versions called USS, TASD
     and Voxware).
  o  Support for audio playing and recording with SunOS /dev/audio.
  o  Fixes a bug were /dev/audio or /dev/dsp could be deleted
     when playing an invalid format audio file.
  o  Expanded options for play and rec scripts.  You can now specify
     sox effects after the filename and hear them in real time.
     Please be sure that an older version of sox is not in your path
     because these script will possibly find it first and
     incorrectly use it.  
  o  Setting play/record volume still requires an external program.
     If you have one a command line program to do this (such as
     "mixer" for Linux) then you will want to edit the play and rec
     to use this.  The current support for it is only in example
     form of how it can be done.

