AMBER CHANGELOG
maintained by Matthew McCabe <mlm@escapement.net>
and Jennifer Bernard Merkowitz <bernarjf@email.uc.edu>
---------------

1.3.1 06/01/06
 -- Code cleanup: standardizing data member names (beginning with _), moving all 	includes to the header file, standardizing pre-processing directive names 	(_AMBER_H_), removed unused variables

 -- removed the interpolate Graph methods in the graintracker class--they were 		inefficient and slightly inaccurate.  Now current grain size and density are 	calculated by a weighted average of initial and final

 -- fixed scaling algorithm to call fabs(float absolute value)--solves some clipping 	problems

1.3.0
 -- a few changes to accomodate gcc 4.0

 -- implements the scaling algorithm.  All output files will be scaled
	to a volume of 0.99

 -- adds two new examples and a sound file (lowsinefull.aiff) called for
	in previous examples

 -- fixes the mixing grain generation method, so that more than two files
	are mixed in equal proportion and there is no click at the end of
	the shorter file

 -- fixes the envelope morphing method; a faulty loop was preventing
	evolution to the MorphEndEnvelope

1.2.0-pre1
 -- fixed a problem where the window following got messed up, and the
    random numbers by which the grain is selected got reversed,
    causing a crash

 -- added support for 24 and 32-bit files, as well as 16-bit

 -- -ld (linear density) and -lg (linear grain size) command line
    options are deprecated.  these don't really make any sense as
    you can specify grain size and density with other parameters.

 -- the directive in the config file for the amplitude envelope is now
    'Envelope' when using one envelope type for the entire grain spray.


1.1.2
 -- complete rewrite of the main granulator code -- it's now much shorter
    and easier to understand.  also fixed a problem where the first grain
    got written in the wrong position in the output stream.

 -- kind of fixed convolution code -- it seems to work but gives
    very wierd results.  

 -- now, instead of writing the output file in chunks, amber will hold
    all of the output samples in memory until processing is complete,
    and then write the file out.  this will allow me to add some normalizing
    code, and other post-processing.

 -- removed the pan options, operating under the assumption that anyone who
    is going to use this program knows how to apply panning.  this may
    return later in the form of some kind of stereo-ization of the final
    output, i'm not sure.  send me suggestions.


1.1.0 (unreleased)
 -- amber now requires libsndfile.  all the crappy code
    from that textbook we used is now gone.

 -- slight changes to accomodate compiling with GCC 2.9x and 3.1

 -- removed Gain option from both the command line and config files.
    this will be resurrected at some point in the future, but for now
    it's more important to fix these distortion problems.

 -- amber now supports more than 5 input files.
    specify the -fn option multiple times on the command line, or use
    the InputFile directive in the config file.


1.0.5 - 1.0.6 (unreleased)
 -- can't remember what i did.  1.1.0 will be better.


1.0.4

 -- Microsoft Visual C++ does not conform to the C++ scope standards 
    fixed loop variable declarations so it works - thanks to Peter Burns 

 -- removed 'amberscript' from the source tree because it's dumb
    and the graphical version is in the works

 -- changed everything from using char arrays to using std::string.
    it's much more fun.


1.0.2 
 -- convolution algorithm (graingen type 4) is now efficient, as opposed
    to the extremely long runtime of the previous version. 

 -- fixed compilation problems with certain versions of GCC and EGCS 
    due to a typecasting bug in graintracker.cpp

 -- added USAGE to clear up confusions about the parameters.


1.0.0

 -- initial release with crappy convolution algorithm
