
======================================================================================
REVISION HISTORY : FireMOD : Copyright (c) Firelight Technologies, Pty, Ltd, 1994-2005
                                 http://www.fmod.org
======================================================================================
	      + Added feature or noticable improvement
	      - Bug fix or something removed
	      * Changed or Information
======================================================================================

02/10/06 3.75
-------------
- Linux  - Fixed net streaming crash when trying to connect to a URL with a
           port in which nothing is listening.

05/05/06 3.75
-------------

+ WII    - Added Nintendo Wii support.
 
15/12/05 3.75
------------

+ PSP    - Added PSP support! Contact sales@fmod.org for evaluation versions!
+ XBOX   - Added FSOUND_INIT_XBOX_REMOVEHEADROOM for 2D sounds to disable the xbox 
           directsound 6db attenuation on all voices (to avoid clipping).

- ALL    - Fixed rare timing crash, mainly on HyperThreaded or Multi-Processor 
           machines, when calling FSOUND_Stream_SetPosition or FSOUND_Stream_Play.
- ALL    - Sounds not starting paused properly issue fixed.
- ALL    - Stability increase calling stream related commands from a sync callback.
- ALL    - IMA ADPCM compressed multichannel FSB files with channel count = 2
           played as static fixed.
- ALL    - Removed any references to ctype.h so linux has an easier time linking 
           on old glibc versions.
- ALL    - .IT format - Pitch envelope under 'amiga frequencies' issue fixed.
- ALL    - .IT format - Pan envelope not panning left issue fixed.
- ALL    - .IT format - some songs with extremely high pitch notes were being
           clamped by fmod's internal setfrequency function, so that has been
           fixed.
- ALL    - Fixed stream not opening with FSOUND_NONBLOCKING if 
           FSOUND_OUTPUT_NOSOUND_NONREALTIME was the output mode.
- ALL    - Fixed rare stream crash if FSOUND_NONBLOCKING was used and ran out 
           of memory.
- ALL    - Fixed ogg vorbis seeking causing odd audible playback for a few ms.
- ALL    - Removed stall on FSOUND_Stream_SetSubStream or 
           FSOUND_Stream_SetSubStreamSentence if other streams were playing 
           simultaneously.
- ALL    - Fixed FSOUND_SetMute not taking FSOUND_SetVolumeAbsolute into account
           when unmuting.
- ALL    - Fixed recording returning an error if fmod was closed then reinitialized
- ALL    - Fixed rare failures in FSOUND_Sample_Load if a stream was openened
           beforehand.
- LINUX  - More OSS and ALSA compatibility fixes, should handle most cards without
           a problem now.
- LINUX  - Fixed lock on cd device after FSOUND_Close was called so tray wouldnt 
           eject.
- LINUX  - ALSA output now cooperates with other applications better.
- WIN32/
  WIN64/
  WINCE  - Fixed thread leak if recording was started and stopped.
- WINCE  - Fixed last few milliseconds of mp3 files not playing.
- WINCE  - Fixed new streams not being able to be started if memory card or 
           removable media was removed during playback.
- WINCE  - Fixed memory leak.
- PS2    - Mute wasn't muting hardware voices properly.
- PS2    - Free up streams in FSOUND_Close to avoid hang.
- PS2    - Fixed memory leak when using FSOUND_NONBLOCKING and sample list feature
           in FMUSIC_LoadSongEx.
- PS2    - Removed rare chance of buzzing noise if FSOUND_SetSpeakerMode was set
           and FSOUND_Init had 0 software channels specified.
- PS2    - Fixed FSOUND_STEREOPAN coming out in right speaker with mono sounds.
- PS2    - Unblocked FSOUND_Stream_SetEndCallback from possibly causing a stall.
- MAC    - Fixed critical section issues on OS9.
- XBOX   - Fixed loop point clicking on PCM based hardware sounds.
- FSBANK - Fixed command line version not returning correct error code to dos.
           Also stopped messagebox popping up when -h was specified.

* WIN32  - CDDA streams now return -3 from FSOUND_Stream_GetOpenState when cd is 
           ejected.
* PS2    - FSOUND_IsDiskBusy now accepts a parameter to determine if a stream is
           in the middle of a close (because stream close can cause blocking in 
           other functions if they are called while a stream is closing)

11/11/04 3.741 (Mac only)
-------------------------

- MAC	 - Fixed problems with playing Ogg Vorbis files.
- MAC    - Fixed threading issues which was causing problems in mac classic.
- MAC    - Added "Classic" target to all examples.

18/10/04 3.74
-------------

+ GC     - Added FSOUND_GC_PrepareForReset (see fmodgc.h) to prepare for software reset.
           This kills streams so FSOUND_Close can be called safely even with the tray 
           door open.
+ GC     - Added FSOUND_GetFreeHWRam to find out how much ARAM is free.
+ GC     - Memory footprint lowered.
+ XBOX   - FSOUND_Stream_OpenFromHandle added to allow dashboard tracks to be played
           after using XOpenSoundtrackSong.

- ALL    - FSOUND_Stream_Play is now faster.
- ALL    - Fixed FSOUND_SIGNED / FSOUND_UNSIGNED being ignored when FSOUND_LOADRAW in 
           FSOUND_Sample_Load/Ex.
- ALL    - Stream fix when a stream opened with FSOUND_NONBLOCKING runs out of memory.
- ALL    - Memory leak fixed in certain error situations trying to open a stream.
- ALL    - Remove rare stream crash.
- ALL    - Corruption when using compressed streams and stream loop points in rare cases 
           fixed.
- ALL    - FSOUND_SetVolumeAbsolute not working on software mixed 3D voices or PS2/GC
           hardware 3D voices.
- ALL    - Fixed S3M arpeggio.
- ALL    - Fixed an issue where on some platforms (xbox/gc/dsound) hardware voices would 
           enter an inconsistent state if channel that had played and ended was paused.
- WIN32  - ASIO Crash fix.
- LINUX  - Fixed hang on OSS output if another device was using the same device.
- LINUX  - Fixed crash when using ALSA by upgrading to the latest ALSA library.
           (It was an ALSA crash not fmod!)
- MAC    - Fixed crash on OS9 support.
- XBOX   - FSOUND_IsPlaying / FSOUND_GetNumChannelsPlaying fixed when FSOUND_SetPaused 
           was used.
- XBOX   - Sounds going quiet if FSOUND_Reverb_SetChannelProperties was called on 2d
           channels fix.  Now reverb channel properties are ignored if it is a 2d voice,
           as the properties related to a 3d environment anyway.
- PS2    - Fixed crash on streams with loop points in VAG format.
- PS2    - Fixed stream priorities being 0 instead of 256 due to a sifcmd optimization
           which lead to the undesirable effect of streams being stealable by the 
           channel priority system.  
- GC     - 3D sound rolloff algorithm updated to be consistant with other platforms.
- GC     - Fixed unpaused sounds playing through all of ARAM in some cases.
- GC     - Fixed audible glitch upon startup in certain cases.
- FSBANK - Fixed program stealing window focus when in hidden mode.

* ALL    - FMUSIC_SetSample now allows hardware samples specified for music files.  This
           means you can do things like use hardware VAG samples on PS2 in mod files.
* ALL    - Renamed stream2 to userstream.
* PS2    - Exposed FSOUND_SetDiskBusy on IOP interface for IOP programmers.
* GC     - Reduced memory fragmentation.

01/06/04 3.73
-------------

+ ALL    - FSOUND_CD_TrayOpen added.  Now close or open is specified manually.
+ WIN32  - Added CD TOC retrieval as an FMOD tag.  CDDB diskid generation added 
           to CDDA example.
+ WIN32  - Extended ASF/WMA tag support added.

- ALL    - FSOUND_Stream_GetTime and stream syncpoint fixes.
- WIN32  - CDDA pausing between tracks fix.
- FSBANK - Command line calls and list file parsing fix.
- GC     - Memory alignment crash fix
- PS2    - FSOUND_Init/Close restart fix if FSOUND_INIT_PS2_USEVOLUMERAMPING was specified.
- ALL    - FSOUND_CD_Eject removed in favour of FSOUND_CD_TrayOpen.

* FSBANK - If FSOUND_HW3D is specified on a stereo sample an error is displayed.


23/04/04 3.72
-------------

+ WIN64  - AMD64 version of fmod available!  fmod64.dll.  
           Runs in Windows XP 64 / Windows Server 2003.
+ ALL    - FSOUND_Sample_SetDefaultsEx / FSOUND_Sample_GetDefaultsEx added.  
           Now includes random variation settings for frequency, volume and pan!
+ ALL    - FSOUND_3D_SetMinMaxDistance / FSOUND_3D_GetMinMaxDistance added for per channel
           min/max distance control.
+ ALL    - 'fsb' example added.  Shows loading of an FSB file as a non blocking sample bank,
           then plays back the contents using the new random variation 
+ WIN32  - Faster DirectSound support, due to many driver calls eliminated.  This was 
           probably the cause of worse performance in FSOUND_HW3D mode than using the
           FMOD software mixer.  The software mixing mode probably still wins, but it 
           is better than it used to be.
+ WIN32  - WMA, ASF and WMV now run through FMOD DSP engine / streamer!  You can now load
           WMA files as samples, do DSP effects and spectrum analysis on these files.
+ WIN32  - ASIO output channels made enumerable and selectable through FSOUND_SetDriver.
+ PS2    - Optimizations on EE<->IOP communication with more EE side caching
+ PS2    - Added FSOUND_IOP_Alloc/Free.
+ PS2    - Added FSOUND_SPU2_Alloc/Free.
+ PS2    - Added FSOUND_SetADSR and FSOUND_SetADSRKeyoff
+ PS2    - Added FSOUND_SetSifCommandInfo, and a similar IOP mechanism for users wanting 
           to make FMOD cooperate with their own EE<->IOP sif command handlers.
+ PS2    - Stream2 example now shows VAG/ADPCM Hardware playback as well as PCM playback 
           and has an improved interface.
+ PS2    - 'streamwithdata' example added.  This shows using FSOUND_SetDiskBusy, and also
           loads game data at the same time without affecting the framerate.
+ PS2    - ShellMpeg example added!  This example makes the Sony Shell mpeg movie player
           example use FMOD via PCM or ADPCM using a custom FMOD stream.
