changes:
adate = 2-nov-2006 [Alec Berryman/CVE-2006-4192]
-> file: src/sndfile.cpp
		where: ReadSample
		what: prevent buffer overflow [as reported in CVE-2006-4192]
date = 2-nov-2006 [Konstanty Bialkowski/Macro Trillo]
-> file: configure.in,config.h,load_abc.cpp,fastmix.cpp
		where: Automake 2.60 used
		what: In order to properly use stdint.h we should make use of the new macros for its detection, on systems with automake 2.59 but where stdint.h is available, this can be removed. (Patch by Macro Trillo)
-> file: src/load_amf.cpp, src/fastmix.cpp
		where: Licensing
		what: all old code was relicensed for public domain, and somehow an old version was included with GPL notices
date = 20-jul-2006 [Peter Grootswagers]

-> file: src/load_abc.cpp

		where: instrument loader functions

		what: replaced with correspondig functions in load_pat.cpp

-> file: src/load_mid.cpp

		where: whole source

		what: new loader for midi files

-> file: src/load_pat.cpp

		where: whole source

		what: new loader for GUS instrument patch files (pat)

-> file: src/load_pat.h

		where: whole source

		what: new header declaring reuseable GUS instrument patch functions (pat)

-> file: README

		where: 2. Features

		what: added description of load_mid.cpp and load_pat.cpp

-> file: src/Makefile.am

		where: libmodplug_la_SOURCES

		what: added load_mid.cpp and load_pat.cpp

		where: libmodpluginclude_HEADERS

		what: added load_pat.h

-> file: src/sndfile.cpp

		where: function CSoundFile::Create()

		what: added call to ReadMID and ReadPAT

-> file: src/libmodplug/sndfile.h

		where: #define

		what: added MOD_TYPE_PAT (MOD_TYPE_MID already there...)

		where: class CSoundFile

		what: added public function members ReadMID, TestMID, ReadPat, TestPAT and PATsample

date = 24-jun-2006 [Peter Grootswagers]

-> file: src/load_abc.cpp

		where: whole source

		what: new loader for abc files
-> file: README
		where: 2. Features
		what: added description of load_abc.cpp
-> file: src/Makefile.am
		where: libmodplug_la_SOURCES
		what: added load_abc.cpp
-> file: src/sndfile.cpp
		where: function CSoundFile::Create()
		what: added call to ReadABC
-> file: src/libmodplug/sndfile.h
		where: #define
		what: added MOD_TYPE_ABC
		where: class CSoundFile
		what: added public function members ReadABC and TestABC
date = 20-mar-2006 [Macro Trillo / "Custom libmodplug project"]
-> file : src/load_s3m.cpp
-> file : src/load_far.cpp
		what: fixed endianness 
date = 20-mar-2006 [Alistair John Strachan]
....

Many other changes need to be documented here...

GCC3 fixes, GCC4 fixes, More Archive Types.
	
date = 09-feb-2001 [Markus Fick]
-> file: fastmix.cpp
		where: spline creation, spline macros
		what: added unity gain clamp code, added Quantizer_Bits(shift) preprocessor constants
		where: fir creation, fir macros
		what: - removed x<pi/2 condition in coef creation
		      - added quantizer_bits(shift) preprocessor constants
		      - set default quantizer bits to 15 instead 14 (scale now 32768 instead 16384)
		        there should not occure any overflows during fir response calculation because
		        of the symmetric form of filter and the position of the negative fir coefs
		      - changed final volume calculation for 16bit samples (quality enhancement)

date = 08-feb-2001 [Markus Fick]
-> file: sndmix.cpp
		where: function ReadNote()
		what: modified behaviour of modplug so that interpolation is only deactivated if
		      a) the user selects "no interpolation"
			  b) linear interpolation is set and speed incr. > 0xff00
			 => if spline or fir is active then we use always interpolation

-> file: fastmix.cpp
		where: spline macros
		what: changed spline macros to use precalculated tables (way faster)
		where: file
		what: - implemented spline table precalculator
		      - changed fir precalculator + macros (for higher quality and clearer source)
		      - added some comments and documentation
		comment: 
		  - preprocessor constant: SPLINE_FRACBITS
		     ) controls quality/memory usage
			   range is [4..14] inclusive
			   4 = low quality, low memory usage
			   14 = highest quality, highest memory usage (1L<<14)*4*2 bytes
		  - preprocessor constant: WFIR_FRACBITS
		     ) controls quality/memory usage
			   range is [4..12] inclusive
			   4 = low quality, low mu
			   12 = highest quality, highest memory usage ((1L<<(12+1))+1)*8*2 bytes

date = 07-feb-2001 [Markus Fick]
-> file: fastmix.cpp
		where: spline macros
		what: fixed error in coef calculation

date = 07-feb-2001 [Markus Fick]
-> file: sndfile.h
		where: class definition of soundfile 
		what: removed InitFIR + DoneFIR function prototypes
-> file: sndfile.cpp
		function:CSoundFile::CSoundFile()
		what: [modify] removed call to CSoundFile::InitFIRMixer( )

		function:CSoundFile::~CSoundFile()
		what: [modify] removed call to CSoundFile::DoneFIRMixer( )
-> file: fastmix.cpp
		where: spline macros
		what: changed formula + added some guard bits to calculation

		where: fir macros + implementation
		what: - moved CSoundfile::FIR funtions to CzFIR (single instance sfir)
		      - changed fir macros to support CzFIR class

date = 06-feb-2001 [Markus Fick]
-> file: fastmix.cpp
         where: macros
		 what: - removed fir filter with coef interpolation
		       - add spline interpolation
			RM: now modplug->select( SPLINE ) selects spline and
			        modplug->select( POLYPHASE ) selects 8tap fir filter

