
First, I should define crossfade in case the reader does not know.
	A crossfade is when a transition is made from one source of sound 
	to another source.  The first source is faded out while at the 
	same time the second source is faded in.  Gennerally, one would 
	want the two fade times to be the same so that the time the first 
	source fades fully out is the time that the second source fades 
	fully in.

	The fade-out is implemented by multiplying the source by g (gain) 
	where g goes from 1.0 down to 0.0 in the amount of time as the 
	crossfade is to take place.  Likewise, the fade-in has g go from 
	0.0 up to 1.0 in the same amount of time.



- In order to make a smoother sounding edge after an edit where a transition is 
  made from the non-edited region to the edited region and back again to the 
  non-edited after the selection I have implemented the ability ReZound to do a 
  quick crossfade on the edges after an edit.


- There are 2 types of crossfades, inner and outer.

	- The inner crossfade, before the action, backs up the data just after the 
	  soon-to-be new start position and just before the soon-to-be new stop position.  
	  Then after the action has been performed on the selection there will probably 
	  be discontinuous edges at the new start and stop positions.  So, after the edit, 
	  I use that backed up data to do a crossfade from the backed-up data and the new 
	  data at the respective edge created by the action.

	- The outer crossfade, just after the action has taken place, at the start 
	  position, data from within the selection is pulled leftward by the crossfade 
	  time and a crosfade is done between the two now overlapping areas.  Then data 
	  after the stop edge is pull leftward to overlap the selection and a crossfade is 
	  again performed on these two overlapping areas.  This does result in making the 
	  sound short by the start and stop crossfade lengths.

	- I should make mention that whenever data to crossfade is not available because 
	  it would run off the beginning or end of the sound, the crossfade is shorted by 
	  the amount that would cause this not to be a problem.


- The user has a choice of how long the crossfade will be independantly at the start and stop 
  positions.


- The user also has a choice of whether to use a linear gain of 0<g<1 or a parabolic one (still 
  0<g<1) when doing the crossfade.
	- A linear crossfade always keeps the sum of the 2 gains at a constant of 1.0, but does

	  not sound natural for crossfades of significant lengths (i.e. >250ms)

	- A parabolic crossfade seems to sound a bit more natural with longer lengths, but causes 
	  a brief lowering of the overall amplitude because the total gain is not always 1.0.