+ PS2    - Added FMUSIC_SetRowCallback, FMUSIC_SetOrderCallback, FMUSIC_SetZxxCallback and
           FMUSIC_SetInstCallback support.
+ PS2    - Added fmodps2iop.h to expose FMOD file and memory routines to IOP programmers.
+ XBOX   - Reverb on 2d voices is now possible by calling FSOUND_Reverb_SetChannelProperties.
+ XBOX   - FSOUND_Output_XBox_GetEffectImageDesc added in fmodxbox.h
+ CE     - FSOUND_File_HasFatalErrorOccurred and FSOUND_HasPowerOnOccurred added in fmodce.h.

+ FSBANK - Now available as a programmers library!  Make your own FSB files without 
           fsbank.exe!  See fsbank.lib, fsbank.h and fsbank.chm.
+ FSBANK - FSBank now allows list files to specify sample defaults and randomization parameters per sound.

- ALL    - FSOUND_Sample_SetMaxPlaybacks fixed when using hardware samples.
- ALL    - Voice stealing fix with FSOUND_FREE.
- ALL    - FSOUND_IsPlaying / endcallbacks on streams not reacting in time when 
           FSOUND_INIT_STREAM_FROM_MAIN_THREAD bugfix.
- ALL    - mod/s3m/xm fix with pattern loop.
- ALL    - mod/s3m/xm/it.  Non looping songs now play the very last row instead of cutting it off.
- ALL    - .it files now respect the FMUSIC_SetLooping command!
- ALL    - FMUSIC_SetOrder now cleans up/resets old channels so skipping to a new part of the song
           doesn't cause weird playback issues.
- ALL    - FMUSIC_GetRealChannel fix for non playing music channels.
- ALL    - Loop points on natively compressed sounds (xadpcm,gcadpcm,vag) working again.
- ALL    - ADPCM compressed FSB support fixed.
- WIN32  - Analogue and Digital CDROM support fixes.
- WIN32  - FSOUND_HW3D support now drops back to directsound software buffers instead of fmod
           software mixed buffers to remove the issue of latency and possible skipping on 
           some soundcards due to bad drivers.  It avoids the need to have to play with the 
           mixer buffersize (FSOUND_SetBufferSize).  32 'hardware' voices are now reported
           if the card actually has no voices.
- GC     - Bugfixes.  Stereo sound fixes, crash fixes, pause/unpause fixes and more.
- PS2    - IRX files symbol stripped, now around 130k smaller for each file.
- PS2    - FSOUND_GetPaused fixed with streams that are started paused.
- PS2    - FSOUND_SetDiskBusy now does not block other FMOD commands if executed from another 
           thread asynchronously. (ie if the game has a threaded filesystem).
- PS2    - Memory saving.  200k on the EE.
- LINUX  - Ensoniq 1371 latency fix.  
- LINUX  - FSOUND_Init stalls/timeouts removed from various dodgy soundcards.
- LINUX  - OSS Recording bugs fixed.
- CE     - Streams now stop gracefully instead of hanging the thread if a poweron occurs and the file handle 
           to the stream on a CF card or external medium is lost.
- FSBANK - Many bugfixes.

* ALL    - FSOUND_GetNumHardwareChannels renamed to FSOUND_GetNumHWChannels to give more
           information including 2d and 3d channels seperately.
* ALL    - FSB files now allow mixture of mono and stereo sounds in the one bank.
           FSOUND_Stream_SetSubStreamSentence will fail if it encounters a sentence with mixed 
           formats but functions like FSOUND_Stream_SetSubStream will work.
* ALL    - FSOUND_INIT_ENABLEOUTPUTFX renamed to FSOUND_INIT_ENABLESYSTEMCHANNELFX.

14/11/03 3.71
-------------
+ WIN32  - CDDA support.  Now you can perform cd ripping, spectrum analysis or DSP effects
           on CD audio.  See FSOUND_Stream_Open and FSOUND_Stream_SetSubStream.
+ PS2    - New FSOUND_SPEAKERMODE_PROLOGIC2_INTERIOR speakermode added as an alternative
           to FSOUND_SPEAKERMODE_PROLOGIC2.  This method cuts number of sound playbacks to 
           24 at once instead of 48, but supports interior panning.  Probably not needed in 
           most games.

- ALL    - FSOUND_Close and stream thread safety fixes for extra stability especially when
           using end callbacks.
- ALL    - Buffered file system fix to avoid strangely playing streams.
- ALL    - Using FSOUND_Stream_SetTime in conjunction with FSOUND_FORCEMONO fix.
- ALL    - (except CE and PS2) - Chirping noise fix when not using FSOUND_MPEGACCURATE when 
           seeking in an mp3.
- ALL    - Possible OXM format memory leaks removed.
- WIN32  - WMA tag support fix.
- WIN32  - MP3 static fixed, when playing 2 mp3s at once or loading an mp3 sample while 
           streaming an mp3 simultaneously, on hyperthreaded cpus.
- LINUX  - FSOUND_Close hang fixed.
- PS2    - Sync callback support added
- PS2    - IOP memory leak in the kernel if FSOUND_Init and FSOUND_Close was called
- PS2    - Corruption noise removed in streams if the stream buffersize wasnt big enough and
           a stream tried to restart after buffer underrun.
- PS2    - Prologic 2 support fixes in the original PL2 mode.
- CE     - Small glitch noise removed when stopping and starting an mp3 stream.
- MAC    - linker issues resolved with mach-o build on certain versions of OSX.
- MAC/GC - endian issue fixed with noisy samples in .IT files.

* ALL    - specifying FSOUND_8BITS in loading a sample will now force the sample depth 
           down to 8bits to save memory.  OXM files now also downgrade decoded oggs back
           to 8bit when loading if the original XM had them stored as 8bit.

4/9/03 3.70
-------------

+ ALL    - Shoutcast / Icecast / HTTP streaming support added! (mp3/ogg vorbis only).
+ ALL    - Tag support, I3DV1, I3DV2, Ogg Tags, ASF/WMA tags now readable through api.
+ PS2    - Prologic 2 support now allows use of all 48 hardware channels, instead of 24.
+ PS2    - Delay and Feedback parameters on spu2 hardware reverb now supported through 
           EchoTime and EchoDepth parameters respectively.
+ WIN32  - FMOD Media Player updated with some new features.  Lowpass cpu usage bug fixed.
+ ALL    - NetStream example added to make it simpler to understand buffering logic etc.
+ ALL    - Saving the recorded result to a wav file added.  Shows how to Lock/Unlock a
           sample.
+ ALL    - FSOUND_Stream_*Sync* API changed around a bit / renamed.  Now user points are 
           stored as a pointer instead of an index, and the 256 limit is removed.
+ WINCE  - FSOUND_DSP_GetSpectrum now works!  Integer FFT implemented for non FPU devices.

- ALL    - WAV/AIFF only.  If a file had loop points embedded, then the mode (ie FSOUND_2D) 
           was being ignored, fixed.
- ALL    - Memory leak fixed if any FSOUND_Stream_*Sync* functions were called with 
           FSOUND_NONBLOCKING and the stream wasnt ready yet.  They now fail if not ready.
- WIN32  - WMA and FSOUND_NONBLOCKING now works.
- XBOX   - 360kb or so of memory saved!  Also DSSTDFX.BIN is no longer needed.
- PS2    - Ejected or corrupted CDs now recover smoothly on stream playback without making a noise.
- PS2    - FSOUND_Reverb_SetChannelProperties fix which was causing sound to dissapear.
- PS2    - Return values for most channel commands fixed, they were returning the wrong value.
- PS2    - Streams being truncated wth different stream length/buffersize combinations fixed.
- PS2    - FSOUND_GetPaused fixed.
- PS2    - Many other bugfixes.
- MAC    - Recording bugfix dependent on OSX version.
- WINCE  - fixed mp3 loading as sample bug, for files with corruption in them.

* ALL    - FMUSIC_LoadSongEx now takes an offset parameter for pak/wad/data file loading.
* ALL    - FSOUND_Stream_OpenFile is now called FSOUND_Stream_Open and also takes an 
           offset parameter for pak/wad/data file loading.

9/6/03 3.63
-------------
+ ALL    - FSBank updated.  Now all platforms support compressed FSB formats.
           Command line supported added.  Source files can now be specified via a text
           file, allowing ordering of sounds within fsb files.
+ ALL    - FSB format now supports sample banks to hold any sound format that fmod can
           load with FSOUND_Sample_Load, so for example you could have 1 fsb with 
           multiple mp3, ogg and wav files stored within it.
+ ALL    - FSOUND_Stream_OpenFile with FSOUND_MPEGACCURATE is now 25% faster!
+ ALL    - FSOUND_Stream_SetLoopCount added.
+ ALL    - FSOUND_NONBLOCKING support added to FMUSIC_LoadSongEx! Now sample banks can
           be loaded in the background.  Use new FMUSIC_GetOpenState to poll status.
+ PS2    - Dolby Prologic 2 support added! Use FSOUND_SetSpeakerMode and
           FSOUND_SPEAKERMODE_PROLOGIC2.  Note that this mode uses 2 hardware voices 
           for every fmod channel, so the number of channels is effectively halved 
           from 48 to 24 when using this speaker mode.
+ PS2    - FSOUND_Update now 30-40% faster!
+ PS2    - File routines now split into fmodfile.irx so users can quickly compile or 
           hook into their own IOP file routines.
+ ALL    - FSOUND_INIT_STREAM_FROM_MAIN_THREAD added.  This causes FSOUND_Update to 
           drive the streamer thread.  This is mainly because OS8/Macintosh doesnt 
           like streaming inside an MPTask, which is being worked on.  This will work
           around it.

- WIN32  - DirectX 8/9 bug fixed which could cause a crash with FX or recording.
- ALL    - FSOUND_Stream_SetTime is now sample accurate with mp3.  (it previously 
           seeked and rounded the position to the nearest mpeg block).
- ALL    - MP3 'chirp' noises when seeking (using FSOUND_Stream_SetTime or 
           FSOUND_Stream_SetPosition) reduced or removed completely.
- PS2    - FSOUND_IsPlaying bug fixes, Prologic 2 support!  Hardware click removal!
- PS2    - Greater volume accuracy which removes 'wobbly' sound when using small 
           mindistances in 3D sound.