date = 05-feb-2001 [Markus Fick]
-> file: fastmix.cpp
         where: macros + filter order
         what: [modify] changed filter order to 8 instead of 10

-> file: fastmix.cpp
         what: new macros+switch for fir-interpolator with coef interpolation

date = 04-feb-2001 [Markus Fick]

-> file: sndfile.h
	 where: class CSoundFile (bottom)
	 what: [add] methods for FIR mixer support
	             1. int InitFIRInterpolator( );
				 2. int DoneFIRInterpolator( );

-> file: sndfile.cpp
     function:CSoundFile::CSoundFile()
	 what: [modify] add call to CSoundFile::InitFIRMixer( )
	 
	 function:CSoundFile::~CSoundFile()
	 what: [modify] add call to CSoundFile::DoneFIRMixer( )

-> file:  fastmix.cpp
	 new include: <math.h>
		why: need it for fir-coef calculation
     new function: CSoundFile::InitFIRMixer( ) // initializes fir filter lookup (if necessary)
	 new function: CSoundFile::DoneFIRMixer( ) // decrements ReferenceCounter (for static vars) and deinitializes fir struct (if possible).
	 new defs:
		#define FIRCPWBN 10							// log2 of number of precalculated wings (-(1L<<FIRCPWBN)..(1L<<FIRCPWBN))
		#define FIRLOPOSSHIFT (16-(FIRCPWBN+1))		// shift for lopos of sampleposition -> (16 - FIRCPWBN - 1)
		#define FIRLEN 9							// number(-1) of multiplications per sample
		#define FIRCUT 0.90f						// cutoff of filter
		#define MIXNDX_FIRMIXERSRC  0x20			// src-type for firfilter
	 new vars:
		static signed short *cFirLut;				// lulines
		static int bFirInitialized	= 0;			// initialized?
		static int nFirOrder		= FIRLEN;		// order (modplug has 4smps pre/post extension, so limit this to 9)
		static float nFirFC			= FIRCUT;		// cutoff (normalized to pi/2)
		static int nFirCpw			= (1L<<FIRCPWBN);	// number of precalculted filter lines
		static int nFirUsers		= 0;			// reference counter
	 new macros:
		#define SNDMIX_GETMONOVOL8FIRFILTER
		#define SNDMIX_GETMONOVOL16FIRFILTER
		#define SNDMIX_GETSTEREOVOL8FIRFILTER
		#define SNDMIX_GETSTEREOVOL16FIRFILTER
	new mixer interface macros:
		BEGIN_MIX_INTERFACE(Mono8BitFirFilterMix)
		BEGIN_MIX_INTERFACE(Mono16BitFirFilterMix)
		BEGIN_RAMPMIX_INTERFACE(Mono8BitFirFilterRampMix)
		BEGIN_RAMPMIX_INTERFACE(Mono16BitFirFilterRampMix)
		BEGIN_MIX_INTERFACE(FastMono8BitFirFilterMix)
		BEGIN_MIX_INTERFACE(FastMono16BitFirFilterMix)
		BEGIN_FASTRAMPMIX_INTERFACE(FastMono8BitFirFilterRampMix)
		BEGIN_FASTRAMPMIX_INTERFACE(FastMono16BitFirFilterRampMix)
		BEGIN_MIX_INTERFACE(Stereo8BitFirFilterMix)
		BEGIN_MIX_INTERFACE(Stereo16BitFirFilterMix)
		BEGIN_RAMPMIX_INTERFACE(Stereo8BitFirFilterRampMix)
		BEGIN_RAMPMIX_INTERFACE(Stereo16BitFirFilterRampMix)
		BEGIN_MIX_FLT_INTERFACE(FilterMono8BitFirFilterMix)
		BEGIN_MIX_FLT_INTERFACE(FilterMono16BitFirFilterMix)
		BEGIN_RAMPMIX_FLT_INTERFACE(FilterMono8BitFirFilterRampMix)
		BEGIN_RAMPMIX_FLT_INTERFACE(FilterMono16BitFirFilterRampMix)
		BEGIN_MIX_STFLT_INTERFACE(FilterStereo8BitFirFilterMix)
		BEGIN_MIX_STFLT_INTERFACE(FilterStereo16BitFirFilterMix)
		BEGIN_RAMPMIX_STFLT_INTERFACE(FilterStereo8BitFirFilterRampMix)
		BEGIN_RAMPMIX_STFLT_INTERFACE(FilterStereo16BitFirFilterRampMix)
	modified:
		const LPMIXINTERFACE gpMixFunctionTable[2*2*16] // to hold new fir mixer interface
		const LPMIXINTERFACE gpFastMixFunctionTable[2*2*16] // to hold new fir mixer interface
		functioN: UINT CSoundFile::CreateStereoMix(int count)
			new: 
				if (!(pChannel->dwFlags & CHN_NOIDO))
				{
					// use hq-fir mixer?
					if( ((gdwSoundSetup & (SNDMIX_HQRESAMPLER|SNDMIX_ULTRAHQSRCMODE)) == (SNDMIX_HQRESAMPLER|SNDMIX_ULTRAHQSRCMODE)) ||
						((gdwSoundSetup & (SNDMIX_HQRESAMPLER)) == (SNDMIX_HQRESAMPLER)) )
						nFlags += MIXNDX_FIRMIXERSRC;
					else
						nFlags += MIXNDX_LINEARSRC; // use 
				}
			was:
				if (!(pChannel->dwFlags & CHN_NOIDO))
				{
					nFlags += MIXNDX_LINEARSRC; // use 
				}