- MAC    - conflict with cocoa libraries and the symbol _realloc removed.
- ALL    - Strange doppler effect when sounds went outside maxdistance fixed.
- ALL    - FSOUND_Stream_SynchPoint fixes.
- PS2    - FSB 16byte memleak fixed.
- ALL    - AIFF loop point support fixed.
- WINCE  - Loading MP3 as sample crash fix.
- WINCE  - FSOUND_GetLengthMs fixed with MP3 files.
- FSBANK - Mixing 8 & 16bit sounds dissalowed.  A stream is created in a particular 
           format (based on the first sample in an FSB), and if the first sound was
           8 bit but the rest were 16bit, the result would be noisy 16bit sounds.

* ALL    - win32/mac mainly.  FSOUND_Update now yields, causes operating task switch 
           for smoother multitasking.  You should call this function once a frame.
* MAC    - fmod_cfm.shlb now only exports the relevant fmod symbols and not the MSL stuff.

28/02/03 3.62
-------------
+ GC    - GameCube support added!
+ ALL   - Added DirectX 9 support.  You can now change frequency with 
          FSOUND_ENABLEFX enabled sounds.
+ ALL   - Cross platform IMA ADPCM wav file support!  Now you can use ADPCM 
          compression without windows codecs, and on any platform.
+ ALL   - Recording support added to Mac and Linux ports!
+ ALL   - FSOUND_Stream_SetMode and FSOUND_Stream_GetMode added to allow control 
          during playback, such as looping.
+ ALL   - FSOUND_Stream_SetSubStreamSentence added!  This allows for seamless 
          stitching/sentencing of streams. VERY useful for things like commentary 
          where you want parametized audio.  FSB format only.
+ ALL   - FSOUND_CD_SetTrackTime added.
+ PS2   - Now TRC compliant for sony submissions.
+ PS2   - Added multi-channel interleaved stream support! (FSB format only).  If 
          stereo is 2 interleave channels (L/R), this format allows up to 16 
          interleaved channels at once that play simultaneously.  This eliminates 
          seeking and improves CD bandwidth, and also allows interactive music with
          tracks that stay in perfect sync.
+ PS2   - FSOUND_Reverb_SetChannelAttributes supported, using Room parameter to make
          channel wet/dry.
+ PS2   - Stereo and even 'multichannel' (see above) sample support in hardware.  
          (FSB format only).
+ WIN32 - New example 'multiple' shows how to load fmod dynamically, and also play 
          sounds out of 2 soundcards at the same time!
+ WINCE - New complete set of examples!  3d, simple, simplest etc are all included.
+ LINUX - Better compatibility for old cards.  ALSA mode now allows device 
          enumeration.  Electic Fence tested.
+ WIN32 - 24 and 32 bit PCM wav files supported!

- ALL   - FSOUND_SetSubStream fixed when in FSOUND_NONBLOCKING mode and mulitiple 
          calls are issued at once.
- ALL   - FSOUND_Stream_SetEndCallback more accurate.
- PS2   - 'Corrupted' stream fix when usage of hardware channels were maxed out.
- PS2   - FSOUND_Stream_PlayEx was accidently blocking, fixed.
- PS2   - Multiple Listeners fix.
- PS2   - FSOUND_SetSFXMasterVolume fix for FSB banks.
- ALL   - Stream timing, mod timing, and stream endcallbacks are now more accurate.
- MAC   - OS8/9 support working again.

* ALL   - .FSB support is now cross platform.  PS2, GameCube and XBox allow compressed 
          FSB data.
* WIN32 - Made fmod.h and examples more cygwin friendly.
* ALL   - FMUSIC_LoadSongMemory is now changed to FMUSIC_LoadSongEx.  This function 
          handles loading from memory and more.
* ALL   - Frequency/Volume/Pan/3d position cached to reduce WIN32 driver call overhead?
* LINUX - fmoddyn.h updated and useable for linux.

18/12/02 3.61
-------------
+ ALL   - Added FMUSIC_SetUserData and FMUSIC_GetUserData
+ ALL   - Added FSOUND_3D_Listener_SetCurrent for multiple listener support!
+ ALL   - Optimized Ogg Vorbis.  Ogg decoding is now 2x faster!  
          Decoding is nearly 2x quicker than mp3!
+ WIN32 - A3D support re-added as an output mode only, for compatibility.
+ PS2   - Added FSOUND_Stream_SetSubStream/FSOUND_Stream_GetNumSubStreams, for FMOD 
          .FSB bank files are supported on PS2 Only.  Cross platform support is coming.
+ WINCE - Added Ogg Vorbis support via fixed point Tremor API.
+ ALL   - Added support for Neil Graham's .XM to .OXM converter.  This tool converts 
          XM samples into ogg files, making them dramatically smaller.
+ WIN32 - Added dynamic loading header fmoddyn.h.  This allows you to create multiple 
          instances of fmod = multiple soundcard output.
+ ALL   - Added FSOUND_Stream_SetLoopPoints.
+ ALL   - Added FSOUND_Stream_GetOpenState for determining the state of a non blocking stream open.
+ ALL   - Added FSOUND_Stream_AddSynchPoint, FSOUND_Stream_DeleteSynchPoint, 
                FSOUND_Stream_GetNumSynchPoints for sync point manipulation.  
          Previously they were only available in .WAV or .AIFF files.
+ ALL   - Added FSOUND_OUTPUT_NOSOUND_NONREALTIME.  Calling FSOUND_Update drives the 
          software engine as fast as you like.

- LINUX - Latency fixes.
- LINUX - OSS output now allows /dev/dsp* enumeration.          
- PS2   - Numerous fixed and speedups.
- XBOX  - Fixed WMA looping.
- WINCE - Added more power off/on support for some iPAQ models that didn't work before.
- WIN32 - Improved ASIO support!  More drivers work now that didn't work before.
- WIN32 - CD playback bugfixes.
- WIN32 - MIDI 'caching' bug fixed.
- WIN32 - FSOUND_ALL support now works with WMA channels.
- WIN32 - Pan clicks removed from FSOUND_MIXER_QUALITY_FPU
- WINCE - FSOUND_Stream_GetTime / SetTime / GetLengthMs more accurate for mp3.
- ALL   - Lots of memory optimizations.  FMOD now uses less memory than ever.

* FSOUND_3D_Listener_SetDopplerFactor renamed to FSOUND_3D_SetDopplerFactor.
* FSOUND_3D_Listener_SetDistanceFactor renamed to FSOUND_3D_SetDistanceFactor.
* FSOUND_3D_Listener_SetRolloffFactor renamed to FSOUND_3D_SetRolloffFactor.
* FSOUND_3D_Update renamed to FSOUND_Update

16/08/02 3.6 (WIN32/CE/Linux/Mac/PS2/Xbox Release)
-------------

+ PS2   - PlayStation 2 support added!
+ XBOX  - XBox support added!
+ MAC   - Macintosh support added!
+ LINUX - Major rewrite + support for ALSA 0.9!  Vortex2 support now working 100%.
+ ALL   - Added FSOUND_Sample_SetMaxPlaybacks.
+ ALL   - 'Constant power pan' added to software engine for better sounding pans.
+ ALL   - FSOUND_NONBLOCKING flag added for opening streams. (streams will open in background)
+ ALL   - AIFF Support added with full loop point and sync marker support.
+ ALL   - Ogg Vorbis support upgraded to 1.0 final codebase!
+ ALL   - FMUSIC_SetLooping added.  Music loops by default, so call to stop it looping.
+ ALL   - FSOUND_GetCurrentLevels added which returns a seperate left and right VU level.
+ WIN32 - FSOUND_FX_Disable added, so that FSOUND_FX_Enable doesnt have to be called each time.
+ WIN32 - MP2 support optimized, significantly faster.
+ WIN32 &
  WINCE - Wave-In recording support added.  Now recording works in NT and PocketPC!
+ WINCE - BIDI Looping and negative frequencies now supported.
+ WINCE - Smartphone, CE 2.11 and BE-300 support added.

- ALL   - Better MP3 format detection.
- ALL   - WAV sync markers now sorted if they are stored in the wav file out of order.
- ALL   - 3d sound and setvolume bug fixed.
- ALL   - XM apreggio was upside down on linear frequency tunes bug fixed.
- ALL   - FSOUND_SetFrequency.  negative followed by positive frequency now works properly.
- ALL   - FSOUND_GetCurrentVU removed in favour of FSOUND_GetCurrentLevels.
- WIN32 - Midi fixes. FMUSIC_IsFinished fixed, FMUSIC_StopSong fixed, FMUSIC_LoadSongMemory fixed.
- WIN32 - A3D/Geometry support removed.  Geometry may re-appear via FMOD instead of A3D support.
- WIN32 - Fixed DX8 FX (FSOUND_FX_xxx) support.
- WIN32 - Fixed CD Playback functions.
- WINCE - Better support for Casio E115G device.  Use 200ms buffer for these devices.
- WINCE - Seeking through SetTime/SetPosition bugfix especially with FSOUND_MPEGACCURATE.
- LINUX - Removed CD access at FSOUND_Init.

* ALL   - maxdistance behaviour unified on all platforms.
* ALL   - FSOUND_SPEAKERMODE_5POINT1 is now separated to FSOUND_SPEAKERMODE_DOLBYDIGITAL and
          FSOUND_SPEAKERMODE_DTS.
* ALL   - Changed FSOUND_INIT_ACCURATEGETCURRENTVU to FSOUND_INIT_ACCURATEVULEVELS.
* WIN32 - Stopping or playing a sound now does not reset the FX list.  You have to manually 
          do this with FSOUND_FX_Disable.  This reduces cpu usage if wanting to start and stop
          the sound repeatedly.

11/03/02 3.51 (CE Only release)
-------------
+ WINCE - FSOUND_GetCurrentVU support added
+ WINCE - Optimizations - All remaining emulated floats removed - now pure fixed point!

- ALL   - Memory usage reduced on MOD/S3M/XM/IT playback by up to 200-300kb per instance.
- ALL   - Other small fixes.
- WINCE - FSOUND_Init failing on some PocketPC devices fixed.

* ALL   - FSOUND_FORCEMONO enabled by default when a stream or sample is attempted to be 
          opened with FSOUND_HW3D, so the user doesnt have to specify it manually.

14/02/02 3.5
-------------
+ FMOD CE Only. Mono mixers added! (FSOUND_MIXER_MONO and FSOUND_MIXER_QUALITY_MONO).  
  30% faster than stereo!
+ EAX3 support added!  Advanced reverb api now also supporting occlusion and obstruction.
+ FMOD CE Only. Automatic power off/on recovery!  FMOD audio will resume as soon as the power
  is turned back on the Pocket PC device with no programmer intervention!
+ Ogg Vorbis version update to 1.0 RC3.
+ New tutorials in the documentation!  The basics, DSP tutorial, DX8 FX tutorial and spectrum 
  analysis.  Documentation index revamped and updated.
+ FSOUND_SetMemorySystem added.  Allows the user to fexibly control memory allocated by FMOD.
+ Multiple CDROM support added.  Pass 0 for default, or 'D','E' etc to select the cd drive.
+ FSOUND_Stream_SetBufferSize added.  Useful for streaming from CD when the default size isnt 
  big enough, and causes audio skips because the cd is being held up.
+ FSOUND_SetFrequency supports negative frequencies.  Play sounds backwards!
+ FMOD media player allows seeking in mods and streams by clicking on progress bar
+ Linux version brought up to date.  Thanks to SUSE distro guys for helping out.
+ FSOUND_GetCurrentVU latency adjusted (via FSOUND_Init flag), and now emulates a software 
  mixer giving perfect VU feedback.

- Sound skips with streams removed by bigger default stream buffersize. (also on CE)
- Divide by 0 in linux version removed.
- Bug fixed where an item appeared on the windows taskbar for FMOD's cdrom handling code.
- Time accuracy bug fixed which affected gettime functions and sync callbacks.
- Fixed distortion on mp3 playback under FMOD CE.
- FSOUND_SetMute using FSOUND_ALL bugfix.
- DirectShow assert removed when an error occured loading wma.
- EAX1 support removed (superceeded by EAX2/EAX3).

* FSOUND_FX api now allows multiple instances of the same effect per channel.
* Ability to 3d position stereo soures removed in software mode. Streams and samples now default
  to FSOUND_STEREOPAN so they are louder.  Use FSOUND_FORCEMONO on streams/samples to make them 
  3d.
* Intel performance primitives for ARM were tested but removed due to insignificant speed increase.

13/09/01 3.4
------------
+ DX8 fx support
+ Windows CE / PocketPC support added for handhelds! (such as compaq ipaq/casio/jornada etc).
  CE support is considered in beta.  See the forum at http://www.fmod.org for beta feedback.
+ Ogg Vorbis decoder upgraded to Version 1.0.  1.0 is a large quality improvement!
+ FSOUND_SetCurrentPosition added.
+ FSOUND_GetOutputHandle added to return dsound / waveout / a3d pointer.
+ FSOUND_SetSpeakerMode added.  Get true dolby digital/DTS surround output through supported hardware!
+ FSOUND_DSP_GetFFTUnit and FSOUND_DSP_GetSpectrum added.  It is now possible to get a spectrum 
  analysis of FMOD's mixer output in realtime.  Great for graphics, beat detection and note detection.
+ FSOUND_PlaySoundEx added.  Has 'paused' flag that allows the user to optinally start the sound
  paused, set any attribute, and then unpause it later to start it playing.  Also can takes
  a DSP unit handle, which means channels can now attached or grouped to specific DSP units.
+ FSOUND_DSP_GetBufferLengthTotal for help with DSP buffersize calculations.
+ FSOUND_FORCEMONO flag added for samples/streams.  Force stereo sounds to play as mono.
+ FSOUND_ENABLEFX flag added for samples/streams.  Enables a sample/stream to use DX8 FX.
+ FSOUND_2DHW flag added for samples/streams.  Allows 2d hardware acceleration.
+ "file://" support added for streams.
+ new sample in /samples/dsp added.  This shows how to use the new DSP feature of 
  FSOUND_PlaySoundEx to have wet/dry effects, and also the FSOUND_FX_xxx API on hardware voices.

- FSOUND_PlaySound3DAttrib removed due to FSOUND_PlaySoundEx.
- FSOUND_Stream_Play3DAttrib removed due to FSOUND_Stream_PlayEx.
- FSOUND_Stream_SetPaused & FSOUND_Stream_GetPaused removed.  Use FSOUND_SetPaused, FSOUND_GetPaused instead.
- FSOUND_Stream_SetSynchCallback fix for long files.
- FSOUND_UNMANAGED flag fixed when calling FSOUND_Close.
- Removed small audible glitches or 'chirps' when seeking in an mp3 stream.
- Delay when opening a stream removed.
- Streams now reset's its buffers when FSOUND_Stream_SetTime or FSOUND_Stream_SetPosition is 
  called.  This makes it more cpu intensive to seek, but results in no delays when seeking.
- Small accuracy bugfix in IT replay for looping envelopes.
- fix in delay note + volume envelope for XM.
- A3D Support fixed and working ok again.
- WMA/ASF/etc Support improved.

* FMUSIC_SetInstCallback behaviour changed to support more than one instrument at a time.

28/04/01 3.33 
-------------
+ Linux Version update.
+ FSOUND_ALL support added to FSOUND_Reverb_SetMix.

- EAX2 bugfix with FSOUND_Reverb_GetEnvironmentAdvanced
- Click noise removed from WAV streams if FSOUND_Stream_SetTime was used before Play.
- S3M bugfix for samples with middlec of 0.
- Low quality mixers have been removed.  The symbols are there for backwards compatibility
  but choosing one will autodetect a quality mixer instead.
- Small bugfix in FPU quality mixer to do with volume ramping.
  
* Licensees now get an extensive compile time configuration header to include or exclude as many 
  fmod features as they like!  a stripped FMOD.DLL can be as small as 20k now.

27/03/01 3.32
-------------
+ FSOUND_SetVolume, FSOUND_SetPan & FSOUND_IsPlaying support for WMA/ASF/Internet 
  streams/etc added.  Multiple wma's open at once bug fixed.
+ Excellent quality resonant lowpass code added to fmod.exe example.  Source available.
+ FSOUND_INIT_GLOBALFOCUS added for directsound output, to allow sound to be heard
  even though the window is out of focus.
+ OGG VORBIS - Official beta 4 release included.  Previous ver was pre-release beta 4.

- Recording interface re-enabled.
- MP2 fix - sound coming out one channel for stereo sounds now work properly.
- 3D sound glitch with FSOUND_PlaySound3DAttrib fixed.
- FSOUND_Stream_GetLengthMs returning incorrect results loading multiple mp3's fix.
- exception when loading many wav files fixed.
- MIDI updates - FMUSIC_GetTime works again and support for FMUSIC_IsFinished added
- Possible DX8 related problems removed.
- Better handling of machines with NO soundcard.

* improved multitasking / buffering = lower cpu usage, more stability for sound output, 
  especially on weird configs and low spec machines.
* FMOD will now play the audio track out of AVI files - ie DIVX etc :)

18/02/01 3.31
-------------
+ WAV Loop point support added!  FMOD will now interpret loop points set in soundforge etc.
+ OGG VORBIS - Beta 4 used with FMOD.  Fixes problems and has speed benefits.
+ FMUSIC_SetInstCallback added.  Get callbacks on mod type instrument numbers.
+ FSOUND_Stream_SetSynchCallback added.  Visually drop markers in your wav editing package and 
  FMOD will callback in time to the points as the sound plays!  Great for lipsynching/gfx 
  demos etc.  WAV/RIFF mp3 only.
+ DX8 support added.
+ NT detection added.  This will mean WINMM is automatically enabled if FSOUND_Output isnt 
  called for better performance.  All other WIN32 OS'es will use DSOUND.
+ Static library project added for commercial licensees.

- Extra MP3 error checking, avoids crash on bad mp3 files. (why are there so many?)
- Crash fix on certain combinations of machines with sblive cards.
- WMA / Internet stream support error code fix.
- WAV loader now handles files with 2 data chunks :)
- FSOUND_DSP_ClearMixBuffer now works properly.
- Fixed wobbling row/order/time when you pause a mod.
- small crack noise at the end of looping 8bit wav files fixed.
- FSOUND_Stream_GetTime improved especially with looping streams.
- Zxx sync bug with mod files fixed where more than 1 Zxx was placed on a row.
- XM multiretrig + volume column volume bug fix.

- LINUX - Oss now opens the socket in nonblocking mode. That should take care of the
  lockups some ppl got when another app was using the sound. 
- LINUX - Esd now checks (via a select()) if it can send data, blocks if it can't. The
  newest Elightment Sound Daemon choked on that one, and it's the Right Thing(tm) to do. 


* A bug has been found in the win2k sblive drivers to do with volume levels on 3d sounds.. 
  We suggest you get the newest version.

17/12/00 3.3
------------
+ Linux support added!  Big thanks to Magnus Naeslund on this for such a big effort!
+ .MIDI/.RMI support added.  (use FMUSIC_LoadSong)
+ .OGG (Ogg Vorbis) support added.  (FSOUND_Stream_OpenFile/FSOUND_Sample_Load). 
+ .MP2 (mpeg layer 2) support added.  (FSOUND_Stream_OpenFile/FSOUND_Sample_Load). 
+ .WMA Support added. (FSOUND_Stream_OpenFile).
+ .ASF audio Support added.  (FSOUND_Stream_OpenFile).
+ Internet streaming support added!  Pass a URL to FSOUND_Stream_OpenFile!!!
+ Volume Ramping ('click removal') added to MMX mixers.  All quality mixers now ramp by default.
+ MP3 playback optimized.
+ Delphi and visual basic interface updated.
+ Documentation update.

+ API changes and new features!!! -
+ FSOUND_Stream_GetLengthMs added.  Returns length of stream in milliseconds.
+ FSOUND_Stream_SetTime added.  Allows setting the position of a stream in ms. (even VBR mp3s!)
+ FSOUND_Stream_OpenFile added.  This combines all the old 'FSOUND_Stream_Open*' commands into 1.
+ FSOUND_Stream_SetEndCallback added.  Get a callback when the stream has finished!
+ FSOUND_Stream_GetSample added.  Get the internal FSOUND_SAMPLE definition for a stream.
+ FSOUND_Stream_CreateDSP added.  Add a DSP effect chain per stream if you want!  
+ FSOUND_Stream_Play3DAttrib added.
+ FSOUND_CD_SetVolume and FSOUND_CD_GetVolume added.
+ FSOUND_CD_GetTrackTime added.  Returns current track time.
+ FSOUND_CD_GetTrackLength added.  Returns track length in milliseconds.
+ FSOUND_Sample_Load replaces all previous FSOUND_Sample_Load* functions.
+ FSOUND_Sample_GetName added.
+ FSOUND_PlaySound3DAttrib added.  Replaces FSOUND_3D_PlaySound and FSOUND_PlaySoundAttrib.
+ FSOUND_SetLoopMode added for those who want per channel loop control not per sample.
+ FMUSIC_SetReverb added (for MIDI only currently)

+ FSOUND_LOADMEMORY flag added which allows sample loading, and STREAMING from a memory pointer.
+ FSOUND_MPEGACCURATE flag added for FSOUND_Stream_SetTime and MP2/MP3.  You can use this to get accurate time length,
  and set the exact specified time in an MP3 even if it has a Variable BitRate!! (VBR)
+ FSOUND_ALL added to channel and sample flags.  This allows 1 function call (to FSOUND_SetVolume 
  for example) and it will affect ALL channels!  The possibilities are cool, such pitchbending all 
  sounds playing with FSOUND_SetFrequency(FSOUND_ALL, freqval); etc.


- Some mod based fixes including better support for corrupted files :} 
- Click bug removed on single-shot (non looping) samples for software engine.
- Bug in mmx 8bit sample mixers fixed.
- Streaming files stutter bug upon start removed / lessened.
- MP3 frame filter added to remove corruption/glitches in bad mp3's.
- ADPCM wav file corruption introduced in 3.22 removed.
- FSOUND_Sample_SetLoopPoints bad parameter handling fixed.
- FSOUND_StopAllChannels removed in favour of FSOUND_ALL flag. fmod.dll is still backwards compatible.
- FSOUND_Sample_LoadWav removed in favour of FSOUND_Sample_Load. fmod.dll is still backwards compatible.
- FSOUND_Sample_LoadMpeg removed in favour of FSOUND_Sample_Load. fmod.dll is still backwards compatible.
- FSOUND_Sample_LoadRaw removed in favour of FSOUND_Sample_Load. fmod.dll is still backwards compatible.
- FSOUND_Sample_LoadWavMemory removed in favour of FSOUND_Sample_Load. fmod.dll is still backwards compatible.
- FSOUND_Sample_LoadMpegMemory removed in favour of FSOUND_Sample_Load. fmod.dll is still backwards compatible.
- FSOUND_Stream_Open removed in favour of FSOUND_Stream_OpenFile. fmod.dll is still backwards compatible.
- FSOUND_Stream_OpenWav removed in favour of FSOUND_Stream_OpenFile. fmod.dll is still backwards compatible.
- FSOUND_Stream_OpenMpeg removed in favour of FSOUND_Stream_OpenFile. fmod.dll is still backwards compatible.
- FSOUND_3D_PlaySound removed in favour of FSOUND_PlaySound3DAttrib. fmod.dll is still backwards compatible.
- FSOUND_PlaySoundAttrib removed in favour of FSOUND_PlaySound3DAttrib.  fmod.dll is still backwards compatible.
- FSOUND_MIXER_QUALITY_FPU_VOLUMERAMP removed, all quality mixers are volume ramping now.
- FMOD_ERR_INVALID_MIXER error removed in favour of already existing FMOD_ERR_INVALID_PARAM flag.
- FSOUND_GetCurrentVU improved, and bugfixed for stereo samples.
- Other minor bugfixes.

* Streamer callbacks created with FSOUND_Stream_Create must now return TRUE, or FALSE to terminate the stream.
* FSOUND_MixBuffers renamed to FSOUND_DSP_MixBuffers
* _cdecl calling convention specified for callbacks in case default calling convention is changed (thanks Aristarkh Zagorodnikov)
* changed LCC-WIN32 compiler definition in fmod.h to __LCC__ (not LCCWIN32) so it works better now :)

05/11/00 3.21
-------------
* Intermediate update before FMOD 3.3 is released.

+ New, easier to navigate documentation layout.  Recording interface added to documentation :)

- End of non looping MP3 on rare combination of filelength crash fixed.
- More efficient streaming engine, mp3 and other format playback is even faster than before.
- Master Volume and FSOUND_SetVolumeAbsolute bug fixed.

04/05/00 3.2 DX3 Patch
-----------------------
+ Improved playback stability with harddisk interruptions occuring in the background.
- DirectX versions *less than* DX7 compatibility problem fixed (most noticable under NT).  This was thanks to bug in dsound API (thanks microsoft!)


01/05/00 3.2
------------
* FSOUND_NORMAL re-defined to (FSOUND_LOOP_OFF | FSOUND_8BITS | FSOUND_MONO), as in some
  cases it was being mistaken for a bitfield and or'ed in with other flags when it infact wasnt. (it was 0!)
* FSOUND_EAX interface renamed to FSOUND_Reverb interface.  (to fit a3d reverb, software reverb etc not just EAX)

+ DX7 support added.  This adds more hardware voices than previously possible before.
+ EAX 2.0 support added.  This means advanced reverb functionality and manual occlusion control.
+ A3D 3.0 support added (FMOD comes with a3dapi.dll now).  This adds A3D reverb and advanced reverb support.
+ RECORDING support added.  See FSOUND_Record_StartSample, FSOUND_Record_StartWAV etc.
+ FSOUND_MIXER_QUALITY_FPU_VOLUMERAMP mixer added.  This removes clicks on sudden volume changes for added quality.
+ MMX quality mixer speed increased AGAIN to crazy speeds!  Check out the new comparison charts.
+ 'userdata' parameter added to FSOUND_Stream_Create.
+ FMOD Standalone player/example (fmod.exe). Added 48khz support, MP3,WAV & A3D 3 support!
  Reverb added (NR button removed) and lowpass filter declicked.  See FMOD.C for the code for all this!
+ New music callbacks! FMUSIC_SetRowCallback, FMUSIC_SetOrderCallback.  LATENCY ADJUSTED, so when it calls back on a particular row, it is the row you HEAR.
+ FSOUND_Stream_GetTime smoother and LATENCY ADJUSTED, so when the time displays a value, that is the time into the stream that you HEAR.
+ FMUSIC_GetPatternLength added.  (for time calculation purposes)
+ FSOUND_SetMinHardwareChannels and FSOUND_SetMaxHardwareChannels added.  Great for controlling 3d Hardware resources.
+ FSOUND_REVERB_IGNOREPARAM added, so you can change specific elements of environmental reverb and ignore others.
+ Delphi interface added!  
+ Added fmod_errors.h which contains FMOD_ErrorString.  Use this in conjunction with FMOD_GetError to get a string description of the error.

- PCM .WAV files accidentally did an ACM codec check even if it was PCM.  Some machines didn't
  have this PCM ACM codec, and so loadwav or openwav failed - ACM check now skipped for PCM files.
- FSOUND_GetCurrentVU fixed!
- 3D - Software engine bugfixed rolloff and distancefactor to make it sound more like DS3D.
- WAV/MP3 - streamer fixes and improvements.  
- XM/IT - portamento with multi sample instruments fixed.
- API - FSOUND_Sample_Get somehow dissapeared from the DLL.. back again.
- API - MU-Law functions removed.
- Many other miscellaneous fixes.

08/01/00 3.11
-------------
+ RIFF based MP3 files and MP3's with ID3 tags at the start now supported.

- LoadSongMemory fixed and works again
- Pentium Pro selecting wrong mixer upon autodetect now fixed.
- XM and IT bugfixes.

24/12/99 3.1
-------------

* FMUSIC_OptimizeChannels put back into fmod.h.  Im not sure why it dissapeared in the first place :)
* 'stream.exe sample' changed from WAV to a MP3 command line streamer because more people wanted that.
* LoadMemory functions now take a length (length of the buffer).  You may have to change your code 
  to support this (it is not backward compatible with 3.0.  I didnt want to add more functions to the 
  API for such a minor change.

+ Variable bitrate MP3's now supported!
+ FSOUND_SetHWND added for those who want to specify their own HWND for dsound focus purposes.
+ FSOUND_Stream_GetTime added, for smooth, non lagged, accurate synchronization with stream 
  playback.
  Use this for synchronizing MP3's to your graphics!
+ Added stability to sound output of software engine, for when harddisk accesses occur.

- 8 bit raw wav streaming bug fixed where output was noisy.
- Streamer start/stop logic bug fixed/improved. (it used to hang on exit if you did several start/stops in a row)
- Small XM bugfix on delay note.
- Fixed startup crash bug.  This was caused by BAD DRIVERS.  Creative ES1370 sound card drivers
  have a bug, and they have the cheek to set the certified bit in the caps.  It also reports 
  256 hardware 3d channels which is obviously a lie.  Thanks to Marcus Aarts, Anders Nilsson and 
  Shane Stevens for helping me find this one.
- Documentation fixes.


12/12/99 3.0
-------------

* New timing system, no more update rate, no more mixahead! a lot more stable on shit cards 
  like awe64, and at the same time, very low latency.
* FSOUND_SetPanSeperation only affects sfx now, not music.  
* If mixer is not selected, it defaults to a quality mixer now, not a low quality one like before.
* FSOUND_Geometry_AddPolygon now supplies normal as well AND opening factor. (it takes NULL also)
* FSOUND_3D_Listener_GetAttributes now consistant across all output types. (waveout missed out before)
* FSOUND_SetPaused now works on FSOUND_HW3D buffers.
* FSOUND_SetMute now works on FSOUND_HW3D buffers.
* FSOUND_MixChannel renamed to FSOUND_MixBuffers (it has nothing to do with channels really)
* FSOUND_Listener_SetAttributes does not update 3d info now, FSOUND_3D_Update does.

+ Added FSOUND_File_SetCallbacks.  Use this to make FMOD use your own file operations.
+ Compressed WAV support added
+ MP3 Support added
+ EAX Support added
+ A3D Support added (with full geometry and list support)
+ MMX quality mixer sped up 2-3 times on ppro+ machines! (p6/p2/p3)
+ FSOUND_Driver_GetCaps added.. Now query the capabilities of drivers before calling FSOUND_Init.
+ FSOUND_Stream_Create added - an easier way to stream data.
+ FMUSIC_SetPanSeperation added, for per song pan seperation control.
+ FSOUND_3D_Update added.  This is now the global 3d update/flush function, NOT FSOUND_Listener_SetAttributes.
+ FSOUND_Geometry_Material functions implemented
+ Documentation added for geometry stuff, also other documentation updated (playsound, 3d stuff)
+ Software 3D Engine updated!  Software sounds used to audibly update on 
  FSOUND_3D_Emitter_SetAttributes only, and not when the listener was updated.  
  Now they are updated on neither, they are audibly updated now in FSOUND_3D_Update.  
  This means you can now move the listener without updating the sources and all the sources will 
  update automatically!  This behaves the same as DS3D now.
+ FSOUND_GEOMETRY_OPENING & FSOUND_GEOMETRY_OPENING_REFERENCE implemented!  create doorways.
+ Geometry list functions added.  A faster way of processing geometry.
	FSOUND_Geometry_AddList(FSOUND_GEOMLIST *geomlist);
	FSOUND_Geometry_List_Create(signed char boundingvolume);
	FSOUND_Geometry_List_Free(FSOUND_GEOMLIST *geomlist);
	FSOUND_Geometry_List_Begin(FSOUND_GEOMLIST *geomlist);
	FSOUND_Geometry_List_End(FSOUND_GEOMLIST *geomlist);
	FSOUND_Geometry_List_Add(FSOUND_GEOMLIST *geomlist);
+ Added FSOUND_SetBufferSize
+ Added FSOUND_DSP_GetBufferLength

- FSOUND_Sample_Lock / FSOUND_Sample_Unlock documented properly (oops! :)
- Soak test bug caused wave out to crash after 3 hours of operation.. fixed.
- Fixed bug in FSOUND_Sample_Create 
- Some module playback improvements from fmod 2.25.
- IT mod format bug fix. (NNA caused sample vibrato to lose integrity)
- Error code is now set to FMOD_ERR_NONE on all function calls, so you dont parse an error 
  that was set 10 function calls ago for example.
- NoSound output mode improved.
- Removed FSOUND_SetMixAhead 
- Removed FSOUND_SetUpdateRate

18/10/99 2.25
-------------
* Version number now included in DLL. (right click on DLL for info)
+ IT - mods composed with IT versions older than 2.0 reenabled.  I dont have many
  of these songs and it seemed to work straight away and the songs i did have.
  They sounded ok, but if there are any problems with old IT mods then mention 
  them to me and I might try to fix them. (theyre not high on my priority list)
- FMUSIC_SetZxxCallback did not have the correct documentation and just took a 
  void * as the callback.  The actual format of the callback is 
  callback(FMUSIC_MODULE *mod, unsigned char param).  FMUSIC_SetZxxCallback now
  forces this.
- IT - Impulse tracker 2.15 compressed samples reenabled :)
- IT - FMOD was interpreting IT's stereo flag for samples, which was erroneously 
  set by older versions of IT, causing some samples to play twice as fast as they 
  should.  Stereo check removed (IT never supported stereo samples)
- MOD S3M XM IT - Sample offset bug fixed.
- XM IT - minor bugs fixed.
- Closedown stability increased.

31/08/99 2.24
-------------
* This is the last FMOD 2.* update unless there are some small niggling bugs.  I
  need to finish 3.0.
* NOSOUND - FSOUND_OUTPUT_NULL now behaves as if everything is active, therefore
  you will get all music callbacks and timers, vu meters, dsp functions and everything
  else working correctly etc as if it was playing, but you dont hear anything.
* FMOD ported to N64.
* API - this version is now declared stable.  It has been run over with memory leak
  tools and numerous memory problems have been found and fixed.
* DSP - Note that the 'length' part of the callback now fluctuates more to increase 
  output stability, and its maximum size can equal up to the updaterate + mixahead
  in milliseconds.
* TOOLS - convert.exe removed.  use soundforge or some such program if you want to 
  convert a wav to a a raw signed datastream.
  
+ API - New reference count channel index!  The index PlaySound returns now has a 
  reference count in the top 16bits.  This so you can call playsound, store the 
  return value, then if that channel gets stolen by the priority system, and you 
  blindy try and keep updating it as if it was from your original playsound, the 
  new sound wont be affected!! 
+ API - FSOUND_Stream_OpenWav added.  Now you can stream wav files with ease.  This
  version still only supports PCM wav, but FMOD 3.0 should change this situation.
+ API - FSOUND_SetSFXMasterVolume & FSOUND_GetSFXMasterVolume added.
+ API - FSOUND_SetVolumeAbsolute added.  This volume overrides master volume.  Great
  if you need to lower the volume of your game effects and make one stand out.
+ MUSIC - FMUSIC_OptimizeChannels added!  This function kicks arse if you are trying
  to lower channel usage.  You give it a 'channels mixed' value, and a 'mod volume'
  value, and it wont play sounds in a song that have a lower volume than 'mod volume',
  if 'channels mixed' is being exceeded as stated in FSOUND_GetChannelsPlaying.
  One example is a game that reduced its maxchannels from 24 to 16 because of this
  with no audible difference.  (the song had a lot of 'echos' that didnt need to be
  audible when things got noisy, so FMOD threw them away.)
+ MUSIC - FMUSIC_GetSample and FMUSIC_SetSample added!  This allows you to get control
  of samples within a mod!  Great if you need to compress samples yourself and then
  decompress them back into the mod during your game.  This was in 2.23 but i forgot
  to mention it here :)
+ STREAM - file streaming example added to the sample directory.  Command line driven
  and takes a .wav file.

- 3D - Software doppler effect rewritten, now physically accurate :).. 
  FSOUND_3D_Listener_SetDopplerFactor() now means something different to the previous
  versions.  Check the documentation for more on this.
- DRIVER - fixed problem with some peoples machines that have more than 16 
  'soundcards' that i thought would be the maximum.  (It is actually just a 
  hardware card enumerating a whole waveout device for each hardware channel.)
- INTERFACE - command line parameters fixed, and some people not seeing the interface
  appear should now be happy.
- IT - channel allocation bug fixed.

17/08/99 2.23
--------------
+ API - FSOUND_UNMANAGED flag added for sample loading/management
+ API - Added FSOUND_DSP_ClearMixBuffer.  Use this before doing a biiiiiig harddisk access so you 
  dont get looping noise/stuttering, (because the harddisk/windows basically bus masters and shuts 
  down all threads,  causing the mixer to stop as well, but the soundcard keeps playing the buffer).
- API - FSOUND_Sample_LoadWav & FSOUND_Sample_LoadWavMemory now return proper error code.
- MIXER - clicks removed from bidi looping sample in quality mixer.
- IT - fixed 2.15 compressed samples now work (oops forgot to call the right decompressor)
- IT - Memory footprint drastically reduced for pattern data (now leaves pattern data compressed and
  unpacks on the fly)
- XM - Digitracker saved XM's now work correctly (dont crash, and illegal stuff filtered out)
- XM - envelope bug fixed.
- 3D - divide by 0 bug fixed (when listener and emitter are at the same location)
* API - Sample based functions like FSOUND_Sample_LoadWav etc take an index now, so you can specify
        an absolute sample manager index, FSOUND_FREE or FSOUND_UNMANAGED

18/06/99 2.22 rev 1
------------------
- IT - really obscure crash bug fixed.

18/06/99 2.22
------------------
- MOD - accidently broke mod support, fixed
- S3M - fixed bug with bpm's smaller than 20h
- Idle optimization back in

14/06/99 2.21
------------------
* Fix included from 2.2rev1 (registry bug in fmod standalone player)
* VC5 compatible import library included. vc6 only slipped into the last release.
+ IT 'envelope carry' support added.
+ MIXER - big increase in sound stability when harddisk is being accessed!!
+ LCC-WIN32 import library added.
- IT - crash bugfix. (envelopes with loop end before loop start)
- IT - volume bug (not hearing some samples at all) fixed in IT 'sample' mode.
- MOD S3M XM IT - fixed pattern delay bug
- DLL - size of DLL reduced by 12k!

08/05/99 2.2 rev 1
------------------
- INTERFACE - fixed stupid registry bug which cause bad drivers to be initialized
  at start up.  It caused possible crashing, 000 channels mixed to be displayed
  and no sound.

16/05/99 2.2
------------
* FMOD is now a non beta release!  
* MIXER - Changing driver on the fly with FSOUND_Driver_Close and 
  FSOUND_Driver_Init does not stop music playback any more. Everything 
  continues playing as it had been.
* API - Please read the new documentation on FSOUND_SetUpdateRate and 
  FSOUND_SetMixAhead!!!!  This should remove confusion about what they do
  and the issues of cpu usage, response time/latency and sound stability!
+ MIXER - FPU 32bit interpolating high quality mixer added!
+ API - FSOUND_Sample_SetLoopMode added
+ MOD - M!K! mod format supported.
+ INTERFACE - FMOD now saves sound settings in registry.
- API - Safety checking put into FSOUND_SetOutput, FSOUND_SetDriver,
  FSOUND_SetMixer, FSOUND_SetUpdateRate and FSOUND_SetMixAhead.  These 
  functions will fail and return an error code if FMOD is active and playing 
  sounds.  You need to close FMOD down to call these functions, then 
  reinitialize it.  FSOUND_Driver_Close and FSOUND_Driver_Init will fail also 
  if FSOUND has not been initialized with FSOUND_Init.
- MIXER - Fixed rare crash bug when background disk access caused timer 
  fluctuations.
- MIXER - Fixed rare sound output instability caused by closing and opening 
  fsound's driver code very quickly in succession.
- MIXER - Fixed crash bug on bidi samples playing backwards, at volume 0, 
  on the standard blendmode mixer only. (FPU Mixer also)
- MIXER - Fixed horrible fuzzy quality bug with MU-Law compressed samples!
- MIXER - Fixed standard blend mode mixer, which wasnt doing vol0 optimization 
  on -muted- channels.
- IT - fixed crash bug with mod that reference IT instruments beyond the
  number of instruments.
- API - All 'interpolation functions' removed, if you want interpolation select
  the FPU interpolating mixer and every sound played will use full 32bit 
  interpolation.  (choosing which channels you want interpolated would end
  up being a pain. Most people just want everything interpolated or not)
- CD - various CD player bugs fixed (random play, pause logic etc)
- API - FSOUND_GetCurrentVU now reports correct values for MuLaw compressed 
  samples.

09/05/99 2.19b
--------------
* API release, this includes changes/fixes from 2.18 Update 1 (cdrom fixes)
* Documentation updated
* FMOD is now approaching a non beta state! (no bug reports are coming in)
  Beta status will most likely be removed in a few weeks (maybe version 2.20)
* API - FSOUND_SetLatency has been renamed to FSOUND_SetUpdateRate, sorry for
  the name change but it is really the incorrect name for what this function does. 
+ INTERFACE - Settings now saved in registry.  New minimal CD Player panel!
+ CPU usage reduced during idle time. FMOD shuts itself down when nothing is happening.
+ API - FSOUND_Sample_Alloc now allows specification of default priority as well.
+ API - FSOUND_Sample_SetDefaults lets you set a sample's default freq,vol,pan & priority.
+ API - FSOUND_GetCurrentVU added, by request. (useful for vu bars/beat detection?)
+ API - FMUSIC_GetTime added, by request.  Useful for exact music synchronization EVERY time.
+ API - FSOUND_GetCurrentSample added, allows you to get the currently playing sample for
  a particular channel, useful for comparisons.. ie to see if a particular sample is still 
  playing on a particular channel.
- API - FSOUND_SetAttributes removed.  It was added before due to a request but I
  feel it is just API bloat and can be achieved through a macro.

28/04/99 2.18b Update 1 (player only)
------------------------------------
* FMOD - player only being updated here, not the API.  API releases usually
  come on the weekend. (they take more time to prepare)
+ CD - Added continuous, looped and random buttons for playback method.
- CD - All bugs fixed in CD player, all created by BUGS in WIN32 API 
  functions.   (mmsystem & mci commands- some work ok on NT, fail on 95).
- Removed startup dialog box.  Defaults to primary device and dsound.  Hit config
  to change. (maybe use registry later)

25/04/99 2.18b
--------------
* API - FSOUND_GetNumChannels renamed to FSOUND_GetMaxChannels
+ CD - New CD commands and support.  FSOUND's CD system is a NON POLLING non
  intrusive system (unlike windows cd player), for smooth background performance.
  Tracks can now be looped, stopped and continued.
+ INTERFACE - new filters!  Preverb filter(!) and Noise reduction.
+ INTERFACE - CD Player added.

17/04/99 2.17b
--------------
* API - FSOUNDVC.LIB now VC5.0 compatible.
- XM - Fixed crash on sample offset.
- API - FMUSIC_SetPaused fixed.
- MIXER - Fixed MULAW mixer.  Remember MULAW only works when a song has 16bit
  samples (it converts them to mulaw), otherwise it isn't any different.  It 
  only works for the blend mode mixer as well.  The MMX mixers are fast enough
  not to need mulaw.

11/04/99 2.16b
--------------
+ API - DSP Engine implemented and added!  New functions:
  FSOUND_DSP_Create,FSOUND_DSP_Free,FSOUND_DSP_SetPriority,
  FSOUND_DSP_GetPriority,FSOUND_DSP_SetActive,
  FSOUND_DSP_GetActive,FSOUND_DSP_GetClearUnit,
  FSOUND_DSP_GetSFXUnit,FSOUND_DSP_GetMusicUnit
  FSOUND_DSP_GetClipAndCopyUnit.
  See FSOUND_DSP_Create for documentation on this new feature.
+ API - Added FSOUND_MixChannel - now you have direct access to
  FSOUND's optimized mixers!
- MOD, S3M, XM, IT - Fixed loader bug introduced in 2.15! (to do
  with load from memory system.)
- XM - Found and fixed a sample offset bug introduced a few 
  versions ago, with 16bit samples.
- API - Echo engine and functions removed - DSP engine is now to
  be used.
- API - Fixed bug in FMUSIC_SetOrder.
- API - Fixed bug in FSOUND_GetMixer, it was returning 
  FSOUND_MIXER_AUTODETECT if that was used in FSOUND_SetMixer, 
  instead of the actual mixer it was using.
- INTERFACE - loader bug fixed.

28/03/99 2.15b
--------------
+ API - Watcom now supported.  Watcom users link in the
  FSOUNDW.LIB import library.
+ API - Added FMUSIC_LoadSongMemory, now load mod/s3m/xm/it 
  files from memory handles / resources.
+ API - Added FSOUND_LoadWavMemory, now load wav files from
  memory handles / resources.
- API - Fixed bug in FSOUND_Sample_Alloc which allocated samples
  with length = 0, and hence no sound came out when played.
- SAMPLE - fixed bugs in fmod sample code.

21/03/99 2.14b
--------------
* FSOUND / FMUSIC is now a DLL.  The reason is to use a dll is 
  to make it easier to link on different compilers, and it really 
  is for aesthetic reasons only to have it as a .lib.     (ie 1 exe 
  releases) and im not interested.
* Examples cleaned up, they dont specify unused .libs any more.
- WAVEOUT - bugfixed, works on NT now, and now actually uses 
  setmixahead settings.  You will have to use large mixaheads
  (80-100 and higher on my tests) for WaveOut, or the sound will 
  break up.  There is nothing you can do about this.
- DSOUND - works on NT now (DX3).  This is the same as waveout
  (dsound3 for nt is a waveout wrapper).  You will have to use 
  large mixahead values (80-100ms and higher on my tests), or it 
  may break up.
+ API - FSOUND_SetAttributes added
+ API - FSOUND_PlaySoundAttrib added

14/03/99 2.13b
--------------
* Programmers API finally released! see
  http://www.zip.com.au/~fl for more details!
+ MIXER Stereo sample mixers added.  Old way of spawning 2 new
  channels is gone.. Under MMX a stereo channel is actually
  faster than mono!
+ S3M, XM, IT - Zxx callback now supported.  Programmers can set 
  a callback function for whenever the Z effect is issued from a 
  song, for synchronizing effects etc.  .MOD is not supported.
+ STREAMERS - Streamer API Added for playing very large files.
  Currently only supports raw, but mulaw, adpcm and mp3 streamers
  are coming.
+ MOD, S3M, XM, IT - Master volume added to API.
  This is a true scalar instead of just modifying the song's 
  global volume like before (ie the song might have adjusted the 
  global volume after you set it)
+ INTERFACE - Master volume slider added.
- MIXER - Fixed extremely rare crash bug.
- MIXER - volumes were ever so slightly out, ie a channel
  panned full right still had about 0.4% (not much) of the sound
  playing in the left channel instead of 0% as it should have.
- MISC - many small fixes.

04/02/99 2.12b
--------------
- Fixed linear freq problem introduced due to linear freq
  optimization, I just removed it now for accuracy sake.
* a little bit more stable?

02/02/99 2.11b
--------------
- Fixed BPM problem on all formats.  Now loop songs should play ok.
- Fixed sample offset on all formats (oops sorry sample offset was
  disabled on mod/s3m/xm since 2.06 accidentaly!  noone seemed to
  notice hahaha)

31/01/99 2.10b
--------------
- Minor Direct Sound bugs fixed.

30/01/99 2.09b
--------------
- IT bug fixed with instrument numbers and no note.  (most
  formats dont retrigger the note in this case, but IT does if
  the sample has finished playing, and not before.)
- S3M Bug found in loader. (popped up only due to impulse
  tracker saved s3ms).
- IT fixed porta wihout any previous note.. porta on on a
  channel that has no channel playing will trigger a new note.
- DRIVER direct sound should work more reliably on NT using
  directX.
- INTERFACE fixed song list box bug.  Delete happily now without
  problems.
- INTERFACE config box now remembers what you last set when you
  hit config, and wont change any settings if you hit 'cancel'
  (it used to select nosound before)
- DRIVER code now detects incompatible cpu's and exits with an
  error instead of crashing?
- XM/IT replay sped up.  Linear frequencies processed a lot
  faster now.

26/01/99 2.08b
--------------
+ DRIVERS added capability to switch drivers on the fly.  Use
  the 'Config' Button on the interface to change output
  devices, soundcards, mixing rates or mixing routines.
+ MIXER added Mu-Law support!  This is only for NON-MMX mixing,
  and improves the speed of 16bit sample mixing dramatically, with
  only a small loss in sample quality. (simulates 12bit accuracy)
- MIXER fixed ugly bug (crashes/noise) with 8bit BIDI looping 
  samples on standard blend mode mixer.

24/01/99 2.07b
--------------
+ IT added volume byte portamentos
+ IT added S6x - Pattern delay by ticks
+ IT added volume byte vibrato
+ IT added sample vibrato
- IT fixed effect S73, S74, S75, S76, S77, S78.  These commands 
  are meant to alter the behaviour of an instrument, except i was 
  permanently modifying the instrument instead of just altering it
  for the note currently being played!! oops.. 
- IT / XM - turn off envelopes that have less than 2 points.
  (apparently sometimes files can have this)
- IT fixed Hxy Kxy Uxy (vibrato/finevibrato).. if Hxy is followed
  by U00 then it continues to be a normal vibrato, even if it says
  fine vibrato.. same for Uxy followed by H00.. it continues with
  a fine vibrato even if it says normal vibrato..  The y part of
  the command needs to have something in it to change vibrato
  types. (dumb impulse tracker bug)
- IT fixed volume slide bug in Kxy Lxy
- IT foreground / background channel logic is more accuate now with
  NNA's and effect commands.
- MOD, S3M, XM, IT - now checks internal signatures for file verification
  as some people were trying to load mod's etc that were renamed to s3m!
  yeah yeah thanks a lot otto ;)
- IT fixed S00 - any Sxy command gets remembered and replayed if it
  is followed with S00.. (crono - not just SDx and SCx like you said)
- DSOUND fixed init/shutdown code to be cleaner.


20/01/99 2.06b
--------------
- XM fixed BPM issue.. seems FT2's timer is a bit faster than it
  really should be.. (roughly 2bpm) mega-sample-loop songs sound
  ok now.
- IT another pattern loader crash bug fixed (should be the last)
- IT fixed Gxx bug (portamento).. IT forgets it porta target 
  after it reaches it. (TheHornet again)
- IT fixed Oxy (sample Offset) bug

18/01/99 2.05b
--------------
* MIXER Using large latency again just for fmod.exe with dsound,
  to improve stability (im working on it)
- IT Fixed signed/unsigned sample detection in loader
- IT Disabled pitch envelopes for IT's using IIR filters so they 
  wont sound awful.
- XM Fixed crash bug in loader.

17/01/99 2.04b
--------------
* Mixer buffer management totally rewritten, might be a *tiny*
  bit slower (becuase of caching), but it is a lot more flexible
  and stable.  Built in preparation of the DSP plugin API.
* Halved size of both MMX mixer routines (to do with surround)
* API ready to use.  Now at beta test stage
* Thanks to TheHornet for his doc on it 'nuances' that were too
  subtle to find through normal testing. (bugs found with (***))
* New more consistant mixer thread management.
+ Volume 0 optimizations!  Average mods will now use about 30%
  less cpu time (depends on the song)
+ Standard blend mode mixer sped up for 8bit samples
+ Windows Multimedia WaveOut support added.  At the moment it
  works well but the latency is too long for game sfx.  It is
  more stable than the direct sound driver (less garbling / 
  breakups)
+ .WAV sample support added.
+ Stereo sample support added.
+ IT added linear frequencies.
+ IT added panbrello
+ IT added support for 'compatible Gxx' in IT's options
- MIXER Fixed volume 0 optimization hang bug.
- IT fixed effected E/F/G to use the same memory.
- IT fixed SDx delay note bug (SD0 == SD1)               (***)
- IT fixed SCx note cut bug (SC0 == SC1)                 (***)
- IT fixed Qxy retrig (now retrigs across multiple notes like 
  IT.. other formats ignore retrig if it is higher than the
  speed of the song)
- IT fixed Gxx / Lxy (portamento). was 2x too slow.
- IT fixed Vibrato for 'old effects'.. with old effects it is
  2x deeper and does not get updated on tick 0.
- MIXER OOPS! i had '#define ROLLED' left uncommented in my P6
  MMX mixer since version 2.0 or so!! it wasnt using unrolled
  loops. Now it is roughly 1.6 times faster! (from 5% to 3% cpu
  usage on a p2-266 for mixing 32channels at once)

14/11/98 2.03b
--------------
+ Added stability to mixer, removed 150ms crap from 2.02

07/11/98 2.02b
--------------
* ALL players use a new dynamic channel allocation system
- consider MOD, S3M & XM under beta again. (MAY have 
  broken something!)
* MIXER in an attempt for added stability, for this standalone
  player, a different approach is used.. it has a huge
  latency (150ms) and takes a bit more cpu time, but shouldnt
  break up as much .. for the game library the old method
  still stands. (150ms is way too long to wait for a sound
  effect to trigger.. so fmod uses 50ms latency for games etc)
+ IT Added NNA's
+ IT Added DCT/DCA's.
+ MIXER Added echo post effect.. hardcoded 50ms echo for now.
+ IT Added Pan Envelope
+ IT Added all volume column effects except for porta commands &
  vibrato
+ INTERFACE Added drag and drop.  Drag tunes from explorer into
  the player to load
+ INTERFACE also command line fileloading (ie associate the exe
  in explorer with mod,s3m,xm,it then just doubleclick files
  to load them)
+ IT Added most other effects
- ALL Fixed some crashing for songs that specify sample id's that 
  dont exist.
- XM & IT Fixed Envelope bug - loops were playing 1 tick too long :)
- S3M fixed arpeggio bug causing 0 frequencies (divide by 0)
- IT fixed pattern break and pattern jump .. both params are
  hex unlike all other formats.
- IT fixed arpeggio depth
- IT enabled end of song marker.. it was crashing on this b4
- INTERFACE Fixed memory leak.. it would slowly leak memory in
  realtime until windows ran out of resources and crashed! :)
- IT fixed porta bugs.. oops i was portamento'ing 2x too fast
- IT fixed instrument bug.  it was updating all nna channel's
  envelopes etc, using only the most recent nna's instrument
  definition, instead of the instrument that should have been
  associated with each individual nna channel.
- IT fixed set pan (Xxx) bug
- IT fixed invalid pattern bug with patterns defined that are 
  larger than the number of patterns specified in the file.
- IT fixed vibrato (Hxy) bug
- IT fixed big NNA bug.. i was performing NNA's based on the
  new instrument's nna flags instead of the one it was
  cutting off!
- IT fixed the past nna s7x effects.. now the number of channels
  mixed on the interface matches exactly that of impulse
  trackers!

20/10/98 2.01b
--------------
+ IT Added preliminary volume envelope support (no sustain loops)
+ IT Added channel volume slide
+ IT Added noteoff & notecut (not the effect, the note type)

19/10/98 2.00b
--------------
* First private release Version, includes MOD, S3M and XM and IT
  support.  New software mixers, win32 only.  Removed 669,FAR &
  MTM support, old interface is gone, new win32 interface..
  jeezus has it been 3 years? im getting too old for this shit:)
* IT Support is REALLY basic.. roughly 30% done.
- XM Fixed bug with envelope loopend.



/|\
 |
 |
 |
 |



30/11/95 1.06 
-------------
* Released with FMODDOC 2, including full source code
+ Totally new fast scrolling interface, some keys have changed.
+ 32channel .MOD support added. (ie dope.mod type, etc)
+ 9 octaves supported now (C-0,B-8), including 7 octaves .MOD
+ No more 64kb sample limit (4gig sample on a GUS? :)
+ MTM support added
+ 669 support added - what an awful format!
+ extended 669 support added - just as bad :)
+ 16 bit support added (err for mtm? ahh well xm will come)
+ Clipping samples at loopend points to save GUS memory
+ S3M support added
- Bugfix where all music came out in left channel on SOME cards
  (none I have heard:).  Thanks to Brad Thomas for the fix.
- 2 GUS bugs fixed (reported wrong dram size & dram corruption)
* now checks if the samples are too big for the card.
- Voices now play almost simultaneously instead of 1 after the
  other like before
+ Added Technicality-Index (tm) meter!  Truly a cool feature.
+ Knocked 52% of DRAM upload time! YES it is *2* times faster!!
  (eg when.s3m even loads *3* seconds faster than cmod does)
* - FIXED at last.  FMOD will now NOT crash (fingers crossed :)
- removed clicking from looping samples
- Vibrato fixed properly this time and is 100%.
* Calculated new volume table.  Not so noisy. Less distortion.
+ WildCard Support added!
+ S3M Stereo Control effect SAx added
+ Solo Channel feature added and many other muting features
- Fixed S3M retrig bug
+ Vibrato/Tremolo WaveControl finished properly
+ Keyboard LED flashing added!  Lights flash to channels 1-3.
- tempo bug fixed, timing system changed so BPM can drop to 24
+ FAR support added
* Sample loader redone and >64kb bug fixed, also pattern storage
  method changed.
* Panning changed, now values from 0 to 255 to suit FT2.
- Pattern Loop bug fixed, I didnt know pattern loop stored
  seperate values for each channel.
- pattern jump + pattern break bug fixed now all those weird
  backwards tunes work RIGHT.
+ Added S3M's Fast Volume Slide bug, err feature :)
++ NOW PMODE!  Load any sized tune you like now and still have
  heaps of memory left
+ NEW tracker screen.  Watch pattern data like a tracker
- Keyboard LED flashing removed, caused crashes on some 
  peoples computers.. sigh it was rather cool.
+ NEW technical info screen.  Watch a lot of meaningless info
  appear on the screen.  Good for developers to check against.
- .MOD bug fixed, now those extremely high and low octaves
  supported PROPERLY.. (unlike some cMOD players;)
- sample offset bug fixed.
+ Dynamic interface installed, now any screen can be called up
  from any other screen, instead of just from the main screen
  like before.
* Error handling changed for a lot better stability.
+ File Selector included for all those losers who wanted it :)
+ Added effect Ixy - Tremor - perfect I think unlike other
  players.. compared against Scream Tracker 3
- Fixed >64kb sample loading bug - was causing crashes
- Fixed MTM loader bug after about 6 hours of tearing out hair
* File Selector now accessable while song is still playing,
  press escape to return to the main interface.
- sample uploader recoded, fixed.  16 bit samples now load 
  a lot better (this is actually from 1.07 which isnt released
  yet and probably wont be for a while ;)
- a zillion little other bugs fixed.

13/6/95  1.05 
-------------
- GUS looping clicks removed.
- Mute bug fixed.  Wouldnt unmute unused channles.

10/6/95  1.04 
-------------
- fixed another crash bug
+ Added cool new pan cycling effect!  Hit 'c' to try it.

7/6/95  1.03 
-------------
- Fixed interface bug (was printing ^g's in sample names)
+ Added effect 8xy (Panning) 
- Fixed crash bug maybe..  I think I did, people complained of
  the interface crashing.. I've never seen it crash but I found
  I was mixing 'new' and 'malloc'.. fixed.
+ Added effect 7xy (Tremolo) - woopee ;)
+ Added mute channels
+ Added panning keys '(' and ')' to set default panning.

30/5/95  1.02 
-------------
* major internal storage changes!  
+ More memory in dos shell! around 30kb on average sized tunes.
* A lot faster.
- Pattern break fixed.  Tested on backward.mod by FireLight
- Now mixes at 44.1khz like it should instead of 30khz..oops :}
+ Added effect EEx (Pattern Delay).
+ Added effect E6x (Pattern Loop).
- Retrig fixed now 100% protracker.

5/4/95  1.01 
-------------
- fixed crash bug / increased speed by not calculating unused
  channels. (I don't think i released this version though)

6/3/95  1.00 
-------------
* FIRST PUBLIC RELEASE (In FireStorm 2 Music Disk)
- Vibrato bug fixed, now works I think :).
* Interface Completely changed looks much nicer now
+ speed of interface increased greatly

==============================================================================

