mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-11-04 02:06:03 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			5679 lines
		
	
	
		
			275 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			5679 lines
		
	
	
		
			275 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
===============================================================================
 | 
						|
                           REVISION HISTORY : FMOD Ex
 | 
						|
             Copyright (c) Firelight Technologies, Pty, Ltd, 2004-2009
 | 
						|
                              http://www.fmod.org
 | 
						|
===============================================================================
 | 
						|
              + Added feature or noticable improvement
 | 
						|
              - Bug fix or something removed
 | 
						|
              * Changed or Information
 | 
						|
              ! Important - Take note!
 | 
						|
===============================================================================
 | 
						|
 | 
						|
27/07/09 4.24.16 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- fix oscillator + reverb support crackling when oscillator had to resample.
 | 
						|
- fix oscillator + Channel::stop crash.
 | 
						|
 | 
						|
- Win32 - Fixed issues with COM cleanup when already initialized as MTA.
 | 
						|
- Xbox 360 - Fix old multichannel XMA FSB detection to avoid 100% repro XMA hang.
 | 
						|
- Xbox 360 - Fix click in XMA loops due to new XMA decoder.
 | 
						|
 | 
						|
- FSBankEx - fix multichannel mp2 encode producing error.
 | 
						|
 | 
						|
- Event API - When getting event instances, each parameter is now set to the
 | 
						|
              value from the INFO_ONLY event rather than the minimum value.
 | 
						|
              Use FMOD_EVENT_INIT_RESETPARAMSTOMINIMUM for the old behaviour.
 | 
						|
- Event API - Fixed a rare bug where sometimes not all streams would be loaded
 | 
						|
              for events or groups retrieved with FMOD_EVENT_NONBLOCKING
 | 
						|
 | 
						|
16/07/09 4.24.15 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Fixed buzzing sound coming from reverb when there are no active channels introduced in 4.24.14
 | 
						|
- Fixed rare crash releasing samples but not streams while playing.
 | 
						|
 | 
						|
FSBankEx - When encoding multichannel mp3 encoded FSB, using 'single 
 | 
						|
           interleaved FSB', fixed bad length calc causing channel swapping on
 | 
						|
           playback side when seeking.
 | 
						|
 | 
						|
 | 
						|
- PS3 - Fixed crash when playing IT files that use the IT Echo effect.
 | 
						|
 | 
						|
 | 
						|
09/07/09 4.24.14 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Fixed unicode paths incorrectly being identified as CD drive letters.
 | 
						|
- Fixed rare crashes in non-main FMOD threads after System::close is called
 | 
						|
  if logging is enabled
 | 
						|
 | 
						|
- Xbox 360 - Fixed buffering issue when applying a dsp filter which passes the
 | 
						|
             buffer straight through on streaming sounds.
 | 
						|
- iPhone - Fixed crash when using the silent switch with some firmware versions.
 | 
						|
 | 
						|
- Fixed divide by zero when calling Channel::setSpeakerLevels on hardware sounds
 | 
						|
  with levels set to 0.0f.
 | 
						|
 | 
						|
02/07/09 4.24.13 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Event API - Added FMOD_EVENT_SUPPORT_XXX defines in fmod_settings.h. Use
 | 
						|
              these to disable functionality and save memory.
 | 
						|
+ Event API - Reduced size of FEV in memory.
 | 
						|
 | 
						|
- Fix volume 0 sounds with FMOD_INIT_VOL0_BECOMES_VIRTUAL sometimes never 
 | 
						|
  updating/stopping if there were no real channels left and a System::update 
 | 
						|
  was not called.
 | 
						|
- Fixed seeking with MP3 sometimes being slightly inaccurate.
 | 
						|
 | 
						|
- Linux - Fixed FLAC plugin not loading.
 | 
						|
 | 
						|
25/06/09 4.24.12 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Fixed very rare stream crash when stream is ending and release is called at
 | 
						|
  the same time.
 | 
						|
 | 
						|
- Xbox 360 - Fixed seeking hang with new XMA decoder with certain combinations 
 | 
						|
             of files and seek positions.
 | 
						|
- iPhone - Fixed crash with devices running OS 2.0.
 | 
						|
 | 
						|
- Event API - Fixed "Wait for previous" behaviour with hardware waveforms
 | 
						|
 | 
						|
* getMemoryInfo functions now report ogg vorbis memory usage correctly.
 | 
						|
 | 
						|
* .FEV file format updated! FMOD Designer 4.25.12 requires FMOD version
 | 
						|
  4.25.12, 4.24.12, 4.22.21, 4.20.28, 4.18.36 or higher
 | 
						|
 | 
						|
19/06/09 4.24.11 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Fixed unicode support for C# createSound / createStream.
 | 
						|
 | 
						|
- iPhone - Fixed issues regarding the removal of input devices while recording,
 | 
						|
           now recording will pause until the device is replaced.
 | 
						|
- iPhone - Fixed potential crash after System::release or when using multiple
 | 
						|
           system objects.
 | 
						|
- Xbox 360 - Fix .xma files with short lengths not looping properly.  Note .fsb
 | 
						|
             does not have this issue.
 | 
						|
- Xbox 360 - update to previous version fix for multichannel XMA playing static,
 | 
						|
             there was the occasional rare pop still.
 | 
						|
- Xbox 360 - fix old FSB basicheader XMA encoded files crashing runtime. Issue 
 | 
						|
             introduced 4.24.07.
 | 
						|
- Mac - Fixed FMOD_SPEAKERMODE_RAW not outputting in channel order.
 | 
						|
 | 
						|
- Event API - Fixed EventParameter::keyOff() being ignored between two
 | 
						|
              EventSystem::update() calls when no time has elapsed.
 | 
						|
- Wii - Fixed syncpoints in GCADPCM FSB files with both stereo and mono sounds.
 | 
						|
 | 
						|
* .FEV file format updated! FMOD Designer 4.25.11 requires FMOD version
 | 
						|
  4.25.11, 4.24.11, 4.22.20, 4.20.27, 4.18.35 or higher
 | 
						|
 | 
						|
12/06/09 4.24.10 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Add FMOD_MEMORY_STREAM_DECODE flag for memory alloc callback.
 | 
						|
+ FSB codec memory usage reduced if using loading the same FSB multiple times.
 | 
						|
 | 
						|
- Fixed crash/inconsistency in System::createSound when using FMOD_NONBLOCKING
 | 
						|
  in conjunction with FMOD_CREATESOUNDEXINFO members inclusionlist, dlsname or
 | 
						|
  encryptionkey.
 | 
						|
 | 
						|
- Xbox 360 - Fix 5.1 .xma files swapping channels randomly if they were 
 | 
						|
  encoded with non 32kb block sizes.
 | 
						|
- Xbox 360 - Fix multichannel XMA (either .xma or .fsb) playing static 
 | 
						|
  sometimes.  Bug introduced 4.24.06.
 | 
						|
- iPhone - Fixed recordStart incorrectly reporting hardware is not available if
 | 
						|
           the only method of audio input is via a dock accessory. 
 | 
						|
 | 
						|
- Event API - Fixed EventProject::loadSampleData sometimes leaving eventgroups
 | 
						|
              in an error state until the load succeeds. loadSampleData now
 | 
						|
              resets eventgroups' state at the start of the load operation.
 | 
						|
- Event API - Fixed sound instances with loop count > -1 causing other sounds
 | 
						|
              that use the same streaming wavebank to finish early
 | 
						|
- Event API - Fixed a music system memory leak when empty segments are present
 | 
						|
 | 
						|
* Changed FMOD_MEMORY_STREAMBUFFER to FMOD_MEMORY_STREAM_FILE
 | 
						|
 | 
						|
* iPhone - now built with SDK 3.0.
 | 
						|
 | 
						|
* Event API - It is now forbidden to have the same FEV loaded more than once
 | 
						|
              at the same time. If you try to load a project that's already
 | 
						|
              loaded you will now receive FMOD_ERR_EVENT_ALREADY_LOADED.
 | 
						|
 | 
						|
04/06/09 4.24.09 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Added tutorial to documentation. "Compression quality, multichannel and 
 | 
						|
  looping with lossy audio formats"
 | 
						|
 | 
						|
- Fix Memory leak if FMOD_ERR_MEMORY_CANTPOINT is returned from createSound.
 | 
						|
 | 
						|
- FSBankEx - Dissalow samplerate optimisation + 'small headers' mode.
 | 
						|
- FSBankEx - Allow cancel button to cancel during initial scan stage.
 | 
						|
 | 
						|
- PSP - Fixed inaccuracy in Channel::getPosition for vag sounds causing
 | 
						|
        stutters/distortion and eventual droupouts when streaming vag data.
 | 
						|
 | 
						|
- Event API - Fixed rare hang when FMOD_EVENT_NONBLOCKING is used
 | 
						|
- Event API - Fixed events sometimes reporting FMOD_EVENT_STATE_LOADING forever
 | 
						|
              when using EventProject::loadSampleData
 | 
						|
- Event API - Fixed memory leak when using EventProject::loadSampleData
 | 
						|
 | 
						|
29/05/09 4.24.08 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Fix crash if calling Channel::stop from a Channel end callback.
 | 
						|
 | 
						|
- Xbox 360 - Fix init/close cycle leaking XMA contexts.
 | 
						|
 | 
						|
- Event API - Fixed getEvent always reporting FMOD_ERR_FILE_DISKEJECTED when
 | 
						|
              trying to reload a non-streaming event (which has already been
 | 
						|
              properly cleaned up after the disk eject).
 | 
						|
 | 
						|
21/05/09 4.24.07 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ PS3 - Added automatic muting/pausing of sounds in "music" channelgroup if
 | 
						|
        PS3 System BGM music is playing.
 | 
						|
 | 
						|
- Fix hang in vorbis code, trying to open ogg video files.
 | 
						|
 | 
						|
- Xbox 360 - fix XMA FSB support crashing when files were built with 'basicheaders'.
 | 
						|
!- PS3 - SPU Mixer partial rewrite to make it more like the other cross platform
 | 
						|
         mixer should eliminate ps3 only mixer issues.
 | 
						|
 | 
						|
- Event API - Fixed rare case of streamed hardware wavebanks referenced by both
 | 
						|
              2D and 3D events sometimes not loading.
 | 
						|
 | 
						|
* Changed FMOD_INIT_360_MUSICMUTENOTPAUSE init flag to 
 | 
						|
  FMOD_INIT_SYSTEM_MUSICMUTENOTPAUSE.
 | 
						|
 | 
						|
* Win32/64 - add ability to disable EAX driver calls, just by setting 
 | 
						|
  setMinMaxHardwareChannels max3d parameter 0.  This avoids bad drivers corrupting
 | 
						|
  memory or simple crashing which has been experienced (ie realtek)
 | 
						|
 | 
						|
15/05/09 4.24.06 - Stable branch update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
!+ Xbox 360 - XMA support now goes through new XMA HAL decoder, which should 
 | 
						|
              remove XMA timeouts and hangs introduced in recent XDK revisions.
 | 
						|
 | 
						|
- Fix System::playDSP returning FMOD_ERR_INVALID_PARAM.
 | 
						|
 | 
						|
- Event API - Fixed events with fadein playing at full volume until the next
 | 
						|
              eventsystem update if they were started paused and then unpaused.
 | 
						|
- Event API - Fixed a hang in ChannelGroup::addGroup if the child group has
 | 
						|
              no DSP and contains more than one channel.
 | 
						|
- Event API - Fixed music system sometimes returning FMOD_ERR_INVALID_PARAM
 | 
						|
              from EventSystem::update.
 | 
						|
- Event API - Fixed rare deadlock when FMOD_EVENT_NONBLOCKING is used
 | 
						|
- Event API - Event::getChannelGroup no longer fails with FMOD_ERR_DSP_NOTFOUND
 | 
						|
              if the event's channelgroup has no DSP unit.
 | 
						|
- Event API - Fixed spurious FMOD_ERR_CHANNEL_STOLEN from EventSystem::update
 | 
						|
- Event API - Fixed network tweaking notification
 | 
						|
 | 
						|
!- PS3 - Undid 4.24.02 change "Fixed rare bug where only one DSP will be active
 | 
						|
         at a time..." which caused problems with PS3 audio (bursts of loud 
 | 
						|
         audio/dropouts)
 | 
						|
- PS3 - Fixed reverse playback not working properly.
 | 
						|
- PS3 - Fixed rare case where volume doubles up in certain dsp tree
 | 
						|
        configurations (introduced in 4.24.02)
 | 
						|
- PS3 - Fixed rare case where sometimes certain dsp nodes are inaudible.
 | 
						|
        (introduced in 4.24.02)
 | 
						|
 | 
						|
* Channel::setPosition now returns FMOD_ERR_INVALID_POSITION rather than
 | 
						|
  FMOD_ERR_INVALID_PARAM if the position is invalid 
 | 
						|
 | 
						|
* Win32 - Remove Realtek HD 'hardware' support, driver bugs in realtek 
 | 
						|
  drivers caused corruption.
 | 
						|
* Xbox 360 - XMA1 support removed.  Data has to be XMA2 format now.
 | 
						|
 | 
						|
04/05/09 4.24.05 - Stable branch update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
!- Fixed sounds suddenly looping when they shouldn't be.  Bug introduced 4.24.03.
 | 
						|
- Fixed Channel::getPosition with FMOD_TIMEUNIT_PCMBYTES returning the wrong value
 | 
						|
  when used on a sound created with FMOD_CREATECOMRESSEDSAMPLE (or any sound on PS3).
 | 
						|
 | 
						|
* PS3 - Now built with SDK 270.001
 | 
						|
* Sound::setLoopCount no longer changes the loop mode.  Use Sound::setMode to do this.
 | 
						|
 | 
						|
30/04/09 4.24.04 - Stable branch update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
- Fix new streams that play causing other, already playing streams to stutter.
 | 
						|
!- Fix hang in Sound::release if sound didnt play, introduced in 4.24.03.
 | 
						|
 | 
						|
- iPhone - Fixed crash when recording on 1st Gen iPhone.
 | 
						|
 | 
						|
- Event API - Clarified Event::setPaused and Event::setMute documentation
 | 
						|
- Event API - c# - "value" argument in getProperty/getPropertyByIndex change
 | 
						|
                   from type "ref IntPtr" to correct "IntPtr" type.
 | 
						|
 | 
						|
* .FEV file format updated! FMOD Designer 4.25.04 requires FMOD version 4.25.04,
 | 
						|
  4.24.04, 4.22.13, 4.20.20, 4.18.28 or higher
 | 
						|
* Sound::readData is now not-threadsafe.  This was done on purpose to avoid the
 | 
						|
  skipping/stutter problem fixed in the above revision entry.  To avoid a crash
 | 
						|
  in readData if the same sound pointer is being released, use a criticalsection
 | 
						|
  around both function calls, or make sure the readData is finished before
 | 
						|
  releasing the sound.
 | 
						|
 | 
						|
23/04/09 4.24.03 - Stable branch update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
- Fixed some instruments not playing in some MIDI files due to leaking channels.
 | 
						|
- Fix Channel::setLoopCount -1 being ignored sometimes.
 | 
						|
 | 
						|
!- PS3 - Fix rare chirp/high pitch glitch noise.
 | 
						|
- Xbox 360 - Fix .XMA file support with files that have non 2k xma block sizes.
 | 
						|
- Wii - Fix hardware lowpass and biquad filter not working on streams.
 | 
						|
- Wii - Fix FMOD_Channel_GetControllerSpeaker not working on streams.
 | 
						|
- Linux - Fixed ALSA output mode potentially reporting the incorrect default
 | 
						|
          output device when there are multiple soundcards installed.
 | 
						|
 | 
						|
17/04/09 4.24.02 - Stable branch update
 | 
						|
---------------------------------------
 | 
						|
+ PSP - Increased performance of SNC library to be closer to that of GCC
 | 
						|
        library.
 | 
						|
+ Add FMOD_MEMORY_STREAMBUFFER/FMOD_MEMORY_ALL flags to FMOD_MEMORY_TYPE.
 | 
						|
 | 
						|
!- Fixed rare crash when releasing an FSB stream.
 | 
						|
!- Fixed rare crash releasing a FMOD_CREATECOMPRESSED sound before it was 
 | 
						|
   truly finished from being used within the mixer.
 | 
						|
- Fixed FMOD_DSP_TYPE_LOWPASS filter producing silence if the cutoff parameter
 | 
						|
  is set to higher than half the system sampling rate.
 | 
						|
- Fixed codec_xm crashing on load when using ogg compressed samples.
 | 
						|
- Fixed OpenAL output mode stopping hardware sounds right away.
 | 
						|
- Fixed FMOD_ERR_UNITIALIZED being returned bye System::setReverbProperties
 | 
						|
  when FMOD has been initialised with the FMOD_INIT_DISABLE_SOFTWARE flag.
 | 
						|
- Fixed CD loading to allow driver letters specified using Unicode.
 | 
						|
 | 
						|
- PS3 - Fixed rare bug where only one DSP will be active at a time if there
 | 
						|
        are two DSP's connected to a DSPMixer unit in a custom DSP tree.
 | 
						|
- PS3 - Fixed RoomLF and LFReference SFX Reverb parameters being ignored.
 | 
						|
- PSP/PS2 - Fixed System::setReverbParameters returning FMOD_ERR_PLUGIN_MISSING
 | 
						|
            when using non-reduced version of the libraries.
 | 
						|
- PS3 - Fixed noise when pausing a channel that has it's dsphead routed to a
 | 
						|
        mixer unit, and that mixer unit has two output connections leading to
 | 
						|
        the same unit, with one of the connections going through another dsp unit.
 | 
						|
- Xbox360 - Fixed crash with multichannel XMA streams, greater than 8 channels.
 | 
						|
 | 
						|
- Event API - Fixed unloadFSB not releasing soundbank references properly if
 | 
						|
              just the FSB's base file name is specified
 | 
						|
- Event API - Fixed crashes after calling unloadFSB if oneshot sounds from
 | 
						|
              that FSB were playing
 | 
						|
- Event API - Fixed FMOD_EVENTPROPERTY_WII_CONTROLLERSPEAKER not being reset
 | 
						|
              by getEvent
 | 
						|
 | 
						|
- FSBankEx - Fix crashing with sounds above 48khz when encoding to MP2/MP3.
 | 
						|
 | 
						|
* Event API - Changed Event::getChannelGroup to return FMOD_ERR_DSP_NOTFOUND if 
 | 
						|
  it is an event with no channelgroup (ie it has been optimized out internally).
 | 
						|
  Use FMOD_EVENT_USERDSP to add a channelgroup back into the event.
 | 
						|
 | 
						|
31/03/09 4.24.01 - Stable branch update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
- Fix bad loading code in FSB codec, when using a number of syncpoints 
 | 
						|
  that exceed 64kb total, feature added 4.23.07.
 | 
						|
- Fixed FMOD_SYSTEM_CALLBACKTYPE_DEVICELISTCHANGED callback not always being
 | 
						|
  triggered if System::isRecording is called constantly.
 | 
						|
- Fixed software VAG decoding producing noise on big endian machines.
 | 
						|
- Fixed issue with XM codec causing some notes that use a portamento effect not 
 | 
						|
  to play.
 | 
						|
- Fixed codec IT not respecting the maxpolyphony setting in 
 | 
						|
  FMOD_CREATESOUNDEXINFO and potentially causing a crash if set over 64.
 | 
						|
 | 
						|
- PS3 - Fixed Channel::setLoopCount not working correctly.
 | 
						|
- Xbox360 - Fixed incorrect thread assignments, bug introduced in 4.23.06.
 | 
						|
- Xbox360 - Fixed occasional crash when calling System::setReverbProperties with
 | 
						|
            FMOD_PRESET_OFF.
 | 
						|
- Xbox360 - Fixed certain .xma files returning FMOD_ERR_FORMAT
 | 
						|
 | 
						|
- Event API - Fixed bad playback when multiple themes are triggered between
 | 
						|
              EventSystem::update calls
 | 
						|
- Event API - Fixed Event::setReverbProperties failing with FMOD_ERR_NOTREADY
 | 
						|
              if the event has programmer sounds that are still loading
 | 
						|
- Event API - Fixed reverb still being audible when event wet level is -60 dB
 | 
						|
- Event API - Fixed concurrent themes not syncing to beats/bars if no
 | 
						|
              sequenced theme is playing
 | 
						|
 | 
						|
18/03/09 4.24.00 - Initial Stable branch release
 | 
						|
------------------------------------------------
 | 
						|
 | 
						|
+ Added FMOD_INIT_GEOMETRY_USECLOSEST flag.  With the geometry engine, 
 | 
						|
  only process the closest polygon rather than accumulating all polygons 
 | 
						|
  the sound to listener line intersects.
 | 
						|
 | 
						|
+ Event API - Added FMOD_EVENTPROPERTY_3D_IGNORE_GEOMETRY event property.
 | 
						|
 | 
						|
- Fixed MIDI codec to ignore notes with bad data.
 | 
						|
- Fixed channel FMOD_3D_IGNOREGEOMETRY flag not updating occlusion values
 | 
						|
  properly.
 | 
						|
 | 
						|
- PS2 - Fix FMOD_Command_Send error with multichannel VAG streams that 
 | 
						|
  called Channel::setPosition whilst paused and were opened with FMOD_NONBLOCKING
 | 
						|
 | 
						|
!- Xbox 360 - Fixed XMA codecs allocating twice as much memory as they should be.
 | 
						|
              Bug introduced 4.23 prerelease (v6)
 | 
						|
 | 
						|
- Event API - Fixed glitches when music theme crossfade duration is too short
 | 
						|
              (the fade-in part of all crossfades now happens 50ms sooner)
 | 
						|
- Event API - Fixed a crash when using streaming nonblocking programmer sounds
 | 
						|
- Event API - Fixed event occlusion not being reset when re-using an instance
 | 
						|
- Event API - Fixed music system failing to load encrypted streaming FSBs 
 | 
						|
 | 
						|
12/03/09 4.23.08 - Development branch update
 | 
						|
----------------------------------------
 | 
						|
 | 
						|
- Fixed streams with a single subsound never clearing the
 | 
						|
  FMOD_OPENSTATE_STREAMING bit, even when they have been stopped
 | 
						|
- Fixed codec MIDI still creating "Text (Time MS)" tags at runtime.
 | 
						|
- IT format. Fix sample vibrato not working in files that were in 'sample mode'
 | 
						|
- Fixed VST/Winamp plugins not loading (incorrectly returning FMOD_ERR_FORMAT).
 | 
						|
 | 
						|
- PS2 - Fix multichannel vag streams (ie 6ch and above) hanging / causing noise.
 | 
						|
 | 
						|
- Event API - Fixed music system stopping themes prematurely if they use
 | 
						|
              streaming wave banks that contain a single sound
 | 
						|
 | 
						|
* Event API - Changed FMOD_EVENT_INIT_NO_GUIDTABLE to FMOD_EVENT_INIT_USE_GUIDS
 | 
						|
 | 
						|
5/03/09 4.23.07 - Development branch update
 | 
						|
----------------------------------------
 | 
						|
 | 
						|
+ Added ability to specify netstream URLs with wide chars using the unicode flag.
 | 
						|
+ Added FMOD_MEMTYPE_SOUND_SECONDARYRAM / FMOD_MEMBITS_SOUND_SECONDARYRAM to
 | 
						|
  allow tracking of sounds in secondary RAM (such as RSX on PS3).
 | 
						|
+ Added new "Text (Time Ms)" tag to MIDI files so it can be used in conjunction
 | 
						|
  with the "Text" tag that conains lyrics. This supports the ".kar" file format.
 | 
						|
+ Added FMOD_DEBUG_DISPLAY_THREAD to let the user log what threads FMOD calls are
 | 
						|
  being made from (to track down multithread bugs).
 | 
						|
 | 
						|
+ Wii - FMOD now automatically sets the correct speakermode depending on what 
 | 
						|
        was set in the Wii control panel.
 | 
						|
 | 
						|
- Fixed software channel 3D panning for multichannel sounds
 | 
						|
- Fixed getSpectrum not freeing memory on a channel until System::release.
 | 
						|
- Fixed sfxreverb not reporting a memory allocation failure in one case.
 | 
						|
- Removed FSB support for frequency/volume/pan 'variations'.
 | 
						|
 | 
						|
- FSBankEx - Fixed 64kb limit in FSB because of too many syncpoints.
 | 
						|
 | 
						|
- Mac - Fixed CoreAudio output mode to respect the requested dsp buffer size.
 | 
						|
- Mac/Linux/Solaris/iPhone - Fixed time sync issues with the event system.
 | 
						|
 | 
						|
- Wii - Fixed Channel::setVolume overriding Channel::setSpeakerMix for
 | 
						|
        multichannel hardware sounds.
 | 
						|
 | 
						|
- Event API - Fixed crashes when changing effect envelopes via network tweaking
 | 
						|
- Event API - Fixed corrupted category parents after loading multiple FEVs
 | 
						|
- Event API - Fixed crashes in EventSystem::update when playing events with
 | 
						|
              velocity or seek parameters after loading multiple FEVs
 | 
						|
- Event API - Fixed EventSystem::load not cleaning up properly when failing
 | 
						|
              with FMOD_ERR_EVENT_GUIDCONFLICT
 | 
						|
 | 
						|
26/02/09 4.23.06 - Development branch update
 | 
						|
----------------------------------------
 | 
						|
 | 
						|
+ 360 - Added ability to pass in pre-created XAudio2 instance to FMOD 
 | 
						|
  via FMOD_360_EXTRADRIVERDATA.  Stops fmod from initializing XAudio2 itself.
 | 
						|
+ Wii - Added 'audiolibsinitialized' member to FMOD_WII_INFO to stop FMOD
 | 
						|
        from initializing AI,AX and MIX.
 | 
						|
+ PS3 - Added and 'cell_audio_initialized' and 'cell_audio_port' members to
 | 
						|
        FMOD_PS3_EXTRADRIVERDATA so that the cell audio port number can be 
 | 
						|
        passed in if you have initialized libAudio yourself. FMOD will not do
 | 
						|
        any audio initialization if 'cell_audio_initialized' is set.
 | 
						|
+ Wii - Added 'FMOD_Wii_GetDriveStatus' function to fmodwii.h. Returns the
 | 
						|
        drive status that was reported to the FMOD file system.
 | 
						|
 | 
						|
- Linux - Fixed OSS recording not starting.
 | 
						|
- Wii - Improved accuracy of hardward Channel::setSpeakerLevels.
 | 
						|
 | 
						|
- Event API - Fixed streaming events not reporting FMOD_EVENT_STATE_LOADING
 | 
						|
              unless they have been started
 | 
						|
 | 
						|
* 360 - Changed FMOD_THREAD_PROCESSOR_ASSIGNMENTS to FMOD_360_EXTRADRIVERDATA
 | 
						|
 | 
						|
20/02/09 4.23.05 - Development branch update
 | 
						|
--------------------------------------------
 | 
						|
 | 
						|
+ Wii - Added support for stereo hardware 3D sounds.
 | 
						|
+ Mac - Improved general performance slighly with specific improvements to
 | 
						|
        the performance of recording.
 | 
						|
+ PS3 - Added support for FMOD_DSP_TYPE_ITECHO dsp filter.
 | 
						|
 | 
						|
- Fixed filename truncation in System::createSound when FMOD_NONBLOCKING and
 | 
						|
  FMOD_UNICODE are specified
 | 
						|
- Fix syncpoint hang when using hardware voices on stereo and above sounds.
 | 
						|
- Fix 1 frame mpeg files returning FMOD_ERR_FILE_FORMAT
 | 
						|
 | 
						|
- PS3 - Fixed crash when using oscillators and virtual voices.
 | 
						|
 | 
						|
- Event API - Reset parameters to minimum values when getting event instances
 | 
						|
- Event API - Pause parameters when their event or category is paused
 | 
						|
 | 
						|
* Event API - Changed reverb connection logic.  Effects in an event will not
 | 
						|
  be processed by reverb unless FMOD_EVENTPROPERTY_EFFECTS_AFFECT_REVERB has
 | 
						|
  been specified.
 | 
						|
 | 
						|
12/02/09 4.23.04 - Development branch update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
- Fixed crash when reinitializing FMOD, i.e. System::close() then
 | 
						|
  System::init(). Bug introduced in 4.23.02.
 | 
						|
 | 
						|
- FSBank - Fixed error building some multi-channel MP2 banks
 | 
						|
 | 
						|
- Wii - Make Channel::setSpeakerMix and Channel::setSpeakerLevels more functional
 | 
						|
        on hardware channels.
 | 
						|
- PS3 - Fixed initialization failure introduced in 4.23.01
 | 
						|
 | 
						|
 | 
						|
6/02/09 4.23.03 - Development branch update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
- Fixed rare case where some FLAC files don't load by updating FLAC to v1.2.1.
 | 
						|
 | 
						|
- Linux64 - Fixed recording examples not compiling due to record API changes.
 | 
						|
- Linux/Solaris - Fixed oggvorbis codec not working when used as a plugin.
 | 
						|
- PS3 - Fixed initialization failure introduced in 4.23.01
 | 
						|
 | 
						|
- Event API - Clarified MusicSystem::prepareCue and MusicPrompt::release docs
 | 
						|
- Event API - Fixed simple events sometimes ending abruptly on first play
 | 
						|
 | 
						|
* iPhone - now built with SDK 2.2.1.
 | 
						|
 | 
						|
30/01/09 4.23.02 - Development branch update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ iPhone - added support for wave writer output mode. NOTE! you must pass in a
 | 
						|
  file path and name via extra driver data as the app bundle is read only.
 | 
						|
 | 
						|
+ Event API - Made sound instance "Wait for previous" start mode
 | 
						|
              sample-accurate so sounds are stitched together seamlessly.
 | 
						|
              This allows for granular synthesis with spawning oneshot sounds,
 | 
						|
              seamless stitching of looping sounds and other effects.
 | 
						|
 | 
						|
- Fixed tags not appearing for some shoutcast net streams. Bug was introduced
 | 
						|
  in 4.23.00.
 | 
						|
- Stop crash in System::close/release when user didn't call System::update and
 | 
						|
  was using hardware sounds.
 | 
						|
 | 
						|
- PS3/360/Wii/PSP/PS2 - Fix bug in .wav file syncpoint support where names 
 | 
						|
  came out blank.
 | 
						|
- iPhone - Fixed System::init() failure when re-initializing FMOD.
 | 
						|
- iPhone - Fixed dsp_custom example, added the missing content.
 | 
						|
- PSP - Fix horrible XM playback when using FMOD_HARDWARE.
 | 
						|
- PSP/PS2 - Fix bpm support for XM playback when using FMOD_HARDWARE.
 | 
						|
- Linux - Fixed ALSA output crashing when a second system object is initialised
 | 
						|
          on machines that are running Pulse Audio.
 | 
						|
 | 
						|
- Event API - Fixed event instance pool stealing.
 | 
						|
 | 
						|
22/01/09 4.23.01 - Development branch update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ iPhone - added the ability to force output through the main speaker when
 | 
						|
           recording and playing at the same time.
 | 
						|
 | 
						|
! - Fixed corruption/crash when using FMOD_NONBLOCKING or FMOD_EVENT_NONBLOCKING
 | 
						|
    Introduced in 4.18.02/4.19.02
 | 
						|
 | 
						|
- Fixed ChannelGroup::getWaveData/getSpectrum crash on channelgroups retrieved 
 | 
						|
  from events that do not use dsp effects.  Now returns FMOD_ERR_DSP_NOTFOUND
 | 
						|
  instead.  Remember use FMOD_EVENT_USERDSP if you want the error to go away.
 | 
						|
- Fix FMOD_ADVANCEDSETTINGS::debugLogFilename storing user pointer and writing 
 | 
						|
  to it internally.
 | 
						|
- Fixed inaccurate cone angle calculation for 3D channels.
 | 
						|
- Fixed reverb parameters not applying when using the plugins version with
 | 
						|
  certain output modes.
 | 
						|
- Fix getSubSound on a stream in certain cases playing the wrong bits of an FSB.
 | 
						|
 | 
						|
- iPhone - made initialization a little bit more informative and robust
 | 
						|
           concerning backwards compatibility of older iPhone SDKs.
 | 
						|
- Mac - Fixed missing plugins (compressor, lowpass_simple, sfxreverb). 
 | 
						|
 | 
						|
* System::createSound/createStream no longer creates a sentence for the parent 
 | 
						|
  sound, saving disk accesses and memory.  Use System::setSubSoundSentence 
 | 
						|
  instead.
 | 
						|
 | 
						|
16/01/09 4.23.00 - Development branch release
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Optimised mixer to give significant speedup in certain cases when mixing an
 | 
						|
   8x8 or 6x6 matrix.
 | 
						|
 | 
						|
+ Event API - Added EventSystem::getEventByGUID
 | 
						|
+ Event API - Added EventSystem::getEventByGUIDString
 | 
						|
+ Event API - Added the FMOD_EVENT_INIT_NO_GUIDTABLE init flag
 | 
						|
+ Event API - Added EventProject::loadSampleData. Allows you to load sample data
 | 
						|
              for multiple events/eventgroups with one call. Optimized to be
 | 
						|
              faster than using multiple calls to loadEventData.
 | 
						|
 | 
						|
+ PS3 - Added "spurs_taskset_priorities" member to FMOD_PS3_EXTRADRIVERDATA to
 | 
						|
        allow passing of custom priorities to cellSpursCreateTaskset internally.
 | 
						|
+ PSP - Enabled rudimentary support for hardware accelerated XM playback
 | 
						|
        previously enabled on PS2.
 | 
						|
 | 
						|
- Fix rare distortion in output if using reverb.
 | 
						|
- Fixed connecting to certain Shoutcast servers when attempting net streaming.
 | 
						|
 | 
						|
- Win32 - When using FMOD_HARDWARE (directsound), fixed setPaused(true) rarely 
 | 
						|
          causing streams to stop.
 | 
						|
- Xbox 360 - Fix crash with multichannel XMA sounds.  Introduced in 4.23.00 pre 6.
 | 
						|
- PS3 - Fixed error re-initialising FMOD if FMOD_INIT_ENABLE_PROFILE was set.
 | 
						|
- PSP - Fixed hang during initialisation if System::getDriverCaps was called.
 | 
						|
 | 
						|
- Event API - Put events with no category in the master category when loading 
 | 
						|
              from FEV
 | 
						|
- Event API - Fix freeEventData incorrectly freeing sample banks that were
 | 
						|
              loaded with preloadFSB
 | 
						|
- Event API - Fixed Event::setPropertyByIndex(FMOD_EVENTPROPERTY_ONESHOT, 1)
 | 
						|
              not working properly.
 | 
						|
 | 
						|
- Music player - Fixed crash when loaded project has no music data.
 | 
						|
 | 
						|
- FSBankEx - remove glitch from mp2 encoded fsb files.
 | 
						|
 | 
						|
* Channel::setMute will now make a voice go virtual if 
 | 
						|
  FMOD_INIT_VOL0_BECOMES_VIRTUAL is used.
 | 
						|
* .FEV file format updated! FMOD Designer 4.23.00 requires FMOD version 4.23.00,
 | 
						|
  4.22.00, 4.20.07, 4.18.16, 4.16.26 or higher
 | 
						|
* Updated startup example for Windows to handle no soundcard.
 | 
						|
 | 
						|
18/12/08 4.23.00 pre 6 - Development internal update.
 | 
						|
-----------------------------------------------------
 | 
						|
 | 
						|
+ Unblocked DSPEcho::setParameter. (updating FMOD_DSP_ECHO_DELAY and 
 | 
						|
  FMOD_DSP_ECHO_MAXCHANNELS will still block on PS3)
 | 
						|
 | 
						|
- Fixed some rare MIDI playback issues due to incorrect note volumes.
 | 
						|
 | 
						|
- Xbox360 - Fixed seeking hang when using an XMA compressed FSB that contains a
 | 
						|
            mix of mono/stereo and multichannel sounds.
 | 
						|
- Xbox360 - Fixed multichannel XMA files crashing on load.
 | 
						|
- Wii - Fixed WiiMote staying mute when "muteremotespeakerifnosound" is set if
 | 
						|
        the WiiMote speaker is turned off then on.
 | 
						|
- Mac - Fixed memory leak when creating a sound.
 | 
						|
 | 
						|
- Event API - Fixed Occlusion effects on layers with no DSP effects wrongly
 | 
						|
              overwriting occlusion values for the whole event
 | 
						|
- Event API - Fixed crash when calling EventSystem::getMemoryInfo when linking
 | 
						|
              with reduced libs
 | 
						|
- Event API - Fixed event member functions sometimes returning
 | 
						|
              FMOD_ERR_EVENT_INFOONLY or FMOD_ERR_INVALID_HANDLE unexpectedly
 | 
						|
              after many calls to getEventXXX
 | 
						|
 | 
						|
* Channel::set3DOcclusion and get3DOcclusion now work on user occlusion values
 | 
						|
  that scale geometry occlusion rather than working on geometry occlusion
 | 
						|
  values directly. This means code that uses these functions to query or
 | 
						|
  overwrite geometry occlusion values will no longer function as expected.
 | 
						|
 | 
						|
11/12/08 4.23.00 pre 5 - Development internal update.
 | 
						|
-----------------------------------------------------
 | 
						|
 | 
						|
+ Win/Mac/Linux/Solaris - Added FMOD_INIT_NEURALTHX to enable use of Neural THX
 | 
						|
                          downmixer from 7.1 if speakermode is set to 
 | 
						|
                          FMOD_SPEAKERMODE_STEREO or FMOD_SPEAKERMODE_5POINT1\
 | 
						|
+ Wii - Added FMOD_WII_CONTROLLER_AND_SPEAKERS define to fmodwii.h. Or this
 | 
						|
        flag with FMOD_WII_CONTROLLER_* to play a sound out of the specified
 | 
						|
        controller as well as the normal speakers.
 | 
						|
 | 
						|
- Fixed small pop at end of software mixed sounds in rare cases.
 | 
						|
- Fixed FSB MP3 on low bitrates with some types of sound causing glitch.
 | 
						|
- Removed stall in Sound::release if stream hadnt been played yet.
 | 
						|
 | 
						|
- iPhone - Fixed stereo sound corruption when resampling.
 | 
						|
- PS3 - Fixed crash when virtual voice swapping streams or raw pcm voices.
 | 
						|
- PS3 - Stop SPU from resetting the decrementer.
 | 
						|
- Wii - Fixed rare case where a stream will not restart if it has previously
 | 
						|
        been stopped.
 | 
						|
- Xbox 360 - Fix rare crash if using mp3 on xbox 360 (alignment issue).
 | 
						|
 | 
						|
- Event API - Fixed reverb not being audible when a dsp effect is added to an 
 | 
						|
              event and Event::setReverbProperties is called.
 | 
						|
- Event API - Override master category volume and pitch in EventSystem::load if
 | 
						|
              FMOD_EVENT_LOADINFO.override_category_vals is true
 | 
						|
- Event API - Fixed category volume and pitch overriding from FEV to set
 | 
						|
              internal channelgroup values properly
 | 
						|
 | 
						|
* XMA encoder updated from XDK, hopefully to address rare XMA encode based hangs.
 | 
						|
* .FEV file format updated! FMOD Designer 4.21.05 requires FMOD version 4.21.05,
 | 
						|
  4.20.05, 4.18.14, 4.16.24 or higher
 | 
						|
 | 
						|
28/11/08 4.23.00 pre 4 - Development internal update.
 | 
						|
-----------------------------------------------------
 | 
						|
 | 
						|
+ Added System::getGeometryOcclusion
 | 
						|
 | 
						|
+ iPhone - Added ability to set audio session category via extradriverdata in
 | 
						|
           System::init().
 | 
						|
 | 
						|
- iPhone - Implemented checks to prevent recording if there is no recording
 | 
						|
           hardware available, i.e. 1st Gen iPod touch.
 | 
						|
- iPhone - Fixed crackling issue with some sounds.
 | 
						|
- iPhone - Fixed crash with some MIDI files.
 | 
						|
- Linux/Solaris - Fixed STDIN being inadvertantly closed if pre init function,
 | 
						|
                  System->setOutput() with FMOD_OUTPUTTYPE_OSS is explicitly
 | 
						|
                  called.
 | 
						|
 | 
						|
- Event API - Fixed System::setPropertyByIndex with event fadein/out property
 | 
						|
              not resetting to event default when finished with
 | 
						|
- Event API - Fixed preloadFSB and unloadFSB not handling streams properly
 | 
						|
- Event API - Fixed a crash if a nonblocking stream load fails
 | 
						|
- Event API - Fixed a linker error with 'reduced' versions of the libraries
 | 
						|
 | 
						|
* iPhone - The default system samplerate has been reduced to 24KHz to improve
 | 
						|
           performance. This can be overridden via System::setSoftwareFormat().
 | 
						|
 | 
						|
* Event API - Event::release now returns FMOD_ERR_EVENT_NEEDSSIMPLE if called
 | 
						|
              on a complex event
 | 
						|
 | 
						|
20/11/08 4.23.00 pre 3 - Development internal update.
 | 
						|
-----------------------------------------------------
 | 
						|
 | 
						|
+ PS3 - Added recording support, with support for recording from multiple mics.
 | 
						|
+ iPhone - Ported FMODEx to the iPhone platform, includes support for both the
 | 
						|
           device and the simulator.
 | 
						|
+ Xbox360 - Updated output mode to use XAudio2 instead of XAudio1 due to XAudio1
 | 
						|
            being deprecated soon.
 | 
						|
+ Event API - Include geometry occlusion in "Just fail if quietest" audibility
 | 
						|
              calculation.
 | 
						|
+ Event API - Added FMOD_EVENTPROPERTY_EVENTTYPE. Find out if an event is
 | 
						|
              simple or complex at runtime.
 | 
						|
+ Event API - Added event property "Steal priority". Events with a lower "Steal
 | 
						|
              priority" will never steal events with a higher "Steal priority".
 | 
						|
              This is only relevant for simple events when the programmer
 | 
						|
              specifies a >0 value for
 | 
						|
              FMOD_EVENT_LOADINFO.sizeof_instancepool_simple.
 | 
						|
+ Event API - Added Event::release(). Use this in conjunction with
 | 
						|
              FMOD_EVENT_LOADINFO.sizeof_instancepool_simple.
 | 
						|
 | 
						|
- Fixed end of streams being cut off in some cases if FMOD_NONBLOCKING was used.
 | 
						|
- Fixed FMOD_SOUNDGROUP_BEHAVIOR_MUTE not working if previous sounds were paused.
 | 
						|
- Fixed Sound::setMusicChannelVolume/getMusicChannelVolume with MIDI files.
 | 
						|
- Fixed crash/corrutpion in System::release.
 | 
						|
 | 
						|
- Event API - Fixed "Just fail if quietest" max playbacks behaviour to use the
 | 
						|
              same audibility calculation for all events. This solves some bad
 | 
						|
              interactions with geometry, sounddef volume and event fadein that
 | 
						|
              could cause oscillations.
 | 
						|
- Event API - Fixed "Steal quietest" max playbacks behaviour to use the same
 | 
						|
              audibility calculation as "Just fail if quietest". This solves an
 | 
						|
              issue with event fadein where the wrong event could be stolen.
 | 
						|
- Event API - Sounddef's with the same name, but in different folder are now
 | 
						|
              handled correctly.
 | 
						|
- Event API - Fixed reverb not being audible when a dsp effect is added to an 
 | 
						|
              event.
 | 
						|
 | 
						|
- PS3 - Fixed Channel::setLoopCount sometimes being ignored.
 | 
						|
- PS3 - Fixed Channel::setPosition sometimes being ignored.
 | 
						|
- Wii - Fixed crash when initialising with FMOD_SPEAKERMODE_MONO.
 | 
						|
 | 
						|
* Removed System::setRecordDriver and System::getRecordDriver functions.
 | 
						|
* Extra argument "id" added to System::getRecordPosition/recordStart/recordStop/
 | 
						|
  isRecording functions.
 | 
						|
* Symlinks removed from Linux/Linux64/Solaris install makefile, you should
 | 
						|
  link directly with the desired version to prevent runtime linker problems
 | 
						|
  when new APIs are installed.
 | 
						|
* Event API - Events with "programmer" sounds won't be made into "simple" events
 | 
						|
* Event API - Event callbacks involving sounddef's now return the full path name
 | 
						|
              as seen in designer tool. This fix is required to handle sounddef's
 | 
						|
              in different folders with the same name.
 | 
						|
* Event API - .FEV file format updated! FMOD Designer 4.22.00 pre 3 requires FMOD
 | 
						|
              version 4.22.00 pre 3, 4.21.03 or higher to use all supported
 | 
						|
              features.
 | 
						|
 | 
						|
14/11/08 4.23.00 pre 2 - Development internal update.
 | 
						|
-----------------------------------------------------
 | 
						|
 | 
						|
+ Event API - Added user properties to programmer report.
 | 
						|
 | 
						|
- Fixed possible 24 byte overwrite in the data segment.
 | 
						|
- MOD/S3M/XM/IT Fixed first few samples missing from sounds.  Bug introduced 
 | 
						|
  4.21.00 pre 5
 | 
						|
- Fix rare System::close/release crash.  Bug Introduced 4.21.00 pre 5.
 | 
						|
- Fix rare possible corruption/crash when using reverb.
 | 
						|
- Fix support for ogg netstreams.
 | 
						|
- Fixed FMOD_ERR_UNSUPPORTED being returned when trying to initialise
 | 
						|
  reduced builds.
 | 
						|
- fix 3dpan level effect morphing to default speakermap rather than specified 
 | 
						|
  speakermap (ie allmono/allstereo)
 | 
						|
 | 
						|
- Mac - Fixed crash when releasing the system object on OSX 10.4.
 | 
						|
- Linux/Linux64 - Fixed device enumeration list looking different between
 | 
						|
                  two different system objects. (ALSA output mode).
 | 
						|
- PS3 - Fixed reverse playback not working properly when the sample is loaded
 | 
						|
        from an mp3 encoded .fsb file.
 | 
						|
 | 
						|
- Event API - Fixed loading FEV files from memory being passed to file user 
 | 
						|
              callbacks.
 | 
						|
- Event API - Clamp invalid doppler factors to [0, 5] range when loading FEVs
 | 
						|
- Event API - Fixed FMOD_EVENT_WAVEBANKINFO.streammemory and 
 | 
						|
              FMOD_EVENT_WAVEBANKINFO.samplememory
 | 
						|
- Event API - Fixed possible crash when EventGroup::freeEventData called for
 | 
						|
              an event which is not in the specified group
 | 
						|
 | 
						|
- FSBankEx - Fixed sample rate reduction below 10% not having any effect
 | 
						|
 | 
						|
 | 
						|
07/11/08 4.23.00 pre 1 - Development internal update.
 | 
						|
-----------------------------------------------------
 | 
						|
 | 
						|
+ PS3 - Added support for FIOS.
 | 
						|
+ PS3 - Added "fios_scheduler" member to FMOD_PS3_EXTRADRIVERDATA.
 | 
						|
+ Event API - Added simple event instance pools.
 | 
						|
              Use FMOD_EVENT_LOADINFO.sizeof_instancepool_simple to specify the
 | 
						|
              number of instances to create in a pool that all simple events
 | 
						|
              will use. Saves memory over the old "Max playbacks" method.
 | 
						|
 | 
						|
- Event API - Fix spawn timer not working on simple events.
 | 
						|
- Event API - Fix FMOD_ERR_REVERB_INSTANCE being returned sometimes.
 | 
						|
 | 
						|
- PSP - Fixed error when loading a .mp3 file.
 | 
						|
 | 
						|
* Linux / Linux64 / Solaris - Changed the way library versions are represented
 | 
						|
                              in the filename. 
 | 
						|
 | 
						|
* PS3 - Now built with SDK 250.001
 | 
						|
 | 
						|
30/10/08 4.21.00 - Initial Development branch release.
 | 
						|
------------------------------------------------------
 | 
						|
 | 
						|
+ PS2 - Added rudimentary support for hardware accelerated XM playback.
 | 
						|
+ PS3 - Added FMOD_PS3_SPURSMODE_TWOTASKS to set 2 SPURS Tasks / SPU Threads
 | 
						|
        to be used instead of just 1 (ie same as previous behaviour).
 | 
						|
+ PS3 - Re-added 'spu_thread_priority_streamer' member to FMOD_PS3_EXTRADRIVERDATA
 | 
						|
	to specify spu thread priority of stream decoder.
 | 
						|
 | 
						|
- Fix ParamEQ filter thread safety issue which could theoretically cause 
 | 
						|
  unxepected results from the filter.
 | 
						|
- Fix setInputChannelMix from ignoring reverb path.
 | 
						|
 | 
						|
- PS3 - Fixed SPURS Task not being swappable when created with context.
 | 
						|
 | 
						|
- Event API - Fixed EventGroup error state not propagating to parent groups
 | 
						|
- Event API - Events only report FMOD_EVENT_STATE_READY if they aren't playing
 | 
						|
- Event API - Fixed reverb settings being ignored when event instance was reused.
 | 
						|
              Bug introduced 4.21.00 pre 8.
 | 
						|
 | 
						|
27/10/08 4.21.00 pre 9 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Fix reverb settings being ignored.  Bug introduced in 4.21.00 pre 8.
 | 
						|
- Fixed oscillator producing incorrect tone when switching to triangle tone.
 | 
						|
 | 
						|
23/10/08 4.21.00 pre 8 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Wii - SIMD optimised software mixer. resulting in ~15% performance improvement.
 | 
						|
+ PS3 - Added 'spursmode' member to FMOD_PS3_EXTRADRIVERDATA. This can be set
 | 
						|
        to the appropriate FMOD_PS3_SPURSMODE enum to allocate the SPURS task
 | 
						|
        with context memory.
 | 
						|
 | 
						|
- Fixed an occasional crash in System::update when nonblocking loads are in
 | 
						|
  progress and FMOD_INIT_ENABLE_PROFILE is on
 | 
						|
 | 
						|
- Mac / Linux / Solaris - Fixed thread memory not be released when a thread exits.
 | 
						|
- Fixed mono waveforms in MPEG streaming FSBs not being copied to all speakers
 | 
						|
 | 
						|
- Event API - Fixed bad reverb behaviour with wet/dry mix cutting in/out 
 | 
						|
              depending on the type of event it was playing on.
 | 
						|
- Event API - Fixed FEV loads overwriting master category volume and pitch
 | 
						|
- Event API - Fixed events not reporting FMOD_EVENT_STATE_LOADING when loading
 | 
						|
              data from non-streaming banks with FMOD_EVENT_NONBLOCKING
 | 
						|
- Event API - Set simple events' oneshot property to match their sound's loop
 | 
						|
              mode at load time
 | 
						|
 | 
						|
* FMOD_REVERB_CHANNELFLAGS_INSTANCE0-3 flags can now be combined to set 
 | 
						|
  properties for all instances at once if required.
 | 
						|
* Event API - Event::setReverbProperties Room/Direct now scales the event 
 | 
						|
  property setting from fmod designer rather than overwriting it.
 | 
						|
 | 
						|
16/10/08 4.21.00 pre 7 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Added getMemoryInfo function to all public classes, both low-level and event
 | 
						|
  system. Use this function to get detailed information on the memory usage of
 | 
						|
  any FMOD object.
 | 
						|
+ Added new public interface file fmod_memoryinfo.h
 | 
						|
+ Added FMOD_CHANNEL_CALLBACKTYPE_OCCLUSION.  When fmod calculates an occlusion 
 | 
						|
  value based on geometry, this callback will be triggered to that the user has
 | 
						|
  a chance to modify it.
 | 
						|
+ PS3 - Add backwards playback support for PCM data.
 | 
						|
+ Event API - Added FMOD_EVENTPROPERTY_TYPE enum
 | 
						|
+ Event API - Added "type" parameter to Event::getPropertyInfo
 | 
						|
+ Event API - Added FMOD_EVENT_CALLBACKTYPE_OCCLUSION.  This wraps the channel 
 | 
						|
  version of the callback for events. 
 | 
						|
+ Event API - Added FMOD_EVENTPROPERTY_TYPE enum
 | 
						|
+ Event API - Added "type" parameter to Event::getPropertyInfo
 | 
						|
 | 
						|
- Fixed noise when playing certain .xm files on big endian platforms.
 | 
						|
 | 
						|
- PS2 - fix hang when opening sound after ejecting dvd, or getOpenState staying 
 | 
						|
        'loading' until the disk was reinserted.
 | 
						|
 | 
						|
- Event API - Fixed incorrect ranges on info-only event parameters
 | 
						|
- Event API - Fixed division by zero when calling setValue on parameters with
 | 
						|
              maximum range equal to minimum range
 | 
						|
- Event API - Fixed Event::setPropertyByIndex(FMOD_EVENTPROPERTY_REVERBWETLEVEL)
 | 
						|
              only affecting reverb instance 0 (now it affects all instances)
 | 
						|
 | 
						|
* FMOD_CHANNEL_CALLBACK parameters changed from unsigned int to void * to allow 
 | 
						|
  better 64bit compatibility.
 | 
						|
* Channel::setCallback changed to remove 'command' parameter and per callback 
 | 
						|
  type callback capability.  This isn't needed and will save memory.
 | 
						|
* Event API - FMOD_EVENT_INFO.memoryused is now deprecated. Use
 | 
						|
              Event::getMemoryInfo instead
 | 
						|
* Event API - FMOD_EVENT_SYSTEMINFO.eventmemory, instancememory, dspmemory are
 | 
						|
              now deprecated. Use getMemoryInfo functions instead.
 | 
						|
 | 
						|
9/10/08 4.21.00 pre 6 - Development internal update
 | 
						|
---------------------------------------------------
 | 
						|
 | 
						|
+ Event API - Added FMOD_EVENT_USERDSP flag to tell FMOD that you plan to add
 | 
						|
              your own DSP units to an event at runtime.
 | 
						|
 | 
						|
- Fixed floating point divide by zero error when loading certain midi files.
 | 
						|
- Fixed broken embedded loop points in sounds with more than one subsound
 | 
						|
 | 
						|
- PS3 - Fixed possible memory leak when too many dsp units are allocated.
 | 
						|
 | 
						|
 | 
						|
2/10/08 4.21.00 pre 5 - Development internal update
 | 
						|
---------------------------------------------------
 | 
						|
 | 
						|
+ PS3 - FMOD now only uses 1 SPURS Task / SPU Thread for both mixing and mpeg
 | 
						|
        stream decoding.
 | 
						|
+ PS3 - 512k memory saving when using SPURS mode due to context memory no longer
 | 
						|
        being needed.
 | 
						|
+ Mixer optimizations.  
 | 
						|
  - Removed dsp node management logic, ps3 now has no code to do with mixer 
 | 
						|
    executed on PPU.
 | 
						|
  - Memory optimizations.  Significant memory reductions.
 | 
						|
 | 
						|
+ Event API - Large memory optimization.  Event instances now shed over 500 bytes
 | 
						|
  per instance, saving possibly hundreds of kilobytes in a normal game project.
 | 
						|
 | 
						|
+ Wii - Enable streaming sounds to be played through the WiiMote speaker.
 | 
						|
+ Win - Vista (WASAPI) now supports output as mono or stereo when control panel
 | 
						|
        is set with a higher number of channels, i.e. quad, 5 point 1, etc.
 | 
						|
 | 
						|
+ Profiler - Added support for graphing channel and codec usage.
 | 
						|
 | 
						|
- Fixed rare hang when playing midi/mod/s3m/xm/it files with frequent DSP network
 | 
						|
  manipulation.
 | 
						|
- Fixed potential sound corruption with midi/mod/s3m/xm/it files under certain DSP
 | 
						|
  network arrangements.
 | 
						|
- Fix small memory leak in System::release if user channelgroups not released 
 | 
						|
  manually.
 | 
						|
 | 
						|
- PS2 / Wii / PSP - Fix Channel::setSpeakerMix causing audible glitch on stereo
 | 
						|
  and above sounds, when volume was supposed to be 0.  
 | 
						|
- Fixed distortion/buzzing coming from FMOD_DSP_ITLOWPASS's last two channels
 | 
						|
  when it is processing in 8 channel mode. (ie side left/side right when in
 | 
						|
  FMOD_SPEAKERMODE_7POINT1).
 | 
						|
- Fixed FMOD_DEBUG_LEVEL_WARNING and FMOD_DEBUG_LEVEL_ERROR messages not being
 | 
						|
  logged in logging versions of libs by default.
 | 
						|
 | 
						|
- Event API - PS2 / Wii / PSP - Fix loadEventData / getEvent sometimes returning 
 | 
						|
  FMOD_ERR_MISMATCH.
 | 
						|
- Event API - Fixed a crash on some platforms when loading FEVs with music data
 | 
						|
- Event API - Fixed a crash caused by incorrect soundbank reference counting in
 | 
						|
              loadEventData/freeEventData on events that use multiple soundbanks
 | 
						|
- Event API - Fixed loadEventData failing to load soundbanks that were
 | 
						|
              previously loaded with preloadFSB, then unloaded with unloadFSB
 | 
						|
- Event API - Fixed Event::setPropertyByIndex(FMOD_EVENTPROPERTY_3D_MAXDISTANCE)
 | 
						|
              not working correctly for "this_instance" = true
 | 
						|
- Event API - Fixed Event::setPropertyByIndex(FMOD_EVENTPROPERTY_3D_MAXDISTANCE)
 | 
						|
              setting bad distance parameter ranges in custom rolloff events
 | 
						|
- Event API - Fixed Event::setPropertyByIndex(FMOD_EVENTPROPERTY_3D_MAXDISTANCE)
 | 
						|
              not updating distance parameter effects
 | 
						|
- Event API - Fixed Event::setPropertyByIndex(FMOD_EVENTPROPERTY_3D_MAXDISTANCE)
 | 
						|
              wrongly changing distance parameters on non custom rolloff events
 | 
						|
 | 
						|
- FSBankEx - Fix crackling when exporting 6 channel files.
 | 
						|
 | 
						|
* PS3 - Removed 'spu_priority_streamer' and 'spu_priority_at3' members from 
 | 
						|
        FMOD_PS3_EXTRADRIVERDATA struct.
 | 
						|
* PS3 - 'spu_priority_mixer' renamed to 'spu_thread_priority' in
 | 
						|
        FMOD_PS3_EXTRADRIVERDATA struct.
 | 
						|
 | 
						|
22/09/08 4.21.00 pre 4 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Fixed hang when releasing an FSB stream which contains sync points.
 | 
						|
- Fixed distortion/buzzing coming from FMOD_DSP_LOWPASS_SIMPLE's last two channels
 | 
						|
  when it is processing in 8 channel mode. (ie side left/side right when in
 | 
						|
  FMOD_SPEAKERMODE_7POINT1).
 | 
						|
- Fixed virtual channels not resetting their reverb properties when stoped, this can
 | 
						|
  cause a crash under certain circumstances.
 | 
						|
 | 
						|
- Win - WASAPI - Fixed crash when output has more than 2 channels at certain
 | 
						|
                 sample rates.
 | 
						|
- Mac - fixed getDSPBufferSize, it now reports the correct value (which is
 | 
						|
        determined by the CoreAudio output mode).
 | 
						|
- PS3/Xbox360/Mac/Linux - Fixed garbled sound when calling Channel::setSpeakerLevels
 | 
						|
                          introduced in last release.
 | 
						|
- PS3/Xbox360/Mac/Linux - Fixed memory overwrite crash when using multichannel 3d
 | 
						|
                          sounds introduced in last release.
 | 
						|
- PSP - Fixed Channel::setVolume having no effect after Channel::setPan is called
 | 
						|
        on a channel that has had is volume set to 0. This also caused volume issues
 | 
						|
        with channelgroups.
 | 
						|
- PS2 - fix mistake in ps2 semaphore overflow fix from 4.19.00
 | 
						|
 | 
						|
- Event API - Fix automatic "(distance)" parameter not working when more than 
 | 
						|
  one event was playing.
 | 
						|
- Event API - Clarified Event::getPropertyInfo documentation
 | 
						|
 | 
						|
* Event API - Events with no sounds now return 0 for FMOD_EVENT_INFO.lengthms
 | 
						|
 | 
						|
11/09/08 4.21.00 pre 3 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Add FMOD_DELAYTYPE_DSPCLOCK_PAUSE to allow clock accurate pausing of voices.
 | 
						|
+ Event API - Added "Shuffle Global" play mode for sound definitions
 | 
						|
+ Win - WASAPI - Improved performance when control panel sample rate
 | 
						|
                 is set to a high value, e.g. 192KHz.
 | 
						|
+ Event API - Added Event::getPropteryInfo.
 | 
						|
+ Memory savings.  With 1024 channels, PS3/360 save about 200kb, other platforms
 | 
						|
  about 80kb.
 | 
						|
 | 
						|
- Sound::deleteSyncPoint will now work from the syncpoint callback and not 
 | 
						|
  crash.
 | 
						|
- Fix FMOD_Resampler_Linear crash, related to last FMOD_Resampler_Linear 
 | 
						|
  crash fix, this actually was introduced then, and is caused by 
 | 
						|
  Channel::setPosition followed immediately by Channel::stop then another 
 | 
						|
  playsound with a smaller sound.
 | 
						|
- Fix hang when fatal disk errors occur (ie disk eject) with streamed sentences.
 | 
						|
- Fix Channel::getPosition innacuracy with streams and pcm samples.  Bug introduced
 | 
						|
  4.19.00 pre 9
 | 
						|
 | 
						|
- Wii - Fix rare problem with Channel::isPlaying causing incorrect voices to
 | 
						|
        play when using FMOD_INIT_VOL0_BECOMES_VIRTUAL.
 | 
						|
- PS2 - Fix start of streams being cut off when looping.
 | 
						|
 | 
						|
- Event API - Fix music system ignoring FMOD_EVENT_INIT_DONTUSENAMES if other
 | 
						|
              init flags are specified
 | 
						|
- Event API - Fix crash on some platforms when loading fev with interactive 
 | 
						|
              music in them.
 | 
						|
 | 
						|
* .FEV file format updated! FMOD Designer 4.19.03 requires FMOD version 4.19.03,
 | 
						|
  4.18.03, 4.16.14 or higher
 | 
						|
* User created parent sounds that end up being sentences now respect 
 | 
						|
  FMOD_CREATESOUNDEXINFO::length, so that the length wont keep updating every 
 | 
						|
  time Sound::setSubSound is called.  If exinfo.length is 0, it will behave 
 | 
						|
  as it used to. (length changes when setSubSound is called)
 | 
						|
* Event API - FMOD_EVENT_CALLBACKTYPE_STOLEN is now *always* called whether or
 | 
						|
              not the stolen event was playing. Previously, it used to be called
 | 
						|
              *only* when the stolen event was playing.
 | 
						|
 | 
						|
4/09/08 4.21.00 pre 2 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ PS3 - Added 'libaudio_latency' member to FMOD_PS3_EXTRADRIVERDATA to control
 | 
						|
        mixing latency.
 | 
						|
 | 
						|
- Stop Sound::deleteSyncPoint from allowing deletion of syncpoints from 
 | 
						|
  sounds that did not own the syncpoint.
 | 
						|
- Fix hang when When seeking a nonblocking stream, stopping it, then calling 
 | 
						|
  release on it very quickly.
 | 
						|
 | 
						|
- Event API - fix rare crash when loading non blocking sound banks.
 | 
						|
- Event API - EventSystem::preloadFSB/unloadFSB causing a crash in 
 | 
						|
              loadEventData/getEvent if 1 event pointed to 2 sound banks.
 | 
						|
- Event API - fix crash when calling 
 | 
						|
              Event::setPropertyByIndex(FMOD_EVENTPROPERTY_FADEIN/OUT)
 | 
						|
- Event API - stop reverb taking up excessive amounts of cpu time.
 | 
						|
 | 
						|
- Wii - Fixed extremely rare bug introduced in last release where a stream will
 | 
						|
        start and then stop straight away.
 | 
						|
 | 
						|
* PS3 - System::setDSPBufferSize not supported on PS3 anymore. Use
 | 
						|
        'libaudio_latency' member in FMOD_PS3_EXTRADRIVERDATA to control
 | 
						|
        latency.
 | 
						|
 | 
						|
29/08/08 4.21.00 pre 1 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ PS3 - Added support for IT/XM/MOD/S3M/MIDI formats.
 | 
						|
 | 
						|
+ FSBank - Added Mac support for MP2 and MP3 compression.
 | 
						|
 | 
						|
- Fix Sound::getOpenState from falsely reporting ready when in fact the stream
 | 
						|
  was still accessing the file, which would then in turn cause a block/stall in 
 | 
						|
  Sound::release.
 | 
						|
- Fix crash when playing a .it file which utilises echo and lowpass effects.
 | 
						|
- Fix rare timing-related crash in stream thread when releasing a stream
 | 
						|
- Fix small delay in audio when calling Channel::setPosition on a non blocking 
 | 
						|
  stream.
 | 
						|
- Delphi interface removed.
 | 
						|
- Fix switching 2D/3D mode not working on Wii hardware channels when using
 | 
						|
  Channel::setMode.
 | 
						|
 
 | 
						|
- Event API - fix crash related to EventSystem::preloadFSB/unloadFSB.
 | 
						|
- Event API - Fix some music system crashes that should return FMOD_ERR_MEMORY
 | 
						|
- Event API - Fix crash when playing an empty sound definition
 | 
						|
- Event API - Fix possible FMOD_ERR_INTERNAL when playing music themes with
 | 
						|
              empty segments
 | 
						|
 | 
						|
- PS3 - Fixed RSX memory being added to stats returned by FMOD::Memory_GetStats
 | 
						|
        when allocated using FMOD_MEMORY_SECONDARY memory callbacks.
 | 
						|
 | 
						|
25/08/08 4.19.00 - Development branch release
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Event API - Added FMOD_MUSIC_CALLBACKTYPE_BEAT
 | 
						|
+ Event API - Add preLoadFSB/unLoadFSB.
 | 
						|
  This replaces registerMemoryFSB/unregisterMemoryFSB.  Instead of passing 
 | 
						|
  just a memory block, you now pass an FMOD::Sound pointer.  This still allows 
 | 
						|
  you to use preloaded memory blocks, you just have to first create a sound 
 | 
						|
  with FMOD_OPENMEMORY_POINT.  New functionality - preload FSBs from disk, 
 | 
						|
  and preload FSBs into secondary ram such as SPU2 memory on Playstation 2.
 | 
						|
+ Add priority parameter to System::createCodec and System::loadPlugin
 | 
						|
 | 
						|
+ PS2 - Significant speed improvement streaming vag FSB files.
 | 
						|
+ PS2 - Enable FMOD_SOUND_FORMAT_VAG support for user created sounds.
 | 
						|
 | 
						|
- Fix rare stream hang when stopping and starting same stream.
 | 
						|
- Reverb - fix crash when freeing events or channelgroups that had reverb
 | 
						|
           pointing to it.
 | 
						|
- Fix Sound::getMusicNumChannels returning incorrect count for MIDI.
 | 
						|
- Fix Sound::getOpenState not returning FMOD_OPENSTATE_SEEKING after calling 
 | 
						|
      Channel::setPosition on a non blocking stream.
 | 
						|
 | 
						|
- PS2 - Re-Fix 'semaphore count overflow' hang.
 | 
						|
- PS3 - RSX delay now happens when using RSX allocation callbacks or
 | 
						|
        FMOD_OPENMEMORY_POINT to RSX memory, not just when an RSX pool is
 | 
						|
        passed in through extradriverdata.
 | 
						|
- PS2 - Fix small memory leak on System::release.
 | 
						|
- Wii - Fix silence or corrupt sound in software pitch shift effect when 
 | 
						|
        FMOD_DSP_PITCHSHIFT_FFTSIZE is set to a value greater than 1024.
 | 
						|
 | 
						|
- Event API - Remove registerMemoryFSB/unregisterMemoryFSB.
 | 
						|
- Event API - Fix crash in EventParameter::setValue.
 | 
						|
- Event api - fix Event::setPaused not pausing time parameters.
 | 
						|
- Event API - Fix Event::getNumProperties giving bad value for simple events
 | 
						|
- Event API - Fix FMOD_EVENT_ERROR_ON_DISKACCESS not failing properly when
 | 
						|
              loading samples with FMOD_EVENT_NONBLOCKING
 | 
						|
- Event API - Fix events not loading with FMOD_EVENT_NONBLOCKING
 | 
						|
              after an FMOD_ERR_FILE_UNWANTED is encountered
 | 
						|
- Event API - Fix music system blocking when releasing streams
 | 
						|
 | 
						|
* Change Plugin API to use handles instead of indicies and priority has been added.
 | 
						|
    The following functions have had parameter changes or name changes.
 | 
						|
        System::loadPlugin          (now takes handle not index, also has priority parameter)
 | 
						|
        System::unloadPlugin        (now takes handle not index)
 | 
						|
        System::getPluginHandle     (new, use old index to get new handle)
 | 
						|
        System::getPluginInfo       (now takes handle not index, returns plugin type)
 | 
						|
        System::setOutputByPlugin   (now takes handle not index)
 | 
						|
        System::getOutputByPlugin   (now takes handle not index)
 | 
						|
        System::createDSPByPlugin   (used to be System::createDSPByIndex)
 | 
						|
        System::createCodec         (now has extra 'priority' parameter)
 | 
						|
 | 
						|
12/08/08 4.19.00 pre 10 - Development internal update
 | 
						|
-----------------------------------------------------
 | 
						|
 | 
						|
+ Add support for FMOD_SPEAKERMAPTYPE_51_PROTOOLS (L C R Ls Rs LFE mapping)
 | 
						|
+ Add ability to specify lowpass filter gain per channel.
 | 
						|
+ PS3 - System::getSoundRAM now works if RSX is allocated using
 | 
						|
        FMOD_MEMORY_SECONDARY memory callbacks.
 | 
						|
 | 
						|
- PS3 - Fixed possible rare hang/stall when playing sounds loaded into RSX.
 | 
						|
- PS3 - Fixed non-blocking streams having a bit of noise at the start of them when
 | 
						|
        a stream is started, stopped, and then another stream is played that re-uses
 | 
						|
        the same channel.
 | 
						|
- PS2 - Fix/change disk eject code to only do endless retry on disk eject error 
 | 
						|
        code rather than any file read error code.  Stops possible hang in game for
 | 
						|
        wrong reason.
 | 
						|
- PS2 - Fix possible alignment error messages in debug output.
 | 
						|
- Xbox 360 - Fix echo filter possibly crashing when calling DSP::setParameter.
 | 
						|
 | 
						|
- Event API - Fix EventSystem::unregisterMemoryFSB from leaving references in 
 | 
						|
              the event system, meaning it could crash if you tried to play one 
 | 
						|
              of these events and you had freed the memory for the FSB.
 | 
						|
 | 
						|
* PS3 - FMOD_MEMORY_TYPE_SECONDARY memory callbacks do not happen if an RSX pool
 | 
						|
        is specified in extradriverdata. ie RSX pool now overrides
 | 
						|
        FMOD_MEMORY_TYPE_SECONDARY rather than the other way around.
 | 
						|
 | 
						|
6/08/08 4.19.00 pre 9 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Event API - Fix combination of distance parameter, and sound definitions 
 | 
						|
  playing inside a complex event causing small bursts of sound where the 
 | 
						|
  new sound definitions didnt have their volume updated on time.
 | 
						|
 | 
						|
 | 
						|
6/08/08 4.19.00 pre 9 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Further/final fix for FMOD_Resampler_Linear rare crash, this time when 
 | 
						|
  combined with Channel::setPosition (or virtual voices) last noted in 
 | 
						|
  FMOD Ex 4.17.00 pre 5.
 | 
						|
 | 
						|
- Win - Changed default output mode detection method for better compatibility.
 | 
						|
- PS2 - Fix disk eject handling.  Sound::getOpenState now works properly.
 | 
						|
- PS2 - Fix 'semaphore count overflow' hang, issue was in SIFMD lib and had to 
 | 
						|
        be worked around.
 | 
						|
- PS2/PSP - Fix Channel::setReverbProperties Room parameter not working as 
 | 
						|
        documented.
 | 
						|
- PS3 - Fixed problem introduced in 4.19.00 pre 7 where sound could still crackle
 | 
						|
        and a channel with reverb was still audible even though it was paused.
 | 
						|
 | 
						|
29/07/08 4.19.00 pre 8 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Profiler - Added support for per DSP CPU usage.
 | 
						|
 | 
						|
!- Fix various alignment issue bugs that could have caused static or 
 | 
						|
   random crashes.
 | 
						|
- Fix geometry not immediately occluding sounds when they play.
 | 
						|
 | 
						|
- PS3 - Fixed reverb setParameter sometimes not having any effect.
 | 
						|
- PS3 - Fixed setDelay with DSPCLOCK_END not being accurate, and sometimes 
 | 
						|
        being ignored altogether
 | 
						|
- PSP - Fixed 3D sound not attenuating.
 | 
						|
 | 
						|
- FSBankEx - Stop command line mode stealing focus from other applications.
 | 
						|
 | 
						|
 | 
						|
25/07/08 4.19.00 pre 7 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Event API - Added 'type' to FMOD_EVENT_WAVEBANKINFO to determine if it is load 
 | 
						|
  into memory, stream, decompress into memory.
 | 
						|
 | 
						|
- Fix user FMOD_2D sound mode being ignored in favour of mode stored in the FSB.
 | 
						|
- Fix support for multichannel FSB files causing static / crash if 
 | 
						|
  System::setSoftwareChannels wasn't called with a high enough input channel 
 | 
						|
  count.
 | 
						|
- Fixed small performance issue when seeking within MPEG encoded FSB file.
 | 
						|
  Should avoid dma thrashing on ps3.
 | 
						|
- Fixed stall when calling System/Channel::getSpectrum.
 | 
						|
 | 
						|
- Xbox 360 - Fixed seek tables getting corrupted when opening the same FSB more
 | 
						|
  than once.  This could lead to seek times being very high, incorrect and 'buzzing' 
 | 
						|
  noises due to the mixer being stalled.
 | 
						|
- PS3 - Fixed rare case where volume will double up for a while when a sound
 | 
						|
        is played and others go virtual.
 | 
						|
- PS3 - Fixed paused sounds taking up excessive DSP time.
 | 
						|
- PS3 - Fixed Channel::setDelay() with FMOD_DELAYTYPE_DSPCLOCK_END not working.
 | 
						|
- PS3 - Added small stalls around RSX DMA transfers to fix the issue of audio
 | 
						|
        crackling and dropouts in PS3 SDK 240.
 | 
						|
- PS3 - Fixed buzzing sound when stopping a single channel introduced in previous
 | 
						|
        release.
 | 
						|
 | 
						|
- Event API - Stop one shot sounds wrongly retriggering automatically when 
 | 
						|
              finished.
 | 
						|
 | 
						|
18/07/08 4.19.00 pre 6 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Event API - Added the MusicSystem::getInfo function (currently only starving
 | 
						|
              state is reported)
 | 
						|
+ Event API - Added the EventProject::stopAllEvents function
 | 
						|
+ Event API - Enabled memory usage reporting via EventSystem::getInfo and
 | 
						|
              Event::getInfo in logging/debug builds only.
 | 
						|
 
 | 
						|
- Fix FSB encryption showing key in encrypted file.
 | 
						|
- Fix mp2 files with emphasis/error correction bit turned on returning 
 | 
						|
  FMOD_ERR_FORMAT, issue introduced in 4.19.00 pre 2.
 | 
						|
 | 
						|
- Event API - Fixed freeEventData sometimes always returning FMOD_ERR_NOTREADY
 | 
						|
 | 
						|
- PS3 - Fixed stream stutter when a non-blocking stream is started in some
 | 
						|
        circumstances.
 | 
						|
- Wii - Fixed FMOD_File_SetDiskBusy(1) never returning while the disk is
 | 
						|
        ejected when a stream is playing.
 | 
						|
 | 
						|
11/07/08 4.19.00 pre 5 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Fixed crash when releasing a ChannelGroup that had a DSP unit attached to it.
 | 
						|
- Fixed sounds with tag data ending early when loaded from memory.
 | 
						|
- Fixed possible rare hang when playing mpeg data.
 | 
						|
 | 
						|
- Event API - Fixed FMOD_ERR_FILE_BAD when loading events with disabled effects
 | 
						|
- Event API - Fixed various problems with simple events
 | 
						|
- Event API - Fixed registerMemoryFSB to work with streamed wavebanks
 | 
						|
 | 
						|
- Linux - Fixed init error due to ALSA device enumeration and made ALSA device
 | 
						|
          arguments more robust.
 | 
						|
- Linux64 - Added missing fmodlinux.h file to release.
 | 
						|
- PS3 - Fixed rare buzzing sound when there are a lot of virtual voices
 | 
						|
        swapping in and out in.
 | 
						|
 | 
						|
* PS3 - Now built with SDK 240.001
 | 
						|
 | 
						|
4/07/08 4.19.00 pre 4 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ PS3 - Added new member 'rsx_pool_manager_in_mram' in FMOD_PS3_EXTRADRIVERDATA
 | 
						|
        to allow the overhead for the FMOD RSX pool memory manager to be in
 | 
						|
        MRAM.
 | 
						|
+ Linux - Added the ability to specify arguments to ALSA record drivers via
 | 
						|
          a new extradriverdata struture for Linux, FMOD_LINUX_EXTRADRIVERDATA.
 | 
						|
+ Optimized syncpoint memory usage. Faster load times when loading banks with
 | 
						|
  lots of syncpoints.
 | 
						|
+ Event API - Added MusicSystem loadSoundData and freeSoundData functions
 | 
						|
+ Update FMOD memory system. Using a memory pool is now much faster and less
 | 
						|
  prone to fragmentation.
 | 
						|
 | 
						|
+ FSBankEx - added -z option to make message logging dissapear.
 | 
						|
 | 
						|
- Fix multichannel MP2/MP3 FSB (ie 4 channels and above) from swapping channels 
 | 
						|
  around when calling Channel::setPosition
 | 
						|
- Fixed certain output modes (OSS, ALSA, ESD and SoundManager) reporting no
 | 
						|
  drivers if devices are enumerated before System::init().
 | 
						|
- Fixed floating point exception in 3D calculations on some platforms.
 | 
						|
- Fixed potential crash on system release when using channel end callbacks to
 | 
						|
  play sounds.
 | 
						|
- Fixed channels not starting paused when played from a channel end callback.
 | 
						|
 | 
						|
- Event API - Fixed spurious FMOD_ERR_CHANNEL_STOLEN return from some functions
 | 
						|
- Event API - Made the music system respect soundbank type
 | 
						|
- Event API - Fixed crash when using FMOD_EVENT_INFOONLY events
 | 
						|
- Event API - Improved ordering of FSB search paths
 | 
						|
 | 
						|
- Linux - fixed potential segmentation fault when calling System::close() 
 | 
						|
          when using the ESD output mode.
 | 
						|
- Linux - tweaked the enumeration of devices for ALSA, it should now properly
 | 
						|
          show standard devices for all detected sound cards.
 | 
						|
- PS3 - Fixed slow allocation times when using a fixed memory pool passed in
 | 
						|
        through FMOD::Memory_Initialize. This was causing long load times on
 | 
						|
	certain .fev files and banks.
 | 
						|
- PS3 - Fixed rare bug where Channel::setMode will have no effect.
 | 
						|
- Mac - Altered CoreAudio output mode to allow multichannel remapping when
 | 
						|
        set with the "Audio MIDI Setup" tool.
 | 
						|
- PS3 - Fixed possible SPU exception when too many FMOD DSP connections are
 | 
						|
        created.
 | 
						|
- Wii - Fixed software reverb not working properly.
 | 
						|
 | 
						|
- FSBankEx - fixed command line version not returning 1 to the shell when 
 | 
						|
  there was an error.
 | 
						|
 | 
						|
* Linux - the extradriverdata parameter for ALSA output mode has changed to a
 | 
						|
          structure pointer (FMOD_LINUX_EXTRADRIVERDATA). Use this structure
 | 
						|
          to supply arguments for output and record drivers. You must include
 | 
						|
          the new fmodlinux.h header for this new structure.
 | 
						|
* FSBankEx - Changed XMA encoder to use newer XMA2 encoder for mono/stereo sounds
 | 
						|
  to hopefully avoid bad data the older encoder version was producing rarely.
 | 
						|
 | 
						|
24/06/08 4.19.00 pre 3 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
- Fix Geometry::release not resetting occlusion values if it was the last 
 | 
						|
  object to be released.
 | 
						|
- Fix heavy stall in Channel::setPosition or FMOD_EVENTPROPERTY_TIMEOFFSET 
 | 
						|
  introduced in 4.19.00 pre 2 due to change in mp2/mp3 chirp/crash fix.
 | 
						|
 | 
						|
- Windows - fix crash on init if ASIO output was selected.  
 | 
						|
  Introduced in 4.19.00 pre 1.
 | 
						|
 | 
						|
20/06/08 4.19.00 pre 2 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ PSP - Added FMOD_PSP_ChangeOutputMode function to fmodpsp.h to allow switching
 | 
						|
        of output mode from Simple Audio to libWave and vice versa on the fly.
 | 
						|
 | 
						|
- Fixed a memory corruption when loading an FSB with named syncpoints.
 | 
						|
- MP2/Mp3 - Fixed extremely rare crash or 'chirp' based on combination of 
 | 
						|
  source data, and seeking, which made the mpeg decoder think a frame was
 | 
						|
  mp2 when it was actually mp3, purely by chance on a random section of bits.
 | 
						|
- Fixed Channel::setSpeakerMix with FMOD_SPEAKERMODE_PROLOGIC, not positioning 
 | 
						|
  stereo sounds loaded in the rear speakers properly.
 | 
						|
- Fixed loop points point ignored in FSB streams.
 | 
						|
 | 
						|
- Event API - Fixed freeEventData sometimes always returning FMOD_ERR_NOTREADY
 | 
						|
- Event API - Fixed streams sometimes not playing in simple events
 | 
						|
- Event API - Fixed various issues with simple events
 | 
						|
 | 
						|
- FSBankEx - fix FSBANK_BUILD_DONTLOOPMEG buildflag not being allowed to be 
 | 
						|
  specified as a per waveform option.
 | 
						|
 | 
						|
- Win - WASAPI - Changed the way the Vista output mode interacts with the
 | 
						|
                 hardware to reduce stuttering.
 | 
						|
- Xbox360 - Fix file read error seeking in old multichannel XMA files.
 | 
						|
- PS3 - Fix audio stuttering when number of dsp buffers is set to a non-default
 | 
						|
        value that doesn't divide into 8.
 | 
						|
 | 
						|
12/06/08 4.19.00 pre 1 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Add 'ConnectionPoint' Parameter to FMOD_REVERB_CHANNELPROPERTIES structure.
 | 
						|
  By default the dsp network connection for a channel and its reverb is between 
 | 
						|
  the 'SFX Reverb' unit, and the channel's wavetable/resampler/dspcodec/oscillator 
 | 
						|
  unit (the unit below the channel DSP head).   This parameter allows the user to 
 | 
						|
  connect the SFX reverb to somewhere else internally, for example the channel DSP 
 | 
						|
  head, or a related channelgroup.   Advanced users only.
 | 
						|
 | 
						|
- Fixed rare stall in System::playSound command.
 | 
						|
- Fix 2d sounds getting muffled by HRTF sometimes.
 | 
						|
- Fixed midi/mod/s3m/xm/it file playback crash introduced in previous release.
 | 
						|
- System::init() will now report FMOD_ERR_INITIALIZED if you try to initialize it
 | 
						|
  a second time. This holds true if the event system initializes the low level
 | 
						|
  system object for you, then you try to initialize it.
 | 
						|
 | 
						|
! FSBankEx - Fixed bad FSB files being written out, introduced in previous release.
 | 
						|
- FSBankEx - Fixed MP2 looping sometimes not working
 | 
						|
- FSBankEx - Fixed command line version not parsing encrypt key if platform was
 | 
						|
             ps2/wii/gc/xbox360.
 | 
						|
 | 
						|
 | 
						|
- Event API - Fixed concurrent themes stopping prematurely
 | 
						|
- Event API - Fixed MusicSystem::setPaused sometimes stopping segment playback
 | 
						|
 | 
						|
5/06/08 4.17.00 - Development branch release
 | 
						|
--------------------------------------------
 | 
						|
 | 
						|
+ Event API - Added optimised codepath for "simple" events.
 | 
						|
+ Added FMOD_INIT_SOFTWARE_REVERB_ON_FX flag so reverbs will connect to the
 | 
						|
  channel DSP head instead of the sound source, so reverb will apply after
 | 
						|
  all other connected effects.
 | 
						|
+ Wii - Improve loading time of sound banks by 200% (may need to rebuild fsbs).
 | 
						|
 | 
						|
- Fix calling setMute on master channelgroup not muting newly played channels.
 | 
						|
- Removed a stall on a nonblocking stream when setting a subsound sentence.
 | 
						|
 | 
						|
- FSBankEx - Fix -s (disable seektables), add -t (dont interleave), make gui 
 | 
						|
  remember quality setting.
 | 
						|
- FSBankEx - PCM data is now written out as big-endian format if platform selected
 | 
						|
	   is PS3. The allows FMOD_OPENMEMORY_POINT to be used properly.
 | 
						|
 | 
						|
* .FEV file format updated! FMOD Designer 4.17.00 requires FMOD version 4.17.00
 | 
						|
  or higher in order to fully support all features
 | 
						|
* Older branches will load "simple" events but 4.17.00 or higher is required to
 | 
						|
  realize their full resource saving benefits.
 | 
						|
 | 
						|
30/05/08 4.17.00 pre 7 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Add FMOD_SYSTEM_CALLBACKTYPE_BADDSPCONNECTION.  This now triggers if 
 | 
						|
  System::setCallback is used and the user has created a circular DSP connection.
 | 
						|
  This error check is now moved from DSP::addInput into the thread, to avoid a 
 | 
						|
  stall in the main thread.
 | 
						|
+ Added "FMOD Event System - Best Practices For Programmers" document
 | 
						|
+ Event API - Added member to FMOD_EVENT_LOADINFO to override category properties
 | 
						|
+ PS2 - Add ability to call FMOD_File_SetDiskBusy from IOP.  User IOP modules must 
 | 
						|
        link with fmodiop.ilb
 | 
						|
 | 
						|
- Fix unnecessary file seek when mpeg decoder encounters a tag at the end of an mpeg.
 | 
						|
- Fix crash when looping certain mp3s created with FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
- Fixed stall in DSP::addInput by moving circular connection error check into mixer 
 | 
						|
  thread.  See new FMOD_SYSTEM_CALLBACKTYPE_BADDSPCONNECTION callback.
 | 
						|
 | 
						|
- PS2 - Fix FMOD_INIT_PS2_SWAPDMACHANNELS from making software mixed output silent.
 | 
						|
 | 
						|
- Event API - Fixed oneshot sounds not unpausing, therefore sounding like they 
 | 
						|
              never start.
 | 
						|
- Event API - Fixed problem with event property "3D Position Randomization"
 | 
						|
 | 
						|
- FSBankEx - Fix seamless looping encoder for stereo/multichannel/low samplerate 
 | 
						|
             mp3 encoded FSB files
 | 
						|
 | 
						|
* Changed System::setCallback to remove type parameter.  This isnt needed, just 
 | 
						|
  switch on all types of callback from the callback itself, and filter out ones
 | 
						|
  you don't care about.
 | 
						|
 | 
						|
* PS3 - Now built with SDK 230.001
 | 
						|
 | 
						|
22/05/08 4.17.00 pre 6 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ FMOD_NONBLOCKING now applies to Channel::setPosition, and virtual voice 
 | 
						|
  swapping of streams, so that there is no main thread stall slowing the game 
 | 
						|
  down.
 | 
						|
 | 
						|
- Fixed memory leaks when loading it/mod/s3m/xm files.
 | 
						|
- Fixed error returned when trying to perform DSP additions on a hardware 
 | 
						|
  channel, now it reports FMOD_ERR_NEEDSSOFTWARE.
 | 
						|
- Fixed crash with FMOD Echo DSP caused by setting echo parameters as the unit
 | 
						|
  is being connected to a channel.
 | 
						|
- Fixed Channel::setDelay starting sounds earlier than it should.
 | 
						|
- Fixed FMOD_DELAYTYPE_DSPCLOCK_END time not being reset when a sound finishes
 | 
						|
  playing.
 | 
						|
- Fixed rare click heard when playing one sound then starting a second.
 | 
						|
- Fixed reverb wet mix being heard when starting a sound as paused, with reverb
 | 
						|
  enabled.
 | 
						|
 | 
						|
- FSBankEx - Stop cache files being generated if compression caching flag is 
 | 
						|
  not enabled.
 | 
						|
- FSBankEx - Stop mp3 encoder chopping end of sound off if disable loop encoding 
 | 
						|
  was specified.
 | 
						|
 | 
						|
- PS3 - Fixed further noise when connecting an effect to a DSP unit as an extra
 | 
						|
        output introduced in last release.
 | 
						|
- Wii - Fixed unaligned address crash when loading FSB.
 | 
						|
 | 
						|
16/05/08 4.17.00 pre 5 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Optimized loading speed of FSB/WAV/MP2/MP3 files with markers/syncpoints.
 | 
						|
  An example file with a thousand markers is now 400ms to load rather than
 | 
						|
  12 seconds.
 | 
						|
 | 
						|
+ PS3 - PS3 can now play up to 16 channel streams.
 | 
						|
+ Wii - Added support for hardware Biquad filter.
 | 
						|
 | 
						|
- Fixed incorrect sound cone direction when using FMOD_INIT_3D_RIGHTHANDED.
 | 
						|
- Fixed extremely rare crash in mixer that is usually observed in the 
 | 
						|
  callstack in FMOD_Resampler_Linear.
 | 
						|
- Fixed hang in mp2/mp3 decoder introduced in previous version thanks to new 
 | 
						|
  multichannel support. 
 | 
						|
 | 
						|
- Win - Fixed memory leak when loading WMA files.
 | 
						|
- Win - Fixed geometry attributes not updating when both listener and channel
 | 
						|
        are stationary.
 | 
						|
- Wii - Now returns and FMOD_ERR_FORMAT instead of crashing when loading
 | 
						|
        invalid format with FMOD_OPENRAW.
 | 
						|
- PS3 - Fix opencallback from attachFileSystem not being called on PS3 only.
 | 
						|
- PS3 - Fixed noise when connecting an effect to a DSP unit as an extra output.
 | 
						|
 | 
						|
- Event API - Fixed crash when autopitch enabled but no parameters created
 | 
						|
- Event API - Fixed incorrect sound definition spawn behaviour when
 | 
						|
              "Maximum spawned sounds" has been reached
 | 
						|
 | 
						|
2/05/08 4.17.00 pre 4 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Added FMOD_MEMORY_SECONDARY FMOD_MEMORY_TYPE flag to indicate that memory
 | 
						|
  should be allocated in secondary memory of the system (for example RSX on the
 | 
						|
  PS3).
 | 
						|
+ Added new argument, 'memtypeflags' to FMOD::Memory_Initialize function to
 | 
						|
  specify which FMOD_MEMORY_TYPE flags will come through the memory callbacks.
 | 
						|
 | 
						|
+ FSBank - Added -e [encryptionkey] to commandline.
 | 
						|
+ FSBank - Added joint stereo encoding to multichannel mp2/mp3 files.  
 | 
						|
           Multichannel sounds now 40% to 50% smaller!
 | 
						|
+ FSBank - Added loop declicking support to IMA ADPCM encoding.
 | 
						|
 | 
						|
- Fixed stream going mute if user set loop points that were behind the current 
 | 
						|
  stream playposition.
 | 
						|
- Fixed crash when attempting to play a parent stream when no subsound sentence
 | 
						|
  has been specified.
 | 
						|
- Fixed potential crash when using setSubSoundSentence to change the sentence of
 | 
						|
  a playing sound stream.
 | 
						|
- Fixed potential exception when calling release on multiple subsounds removed 
 | 
						|
  from one FSB.
 | 
						|
- Fix streams not heeding soundgroup volumes.
 | 
						|
 | 
						|
- Xbox 360 - Fixed hang when calling Sound::setSubSoundSentence on certain sized
 | 
						|
             XMA subsounds.
 | 
						|
- Win - Fixed WMA stream seeking to near the end of the file causing a hang.
 | 
						|
- Win - Fixed memory leak when loading WMA files.
 | 
						|
 | 
						|
- Event API - PSP - Fixed parameters with velocity not working properly.
 | 
						|
 | 
						|
- FSBank - Fixed ps2 reverb cores not being remembered on close.
 | 
						|
- FSBank - Fixed C headers being generated even though c headers was turned off.
 | 
						|
 | 
						|
* FMOD_MEMORY_PERSISTENT will no longer come through the memory callbacks unless
 | 
						|
  it is explicitly specified in 'memtypeflags' of FMOD::Memory_Initialize.
 | 
						|
  FMOD_MEMORY_XBOX360_PHYSICAL will continue to come through regardless of setting.
 | 
						|
* PS3 - RSX memory pool specified in FMOD_PS3_EXTRADRIVERDATA will be ignored if
 | 
						|
        FMOD_MEMORY_SECONDARY is specified in 'memtypeflags' of
 | 
						|
        FMOD::Memory_Initialize.
 | 
						|
 | 
						|
24/04/08 4.17.00 pre 3 - Development internal update
 | 
						|
----------------------------------------------------
 | 
						|
 | 
						|
+ Xbox 360 / PS3 - Improved performance of DSP Echo when used with DSP::setSpeakerActive.
 | 
						|
+ FSBank Added new 'low memory' mode for syncpoints with no names.
 | 
						|
 | 
						|
- Prevent crash when attempting to detach a shared subsound from its parent 
 | 
						|
  stream, now an appropriate error is returned.
 | 
						|
- Fixed a rare freeze in playback of MIDI files.
 | 
						|
- Removed limit from sending large DSP networks to fmod_profiler.
 | 
						|
- Fixed parent sound playback with no sentence returning FMOD_ERR_INVALID_PARAM
 | 
						|
  instead of FMOD_ERR_SUBSOUNDS.
 | 
						|
- Fix FMOD_SOUNDGROUP_BEHAVIOR_MUTE and fading not working with hardware voices.
 | 
						|
- Fixed tags so 16bit Unicode strings will have a proper 2 byte null terminator.
 | 
						|
 | 
						|
- Wii - Fixed crash when shutting down.
 | 
						|
- PS3 - Fixed crash when using DSP Echo.
 | 
						|
 | 
						|
* FSbank - Update FSBankLib documentation.
 | 
						|
* If using single subsound FSB streams you can now detach the subsound them from the
 | 
						|
  parent stream and add it to a user created sound stream for sentencing.
 | 
						|
 | 
						|
18/04/08 4.17.00 pre 2 - Development internal update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Added DSP::set/getSpeakerActive. Allows the user to turn off processing for a
 | 
						|
  DSP effect on a channel by channel basis to reduce CPU overhead.
 | 
						|
+ Reduced memory used by DSP Flange.
 | 
						|
 | 
						|
- Fixed HRTF not fading properly when pitching up-side-down.
 | 
						|
- Fixed uninitialized channelgroup DSP members causing crash on calling some
 | 
						|
  DSP functions.
 | 
						|
- Fixed sample sentence crashing when mixing samples and streams or when trying
 | 
						|
  to use a sentence of samples with FMOD_HARDWARE.
 | 
						|
- Fixed mod/s3m/xm/it/midi crash introduced in last version.
 | 
						|
- Fixed FMOD_SOUNDGROUP_BEHAVIOR_MUTE behavior.
 | 
						|
- Fixed FMOD_SOUNDGROUP_BEHAVIOR_STEALLOWEST not invalidating/reference counting
 | 
						|
  the old channel handle.
 | 
						|
 | 
						|
- PS3 - Fixed extremely rare bug where a channelgroup will go silent.
 | 
						|
 | 
						|
- Profiler - made screen capture feature more obvious and fixed a problem where
 | 
						|
             the produced image was at the current zoom level, it should save
 | 
						|
             at the default zoom level for readability.
 | 
						|
 | 
						|
- Event API - Fixed leaking streams
 | 
						|
- Event API - Minor improvement to stream pool utilisation
 | 
						|
 | 
						|
11/04/08 4.17.00 pre 1 - Development internal update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Optimized playsound to not recalculate 3d position multiple times.
 | 
						|
 | 
						|
+ PS3 - Remove stall when setting sfx reverb parameters.
 | 
						|
 | 
						|
- Fixed crash when releasing system object after a profiler initialization error.
 | 
						|
- Fixed setInputChannelMix not taking effect until the next System::update with 
 | 
						|
  3d sounds.  (2d worked ok).
 | 
						|
 | 
						|
- Wii - Fixed instance 0 system reverb properties being overwritten when setting
 | 
						|
        instance 1 properties.
 | 
						|
- Linux - Tweaked ALSA output mode to better support requested DSP buffer
 | 
						|
          sizes.
 | 
						|
 | 
						|
- Event API - Fixed network tweaking crash between Windows and Mac.
 | 
						|
- Event API - Fixed oneshot events with sounds with loop counts not stopping
 | 
						|
- Event API - Fixed 3D Pan effect to be relative to the Event 3D Pan level
 | 
						|
 | 
						|
* PS3 - Now built with SDK 220.002
 | 
						|
 | 
						|
4/04/08 4.15.00 - Development release update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Added 'debugLogFilename' to FMOD_ADVANCEDSETTINGS to allow user to specify 
 | 
						|
  log path / name.
 | 
						|
+ Added 'FMOD Profiler' application to Win32 and Mac to replace existing DSPNet
 | 
						|
  Listener tool. The new tool provides existing functionality along with a real
 | 
						|
  time CPU usage graph.
 | 
						|
+ Add Sound::getMusicNumChannels, Sound::setMusicChannelVolume, 
 | 
						|
  Sound::getMusicChannelVolume, to allow mod/s3m/xm/it/midi volume manipulation
 | 
						|
  of music channels.
 | 
						|
+ Add multichannel support for FSB MP2 encoding.
 | 
						|
+ Added a system callback for when a thread is created, this callback will
 | 
						|
  report the name and the ID of the thread.
 | 
						|
+ Added ability to specify which port FMOD listens on for connections from
 | 
						|
  FMOD Profiler. This is exposed through FMOD_ADVANCEDSETTINGS.
 | 
						|
+ Added support for FMOD Profiler to connect to applications on Mac, Linux,
 | 
						|
  Linux64 and Solaris.
 | 
						|
+ Added FMOD_DELAYTYPE_DSPCLOCK_END to Channel::setDelay/getDelay
 | 
						|
+ PS3 - Enabled DTS support.
 | 
						|
+ Optimize DSP disconnection code, huge speed improvement.
 | 
						|
+ PS3 - Added FMOD_INIT_PS3_PREFERDTS init flag to prefer DTS over Dolby Digital
 | 
						|
        if both are supported.
 | 
						|
+ PS3 - Added FMOD_INIT_PS3_FORCE2CHLPCM init flag to force output to stereo LPCM.
 | 
						|
+ PS3 - Enable System::setDSPBufferSize for numbuffers only.
 | 
						|
+ PS3 - SPU performance improvements due to new GCC Toolchain.
 | 
						|
+ Reduce memory usage of DSP Echo filter.
 | 
						|
+ Xbox 360 / PS3 - Speed optimized DSP Echo filter.
 | 
						|
+ PS3 - Enable AIFF support.
 | 
						|
 | 
						|
+ Event API - Improved memory usage
 | 
						|
+ Event API - Added "RoughSequence" event to example project
 | 
						|
+ Event API - Added support for sound instance "Autopitch parameter" property
 | 
						|
 | 
						|
- Reduce System::update / EventSystem::update overhead.
 | 
						|
- Fixed FMOD_OPENSTATE_STREAMING not being set for FSB subsounds.
 | 
						|
- Fix FMOD_REVERB_CHANNELPROPERTIES with a non existent reverb instance 
 | 
						|
  causing crash.  Now returns FMOD_ERR_REVERB_INSTANCE.
 | 
						|
- Fixed stack overflow when playing 8ch mpeg FSB files.
 | 
						|
- Fixed config screen not updating on certain VST plugins.
 | 
						|
- Fix System::setReverbProperties sometimes returning an error.
 | 
						|
- Fix mp3 decoder seeking back to 0 if the seek or loop position was less
 | 
						|
  than an mpeg frame size.
 | 
						|
- Fixed 64-bit pointer corruption
 | 
						|
- Fixed Unicode check on http/https urls being passed to System::createSound/Stream
 | 
						|
- Fixed crash when using plugins version of FMODEx with certain output modes.
 | 
						|
- Fixed certain codec plugins crashing on load.
 | 
						|
- Fixed hardware virtual voices not becoming real again.
 | 
						|
- Fixed occasional crash when playing multichannel mp3 fsbs.
 | 
						|
- Fixed threading issue with SoundGroups
 | 
						|
- Fixed memory corruption in DSPChorus when the number of input channels is
 | 
						|
  greater than the number of channels being output by the system.
 | 
						|
- Fixed voices gradually going virtual over time.
 | 
						|
- Fixed unimportant virtual voices not ending at the right time and then 
 | 
						|
  starting later when they should in fact have stopped long before that time.
 | 
						|
- Fixed DSPConnection::getLevels from causing a bad memory write.
 | 
						|
- Fixed accuracy of Channel::getPosition with stream playback.
 | 
						|
- Fixed crackling when using System::playDSP and reverb.
 | 
						|
- Fix calling addDSP twice in a row with the same object/parameter causing
 | 
						|
  infinite loop.
 | 
						|
- Fix Channel::getAudibility not taking SoundGroup mute volume into account.
 | 
						|
- Fix crash in second System::init call if first System::init call returned
 | 
						|
  FMOD_ERR_OUTPUT_CREATEBUFFER.
 | 
						|
- Fixed SoundGroup with FMOD_SOUNDGROUP_BEHAVIOR_MUTE behaviour, and 
 | 
						|
  FMOD_INIT_VOL0_BECOMES_VIRTUAL used, not going virtual immediately, but only
 | 
						|
  after moving the 3d source or listener.
 | 
						|
- Fixed MIDI notes sometimes getting suck on (sustain forever).
 | 
						|
- Fixed crash when using FMOD_INIT_ENABLE_PROFILE with large DSP networks.
 | 
						|
- Fixed System::setAmbientReverbProperties not enabling reverb before a 
 | 
						|
  createReverb call.
 | 
						|
 | 
						|
- Win32 - Fixed memory error being returned when enumerating a system with
 | 
						|
          more input devices than output devices.
 | 
						|
- Mac - fixed useplugins example Makefile to correctly link with plugins dylib.
 | 
						|
- Mac - Fixed issues with applications using event loops.
 | 
						|
- Mac - Fixed init failure on certain recording devices such as the 
 | 
						|
        iSight camera.
 | 
						|
- PS2 - Fixed garbled noise when mixing mono and stereo sounds in an FSB vag stream.
 | 
						|
- PS3 - Fixed problems with distortion effect for high values of FMOD_DSP_DISTORTION_LEVEL.
 | 
						|
- PS3 - Fixed very rare pops when playing sounds.
 | 
						|
- PS3 - Fixed crash when inserting a DSP effect in a certain DSP tree configuration.
 | 
						|
- PS3 - Fixed occasional popping coming from mixer with a busy DSP tree.
 | 
						|
- PS3 - FIxed distortion when rapidly updating DSP SFX Reverb parameters.
 | 
						|
- PS3 - fix chirp noise when sound ends.
 | 
						|
- PS3 - Fixed occasional crackling in DSP Echo filter.
 | 
						|
- GC/Wii - Fixed file access alignment issue if user file callbacks were used.
 | 
						|
- PS3 - Fixed echo not working on 8 channels.
 | 
						|
 | 
						|
- FSBankEx - Fixed caching sometimes not working
 | 
						|
- FSBankEx - fix .fsbcache directory from not working on unix style environments 
 | 
						|
             by changing '\' to '/'.
 | 
						|
- FSBankEx - Fixed FSBs built from cache being slightly different to original
 | 
						|
- FSBankEx - Fixed crash when using MP2/MP3 compression with small files
 | 
						|
 | 
						|
- Event API - incorrect mute behaviour with getEvent and category mute fixed.
 | 
						|
- Event API - stopped releasing an event from a stop callback of the 
 | 
						|
              same event causing a recursive loop and crashing.
 | 
						|
- Event API - Fix memory corruption from logging system when releasing
 | 
						|
              an event (fmodexL only).
 | 
						|
- Event API - Fixed MusicPrompt::begin to support theme start segments with
 | 
						|
              cue conditions
 | 
						|
- Event API - Fixed EventProject::release to reset the music system before
 | 
						|
              freeing music data (prevents crashes)
 | 
						|
- Event API - If the transition timer is running and the main theme ends,
 | 
						|
              start the target theme immediately (don't wait for the timer)
 | 
						|
- Event API - Fixed event "Steal quietest" max playbacks behaviour sometimes
 | 
						|
              erroneously falling back to "Steal oldest"
 | 
						|
- Event API - Fixed endian issues in music data loading which broke music
 | 
						|
              playback on big-endian platforms
 | 
						|
- Event API - Fixed MusicSystem::setPaused logic to handle beat syncing
 | 
						|
              correctly
 | 
						|
- Event API - Fixed music system applying tempo changes too early
 | 
						|
- Event API - Fixed memory leaks in music system
 | 
						|
- Event API - Fixed memory error due to sound definitions with no entries
 | 
						|
- Event API - Fixed music system crashing after restarting the event system
 | 
						|
- Event API - Fixed typos in FMOD_EVENT_PROPERTY speaker enumeration docs
 | 
						|
- Event API - Fixed music system handling of empty segments
 | 
						|
- Event API - Fixed network tweaking of category volume/pitch
 | 
						|
- Event API - Fixed rare silent sounds when primary parameter moved very quickly
 | 
						|
- Event API - Fixed network auditioning with FMOD_EVENT_INIT_DONTUSENAMES
 | 
						|
- Event API - Fixed 64-bit EventSystem::load failing with FMOD_ERR_MEMORY
 | 
						|
 | 
						|
* FMOD_INIT_ENABLE_DSPNET has been replaced with FMOD_INIT_ENABLE_PROFILE for
 | 
						|
  use with the new profiler tool.
 | 
						|
* When using FMOD_CREATESOUNDEXINFO, specifying a suggestedsoundtype of
 | 
						|
  FMOD_SOUND_TYPE_MPEG will now load any tag data which will also
 | 
						|
  allow loading of MPEG files with more than 4k of tags at the file start.
 | 
						|
* Event API - "Sequential" sound definitions are now continuous across 
 | 
						|
              freeEventData calls
 | 
						|
* .FEV file format updated! FMOD Designer 4.13.05 requires FMOD version 4.13.05,
 | 
						|
  4.12.05 or higher.
 | 
						|
* .FEV file format updated! FMOD Designer 4.13.06 requires FMOD version 4.13.06,
 | 
						|
  4.12.06 or higher.
 | 
						|
* On Mac when using the device list changed callback, the user must process the
 | 
						|
  application event queue to allow FMOD to detect device list changes.
 | 
						|
* System::setCallback now uses void* for commanddata1 and commanddata2
 | 
						|
  parameters instead of unsigned int for 64bit compatibility.
 | 
						|
* FMOD_DELAYTYPE_DSPCLOCK_PCM has been renamed to FMOD_DELAYTYPE_DSPCLOCK_START
 | 
						|
  to complement FMOD_DELAYTYPE_DSPCLOCK_END.
 | 
						|
* PS3 - Now built with GCC Toolchain 4.1.1.
 | 
						|
* PS3 - Name SPURS taskset to "FMOD".
 | 
						|
 | 
						|
01/02/08 4.13.00 - Development release update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Added support for static samples to Sound::setSubSoundSentence.
 | 
						|
+ Optimized DSP engine graph connection code.
 | 
						|
+ Added "defaultDecodeBufferSize" for streams to FMOD_ADVANCEDSETTINGS.
 | 
						|
+ Added new FMOD_MEMORY_TYPE, FMOD_MEMORY_PERSISTENT to indicate persistent
 | 
						|
  memory allocations which are freed when System::release() is called.
 | 
						|
+ Added System::getDSPClock
 | 
						|
+ Added a new system callback for memory allocation failures.
 | 
						|
+ Added DSPConnection class.  New functions are
 | 
						|
        DSPConnection::getInput
 | 
						|
        DSPConnection::getOutput
 | 
						|
        DSPConnection::setMix
 | 
						|
        DSPConnection::getMix
 | 
						|
        DSPConnection::setLevels
 | 
						|
        DSPConnection::getLevels
 | 
						|
+ Added parameters to Channel::setDelay/getDelay and added
 | 
						|
        FMOD_DELAYTYPE_END_MS
 | 
						|
        FMOD_DELAYTYPE_DSPCLOCK_PCM
 | 
						|
  as the delay types.  Sounds can now be started on a global DSP timeline
 | 
						|
  with sample accurate precision!  Great for interactive music.
 | 
						|
+ Added System::getDSPClock, can use this value with the above 
 | 
						|
  Channel::setDelay command.
 | 
						|
+ Added support for multiple software based reverbs.
 | 
						|
  EventSystem::setReverbProperties, System::setReverbProperties, 
 | 
						|
  can be used to specify the 'Instance' of reverb you want to use.
 | 
						|
  Channel::setReverbProperties can also be used to change wet/dry mix for
 | 
						|
  a channel for different reverb instances.
 | 
						|
+ Added FMOD_OPENSTATE_STREAMING to replace FMOD_OPENSTATE_READY while
 | 
						|
  the streamer has a lock on a sound.  This way you can test for 
 | 
						|
  FMOD_OPENSTATE_READY to make sure it is safe to release a sound without 
 | 
						|
  it blocking the main thread.
 | 
						|
 | 
						|
+ PS3 - Added support for custom DSP units.
 | 
						|
+ Win64 - Added support for WASAPI and OpenAL output modes.
 | 
						|
+ Xbox 360 - Sped up mp2/mp3 decoding by about 1.5-1.6x.
 | 
						|
+ PS3 - Enabled getSpectrum support.
 | 
						|
+ PS3 - Added support for FMOD_DSP_OSCILLATOR.
 | 
						|
 | 
						|
+ Event API - All channels used by the event system now have their userdata
 | 
						|
              field set to the event instance handle that spawned them.
 | 
						|
+ Event API - Sound::setUserData can now be used with "programmer" sounds
 | 
						|
 | 
						|
- Fixed Channel::stop rare crash if using System::playDSP (oscillators etc).
 | 
						|
- Fixed setting the volume of a channel to 0 then back to something non 0 while 
 | 
						|
  it was being played 'paused', causing start of sound to be chopped off, but
 | 
						|
  only when using FMOD_INIT_VOL0_BECOMES_VIRTUAL
 | 
						|
- Fixed Channel::getPosition on a stream getting confused to whether it was 
 | 
						|
  looping or not if Sound::setMode was called after System::playSound.
 | 
						|
- Fixed 3d reverb not updating environment when a Reverb3D::release was called.
 | 
						|
- Fixed FSB subsound streams not ending when being played.
 | 
						|
- Fixed a memory leak in MIDI codec.
 | 
						|
- Fixed crash when using DSound output mode with FMOD_CREATECOMPRESSEDSAMPLE
 | 
						|
  and FMOD_NONBLOCKING without specifing either FMOD_HARDWARE or FMOD_SOFTWARE.
 | 
						|
- Fixed MIDI playback timing calculation so it doesn't drift when a file has
 | 
						|
  tempo changes.
 | 
						|
- Stop user being able to release a sound that was already in the middle of 
 | 
						|
  being released from a channel callback (Sound::release calls channel callback)
 | 
						|
- Fixed FMOD_REVERB_CHANNELPROPERTIES::Room being ignored if 
 | 
						|
  System::setReverbProperties was called -after- Channel::setReverbProperties.
 | 
						|
- Fixed a memory leak when recording.
 | 
						|
- Fixed uninstaller leaving files behind.
 | 
						|
- Fixed various issues with example programs.
 | 
						|
- Removed memory fragmentation every time a stream was opened and removed 
 | 
						|
  call to realloc.
 | 
						|
- Fixed syncpoints in streamed FSBs calling no matter what subsound was playing,
 | 
						|
  as well as Sound::getNumSyncPoints/getSyncPoint returning incorrect values.
 | 
						|
- Fixed sounds with 1 syncpoint, or a syncpoint on position 0 only triggering 
 | 
						|
  once, or a looping sound with a syncpoint right at the end not triggering.
 | 
						|
- Removed the following functions in favour of the DSPConnection class.
 | 
						|
  DSPConnection handles are faster as they don't rely on indicies which need
 | 
						|
  to serialize and block the main thread against the mixer thread to be correct.
 | 
						|
        DSP::setInputMix    
 | 
						|
        DSP::getInputMix    
 | 
						|
        DSP::setInputLevels 
 | 
						|
        DSP::getInputLevels 
 | 
						|
        DSP::setOutputMix   
 | 
						|
        DSP::getOutputMix   
 | 
						|
        DSP::setOutputLevels
 | 
						|
        DSP::getOutputLevels
 | 
						|
- Fix behaviour when ChannelGroup::addDSP is used and virtual voices.
 | 
						|
- Fix software voices leaking in rare timing cases causing sound to drop out.
 | 
						|
- Reduced memory overhead for memory blocks in the memory manager.
 | 
						|
 | 
						|
- Linux - Fixed stuttering in ALSA recording.
 | 
						|
- Linux64 - Fixed example makefile errors.
 | 
						|
- Win32 - (Vista) Potentially reduced stuttering.
 | 
						|
- Win32 - (OpenAL) Disabled EAX-RAM feature for Creative XFI cards to improve
 | 
						|
          streaming performance.
 | 
						|
- Mac - Fixed crash when enumerating available devices quickly after a device 
 | 
						|
        removal, via the device list changed callback. 
 | 
						|
- Mac - Fixed potential problems with GUIDs from devices using unicode.
 | 
						|
- PS2 - Fix hang thanks to recursive criticalsections not being implemented.
 | 
						|
- PS3 - Fixed noise being played when an orphan dsp node is connected to FMOD
 | 
						|
        SoundCard Unit.
 | 
						|
- PS3 - fixed buzzing if a channel that has been split and re-combined in the 
 | 
						|
        dsp tree is paused.
 | 
						|
- PS3 - Fixed rare case where sounds on dsp the network that have more that 1
 | 
						|
        output, where the extra output is fed into a mixer unit, are not being
 | 
						|
        mixed in that mixer unit.
 | 
						|
- PS3 - Optimized DSP tree traversal speed to allow more voices to be played
 | 
						|
        when reverb is enabled.
 | 
						|
- PS3 - Fixed possible rare SPU crash.
 | 
						|
- PS3 - Fixed distortion/sound corruption when dsp effects are added to certain
 | 
						|
        dsp tree combinations.
 | 
						|
- Wii - Fixed problems with loading short, non-interleaved multichannel fsb
 | 
						|
        samples.
 | 
						|
 | 
						|
- Event API - Fixed envelope cache flags colliding with Channel Mix effect
 | 
						|
              flags (this could cause Channel Mix effects to work incorrectly).
 | 
						|
- Event API - Removed spurious use of new operator.
 | 
						|
- Event API - Resolved inconsistencies surrounding EventSystem::setMediaPath.
 | 
						|
              NOTE: Media path now requires a trailing slash/backslash as
 | 
						|
                    appropriate!
 | 
						|
- Event API - Improved FMOD_EVENT_INFO.positionms accuracy when events are 
 | 
						|
              paused and unpaused
 | 
						|
- Event API - Fixed envelope cache flags being incorrectly read from FEV files
 | 
						|
- Event API - Fixed channel mix effect not working on streamed sounds
 | 
						|
- Event API - Made EventSystem::init initialise the random number generator.
 | 
						|
              This fixes broken sound definition shuffling.
 | 
						|
- Event API - Various programmer report fixes.
 | 
						|
- Event API - Fixed events unexpectedly starting paused.
 | 
						|
- Event API - Fixed FMOD_ERR_EVENT_MISMATCH error on Wii.
 | 
						|
- Fixed incorrect path issue when using -b with fmod_designercl.
 | 
						|
- PS3 - Fixed all sounds dropping out for a small moment when a virtual voice
 | 
						|
        is swapped in.
 | 
						|
- Fixed rare crash when playing it/mod/s3m/xm files.
 | 
						|
 | 
						|
* When using FMOD_NONBLOCKING, if neither FMOD_HARDWARE nor FMOD_SOFTWARE is
 | 
						|
  specified, then FMOD will default to FMOD_HARDWARE which may cause an error
 | 
						|
  if hardware is not available.
 | 
						|
* Changed FMOD_DSP_SFXREVERB_DRYLEVEL to have default level of 0db instead of 
 | 
						|
  -10,000, to match what the docs were saying. (caused some confusion of stuff 
 | 
						|
  going silent if it was added with the default values).
 | 
						|
* Changed virtual voice behaviour.  Now the first time a sound plays, if it 
 | 
						|
  immediately steals a voice, the start of the sound will never be cut off, 
 | 
						|
  it will just delay the start of playback until the other voice has stopped.
 | 
						|
  FMOD_VIRTUAL_PLAYFROMSTART only affects sounds that swap in later because
 | 
						|
  their audibility/priority changed at a later date in relation to other voices.
 | 
						|
* Changed System::addDSP, Channel::addDSP, ChannelGroup::addDSP, DSP::addInput,
 | 
						|
  DSP::getInput, DSP::getOutput to now also return a DSPConnection handle. 
 | 
						|
  Optional, can be 0.
 | 
						|
* Changed EventSystem::getReverbProperties, System::getReverbProperties, 
 | 
						|
  Channel::getReverbProperties to require the instance you are talking about to
 | 
						|
  be set!  Otherwise you will get incorrect values or FMOD_ERR_REVERB_INSTANCE.
 | 
						|
* Renamed FMOD_REVERB_CHANNELFLAGS_ENVIRONMENT0
 | 
						|
          FMOD_REVERB_CHANNELFLAGS_ENVIRONMENT1
 | 
						|
          FMOD_REVERB_CHANNELFLAGS_ENVIRONMENT2
 | 
						|
          FMOD_REVERB_CHANNELFLAGS_ENVIRONMENT3
 | 
						|
  to
 | 
						|
          FMOD_REVERB_CHANNELFLAGS_INSTANCE0
 | 
						|
          FMOD_REVERB_CHANNELFLAGS_INSTANCE1
 | 
						|
          FMOD_REVERB_CHANNELFLAGS_INSTANCE2
 | 
						|
          FMOD_REVERB_CHANNELFLAGS_INSTANCE3
 | 
						|
  to make it align better with FMOD_REVERB_PROPERTIES::Instance member.
 | 
						|
 | 
						|
* FSBankEx - Change optimize samplerate from 'Further reduce rate by' to 
 | 
						|
  'Percentage of optimized rate' so 10 would now become 90 for example.
 | 
						|
* FSBankEx - Change samplerate optimization to allow scaling up to 1000%
 | 
						|
  instead of 100% (in case it scales too low for some wavs).
 | 
						|
 | 
						|
!* PS3 - SPU elfs are now embedded into the FMOD library. You no longer need to
 | 
						|
         load the elfs yourself. Use fmodex.a for SPU Threads and fmodex_SPURS.a
 | 
						|
         for SPURS.
 | 
						|
!* PS3 - spu_mixer_elfname_or_spursdata, spu_streamer_elfname_or_spursdata, 
 | 
						|
         spu_load_from_memory, force5point1 and attenuateDDLFE members removed
 | 
						|
         from FMOD_PS3_EXTRADRIVERDATA.
 | 
						|
 | 
						|
* Event API - EventSystem::setMediaPath has been changed to expect a path that
 | 
						|
              contains a trailing slash/backslash as appropriate. Failure to 
 | 
						|
              include this trailing seperator char will result in numerous
 | 
						|
              FMOD_ERR_FILE_NOTFOUND errors!
 | 
						|
* PS3 - Now built with SDK 210.001
 | 
						|
 | 
						|
6/11/07 4.11.00 - Development release update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Added ability to change output driver at runtime.
 | 
						|
+ Event API - Added a "Pitch randomization units" Event property in Designer.
 | 
						|
              If this property is set to a unit other than Octaves, the pitch
 | 
						|
              variation is snapped to exact multiples of that unit.
 | 
						|
+ Event API - Added FMOD_EVENT_INIT_SEARCH_PLUGINS init flag.
 | 
						|
+ Event API - Added ability to load .fev files from memory.
 | 
						|
+ Event API - Added a "units" parameter to Event::setPitch/getPitch and
 | 
						|
              EventCategory::setPitch/getPitch, allowing the pitch to be set
 | 
						|
              and retrieved in the desired units
 | 
						|
+ Event API - Added FMOD_EVENTPROPERTY_PITCH_OCTAVES/SEMITONES/TONES and
 | 
						|
              FMOD_EVENTPROPERTY_PITCHRANDOMIZATION_OCTAVES etc, allowing pitch
 | 
						|
              properties to be set and retrieved in the desired units
 | 
						|
+ Event API - Added a "Spawn intensity randomization" Event property. The event
 | 
						|
              spawn intensity is randomized based on this value when
 | 
						|
              Event::start is called. Access via Event::setPropertyByIndex
 | 
						|
              with FMOD_EVENTPROPERTY_SPAWNINTENSITY_RANDOMIZATION
 | 
						|
 
 | 
						|
              
 | 
						|
+ Added System::getDriverInfo and System::getRecordDriverInfo functions to
 | 
						|
  replace System::getDriverName and System::getRecordDriverName. They provide
 | 
						|
  the same functionality but now optionally provide GUIDs to uniquely identify
 | 
						|
  a driver. GUIDs are available from DSound, WASAPI and CoreAudio output modes.
 | 
						|
+ fsbankex - Added ability to build multichannel Wii/GC/PSP/PS2 hardware banks
 | 
						|
             as non-interleaved so that they can be used with FMOD_MEMORY_POINT.
 | 
						|
+ Added support for loading multichannel hardware banks built as non-interleaved
 | 
						|
  on supported platforms.
 | 
						|
+ PS3 / Xbox 360 - Optimized SFX reverb.
 | 
						|
+ Added version and build date to API docs
 | 
						|
 | 
						|
- Fix System::setDriver not allowing a switch to a driver with the same index.
 | 
						|
- Fix System::setDriver in driver-list-changed callback causing infinte loop if
 | 
						|
  desired driver is unsupported.
 | 
						|
- Fix Channel::setPosition with stream sentences that are not CD or FSB (ie 
 | 
						|
  user created sounds with user added subsounds.
 | 
						|
- Fix Channel::setSpeakerMix settings being overriden when virtual voices were 
 | 
						|
  swapping, which caused audible panning glitches.
 | 
						|
- Fix 4, 6 or 8 channel WAV/FSB not downmixing to stereo as it should be if a 
 | 
						|
  lower speakermode was selected (ie stereo).
 | 
						|
- Fix high priority sounds not being audible when played amongst a load of 
 | 
						|
  lower priority voices.
 | 
						|
- Fix Sound::getSubSound not seeking to the right sound if the sound was a stream.
 | 
						|
- Fix loop points on Sound::setSubSoundSentence.
 | 
						|
- Fix crash if Channel::stop was called from SyncPoint callback.
 | 
						|
- Fix Sound::getLength on FSB or CDDA sentences.
 | 
						|
- Fix 8ch+ sounds with DSP filters added causing corruption or NaN values being 
 | 
						|
  fed into the mixer.  Specifically when using compressor, highpass, lowpass, 
 | 
						|
  lowpass simple, itlowpass or parameq.
 | 
						|
- Fix FMOD_ERR_INVALID_PARAM return code if values > 8 were passed to 
 | 
						|
  Channel::set/getSpeakerLevels.
 | 
						|
- Fix FMOD filesystem and netstream support due to issue introduced in 
 | 
						|
  4.08.08.
 | 
						|
- Fixed bug introduced in 4.09.07 to do with stream crackling and bad behaviour
 | 
						|
  when seeking.
 | 
						|
- Fixed software stereo sounds coming out as mono when FMOD_SPEAKERMODE_PROLOGIC
 | 
						|
  is used.
 | 
						|
- Fixed rare case of streams giving bad data which could cause crash on XMA 
 | 
						|
  hardware or corrupted sound?
 | 
						|
- Fixed crash when loading MIDI files.
 | 
						|
- Stopped Sound::lock returning a large length if the length passed in was 
 | 
						|
  larger than the sound.  Now returns error.
 | 
						|
- Fixed problem with FMOD Highpass effect
 | 
						|
- Linux - Fixed crash due to incorrectly freeing memory.
 | 
						|
- Linux - Fixed freeze when recording with ALSA.
 | 
						|
- PS2 - Fixed FMOD_ERR_INVALID_PARAM being returned from System::createSound
 | 
						|
  and other file loading Event based functions.
 | 
						|
- Mac - Removed last bits of MP library to improve performance.
 | 
						|
- Mac - Added missing fmod_event_net.dylib to release.
 | 
						|
- Mac - Modified device list changed callback to trigger when the default input
 | 
						|
        or output device has changed.
 | 
						|
- PS3 - Fixed dsp effects having no affect if added directly to a System object,
 | 
						|
  or to a master channel group derived from System::getMasterChannelGroup.
 | 
						|
- PS3 - Fixed crash when loading .wav files.
 | 
						|
- Win32 - WASAPI, fixed overriding FMOD_SPEAKERMODE_RAW when doing System::init.
 | 
						|
- Xbox 360. Fixed seeking with XMAs with no seek table hanging machine if seek 
 | 
						|
  position was near end of sound.
 | 
						|
- Wii - Fixed not being able to re-play a stream after disk has been ejected
 | 
						|
  and re-inserted.
 | 
						|
- FSBankEx - Fixed FSB GUID always being regenerated when using encryption.
 | 
						|
- FSBankEx - upgrade allowed input channel count for wave files from 8 to 16.
 | 
						|
- Event API - Fix 'programmer sounds' using the parent FSB as the sound pointer
 | 
						|
              (instead of a subsound), crashing on a null pointer.  This is
 | 
						|
              typically if a sentence was attempted to be used as a programmer
 | 
						|
              sound.
 | 
						|
- Event API - Fixed automatic parameters (3d distance, listener angle, event
 | 
						|
              angle) to be read-only.
 | 
						|
- Event API - Fixed memory leak when using oneshot sounds.
 | 
						|
- Event API - Fixed issue with stolen / leaking channels.
 | 
						|
- Event API - Fixed FMOD_EVENT_ERROR_ON_DISKACCESS not working properly with
 | 
						|
              EventSystem::registerMemoryFSB.
 | 
						|
- PS3 - Fixed dry mix not being heard when using system reverb.
 | 
						|
 | 
						|
 | 
						|
* System::setDriver will no longer restore the original driver if the desired
 | 
						|
  driver is not supported. User must call System::setDriver with the index of
 | 
						|
  the original driver.
 | 
						|
* System::getDriverName and System::getRecordDriverName have been replaced with
 | 
						|
  System::getDriverInfo and System::getRecordDriverInfo as they now also provide
 | 
						|
  unique device GUIDs.
 | 
						|
* PS3 - Now built with Sony SDK200.002
 | 
						|
* Event API - Changed FMOD_EVENT_INFO struct numplayingstances/playinginstances
 | 
						|
              to numinstances/instances. Now all instances are returned, not 
 | 
						|
              just instances that are playing.
 | 
						|
* Event API - Event envelope value calculations are now cached for efficiency
 | 
						|
* .FEV file format updated! FMOD Designer 4.11.00 requires FMOD version 4.11.00,
 | 
						|
  4.10.00, 4.08.10 or higher.
 | 
						|
* FSBank now writes out FSB files with GUID so that multiple load instances of
 | 
						|
  the same FSB can be cached at runtime to save memory.
 | 
						|
* PS3 - DSP effects code is now streamed onto the SPU as it is needed. 
 | 
						|
 | 
						|
1/11/07 4.09.07 - Development release update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Added FMOD_INIT_ENABLE_DSPNET and DSPNet Listener.exe application!  Now
 | 
						|
  you can visually view what is happening inside FMOD Ex's DSP network while
 | 
						|
  your application runs, over TCP/IP.
 | 
						|
+ Added ChannelGroup::set3DOcclusion and ChannelGroup::get3DOcclusion. Final
 | 
						|
  Channel occlusion values are scaled by ChannelGroup values as for setVolume,
 | 
						|
  and so will be affected by both ChannelGroup occlusion and geometry (if any).
 | 
						|
+ Added System::getRecordDriverCaps to WASAPI output mode.
 | 
						|
+ Event API - Added the ability to prevent an event from being stolen by
 | 
						|
              returning FMOD_ERR_EVENT_FAILED from the
 | 
						|
              FMOD_EVENT_CALLBACKTYPE_STOLEN callback.
 | 
						|
+ Event API - Added FMOD_EVENT_INFO.numplayinginstances and
 | 
						|
              FMOD_EVENT_INFO.playinginstances. Use these to get a list of
 | 
						|
              playing instances for a specific event. NOTE: You must initialise
 | 
						|
              these members before calling Event::getInfo!
 | 
						|
+ Event API - Added maxdistance scaling for events with custom rolloff. See
 | 
						|
              Event::setPropertyByIndex and FMOD_EVENTPROPERTY_3D_MAXDISTANCE
 | 
						|
 | 
						|
- Fixed logic with SoundGroups if System::setSoundGroup was called after a 
 | 
						|
  sound was played.
 | 
						|
- Fixed a bunch of broken links and outdated names in the API documentation.
 | 
						|
- Fixed FMOD_DSP_LOWPASS_SIMPLE swapping lfe and rear left speaker around.
 | 
						|
- Replaced recording resampler to add support for upsampling.
 | 
						|
- Fixed doppler calculation to give more correct results when the channel is
 | 
						|
  moving away from the listener
 | 
						|
- Win32 Dsound - Fixed limited number of streams being able to be created using 
 | 
						|
  FMOD_HARDWARE | FMOD_3D.
 | 
						|
- Win32 - Fixed memory leak in OpenAL output mode.
 | 
						|
- Mac - added workaround for Digidesign drivers.
 | 
						|
- Mac - improved recording with Bluetooth devices.
 | 
						|
- PS2 - Fix multichannel FSB streams with more than 8 channels in them causing
 | 
						|
  streamer to crash.
 | 
						|
- PS2/WII/PSP/GC/Xbox1 - Fix Channel::setInputChannelMix not working on 
 | 
						|
  multichannel streams using FMOD_HARDWARE.
 | 
						|
- Event API - Fix FMOD_EVENT_INFO::positionms drifting over time.
 | 
						|
- Event API - FMOD_EVENT_INFO::positionms now takes note of Event::setPitch.
 | 
						|
- Event API - Fixed wavebank file close callback being needlessly deferred.
 | 
						|
- Event API - Improved memory fragmentation/wastage.
 | 
						|
 | 
						|
* Memory System - Changed mimumum malloc block size to 16 bytes instead of 64 
 | 
						|
                  bytes to lower rounding overhead on smaller mallocs.
 | 
						|
* ChannelGroup::addDSP - Changed behaviour of DSP connections so that dsp 
 | 
						|
  effects are below the channelgroup DSP head, instead of above it.  If you 
 | 
						|
  are doing manual DSP connections please take note of this.  See new graph
 | 
						|
  in documentation.
 | 
						|
* Event API - Changed Event::set3DOcclusion to use ChannelGroup::set3DOcclusion
 | 
						|
              rather than Channel::set3DOcclusion. This now interacts with 
 | 
						|
              geometry occlusion as described above.
 | 
						|
* Event API - Input members have been added to FMOD_EVENT_INFO! You must
 | 
						|
              initialise these members before calling Event::getInfo!
 | 
						|
 | 
						|
18/10/07 4.09.06 - Development release update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Added System::setCallback, currently there is one available callback, to
 | 
						|
  be notified when the number of attached audio devices changes. (Windows
 | 
						|
  and Mac only for now).
 | 
						|
+ Added the ability to query the number and names of input and output drivers
 | 
						|
  at runtime, with accurate results. (Windows and Mac only for now).
 | 
						|
+ Added System::getRecordDriverCaps which provides similar information to
 | 
						|
  System::getDriverCaps but for input devices. (CoreAudio only for now).
 | 
						|
+ Optimized FMOD_DSP_LOWPASS_SIMPLE and FMOD_DSP_ITLOWPASS effects.
 | 
						|
 | 
						|
- Fixed Xbox 360 music TRC for nested channelgroups
 | 
						|
- Fixed FMOD_DSP_ITLOWPASS from making a pop noise followed by silence 
 | 
						|
  in the whole mixer.
 | 
						|
- Fixed FMOD_DSP_TYPE_HIGHPASS from popping when large cutoff frequency 
 | 
						|
  changes were made, and also filter instability with high cutoff frequencies.
 | 
						|
 | 
						|
* PS3 - Now built with Sony SDK192.001
 | 
						|
* Mac - Improved performance by adding POSIX style semaphores. 
 | 
						|
* FMOD_DSP_HIGHPASS_CUTOFF has had minimum cutoff changed from 10hz to 1hz.
 | 
						|
 | 
						|
12/10/07 4.09.05 - Development release update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Enabled MIDI playback from DLS files without articulation information.
 | 
						|
+ Added FMOD_TIMEUNIT_SENTENCE_SUBSOUND support to Channel::SetPosition.
 | 
						|
+ Event API - Added FMOD_EVENT_INIT_UPPERCASE_FILENAMES init flag
 | 
						|
+ Event API - Added parameter property "Keyoff on silence". Use this with oneshot
 | 
						|
              events to make a parameter keyoff when previously it would have 
 | 
						|
              ended. Put a sustain point in each sound and give your parameter a
 | 
						|
              very large velocity and you can effectively sequence oneshot sounds
 | 
						|
              together. Great for random dialog!
 | 
						|
 | 
						|
- Fixed MIDI playback chirping when using a DLS file that has shared wave sample
 | 
						|
  chunks.
 | 
						|
- Fixed incorrect number of channels tag for format 1 MIDI files.
 | 
						|
- Fixed Channel::getSpeakerLevels returning incorrect values.
 | 
						|
 | 
						|
- Sound::setSubSoundSentence 
 | 
						|
	- Fix subsound 0 always being played instead of first entry in sentence.
 | 
						|
	- Fix parent sound playback playing sentence incorrectly (subsounds were 
 | 
						|
	  cutting  off early, seeking was incorrect)
 | 
						|
 | 
						|
- Fixed error when oneshot event finished before loading
 | 
						|
- PS3 - Fixed certain combinations of dsp units causing volume to double up 
 | 
						|
	sometimes.
 | 
						|
- Event API - Fixed excessive memory usage bug
 | 
						|
- Event API - Fixed event refcnt problem
 | 
						|
- Event API - Fixed Event::getState() not returning FMOD_EVENT_STATE_LOADING when
 | 
						|
              stream seeking is in progress
 | 
						|
- Event API - Fixed leaking stream instances under very slow loading conditions
 | 
						|
- FSBank - Fixed error when building MP2/MP3 with waveform quality < 10
 | 
						|
 | 
						|
* Updated cdplayer example.
 | 
						|
* Added float checks to DSP::setParameter calls (for logging version).
 | 
						|
* Mac - Improved performance by implementing pthreads.
 | 
						|
 | 
						|
05/10/07 4.09.04 - Development release update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
+ Added "initialseekposition" and "initialseekpostype" to FMOD_CREATESOUNDEXINFO,
 | 
						|
  these can be used to flush a stream to a specific position when it is created.
 | 
						|
 | 
						|
- Win32 - WASAPI / OpenAL - Fixed rare crash when closing FMOD.
 | 
						|
- Fixed incorrect MIDI playback in moments of silence.
 | 
						|
- Fixed MIDI file ending early when more than one tempo change was used.
 | 
						|
- Wii - Fix crash when shutting down FMOD if software mixer is enabled.
 | 
						|
- Fixed setparam threading issues in IIR filters
 | 
						|
- Event API - Optimized EventGroup::loadEventData so it doesn't flood async queue
 | 
						|
- Event API - Fixed crash when using "text" user properties
 | 
						|
 | 
						|
01/10/07 4.09.03 - Development release update
 | 
						|
---------------------------------------------
 | 
						|
 | 
						|
* Win32 - Changed FMOD_CAPS_HARDWARE_EMULATED to report only if user sets the 
 | 
						|
  hardware acceleration slider in XP to 'off' instead of just if the sound 
 | 
						|
  device doesn't support hardware mixing.  That can be checked with 
 | 
						|
  System::getHardwareChannels.
 | 
						|
 | 
						|
29/09/07 4.09.02 - Development release update
 | 
						|
----------------------------------------------
 | 
						|
 | 
						|
+ Added "recommended startup sequence" for Windows apps.  Added to 3d example,
 | 
						|
  geometry example, and Windows platform specific issues tutorial in fmodex.chm.
 | 
						|
+ Event API - Added FMOD_EVENT_CALLBACKTYPE_SOUNDDEF_SELECTINDEX callback. Use
 | 
						|
              this to programatically choose sound definition entries at runtime.
 | 
						|
 | 
						|
- Fixed FMOD_SPEAKERMODE_SURROUND not being configured as 5.0, and 
 | 
						|
  initialization failure if this mode was selected?
 | 
						|
- Fix FMOD_PRESET_OFF not clearing out reverb buffers meaning you were able to 
 | 
						|
  hear some left over reverb from the old setting when it was switched back on.
 | 
						|
- Fix memory leak if errors occured in random places during System::createSound
 | 
						|
  such as memory allocation failure or disk ejection.
 | 
						|
- Win32 - WASAPI - Fixed time sensitive crash when stopping a record. 
 | 
						|
- Event API - Fixed EventGroup::loadEventData always returning
 | 
						|
              FMOD_ERR_FILE_DISKEJECTED for a non-blocking load if it is called
 | 
						|
              again after the error. You can now call EventGroup::loadEventData
 | 
						|
              after the disk error has recovered to resume loading.
 | 
						|
- Event API - Fixed setting user properties when using "this_instance" = true
 | 
						|
- Fixed rare memory corruption issue when not using pre-alloced memory pool.
 | 
						|
- Event API - Fixed Event::getState only setting FMOD_EVENT_STATE_STARVING flag
 | 
						|
              if stream is looping.
 | 
						|
- Fixed c# wrapper compile error.
 | 
						|
- Wii - Fixed crash when loading a sound as FMOD_HARDWARE and FMOD_NONBLOCKING.
 | 
						|
 | 
						|
* PS3 - 7.1 to 2ch downmixing is now done using Sony's downmixer, not FMOD's.
 | 
						|
        This means that "2ch LPCM, Downmix from 7.1 LPCM" should be checked
 | 
						|
        rather than just "2ch LPCM" in PS3 Master Disc Specifications Form.
 | 
						|
        (Please refer to FMOD docs for more information).
 | 
						|
 | 
						|
21/09/07 4.09.01 - Development release update
 | 
						|
-----------------------------------------------
 | 
						|
 | 
						|
+ Slight speed up in fmod's default lowpass filter when it is set to 22khz 
 | 
						|
  cutoff.
 | 
						|
 | 
						|
- Fix hang in Sound::release if FMOD_INIT_STREAM_FROM_UPDATE was used.
 | 
						|
- Fix crash when loading MOD files.
 | 
						|
- Fix geometry system not updating occlusion properly if there was no delay
 | 
						|
  between calls to System::update.
 | 
						|
- Wii - Fix sounds being played out of both the WiiMote and main speakers if a
 | 
						|
        channel that was previously set to play out of the WiiMote is re-used
 | 
						|
        to play a sound out of the main speakers.
 | 
						|
- Linux - Fix ALSA playback sometimes playing no sound, but with the sound
 | 
						|
          position moving very fast.
 | 
						|
- Xbox360 - Fixed crash when loading an XMA format .fsb file compiled with
 | 
						|
            "small sample headers".
 | 
						|
 | 
						|
* Event API - FMOD_EVENT_INFO.positionms now takes into account
 | 
						|
              FMOD_EVENTPROPERTY_TIMEOFFSET
 | 
						|
* Event API - EventGroup::loadEventData now only loads waveforms referenced by
 | 
						|
              events in the EventGroup, not the whole .fsb
 | 
						|
 | 
						|
17/09/07 4.08.00 - Official stable branch release
 | 
						|
-------------------------------------------------
 | 
						|
 | 
						|
+ Added FMOD_VIRTUAL_PLAYFROMSTART.  Instead of a virtual voice swapping from 
 | 
						|
  virtual to real and playing at the correct offset according to time, this flag 
 | 
						|
  makes the sound play from the start.
 | 
						|
+ Event API - Added a "Spawn Intensity" property to events; this is a
 | 
						|
              multiplier for the spawn frequency of all sounds in the event
 | 
						|
 | 
						|
- Fixed Memory_GetStats, it was reporting incorrect maximum usage values.
 | 
						|
- Removed FMOD_DONTRESTOREVIRTUAL.  If a user wants a sound to not come back 
 | 
						|
  from being virtual, they can call Channel::isVirtual and Channel::stop.
 | 
						|
- Recording - Fixed wasapi/mac clicking issues with recording.
 | 
						|
- Win32 - OpenAL - fixed potential stuttering issues with Windows Vista.
 | 
						|
- Win32 - OpenAL - fixed random crash when playing sounds.
 | 
						|
- Win32 - OpenAL - fixed incorrect capabilities being reported by some OpenAL
 | 
						|
                   software drivers.
 | 
						|
- PS2 - Fix support for incorrectly written .vag files which could cause a 
 | 
						|
  click noise at end.
 | 
						|
- Event API - Fix EventGroup::getState returning it was ready before loading had
 | 
						|
  actually finished.
 | 
						|
- Event API - Fix FMOD_File_SetDiskBusy / FMOD_File_GetDiskBusy when being used
 | 
						|
  in event api.
 | 
						|
- Event API - On machines with limited timers, the 'time' parameter could 
 | 
						|
  sometimes jump ahead to the end of the range all of a sudden, this has been 
 | 
						|
  fixed.
 | 
						|
- Event API - Fixed Event::getState not setting FMOD_EVENT_STATE_STARVING flag.
 | 
						|
- Event API - Fixed invalid handle error when network auditioning.
 | 
						|
- Event API - Fixed Event/EventCategory pause and mute logic so you can 
 | 
						|
  pause/unpause the master category or any parent categories without it screwing 
 | 
						|
  up the pause/mute state of the individual events.
 | 
						|
 | 
						|
* .FEV file format updated! FMOD Designer 1.07.26 requires FMOD version 4.06.28,
 | 
						|
  4.07.26 or higher.
 | 
						|
 | 
						|
7/09/07 4.07.25 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
- Fix 2d/3d pan morphing from not working properly with stereo and above sounds.
 | 
						|
- Fix sound cutting out using certain DSP network configurations 
 | 
						|
  (event categories/effects) with reverb enabled.
 | 
						|
- Wii - Fix FMOD_ERR_FILE_DISKEJECTED not being returned from FMOD_NONBLOCKING 
 | 
						|
  loads via Sound::getState.
 | 
						|
- Fix reverb having absense of 'diffusion'.  Switching diffusion from 100 to 99
 | 
						|
  then back to 100 would have also fixed it.
 | 
						|
- Event API - Fix EventProject::release not releasing reverb presets from memory.
 | 
						|
- Event API - Fix getState not returning errors from nonblocking loads.
 | 
						|
 | 
						|
4/09/07 4.07.24 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Event API - Added an "(event angle)" parameter; any parameter with the name
 | 
						|
              "(event angle)" is automatically updated with the angle to the
 | 
						|
              listener from the event's forward vector (0 to 180 degrees).
 | 
						|
 | 
						|
- Fix channels not actually pausing properly if reverb was enabled.  
 | 
						|
  Introduced in 4.07.23.
 | 
						|
- Event API - Fixed 'just fail if quietest' when FMOD_EVENT_NONBLOCKING was 
 | 
						|
              used on events that weren't ready yet.
 | 
						|
 | 
						|
* Event API - Changed the name of the "(heading)" automatic parameter to
 | 
						|
              "(listener angle)" for greater clarity.
 | 
						|
 | 
						|
3/09/07 4.07.23 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Added initialsoundgroup to FMOD_CREATESOUNDEXINFO which is accessible via
 | 
						|
  the soundgroup even while asynchronously loading.
 | 
						|
+ Added FMOD_DONTRESTOREVIRTUAL to flag sounds/voices that you don't want
 | 
						|
  to become real again after turning virtual.  (ie just let them be swapped
 | 
						|
  out but not back in to avoid sounds coming in and out and sounding weird)
 | 
						|
+ Event API - Added a "(heading)" parameter; any parameter with the name
 | 
						|
              "(heading)" is automatically updated with the angle to the
 | 
						|
              event about the listener's up vector (-180 to 180 degrees).
 | 
						|
+ Event API - Added a "3D Position randomization" property to sound
 | 
						|
              definitions; sound definition instances are offset from their
 | 
						|
              parent event by a random vector based on this value, recalculated
 | 
						|
              each time the sound is triggered
 | 
						|
+ Event API - Win64 build now supports network auditioning.
 | 
						|
+ PS3 - Added extra member, "maxPCMcodecs" to the FMOD_ADVANCEDSETTINGS. This
 | 
						|
        allows the user to set the maximum number of PCM voices (including streams)
 | 
						|
        that can be played at once.
 | 
						|
        This was previously set to the total number of software channels.
 | 
						|
+ Event API - Added extra parameter, 'loadintorsx' to the
 | 
						|
              EventSystem::registerMemoryFSB function. When it is set to true,
 | 
						|
              the whole fsbdata will be copied into the RSX memory pool.
 | 
						|
 | 
						|
- Fixed performance issue with FMOD_PRESET_OFF not reducing cpu usage.
 | 
						|
- fixed MIDI playback issue where notes would play late causing several notes to
 | 
						|
  sound bunched together or out of place.
 | 
						|
- Channel::set3DOcclusion.  Fixed if directocclusion was set to 1.0, but 
 | 
						|
                   reverbocclusion wasn't and the reverb mix cancelling out
 | 
						|
                   instead of being audible.
 | 
						|
- Fix stream related crash.
 | 
						|
- Fix distortion noise with certain configurations of DSP network.
 | 
						|
- Removed FMOD_EVENTPROPERTY_TIMEOFFSETMS as it was found to be already
 | 
						|
          supported via FMOD_EVENTPROPERTY_TIMEOFFSET.
 | 
						|
- Win32 - OpenAL - fixed previous sound being heard when an channel was reused.
 | 
						|
- Win32 - OpenAL - fixed crash when using non-blocking and create compressed
 | 
						|
                   sample flags without specifying hardware or software mode.
 | 
						|
- Win32 - WASAPI - removed an un-needed error return in certain circumstances
 | 
						|
                   when initialising WASAPI output mode for Windows Vista.
 | 
						|
- Win32 - WASAPI - fixed stuttering on certain Vista machines.
 | 
						|
- Mac - fixed MIDI playback sounding poor when using MacOSX DLS file.
 | 
						|
- Mac - fixed crash during MIDI playback when using MacOSX DLS file.
 | 
						|
- PS3 - Fixed crash when releasing a DSP Chorus unit.
 | 
						|
- PS3 - Fixed hang when running for extended period of time.
 | 
						|
- Wii - Fixed FMOD_SOFTWARE sounds being distorted/garbled when speakermode is
 | 
						|
        set to FMOD_SPEAKERMODE_MONO.
 | 
						|
- Event API - Changed EventI spawn timer handling to improve accuracy somewhat
 | 
						|
              for small spawn times.
 | 
						|
- Event API - Fixed bad distance parameter calculation for head-relative events
 | 
						|
- Event API - Fixed automatic parameters to handle minimum > maximum correctly
 | 
						|
- Event API - Fix EventGroup::getState setting state to 'loading' forever if 
 | 
						|
  there happened to be an error creating a stream/sample in the FMOD_NONBLOCKING
 | 
						|
  thread.
 | 
						|
- Event API - Fixed oneshot events stopping when sounds with both
 | 
						|
              "Wait for Previous" and "Loop and cutoff" set are still playing
 | 
						|
- Event API - Fixed "Wait for Previous" sounds not being updated properly
 | 
						|
- Mac - Fixed recording resampling problems.
 | 
						|
 | 
						|
* Mac - it is no longer necessary to specify a DLS file when playing MIDI on
 | 
						|
        MacOSX as a default has been added pointing to "gs_instruments.dls".
 | 
						|
* Wii - Software mixer is now driven from FMOD's output polling mechanism rather
 | 
						|
        than the AX callback.
 | 
						|
* Updated 'virtual voices' tutorial.
 | 
						|
* PS3 - Now built with Sony SDK190.002
 | 
						|
 | 
						|
21/08/07 4.07.22 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Event API - Added event property FMOD_EVENTPROPERTY_TIMEOFFSETMS. Use this to
 | 
						|
              specify an accurate time offset in milliseconds with no upper limit.
 | 
						|
 | 
						|
- More secure stream release fix, there was still a rare crash in stream thread 
 | 
						|
  if stream was released.
 | 
						|
 | 
						|
20/08/07 4.07.21 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ PS3 - Added new pointer to CellAudioOutConfiguration member "cell_audio_config"
 | 
						|
        to FMOD_PS3_EXTRADRIVERDATA structure. This information can be used for
 | 
						|
        initialisation of Bink etc.
 | 
						|
+ Optimized FSB memory consumption so it caches/shares header memory if an FSB 
 | 
						|
  is opened more than once.  Can save significant memory for streams with lots of 
 | 
						|
  sounds in them.
 | 
						|
+ Event API - Added FMOD_EVENT_STATE_STARVING.  Streaming events may be playing, 
 | 
						|
  but not being fed data in time, so may be stuttering.  This flag gives this 
 | 
						|
  information.
 | 
						|
 | 
						|
- Removed FMOD_OPENSTATE_STOPPING flag.
 | 
						|
- Fixed hang to do FMOD_NONBLOCKING, streams, FMOD_OPENSTATE_STOPPING flag 
 | 
						|
  and Sound::release.  
 | 
						|
- Fixed remote tweaking of envelopes causing incorrect results and sometimes
 | 
						|
  a crash.
 | 
						|
- Fixed loading playlists from the Internet.
 | 
						|
- Fixed garbage data being returned when a sync point was never given a name.
 | 
						|
- Fixed bug where an error was returned when trying to play an FSB that contains
 | 
						|
  2 mono ADPCM channels interleaved (requires rebuild with fsbank).
 | 
						|
- Wii - Fixed voices occasionally playing with no volume.
 | 
						|
- Mac - Auditioning from the FMOD Designer tool is now enabled on Mac. Also an
 | 
						|
        FMOD_Event_Net library is provided to allow remote tweaking. 
 | 
						|
- Xbox360 - Fixed seeking not working for .xma files loaded as
 | 
						|
	    FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
- FSBank - Fixed Designer and FSBank not supporting sounds with > 6 channels
 | 
						|
- PS3 - Fixed rare MPEG SPU hang when initialising FMOD.
 | 
						|
- Upgraded Ogg Vorbis to version 1.1.3(Ogg) / 1.20(Vorbis) to fix rare seeking
 | 
						|
  crash.
 | 
						|
- PS3 - Fixed memory leak in AT3 codec.
 | 
						|
- Xbox360 - Fixed problems when mixing XMA banks with seeking disabled and 
 | 
						|
            XMA banks with seeking enabled.
 | 
						|
- Win32 - Fixed a problem with Vista WASAPI output mode, initial enumeration
 | 
						|
          should not report an error when no default input device is detected.
 | 
						|
- Wii - FMOD_ERR_FILE_DISKEJECTED is now returned if there is a disk retry error,
 | 
						|
        rather than hanging.
 | 
						|
- PS3 - Fixed sound corruption when trying to seek a PCM voice.
 | 
						|
 | 
						|
* Xbox360 - If an XMA FSB bank is built without a seek table, when seeking,
 | 
						|
            FMOD will do a *non-accurate* CBR seek rather than not seeking
 | 
						|
            at all. 
 | 
						|
 | 
						|
2/08/07 4.07.20 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Added FMOD_SPEAKER_SBL/FMOD_SPEAKER_SBR to make it clearer what speakers are
 | 
						|
  being addressed on PS3.  (On PS3, extra 2 speakers in 7.1 are located behind 
 | 
						|
  the listener instead of to  the sides like on PC).
 | 
						|
+ Added FMOD_OPENSTATE_STOPPING to denote that even though Channel::stop has 
 | 
						|
  been called on a stream, it is not actually stopped because the stream thread 
 | 
						|
  has not finished with it.
 | 
						|
+ Added ability to call System::getNumHardwareChannels before System::init.
 | 
						|
+ Added SoundGroup::setVolume, SoundGroup::getVolume, SoundGroup::stop.
 | 
						|
+ Event API - Added get/setUserData functions to all Event API classes
 | 
						|
+ Event API - Decreased memory usage/fragmentation.
 | 
						|
+ Event API - Optimized .fev file format.
 | 
						|
+ Event API - Added FMOD_EVENTPROPERTY_3D_POSRANDOMIZATION to specify a random
 | 
						|
              deviation in the 3D position of an event.
 | 
						|
+ Event API - Added "Max playbacks" and "Max playbacks behavior" for event
 | 
						|
              categories: If too many events are playing in a category when
 | 
						|
              Event::start is called, an event is stopped according to "Max
 | 
						|
              playbacks behavior"
 | 
						|
+ Xbox360 - Added support for XMA FSBs built without seek tables to save memory.
 | 
						|
+ FSBank - Added the ability to disable seek table generation for XMA banks
 | 
						|
           with the FSBANK_BUILD_DISABLESEEKING build flag.
 | 
						|
+ FSBank - Added the ability to override XMA filtering per waveform with the
 | 
						|
           new FSBANK_SAMPLE_DEFAULTS.buildflags member and the
 | 
						|
           FSBANK_BUILD_OVERRIDE_XMAFILTERHIGHFREQ build flag.
 | 
						|
+ FSBank - Added the ability to disable syncpoint writing for wavebanks
 | 
						|
           with the FSBANK_BUILD_DISABLESYNCPOINTS build flag.
 | 
						|
+ FSBank - Added the ability to specify source files from the command line.
 | 
						|
+ FSBank - Added the ability to enable sample rate optimization via the GUI
 | 
						|
           and command line.
 | 
						|
 | 
						|
- Fixed hang if System::close was called directly after System::init in 
 | 
						|
  rare cases.
 | 
						|
- Fixed soundgroup causing a channelsteal but not calling channel end callback
 | 
						|
  for the stolen channel.
 | 
						|
- Fixed soundgroup crash.
 | 
						|
- Fixed Channel::isPlaying returning true from within channel end callback.
 | 
						|
- Fixed Sound::getName not working on streamed FSB file subsounds.
 | 
						|
- Removed stall when starting and stopping a stream.
 | 
						|
- Fixed reverb when switched on, then off with FMOD_PRESET_OFF
 | 
						|
- Fix channel not inheriting channelgroup properties (volume etc) when using
 | 
						|
  Channel::setChannelGroup 
 | 
						|
- Remove stall from Sound::release, System::createChannelGroup.
 | 
						|
- Win32 / Linux - Fix crackle when multiple system objects were used.
 | 
						|
- Win32 - Fix multichannel streams not coming out of speakers correctly thanks
 | 
						|
          to bad directsound behaviour.  Directsound only.
 | 
						|
- Win32 - Fixed WASAPI and OpenAL output modes causing a crash if stopped
 | 
						|
          before they are initialised.
 | 
						|
- Win32 - Fixed WASAPI pitch issue when Windows mix format didn't match the
 | 
						|
          FMOD default or user specified value.
 | 
						|
- Win32 - Fixed mono recording for WASAPI output mode.
 | 
						|
- Mac x86 - Fixed CDROM support, playback is no longer static noise.
 | 
						|
- Mac - Fixed FSBankLib, it now produces correct FSBs on Mac PowerPC.
 | 
						|
- Mac - Fixed crash during CoreAudio driver enumeration.
 | 
						|
- FSBank - Fixed FSBs being built having a default channel priority of 255
 | 
						|
           rather than the correct default of 128.
 | 
						|
- FSBank - Fixed non-sound files being added to file list based on file
 | 
						|
           extension
 | 
						|
- Fixed System::getAdvancedSettings sometimes returning too many ASIO channels
 | 
						|
- PS3 - Fix pcm voices returning FMOD_ERR_CHANNEL_ALLOC after 32 instances.
 | 
						|
- PS3 - Fix error being returned when loading interleaved streams of greater
 | 
						|
        than 6 channels. A maximum of 8 channels is allowed for PS3.
 | 
						|
- PS3 - Fixed hang in stream SPU thread if only 1 SPU is available due to SPU
 | 
						|
        thread not swapping.
 | 
						|
- PS3 - Fix memory still being allocated into MRAM rather than the given VRAM
 | 
						|
        pool when FMOD_LOADSECONDARYRAM is specified.
 | 
						|
- PS3 - Fixed reverb tails not sounding when a sound stops playing.
 | 
						|
- Xbox 360 - Fix music TRC issue with new game tracks starting in nested 
 | 
						|
             channelgroups/categories after music in dashboard had started.
 | 
						|
- Event API - Fixed threading issues.  Hangs/crashes if FMOD_EVENT_NONBLOCKING
 | 
						|
              was used.
 | 
						|
- Event API - "Just fail if quietest" was always stealing if "Max playbacks" = 1
 | 
						|
- Event API - "Just fail if quietest" wasn't taking into account event volume or
 | 
						|
              category volume.
 | 
						|
- Event API - Fixed FMOD_ERR_EVENT_MAXSTREAMS sometimes being returned even 
 | 
						|
              though less than "Max streams" had been created.
 | 
						|
- Event API - Fixed Event::getInfo returning incorrect projectid
 | 
						|
- Event API - Fixed FMOD_EVENT_CALLBACKTYPE_SOUNDDEF_RELEASE sometimes not being
 | 
						|
              called
 | 
						|
- Event API - Fixed problem with events with no parameters
 | 
						|
 | 
						|
- PS3 - Fixed occasional hang when rapidly starting up and shutting down FMOD.
 | 
						|
- Fixed performance spikes with virtual voices in System::update().
 | 
						|
- Wii - Fixed System::setSpeakerMix not working correctly.
 | 
						|
- Mac/Vista - Fixed rare recording crash.
 | 
						|
- Fixed setPosition on MPEG streams not always working correctly.
 | 
						|
- Wii - Fixed stall when calling Channel::setPaused.
 | 
						|
- Wii - Fixed no sound every playing out of 4th controller when
 | 
						|
        "muteremotespeakerifnosound" is set.
 | 
						|
 | 
						|
* FMOD_NONBLOCKING now affects Channel::stop / Event::stop for streaming sounds.
 | 
						|
* Changed sounds that go virtual upon playback, to delay their playback  instead
 | 
						|
  of cutting off the start of the sound.
 | 
						|
* XBox360 - Worked around XDK bug with Xbox Music Player notification, by
 | 
						|
            changing technique and functions used to detect dashboard music.
 | 
						|
            Should work now even with the broken XDK.
 | 
						|
* FSBank - Changed the FSBank_Build function signature. All the separate
 | 
						|
           integer flag parameters have been replaced by a single buildflags
 | 
						|
           bitfield of type FSBANK_BUILDFLAGS.
 | 
						|
* FSBank - Changed misspelt FSBANK_SAMPLE_DEFAULTS.optmisedratereduction
 | 
						|
           to FSBANK_SAMPLE_DEFAULTS.optimisedratereduction
 | 
						|
* Mac - FMOD libraries on Mac are now distributed as universal binaries
 | 
						|
        containing both x86 and PPC versions in one.
 | 
						|
* Event API - "3D Distance" parameters are now read-only.
 | 
						|
* PS3 - Now built with Sony SDK181.001
 | 
						|
* .FEV file format updated! FMOD Designer 1.07.20 requires FMOD version 4.06.23,
 | 
						|
  4.07.20 or higher.
 | 
						|
 | 
						|
22/06/07 4.07.19 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Added FMOD_SPEAKERMAPTYPE which includes FMOD_SPEAKERMAPTYPE_ALLMONO, 
 | 
						|
  FMOD_SPEAKERMAPTYPE_ALLSTEREO.  Used with new FMOD_CREATESOUNDEXINFO 
 | 
						|
  'speakermap' value, multichannel sounds can now be forced to a speakermap
 | 
						|
  that is either all channels go into the front center (allmono) or they
 | 
						|
  alternate as stereo pairs on front left/front right speakers.  Good for
 | 
						|
  multichannel interactive music.
 | 
						|
 | 
						|
+ Event API - Added "waituntilready" parameter to EventGroup::freeEventData(). 
 | 
						|
              Use this to avoid blocking the main thread.
 | 
						|
+ Event API - Added FMOD_EVENT_CALLBACKTYPE_EVENTSTARTED.
 | 
						|
 | 
						|
- XBox360 - Fix small streams not buffering when FSB and 
 | 
						|
            FMOD_CREATESOUNDEXINFO::initialsubsound was used.
 | 
						|
- Fixed Sound::setSubSound crash if the parameter was a stream.
 | 
						|
- Fixed crash when changing FMOD echo dsp parameters in low memory situation.
 | 
						|
- Fixed crash when using nested channelgroups and using System::close.
 | 
						|
- PS3 - Fix SPURS only hang when calling Channel::setPosition on an MPEG voice.
 | 
						|
- Event API - Fixed EventSystem::getNumEvents returning incorrect value after 
 | 
						|
              EventProject::release.
 | 
						|
- Event API - PS3 - Fixed Event::getInfo returning incorrect values for the 
 | 
						|
                    positionms member of FMOD_EVENT_INFO structure.
 | 
						|
 | 
						|
* Sounds with more than 6 channels now default to L/R alternating pan in the 
 | 
						|
  speakermap, every second channel starting from 0 being left, and every second
 | 
						|
  channel starting from1 being right.
 | 
						|
 | 
						|
18/06/07 4.07.18 - Dev release update
 | 
						|
------------------------------------
 | 
						|
 | 
						|
+ Added ability to be able to disable speakers from 3D calculation.  
 | 
						|
  Useful for things like disabling center speaker for dialog, or the LFE.
 | 
						|
  See renamed System::setSpeakerPosition change below.
 | 
						|
+ Added ChannelGroup::set/getPaused, ChannelGroup::set/getMute.  These 
 | 
						|
  are different to override as now any new channels added to the group will 
 | 
						|
  respect the group's pause / mute state instead of ignoring it.
 | 
						|
+ Added ASIOSpeakerList to FMOD_ADVANCEDSETTINGS and allow user to set a 
 | 
						|
  speaker list at runtime to remap FMOD speakers to ASIO channels.
 | 
						|
+ Event API - Optimised update for events with dsp unit effects.
 | 
						|
+ Added support for FMOD_OUTPUTTYPE_WASAPI - Native Vista audio support!
 | 
						|
+ Added support for FMOD_OUTPUTTYPE_OPENAL - Considered beta.  Software 
 | 
						|
  mixes into OpenAL buffers, so that effects and realtime compressed samples 
 | 
						|
  still work, but the soundcard hardware takes care of 3d virtualization.
 | 
						|
 | 
						|
- XBox360 - Fixed XMA2 support for .xma files properly.
 | 
						|
- Fix 40 byte memory leak if 2 System objects were used in 1 application.
 | 
						|
- Fix .IT file playback crash.
 | 
						|
- PSP - Fix hang when releasing a stream if more than one is playing at a time.
 | 
						|
- Fix System::registerCodec from not working - bug introduced in 4.07.16.
 | 
						|
- Fix crash if FMOD_CREATESOUNEXINFO::initialsubsound was > 1 and a user 
 | 
						|
  created (FMOD_OPENUSER) multisubsound stream was used.
 | 
						|
- Fix Sound::setSubSoundSentence when first subsound was not index 0.
 | 
						|
- Fix audible glitch when starting an mp3 netstream.
 | 
						|
- Removed ChannelGroup::overridePaused, ChannelGroup::overrideMute.
 | 
						|
- PS2 - Fix cdrom0: loading issue with forward slashes.
 | 
						|
- Fix hang with FMOD_INIT_VOL0_BECOMES_VIRTUAL with channelgroups/events.
 | 
						|
- Fix performance issue with FMOD internal malloc routine.  Should notice big
 | 
						|
  improvement for large memory pools.
 | 
						|
- Fix FSB stream not ending if FMOD_CREATESOUNDEXINFO::initialsubsound was used.
 | 
						|
- Event API - Fixed 'steal oldest' and EVENT_INFO.positionms if using _reduced
 | 
						|
              versions of library with no software mixer (ie psp/ps2/wii).
 | 
						|
- Event API - Fixed leaking streams
 | 
						|
- Event API - Fixed crash if out of memory.
 | 
						|
- Event API - Wii - Fixed crash when playing more than 1 event with stereo 
 | 
						|
              samples at once.
 | 
						|
- Event API - Fixed event instances not taking their initial volume from their
 | 
						|
              INFOONLY event.
 | 
						|
- Event API - Updated docs for event callback types
 | 
						|
- Event API - Fix forwardslash/backslash issue with registerMemoryFSB.
 | 
						|
- Event API - Fix stack overflow if "" (empty string) was passed to getEvent.
 | 
						|
- FSBank - fix FSB files being generated which would cause memory overrwrites if
 | 
						|
           FMOD_OPENMEMORY_POINT was used and the data was PCM.  This also applies
 | 
						|
           to Event API - using registerMemoryFSB function.
 | 
						|
- Fixed crash in pitch shifter when setting the FMOD_DSP_PITCHSHIFT_MAXCHANNELS
 | 
						|
  parameter.
 | 
						|
- Fixed clicks in "Lowpass" dsp unit when changing cutoff frequency
 | 
						|
 | 
						|
* Changed System::set/getSpeakerPosition to System::set/get3DSpeakerPosition to 
 | 
						|
  give the function a more correct name and also add 'active' flag.
 | 
						|
* Channel::set3DPanLevel now affects doppler as well.
 | 
						|
* Changed Sound::getOpenState to return FMOD_OPENSTATE_ERROR in openstate and
 | 
						|
  whatever the error was if a fatal stream error occured.  This may happen with
 | 
						|
  an error such as FMOD_ERR_NET_SOCKET_ERROR for example.
 | 
						|
* The fsbankex utility now preserves the case of file names from the listing
 | 
						|
  file, rather than folding them to lowercase
 | 
						|
* Event API - When an event is stolen, FMOD_EVENT_CALLBACKTYPE_STOLEN is now called 
 | 
						|
              *before* FMOD_EVENT_CALLBACKTYPE_EVENTFINISHED, not after.
 | 
						|
*** Event API - FMOD_EVENT_SYSTEMINFO.numplayingevents field changed! It's no 
 | 
						|
                longer a pointer!
 | 
						|
* PS3 - Now build with Sony SDK180.002
 | 
						|
 | 
						|
5/06/07 4.07.17 - Dev release update
 | 
						|
------------------------------------
 | 
						|
 | 
						|
+ Removed the "Spawn Intensity" sound definition property and re-introduced
 | 
						|
  the minimum and maximum spawn time properties. The spawn intensity layer
 | 
						|
  effect now scales the average spawn time by (1 / (envelope value))
 | 
						|
+ Added new error code, FMOD_ERR_EVENT_MISMATCH, which is returned when a FSB
 | 
						|
  file doesn't matched a FEV file.
 | 
						|
+ Added 'name' and 'index' to EventSystem::getReverbPresetByIndex / 
 | 
						|
  EventSystem::getReverbPreset to allow user to get id from name, and vice 
 | 
						|
  versa.
 | 
						|
+ Speed up in FMOD memory allocation routines.
 | 
						|
* + Speed up in System::update when virtual voices swap.  CriticalSections 
 | 
						|
  removed so performance increase should be significant in this case.
 | 
						|
+ Added FMOD_INIT_VOL0_BECOMES_VIRTUAL.  Any voices with volume or audibility 
 | 
						|
  of 0 will go virtual automatically!
 | 
						|
+ Sped up MP3 decoding about 25%.
 | 
						|
+ Added FMOD_ERR_FILE_DISKEJECTED and stopped the main thread hanging when 
 | 
						|
  the cd was ejected.  The load functions now return this error.  Only 
 | 
						|
  supported on Wii at the moment.
 | 
						|
+ Added Channel::setInputChannelMix / getInputChannelMix.  Now a user can 
 | 
						|
  easily set the incoming levels of a multichannel sound, to set volumes of 
 | 
						|
  subchannels for things like interleaved multichannel music etc.
 | 
						|
+ Event API - Added "playingevents" to FMOD_EVENT_SYSTEMINFO. Get a list of
 | 
						|
              all playing events in the event system.
 | 
						|
+ Event API - Added FMOD_EVENT_INIT_FAIL_ON_MAXSTREAMS.  Events will fail 
 | 
						|
  with an error if this init flag is specified and "Max streams" was reached 
 | 
						|
  when playing streamed banks.
 | 
						|
+ Event API - Added the "Channel Mix" effect, providing control over the
 | 
						|
  incoming levels of multichannel sounds in an event layer.
 | 
						|
 | 
						|
- Fixed Sound::getLength with FMOD_TIMEUNIT_PCMBYTES, when using a 
 | 
						|
  FMOD_CREATECOMPRESSEDSAMPLE sound.
 | 
						|
- Fixed Reverb::get3DAttibutes / EventReverb::get3DAttibutes not returning a 
 | 
						|
  valid value in maxdistance.
 | 
						|
- Fixed a crash if user ran out of memory while loading a .ogg file.
 | 
						|
- Fixed a crash if user ran out of memory while opening a stream.
 | 
						|
- Fixed XMA timeout on very small .xma files when /l option was used with 
 | 
						|
  xmaencode.exe.
 | 
						|
- Fixed rare stack corruption when using FMOD_NONBLOCKING 
 | 
						|
- Fixed FSB with mp3 data and mono/stereo sounds in the same FSB causing mono 
 | 
						|
  sounds to play at double pitch.
 | 
						|
- Fixed Sound::seekData not resetting codec properly, so causing an audible 
 | 
						|
  glitch.
 | 
						|
- Small quality fix to FMOD_DSP_LOWPASS_SIMPLE filter.
 | 
						|
- Fix buzzing noise in mixer after using Channel::setChannelGroup with reverb.
 | 
						|
- Fixed FMOD_INIT_SOFTWARE_HRTF not respecting Channel::set3DPanLevel.
 | 
						|
- Wii - fix sleep function leaking and causing hang in streamer after a long time.
 | 
						|
- Fixed logic behind System::set3DRolloffCallback when Channel::set3DMinMaxDistance 
 | 
						|
  is called.  Bug was that volumes were set/calculated incorrectly.
 | 
						|
- Fix timing in mod/s3m/xm/it playback.
 | 
						|
- Fixed virtual voice priority not updating if its ChannelGroup volume changed.
 | 
						|
- Event API - Fixed FMOD_ERR_INTERNAL when using FMOD_EVENT_NONBLOCKING with 
 | 
						|
              EventGroup::loadEventData.
 | 
						|
- Event API - Fixed projects with waves that were 2d and 3d not loading.
 | 
						|
- Event API - Wii - Fixed certain events not stopping when Event::stop is called.
 | 
						|
- Event API - Wii - Fixed certain looping events stopping by themselves when
 | 
						|
                    they shouldn't be.
 | 
						|
- Event API - Wii - Fix crash when using GCADPCM wavebanks.
 | 
						|
- Event API - Fixed problem where stolen events with non-zero "Fadeout"
 | 
						|
              would still be playing after they were stolen.
 | 
						|
- Event API - Fixed event "Max playbacks behaviour" "Just fail if quietest"
 | 
						|
              sometimes not working as expected.
 | 
						|
- Event API - Fixed disc access occuring sometimes even though registerMemoryFSB
 | 
						|
              was used.
 | 
						|
- Event API - Fixed events with fade in / fade out not calling 
 | 
						|
              FMOD_EVENT_CALLBACKTYPE_EVENTFINISHED if stopped soon after 
 | 
						|
              starting.
 | 
						|
- Event API - Fixed file handle leak in streamed banks.
 | 
						|
- Event API - If user mixed up FEV and FSB files, now returns 
 | 
						|
              FMOD_ERR_EVENT_MISMATCH instead of crashing.
 | 
						|
 | 
						|
* .FEV file format updated! FMOD Designer 1.07.17 requires FMOD version 4.06.20,
 | 
						|
  4.07.17 or higher.
 | 
						|
* Event API - FMOD_EVENT_CALLBACKTYPE_EVENTFINISHED is now always called
 | 
						|
              when an event is stopped by the user or naturally.
 | 
						|
* Updated FLAC to 1.1.4 to better support certain files.
 | 
						|
* Changed FMOD_CHANNEL_CALLBACKTYPE_END to trigger when Channel::stop is called, 
 | 
						|
  and also when a sound steals that voice and stops it.
 | 
						|
 | 
						|
18/05/07 4.07.16 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Added FMOD_INIT_SOFTWARE_HRTF.  This is a fake hrtf which just adds a lowpass 
 | 
						|
  filter to voices when they go behind you.  See FMOD_ADVANCEDSETTINGS for settings.
 | 
						|
+ PS2 - Added FMOD_SPU_Alloc, FMOD_SPU_GetRawAddress, FMOD_SPU_Free to allocate
 | 
						|
  and reserve PS2 sound ram for use in other libraries.
 | 
						|
+ PS2 - Added FMOD_SPU_ReserveVoice to stop fmod using certain hardware voices 
 | 
						|
  (again so that other libraries can use them).
 | 
						|
+ Event API - Added c# wrapper and examples.
 | 
						|
+ Event API - Can now set/get event properties per-instance as well as for all instances.
 | 
						|
  Added "this_instance" parameter to all setPropertyXXX and getPropertyXXX functions.
 | 
						|
+ Event API - Added event property FMOD_EVENTPROPERTY_WII_CONTROLLERSPEAKER. Use this to 
 | 
						|
  play events on the Wii controller speakers!
 | 
						|
+ Added recording downsampling. On platforms that only support recording at a
 | 
						|
  fixed rate (ie CoreAudio), it is now possible to record at any rate lower
 | 
						|
  than the hardware supported fixed rate.
 | 
						|
 | 
						|
- Stop rare cases of crashing if Sound::release was called while Sound::readData
 | 
						|
  was being called simultaneously in a different thread.
 | 
						|
- Event API - Clamped event "Max playbacks" to 1 on EventSystem::load if it's < 1.
 | 
						|
 | 
						|
* Event API - Enabled "Surround Pan" in hardware on Wii and Gamecube
 | 
						|
* Renamed FMOD_INIT_DISABLESOFTWARE to FMOD_INIT_SOFTWARE_DISABLE.
 | 
						|
* Renamed FMOD_INIT_OCCLUSION_LOWPASS to FMOD_INIT_SOFTWARE_OCCLUSION.
 | 
						|
 | 
						|
11/5/07 4.07.15 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Event API - Added C wrapper. C users use fmod_event.h, C++ users use fmod_event.hpp
 | 
						|
  and fmod_event.h.
 | 
						|
+ Added System::set3DRolloffCallback.  When FMOD wants to calculate 3d volume for a
 | 
						|
  channel, this callback can be used to override the internal volume calculation 
 | 
						|
  based on distance.  
 | 
						|
 | 
						|
- Fixed crash if quickly releasing sound while it is still in the process of loading 
 | 
						|
  with FMOD_NONBLOCKING
 | 
						|
- Wii - Fixed rare crash when playing looping GCADPCM fsb files with looppoints.
 | 
						|
- Wii - Fixed ProLogic not working correctly.
 | 
						|
- Fix Sound::release crash if subsound was released before parent, introduced in 4.07.15.
 | 
						|
- Fix Sound::release memory leak if subsound was released before parent.
 | 
						|
- Fix streams not ending when stream was certain size.
 | 
						|
 | 
						|
- Event API - Fixed a bug where oneshot sounds would retrigger if the
 | 
						|
              parameter left the sound and returned to it while it was playing
 | 
						|
 | 
						|
*** Event API - C++ users should now use fmod_event.hpp!
 | 
						|
*** Event API - Event callback signature has changed!  The parameter "FMOD::Event *event"
 | 
						|
                is now "FMOD_EVENT *event" so you must cast back to FMOD::Event * to get
 | 
						|
                old behaviour.
 | 
						|
*** Event API - EVENT_xxx values are no longer namespaced! You must put "FMOD_" in 
 | 
						|
                front of them!
 | 
						|
 | 
						|
9/05/07 4.07.14 - Dev release update
 | 
						|
------------------------------------
 | 
						|
 | 
						|
+ PSP - Added support for FMOD_OPENMEMORY_POINT for hardware vag samples.
 | 
						|
+ Added SoundGroup::setMaxAudibleBehavior/getMaxAudibleBehavior.  Determines what
 | 
						|
  happens if you exceed maxaudible count.  New behaviour modes include
 | 
						|
  - FMOD_SOUNDGROUP_BEHAVIOR_FAIL
 | 
						|
  - FMOD_SOUNDGROUP_BEHAVIOR_MUTE
 | 
						|
  - FMOD_SOUNDGROUP_BEHAVIOR_STEALLOWEST
 | 
						|
  See docs for more on what they do.
 | 
						|
+ Added SoundGroup::setMuteFadeSpeed/getMuteFadeSpeed.  Sets the fade
 | 
						|
+ Event API - Added EVENT_STATE_LOADING to EventGroup::getState for determining if 
 | 
						|
  any event in the eventgroup is loading.
 | 
						|
+ Event API - Added "Load into RSX memory" wavebank property (PS3 only)
 | 
						|
 
 | 
						|
- Fix blocking behaviour in System::playSound/System::update/
 | 
						|
  EventSystem::update/Event::start.
 | 
						|
- Fixed crash in some cases when calling Channel::setSpeakerLevels while
 | 
						|
  speakermode is set to FMOD_SPEAKERMODE_PROLOGIC.
 | 
						|
- Fix SoundGroup::setMaxAudible not allowing -1 as a parameter.
 | 
						|
- Fix crash in ogg vorbis codec if out of memory.
 | 
						|
- Fix crash using echo filters if out of memory.
 | 
						|
!- FSBankEx - Fix bug in 4.07.13 that introduced bad FSB output 
 | 
						|
 (Caused hang on Xbox 360 during play, sync points weren't exported).
 | 
						|
- Fix memory leak when using more than 1 System object.
 | 
						|
- Fixed non blocking streams with subsounds stalling main thread.
 | 
						|
- Fix rare Sound::release crash on Xbox 360 with XMA FSB files.
 | 
						|
 | 
						|
- Event API - Fixed a bug where oneshot sounds with "Wait for previous" set
 | 
						|
              didn't play at all if forced to wait
 | 
						|
- Event API - Fixed a bug where adjacent sounds could both play when only one
 | 
						|
              should play (if the parameter was exactly on the boundary)
 | 
						|
- Event API - Fixed a bug where parameters with velocity or seek speed could
 | 
						|
              skip sounds and syncpoints when the framerate was low
 | 
						|
- Event API - Event sustain points are now clamped to valid parameter range
 | 
						|
- Event API - Fixed a bug where sustain points could be written to .fev in the
 | 
						|
              wrong order
 | 
						|
- Event API - Fixed a bug where distance parameters weren't updated correctly
 | 
						|
              until the first EventSystem::update call after Event::start
 | 
						|
- Event API - Fixed parameter value rounding issue.
 | 
						|
- Event API - Fixed "programmer sound" with no parameter not working.
 | 
						|
- Event API - Fixed negative m_streamrefcnt spam.
 | 
						|
- Event API - Fixed 3D doppler factor not heeding listener speed.
 | 
						|
 | 
						|
* PS3 - FMOD libs now built with Sony SDK 170.003
 | 
						|
* Event API - Changed Event::getInfo lengthms calculation to return the length
 | 
						|
              of the longest sound definition
 | 
						|
 | 
						|
26/04/07 4.07.13 - Dev release update
 | 
						|
----------------------------------------
 | 
						|
 | 
						|
+ Mac - Overhaul of CoreAudio output to fix compatibility with various sound cards.
 | 
						|
+ Event API - Added support for individual layer priorities
 | 
						|
+ Event API - Added "just fail if quietest" max playbacks behaviour
 | 
						|
+ Added Reverb::setActive/getActive.
 | 
						|
+ Added SoundGroups!  Now have the ability to group sounds and control their max 
 | 
						|
  playbacks.  More functionality will be added to this class in the future.
 | 
						|
  See new functions
 | 
						|
      System::createSoundGroup
 | 
						|
      System::getMasterSoundGroup
 | 
						|
      Sound::getSoundGroup
 | 
						|
      Sound::setSoundGroup     
 | 
						|
      SoundGroup::getSystemObject
 | 
						|
      SoundGroup::setMaxAudible
 | 
						|
      SoundGroup::getName
 | 
						|
      SoundGroup::getNumSounds
 | 
						|
      SoundGroup::getSound
 | 
						|
      SoundGroup::getNumAudible
 | 
						|
      SoundGroup::setUserData
 | 
						|
      SoundGroup::getUserData
 | 
						|
+ Added FMOD_ERR_MAXAUDIBLE returned by System::playSound when 
 | 
						|
  SoundGroup::setMaxAudible is used.
 | 
						|
+ PS3 - Added support for FMOD_DSP_TYPE_CHORUS effect.
 | 
						|
 | 
						|
- Event API - Fixed "don't play" sound definition entry.
 | 
						|
- Event API - Fixed oneshot events sometimes ending prematurely when used with 
 | 
						|
  EVENT_NONBLOCKING
 | 
						|
- Event API - Fixed broken "steal quietest" max playbacks behaviour
 | 
						|
- Event API - Fixed 3d cone values not taking effect until update was called.
 | 
						|
- Event API - Fixed crash when using EVENT_INIT_USER_ASSETMANAGER with events with
 | 
						|
  no parameters.
 | 
						|
- Event API - Optimised event system memory usage a little.
 | 
						|
- Event API - Removed 'EventReverb3D' class and EventSystem::create3DReverb.
 | 
						|
- Fix crash when System::createCodec was used.
 | 
						|
- Mac - Fixed hang on system release.
 | 
						|
- PS3 - Fixed "Too many DSP units" error/assert when using big event projects.
 | 
						|
- fsbank - PCM data is now written out as big-endian format if platform selected
 | 
						|
	   is Xbox 360. The allows FMOD_OPENMEMORY_POINT to be used properly.
 | 
						|
- Wii - Fixed high pitched whining noise and sounds going silent when virtual
 | 
						|
	voices are being swapped in and out.
 | 
						|
- Wii - Fixed hang when re-using a stream channel to play a new stream.
 | 
						|
- ASIO - Fixed 32bit output noise.
 | 
						|
- Fix midi/mod/s3m/xm/it files connecting their internal channels to reverb causing
 | 
						|
  extra cpu usage.
 | 
						|
- Stopped System::release hanging if user didn't manually release their
 | 
						|
  ChannelGroups.
 | 
						|
- Fixed streaming subsounds not ending sometimes, due to calling getSubSound while
 | 
						|
  another subsound was still playing.
 | 
						|
- Fix stereo sounds in 7.1 speaker mode not being audible if panned to side left or 
 | 
						|
  side right speakers.
 | 
						|
- Fixed various documentation issues.
 | 
						|
 | 
						|
* System::create3DReverb renamed to System::createReverb.
 | 
						|
* System::set/get3DReverbAmbientProperties renamed to 
 | 
						|
  System::set/getReverbAmbientProperties.
 | 
						|
* Replaced the following
 | 
						|
          Reverb::setPosition
 | 
						|
          Reverb::getPosition
 | 
						|
          Reverb::setMinRadius
 | 
						|
          Reverb::getMinRadius
 | 
						|
          Reverb::setMaxRadius
 | 
						|
          Reverb::getMaxRadius
 | 
						|
  with
 | 
						|
          Reverb::set3DAttributes
 | 
						|
          Reverb::get3DAttributes
 | 
						|
* All output plugins now present the default output and record driver as the first
 | 
						|
  item in the list. 
 | 
						|
* PS3 - FMOD libs now built with Sony SDK 160.008
 | 
						|
* Event API - Changed EventReverb3D class to be EventReverb and 
 | 
						|
  EventSystem::createReverb3D to EventSystem::createReverb.
 | 
						|
* Now instead of EventSystem::createReverb creating a pointless object, it simply 
 | 
						|
  returns the reverb property structure associated with the reverb.  New functions
 | 
						|
  are called EventSystem::getReverbPreset and EventSystem::getReverbPresetByIndex.
 | 
						|
* .FEV file format updated! FMOD Designer 1.7.13 requires 4.06.16, 4.07.13 or higher.
 | 
						|
 | 
						|
16/04/07 4.07.12 - Dev release update
 | 
						|
----------------------------------------
 | 
						|
 | 
						|
- Fix FMOD_ERR_CHANNEL_STOLEN error message being displayed, among other possible
 | 
						|
  bugs when mixing streams/samples.
 | 
						|
- Wii/GC/PSP/PS2 - Fixed corrupt sound at the start of a multichannel stream, if
 | 
						|
  it is created while another multichannel stream is currently playing.
 | 
						|
- Fixed extreme 3d velocities being passed into FMOD commands causing mixer crash.
 | 
						|
- Fix rare DSPConnection::mix/mixAndRamp crash.
 | 
						|
- Delphi header fixes.
 | 
						|
- Fixed non-blocking fsb streams flushing twice and Xbox360 XMA hang.
 | 
						|
- Fixed recording in PCM8 and PCMFLOAT formats.
 | 
						|
- Fixed access violation in Channel::stop if channel source is an oscillator
 | 
						|
- Fixed multichannel mp3 playing silent channels on non ps3 platforms.
 | 
						|
- Event API - Fixed resource management bugs.
 | 
						|
- Event API - Fixed EventParameter::setVelocity causing problems when called from 
 | 
						|
  event callback
 | 
						|
 | 
						|
5/04/07 4.07.11 - Dev release update
 | 
						|
----------------------------------------
 | 
						|
 | 
						|
+ FSBank - add support for multichannel mp3 encoding from multichannel wave files.
 | 
						|
+ Add support for multichannel mp3 encoded FSB playback.
 | 
						|
 | 
						|
- Event API - Fixed event categories not inheriting mute flag from parent category
 | 
						|
  during add.
 | 
						|
- Event API - Fixed newly created events not inheriting mute flag from category.
 | 
						|
- Event API - Fixed problem with streamed wavebanks that contain 2D and 3D subsounds.
 | 
						|
- Fixed 24-bit AIFF problems between fsb storage and readback.
 | 
						|
- Wii - Fixed hang when releasing stream while disk is ejected.
 | 
						|
- PS3 - Fixed output buzzing.
 | 
						|
- Fixed bad Pro Logic encode caused by using -3dB midpoint pan gain.
 | 
						|
- Fixed system flag FMOD_INIT_3D_RIGHTHANDED getting reset.
 | 
						|
- PS3 - Fixed rare popping when reverb is enabled.
 | 
						|
- Wii/GC - Fixed hardware lowpass being disabled whenever a channel is paused and
 | 
						|
           then unpaused.
 | 
						|
- Wii/GC - Fixed hardware channel reverb and lowpass properties not being preserved
 | 
						|
	   when channel swaps from virtual to real.
 | 
						|
- Wii - Fixed FMOD_Channel_GetControllerSpeaker not returning the correct value.
 | 
						|
- Wii - Fixed normal speaker sounds sometimes playing out of the controller speaker
 | 
						|
        when channel swaps from virtual to real.
 | 
						|
- Wii/GC - Fixed problems when streaming mixed mono/stereo fsbs.
 | 
						|
 | 
						|
* PS3 - Release is now built using Sony SDK 1.54.001
 | 
						|
 | 
						|
22/03/07 4.07.10 - Dev release update
 | 
						|
----------------------------------------
 | 
						|
 | 
						|
+ Event API - Added EVENTPROPERTY_TIMEOFFSET for adjusting start offset for all 
 | 
						|
  sounds in the event
 | 
						|
+ Added "Reverb notes" to documentation
 | 
						|
 | 
						|
- Fixed bad subchannel locations when using 3D speaker spread for multichannel sources
 | 
						|
- Fixed sounds not starting when FMOD_SUPPORT_MULTIREVERB not defined.
 | 
						|
- FSBank - Added -n command line option to turn off C header file generation
 | 
						|
- PS2 / Wii / PSP / GC.  Fix stereo sounds coming out mono if Channel::setSpeakerMix was 
 | 
						|
  used, or the Event API was used (which calls Channel::setSpeakerMix internally).
 | 
						|
- PS2 / Wii / PSP / GC.  Fix linker error on 'reduced' versions of the libraries.
 | 
						|
- Fixed crash when alternating between recordStart and recordStop.
 | 
						|
- Wii - Fixed crash when passing invalid values to channel::setReverbProperties.
 | 
						|
- XBox360 - Fixed XMA2 support for .xma files.
 | 
						|
- Fixed truncated network file reads.
 | 
						|
- Event API - Fixed issue with EVENT_NONBLOCKING and streamed wavebanks.
 | 
						|
- Event API - Fixed crash when unloading events that are still loading asynchronously.
 | 
						|
- Event API - Fixed pitch envelope disabled by autopitch. Their effect is now cumulative.
 | 
						|
- PS3 - Fixed rare hang when trying to stop a sound.
 | 
						|
- PS2 - Fixed various memory/alignment issues.
 | 
						|
- PS2 - Fixed leaking voices.
 | 
						|
- Fixed crash when playing oscillators after normal sounds.
 | 
						|
- Event API - Fixed crash on freeEventData when same wavebank referenced by events in
 | 
						|
  multiple eventgroups.
 | 
						|
- FSBank - Fixed waveform compression quality not having any effect
 | 
						|
 | 
						|
* EVENT_WAVEBANKINFO::samplerefcnt is now per subsound reference so it will appear larger
 | 
						|
  than in previous versions
 | 
						|
 | 
						|
1/03/07 4.07.09 - Dev release update
 | 
						|
----------------------------------------
 | 
						|
 | 
						|
+ Event API - Sound definitions : simplified spawn intensity parameter (replaces 
 | 
						|
  spawn min/max repeat time)
 | 
						|
+ Event API - Added Spawn Intensity effect, a multiplier for a sound definition's 
 | 
						|
  spawn intensity parameter.
 | 
						|
 | 
						|
- Re-fix system reverb getting only one channel
 | 
						|
- PS2 - Fix crash on file close when using file callbacks.
 | 
						|
- Fix thread memory leak on stream free.
 | 
						|
- Removed spawn min/max repeat time parameters of sound definitions
 | 
						|
- Event API - Fixed event fadein/out fighting with Event::setVolume
 | 
						|
- Event API - Fixed "Reverb Dry/Wet Level" not working correctly for 2D events
 | 
						|
- Event API - Fixed EVENT_INFO positionms sometimes giving incorrect values
 | 
						|
- Wii - Fixed possible noise when playing some sub-streams.
 | 
						|
 | 
						|
23/02/07 4.07.08 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Added support for FMOD_OPENRAW + FMOD_CREATECOMPRESSEDSAMPLE + 
 | 
						|
  FMOD_SOUND_FORMAT_IMAADPCM.
 | 
						|
+ Mac - Can now record in other formats besides FMOD_SOUND_FORMAT_PCMFLOAT with
 | 
						|
        CoreAudio output (default).
 | 
						|
 | 
						|
!- Fix voices 'leaking' or dropping out, when using FMOD_CREATECOMPRESSEDAMPLE.
 | 
						|
   Most likely last fix.
 | 
						|
- Fixed speaker levels not being set properly when voices go from virtual to real
 | 
						|
  again.
 | 
						|
- Win32 - Fix EAX with FMOD_HARDWARE not working (accidently disabled it during 
 | 
						|
  testing).
 | 
						|
- Fix mp2/mp3 setposition/looping not seeking to the right place.
 | 
						|
- Linux - Fixed link error in plugins version of library.
 | 
						|
- Mac - Fixed error when trying to initialize certain audio devices
 | 
						|
	(PreSonus Firebox and possibly other devices).
 | 
						|
- Fix DSP effects added with Channel::addDSP not staying when the channel is 
 | 
						|
  swapped to be virtual and then becomes real/audible again.
 | 
						|
- Event API - Fixed oneshot events sometimes not triggering with EVENT_NONBLOCKING
 | 
						|
- Fix System reverb defaulting to one-channel mode with only one voice
 | 
						|
 | 
						|
20/02/07 4.07.07 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Add gapless mp2/mp3 looping.  Use FSBank or FMOD designer to get this through
 | 
						|
  .fsb.  Will not work with normal .mp2/.mp3 files unless they have been 
 | 
						|
  preencoded properly to loop.
 | 
						|
+ Add 5.1 XMA support.  This only works for .XMA files at the moment not FSB.
 | 
						|
 | 
						|
- Fixed seeking with FMOD_CREATECOMPRESSEDSAMPLE sounds not seeking to the right place.
 | 
						|
- Fixed multichannel sounds not playing properly when maxinputchannels is set to
 | 
						|
  anything other than 6.
 | 
						|
- Fixed channel->reverb gain initialisation for 2D events whose channel count 
 | 
						|
  matches output channel count.
 | 
						|
- Fixed reverb balance dry gain control for 2D events.
 | 
						|
- Fix mapping of 4.0 sound sources.
 | 
						|
- Fix Channel::setDelay causing channel to not stop / crash in System::update.
 | 
						|
- Wii - Fixed reduced release library printing debug messages.
 | 
						|
- XBox360 - Fixed "music" category not being paused properly in some cases if
 | 
						|
            dashboard music is playing before "music" has started playing.
 | 
						|
- PS3 - Fixed channels dropping sometimes when there are a lot of virtual voices.
 | 
						|
- Event API - Fixed EventSystem::load problem when loading events based on 
 | 
						|
  templates with no parameters.
 | 
						|
- Event API - Fix wait-for-previous mode in layer for play-to-end sounds
 | 
						|
- Event API - Fixed main thread blocking when using streamed wavebanks
 | 
						|
 | 
						|
* Event API - Changed EVENT_LOADINFO field "sounddefentrylimit" from a set number
 | 
						|
  to a 0 -> 1 multiplier e.g. 0.5 = half the number of sounddef entries.
 | 
						|
* Sound::GetSubSound with FMOD_NONBLOCKING streams will now go into seeking mode
 | 
						|
  if you call it on the same subsound index 2 times in a row, the second and 
 | 
						|
  further times returning FMOD_ERR_NOTREADY just as it would if you specified 
 | 
						|
  a different index than the one currently active.
 | 
						|
 | 
						|
13/02/07 4.07.06 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
!- FSBank - Fixed bad FSB data being written out which could cause hang with XMA
 | 
						|
  and garbled sound on other formats.  This bug is present from 
 | 
						|
  4.07.02 to 4.07.05 inclusive.
 | 
						|
- Fixed very small memory leak in user created streams with multiple subsounds.
 | 
						|
- Fix doppler by defaulting Channel::set3DDopplerLevel to 1.0 like it should.
 | 
						|
- Event API - Fixed rare syncpoint callback crash
 | 
						|
- Event API - Fixed eventcategory problems when loading multiple projects.
 | 
						|
- Event API - Fixed crash when repeatedly calling Event::start() on an event.
 | 
						|
- Event API - Fixed encryption key support.
 | 
						|
- Fixed channel speakermix not being reset on FMOD_HARDWARE sounds.
 | 
						|
 | 
						|
8/02/07 4.07.05 - Dev release update
 | 
						|
------------------------------------
 | 
						|
 | 
						|
+ Added EventGroup::getState() interface.
 | 
						|
 | 
						|
!- Fix hang bug introduced in 4.07.04.
 | 
						|
- Fix System::setStreamBufferSize and FMOD_TIMEUNIT_MS with FSB files.
 | 
						|
- Event API - Fix wait-for-previous mode in layer for play-to-end sounds
 | 
						|
- Event API - Fixed "Max playbacks behaviour" "Steal oldest"
 | 
						|
- Event API - Fixed "Max playbacks behaviour" "Steal quietest"
 | 
						|
- Event API - Fixed sound definition "Play mode" "RandomNoRepeat"
 | 
						|
- Event API - Fixed EventSystem::update scaling cpu cost with project size
 | 
						|
- Event API - Fixed event volume randomisation
 | 
						|
- Fix Channel::set3DOcclusion/get3DOcclusion documentation.
 | 
						|
- Fixed DSP played with System::playDSP not being 3d if 
 | 
						|
  Channel::setMode(FMOD_3D) was called. (Channel::set3DPanLevel(1.0f) would 
 | 
						|
  have also fixed it.)
 | 
						|
 | 
						|
02/02/07 4.07.04 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
[**** This version is now banned for use in release titles due to critical bug ***]
 | 
						|
 | 
						|
+ PS3 - getWaveData() now functional.
 | 
						|
+ PS3 - Added FMOD_DSP_TYPE_FLANGE effect.
 | 
						|
 | 
						|
- Wii - Fixed hardware reverb issues.
 | 
						|
- Filled out documentation for DSP::setOutput*/setOutput* type functions.
 | 
						|
- Fixed channel leak issue with virtual voices.
 | 
						|
- Fix channels defaulting reverb to dry.
 | 
						|
- Event API - Fixed EventSystem::getGroup/getEvent to be case insensitive
 | 
						|
- Event API - Fix reverb balance effect not setting correct gain levels.
 | 
						|
- Event API - Fixed Vista networking issue
 | 
						|
- Event API - Fixed Loop count bug
 | 
						|
 | 
						|
* Sound::getUserData now works while sound is still loading nonblocking
 | 
						|
* Xbox 360 - FMOD_HARDWARE support removed.  
 | 
						|
  FMOD_HARDWARE will just re-route to FMOD_SOFTWARE now to save confusion.
 | 
						|
  (360 has no mixing hardware, FMOD_HARDWARE was wrapping XAudio voice support).
 | 
						|
* Event API - Sound Definitions - RandomNoRepeat play mode universal across 
 | 
						|
  all events.
 | 
						|
* Wii - Changed "remotespeakeroffifnosound" member in FMOD_WII_INFO to
 | 
						|
       'muteremotespeakerifnosound'. If this member is set, the remote speaker
 | 
						|
	will now be muted when no sounds are playing rather than switched off.
 | 
						|
 | 
						|
29/01/07 4.07.03 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Added 'Loop count' parameter to event sound instances
 | 
						|
 | 
						|
- Event API - Fixed leaking channels
 | 
						|
- Mac - Fixed hang when using certain multi-channel FireWire devices.
 | 
						|
 | 
						|
25/01/07 4.07.02 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Added head-related transfer function to software channels. 
 | 
						|
+ Added fields to FMOD_ADVANCEDSETTINGS structure (min/maxHRTFAngle, 
 | 
						|
  min/maxHRTFFreq) to control HRTF behaviour.
 | 
						|
+ FSBank - FSBank now pads data to 16 bytes to allow for better 
 | 
						|
  FMOD_OPENMEMORY_POINT support.
 | 
						|
+ Xbox 360 - Added 'xaudio' field to FMOD_THREAD_PROCESSOR_ASSIGNMENTS.
 | 
						|
 | 
						|
- Event API - Fixed problems with template events.
 | 
						|
- Event API - Fixed possible click when sounds stop in an event.
 | 
						|
- FSBank - Fixed interleaved FSBs not being built correctly when syncpoints are
 | 
						|
  present.
 | 
						|
- Stopped FMOD_OPENUSER returning error if FMOD_CREATESOUNDEXINFO 
 | 
						|
  'suggestedsoundtype' field was used.
 | 
						|
 | 
						|
23/01/07 4.07.01 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Wii - Added support for FMOD_OPENMEMORY_POINT for hardware samples. Due to 
 | 
						|
  memory alignment requirements, currently only works with .dsp files.
 | 
						|
- Fixed up <1 "Max playbacks" on fev load
 | 
						|
- Fix oscillators not going virtual and maybe causing crash when virtual 
 | 
						|
  voices being used.
 | 
						|
 | 
						|
05/01/07 4.07.00 - Official dev branch release.
 | 
						|
-----------------------------------------------
 | 
						|
 | 
						|
+ Added 3D virtual reverbs.  Added System::create3DReverb / 
 | 
						|
  System::set3DReverbAmbientProperties / System::get3DReverbAmbientProperties 
 | 
						|
  and Reverb class.
 | 
						|
+ SFX reverb has two new parameters : "Room LF" and "LF Reference".
 | 
						|
+ Event API - Added EventCategory::getEventByIndex and EventCategory::getNumEvents.
 | 
						|
+ Event API - Event system memory/speed optimisations.
 | 
						|
+ Event API - Added EventSystem::create3DReverb.
 | 
						|
+ Event API - Added EventSystem::set3DReverbAmbientProperties.
 | 
						|
+ Event API - Added EventSystem::get3DReverbAmbientProperties.
 | 
						|
+ Event API - Added Event3DReverb class.
 | 
						|
+ Event API - Added Event::setProperty and Event::setPropertyByIndex.
 | 
						|
+ FSBank - Added fsbankexcl -i command line option to ignore compilation errors
 | 
						|
+ Optimize virtual voices, so that System::update is faster.
 | 
						|
+ Event API - Sped up loading time.  Reduced memory usage.
 | 
						|
 | 
						|
- Fix PS3 dissapearing voices bug.
 | 
						|
- Fix C# header errors.
 | 
						|
- Fix netstream example ignoring tags.  Fixed certain mp3 netstreams with tags 
 | 
						|
  not opening correctly.
 | 
						|
- Fix Channel::setChannelGroup wiping out Channel::set3DAttributes for 1 frame.
 | 
						|
- Fix 3d Pan Level still 3d volume attenuating even when 0.0f or '2d'.
 | 
						|
- Event API - Fix small audible click in FMOD software mixer when playing 
 | 
						|
              more than 1 event.
 | 
						|
- Event API - Fix 'FMOD_ERR_INVALID_HANDLE' error when loading multiple .FEV files
 | 
						|
  when FEV have nested categories under the "music" category.
 | 
						|
- FSBank - Removed fsbankexcl -a command line option (use -i)
 | 
						|
- Fix fev's with 0 or negative 'max playbacks' causing crash at runtime.  Tool
 | 
						|
  shouldn't have let this happen but this is a safety check.
 | 
						|
 | 
						|
* Make Sound::lock return FMOD_ERR_SUBSOUNDS instead of FMOD_ERR_INTERNAL 
 | 
						|
  when trying to lock a parent sound which has no data and just contains sub
 | 
						|
  sounds.
 | 
						|
* Increased file thread stack size to 8k on non Nintendo platforms (Nintendo stack = 16k)
 | 
						|
 | 
						|
14/12/06 4.06.00 - Official stable branch release
 | 
						|
-------------------------------------------------
 | 
						|
 | 
						|
+ Event API - Added EventGroup::getParentProject
 | 
						|
+ Event API - Added "programmer_sound" example
 | 
						|
+ Add FMOD_3D_IGNOREGEOMETRY flag.
 | 
						|
!+ Event API - Large memory optimization for large projects.
 | 
						|
!+ Added MP2 (MPEG Audio Layer 2) support to FSBank and FMOD Designer.  
 | 
						|
 | 
						|
- Removed randomly occuring 10ms stall in stream play/seek/close.
 | 
						|
- FSbank / FMOD Designer - stop multichannel wavs from encoding to mp3, 
 | 
						|
  now returns an error instead.
 | 
						|
- Fixed ChannelGroup::getChannel to return FMOD_ERR_INVALID_PARAM for out of 
 | 
						|
  range values of "index" instead of FMOD_ERR_INTERNAL.
 | 
						|
- Fixed syncpoints/looppoints for riff-wrapped mp3 files.
 | 
						|
- XBox 360 fixed TRC dashboard music issue with FMOD music not unpausing.
 | 
						|
- Event API - Fixed Event::set3dAttributes to update "(distance)" parameters 
 | 
						|
  immediately.
 | 
						|
- Event API - Fixed EventCategory::getInfo sometimes returning wrong index.
 | 
						|
 | 
						|
* Added FMOD_MEMORY_XBOX360_PHYSICAL flag to streamed XMA codec allocations.
 | 
						|
 | 
						|
5/12/06 4.04.53 - Dev release update
 | 
						|
------------------------------------
 | 
						|
 | 
						|
!+ Event API - Optimized idle non playing events from being active in the 
 | 
						|
  software DSP network and using up a lot of CPU.
 | 
						|
+ Added EVENT_LOADINFO structure for EventSystem::load
 | 
						|
+ Event API - Added "sounddefentrylimit" member in EVENT_LOADINFO. Use it 
 | 
						|
  to limit the number of sound definition entries loaded at runtime.
 | 
						|
+ Added DSP::disconnectAll(bool inputs, bool outputs).  This is just a helper
 | 
						|
  function but it is optimized so that it doesnt block, whereas 
 | 
						|
  getNumInputs/getNumOuputs blocks.
 | 
						|
+ Added FMOD::File_SetDiskBusy/FMOD::File_GetDiskBusy.  This is basically a 
 | 
						|
  mutex/info for disk access.  When you set it and fmod is using the disk, 
 | 
						|
  fmod's disk access blocks.  If FMOD has set it internally while you call this
 | 
						|
  function, your app will block until fmod has finished reading.
 | 
						|
+ FMOD thread names now appear in Visual Studio debugger.
 | 
						|
+ PSP - Added support for hardware reverb effects. Use the same presets as for
 | 
						|
        PS2.
 | 
						|
+ PSP - Added support for VAG streaming.
 | 
						|
 | 
						|
- Fixed FMOD_CREATECOMPRESSEDSAMPLE and vbr mp3 files ending early.
 | 
						|
- Fixed crash when System::init was called with maxchannels == 0.
 | 
						|
- Fixed loop points in ADPCM compressed FSB files.
 | 
						|
 | 
						|
- Event API - Improved accuracy of "positionms" in EVENT_INFO over time.
 | 
						|
- Event API - Fixed dependency on fmodps3.h in fmod_event_net.
 | 
						|
- Event API - Fixed wavebank memory usage reporting in EVENT_INFO.
 | 
						|
- Event API - Fixed problem when combining getEvent and loadEventData.
 | 
						|
- Event API - Fixed getEvent* returning FMOD_ERR_CHANNEL_ALLOC instead of 
 | 
						|
  FMOD_ERR_EVENT_FAIL like it was supposed to.
 | 
						|
 | 
						|
24/11/06 4.04.51 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
[**** This version is now banned for use in release titles due to critical bug ***]
 | 
						|
 | 
						|
+ PS3 - Added fmod_event_net.
 | 
						|
+ PS3 - Added simple network audition client.
 | 
						|
+ Added FMOD::Debug_SetLevel / FMOD::Debug_GetLevel.
 | 
						|
+ Added 'type' parameter to memory allocation callbacks.
 | 
						|
 | 
						|
!- Fix timing related crash/hang introduced in 4.04.49.
 | 
						|
- Fix Channel::setOcclusion not working.
 | 
						|
- PSP - Fixed crash in Codewarrior build when streaming hardware mp3/at3 files.
 | 
						|
 | 
						|
- Event API - Fixed EVENT_INFO_ONLY events being reference counted
 | 
						|
 | 
						|
* If a channelgroup has had overridePaused or overrideMute set to true, 
 | 
						|
  moving a channel from one group to that group will now pause/mute 
 | 
						|
  automatically.
 | 
						|
  If overridePaused/overrideMute was set to false, then the channel will
 | 
						|
  not do anything to its pause/mute status if moved to that group.
 | 
						|
 | 
						|
16/11/06 4.04.49 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
[**** This version is now banned for use in release titles due to critical bug ***]
 | 
						|
 | 
						|
+ Added Channel::set3DDopplerLevel / get3DDopplerLevel.  Set doppler shift 
 | 
						|
  scale per voice.
 | 
						|
+ Event API - Sped up EventSystem::update considerably.
 | 
						|
+ Huge speedup in playing/stoping sounds, connecting channelgroups in 
 | 
						|
  FMOD_SOFTWARE mode.  Most noticable in event system.
 | 
						|
+ Added FMOD_INIT_360_MUSICMUTENOTPAUSE for Xbox 360.  If dashboard music is 
 | 
						|
  played, FMOD based music tracks can now mute but keep playing, instead of 
 | 
						|
  pausing.
 | 
						|
 | 
						|
!- PS3 - Fixed virtual voices crash.
 | 
						|
- Fixed output plugins from crashing upon init in plugin mode.
 | 
						|
- Fixed FMOD_INIT_DISABLESOFTWARE making System::init return 
 | 
						|
  FMOD_ERR_NEEDSSOFTWARE if System::setAdvancedSettings was called to enable
 | 
						|
  createcompressed codecs to be allocated.
 | 
						|
- Xbox360 - improved support for nested channelgroups under the "music" 
 | 
						|
  channelgroup when dashboard music is turned on and off.
 | 
						|
- Fix geometry engine not updating, if geometry moved faster than the occlusion 
 | 
						|
  fade in/out speed.
 | 
						|
- Fixed issue with dsp unit added with addDSP being added(moved) to a different 
 | 
						|
  channel and breaking the old channel (stopping it from playing).
 | 
						|
- Fixed virtual voices causing FMOD_ERR_NEEDS3D error and generally making 
 | 
						|
  things go wrong between 2d/3d voices.
 | 
						|
 | 
						|
- Event API - Fixed rare crash in EventGroup::freeEventData
 | 
						|
- Event API - Fixed problem with various EventCategory functions
 | 
						|
- Event API - Fixed problem with crossfade curves
 | 
						|
 | 
						|
9/11/06 4.04.47 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
[**** This version is now banned for use in release titles due to critical bug ***]
 | 
						|
 | 
						|
+ Added codewarrior libs to PSP build.
 | 
						|
+ Added event specific error codes. FMOD_ERR_EVENT_FAILED, 
 | 
						|
  FMOD_ERR_EVENT_INTERNAL, FMOD_ERR_EVENT_NAMECONFLICT, 
 | 
						|
  FMOD_ERR_EVENT_NOTFOUND.
 | 
						|
+ Wii - Added FMOD_Channel_SetControllerSpeaker/FMOD_Channel_GetControllerSpeaker
 | 
						|
	Wii specific functions. Use these functions to set channel to play out
 | 
						|
	of Wii controller speaker(s).
 | 
						|
 | 
						|
- Wii - Removed FMOD_System_Controller_PlaySound Wii specific function.
 | 
						|
- Fixed FMOD_ERR_DSP_NOTFOUND returning from Event::start and 
 | 
						|
  Channel::setChannelGroup.
 | 
						|
- Fixed 'sowt' compressed AIFFs not playing properly on little endian
 | 
						|
  platforms. This also fixes problems with playing audio cds on x86 Mac.
 | 
						|
- Removed warnings from PSP examples.
 | 
						|
 | 
						|
* Changed fmodD to fmodL to remove confusion about debug vs logging.
 | 
						|
  FmodD was always 'release with logging' it was never a true debug lib
 | 
						|
  as some people thought.
 | 
						|
 | 
						|
2/11/06 4.04.45 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ PSP - Added mp3 support using the PSP hardware mp3 decoder.
 | 
						|
+ Added Event "Mode", "3D Rolloff", "3D Min Distance", "3D Max Distance", 
 | 
						|
  "3D Position", "3D Cone Inside Angle", "3D Cone Outside Angle" and
 | 
						|
  "3D Cone Outside Volume" to be updated in realtime network auditioning.
 | 
						|
+ PS3 - Added 'force5point1' and 'attenuateDDLFE' to FMOD_PS3_EXTRADRIVERDATA.
 | 
						|
        These address current issues with Sony audio libraries and should
 | 
						|
        always be set to 1 until the issues are resolved by Sony.
 | 
						|
 | 
						|
- PS3 - Fix bug with crackly sound if a lot of categories or 
 | 
						|
  channelgroups were used.
 | 
						|
- Fix crash if Sound::release was called on a streaming subsound, then the 
 | 
						|
  parent sound was released.
 | 
						|
- Geometry engine.  Fixed sounds starting paused, not being immediately 
 | 
						|
  occluded if they started behind a polygon occluder.
 | 
						|
- Fixed trying to play an oscillator dsp returning FMOD_ERR_DSP_CONNECTION.
 | 
						|
 | 
						|
- Event API - Remove rare chance that FMOD_ERR_INVALID_HANDLE could be returned
 | 
						|
              from some event api calls if sound stopped before 
 | 
						|
              EventSystem::update was called.
 | 
						|
- Event API - Fix Event::set3DOcclusion.
 | 
						|
 | 
						|
26/10/06 4.04.43 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Memory optimizations with FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
 | 
						|
- Fixed support for Channel::addDSP with virtual voices.  Sounds that go virtual 
 | 
						|
  and come back as real will resume their previously added DSP effects as well 
 | 
						|
  now.
 | 
						|
- Fixed Channel::setSpeakerLevels crash on virtual voices.
 | 
						|
- PSP - Fixed threads not being destroyed properly on shutdown.
 | 
						|
- Linux - Fixed stream creation failing with FMOD_ERR_MEMORY sometimes.
 | 
						|
- Fixed crash when using the combination of stereo speaker mode, reverb, and 
 | 
						|
  6 channel / multichannel wave files.
 | 
						|
- Memory leak from setReverbProperties fixed.
 | 
						|
- Fixed memory leak whn using OutputNoSound_NRT
 | 
						|
 | 
						|
- Event API - Fixed Event::setVolume not working in some cases.
 | 
						|
- Event API - Fixed Event::getInfo to return -1 for lengthms if any sound in 
 | 
						|
  the event is looping
 | 
						|
- Event API - Fixed category case sensitivity issue
 | 
						|
 | 
						|
* Change FMOD_ADVANCEDSETTINGS to make System::init allocate the 
 | 
						|
  FMOD_CREATECOMPRESSEDSAMPLE codec pools up front, instead of 'on demand' 
 | 
						|
  when sounds are loaded.  If values are 0 or FMOD_ADVANCEDSETTINGS is not 
 | 
						|
  used, codec pools will be allocated on demand as usual.
 | 
						|
 | 
						|
19/10/06 4.04.41 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ PS3 - Added FMOD_DSP_TYPE_DISTORTION and FMOD_DSP_TYPE_NORMALIZE effects.
 | 
						|
+ Wii - Added 'remotespeakeroffifnosound' to FMOD_WII_INFO structure to allow
 | 
						|
        remote speaker to turn on/off depending on whether a sound is playing.
 | 
						|
+ Added FMOD_ERR_INVALID_VECTOR to detect non unit length orientation vectors and
 | 
						|
  non perpendicular orientation vectors.
 | 
						|
+ Added useropen, userclose, userread, userseek file callbacks to 
 | 
						|
  FMOD_CREATESOUNDEXINFO so you can override the file system per sound, instead 
 | 
						|
  of globally.
 | 
						|
 | 
						|
- Fix issues with virtual voices and channelgroups.
 | 
						|
- Fix passing 0 or null into playsound as channel handle address crashing.
 | 
						|
- Fix reverb crash if System::setDSPBufferSize was set to larger than 1024.
 | 
						|
- Fix FMOD_CREATECOMPRESSEDSAMPLE and IMA ADPCM FSB if a mono sound was 
 | 
						|
  created first, played then a stereo sound was created later.
 | 
						|
- Fix audio cutting out if Reverb and virtual voices were used.
 | 
						|
- Wii/GC - Fixed crash when loading files using FMOD_OPENMEMORY.
 | 
						|
- Wii/GC - Fixed lowpass filter not being reset when new sounds are played.
 | 
						|
 | 
						|
- Event API - Fixed problem with loadEventData returning FMOD_ERR_INVALID_PARAM.
 | 
						|
 | 
						|
* Added "Win32" to Win32 build name to make it consistent with other platforms
 | 
						|
* FMOD_INIT_OCCLUSION_LOWPASS switched from ITLOWPASS to LOWPASS_SIMPLE to 
 | 
						|
  provide clearer sound.
 | 
						|
* Wii - Renamed FMOD_Wii_Controller_Connect function to FMOD_Wii_Controller_Command,
 | 
						|
        this function can now be used to manually turn on/off the remote speaker.
 | 
						|
 | 
						|
13/10/06 4.04.39 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
- Xbox 360 - Fixed FMOD_THREAD_PROCESSOR_ASSIGNMENTS ignoring 'mixer' value.
 | 
						|
 | 
						|
- Event API - Fix FMOD_ERR_INVALID_PARAM from getEvent related to previous 
 | 
						|
              change.
 | 
						|
- Event API - Fix user file callbacks not being called with EventSystem::load.
 | 
						|
- Event API - Event::setVolume and network auditioning fix.
 | 
						|
 | 
						|
* Event API - Made getGroup, getEvent, getParameter, getCategory, getReverb 
 | 
						|
              getProject, getProperty, case insensitive.
 | 
						|
 | 
						|
12/10/06 4.04.37 - Dev release update
 | 
						|
------------------------------------
 | 
						|
 | 
						|
+ Added DSP::getType
 | 
						|
+ Added compression caching for FSBank and FMOD Designer bank building.
 | 
						|
  As an example, speedups for XMA bank compilation in one test was from 27 
 | 
						|
  seconds down to 3 seconds.
 | 
						|
 | 
						|
- Fix 'file not found' errors on xbox360 event system introduced in 4.04.35.
 | 
						|
- Fixed stream related crash upon Sound::release when virtual 
 | 
						|
  voices were involved.
 | 
						|
- Fixed some very small memory leaks.
 | 
						|
- Fixed stereo pan not working
 | 
						|
- Fixed silent zones in 2D surround pan fold-down to stereo 
 | 
						|
 | 
						|
+ Event API - Increased event instance limit from 63 to 255
 | 
						|
- Event API - Fixed FMOD_ERR_INVALID_PARAM on Event::start
 | 
						|
- Event API - Fixed file close callback being called when file open failed
 | 
						|
- Event API - Fixed EventGroup::freeEventData
 | 
						|
- Event API - Fixed getEvent functions to only allocate instances for the 
 | 
						|
  specified event not the whole group (use loadEventData if you want that)
 | 
						|
- Event API - Fixed memory leaks on EventProject::release
 | 
						|
- Event API - Fixed wavebank mismatch when wavebanks have same name
 | 
						|
 | 
						|
* Event API - Event::setVolume now scales volume rather than overriding it.
 | 
						|
 | 
						|
 | 
						|
5/10/06 4.04.35 - Dev release update
 | 
						|
------------------------------------
 | 
						|
 | 
						|
+ PS3 spu - Added FMOD_LOADSECONDARYRAM flag.  This allows sounds 
 | 
						|
  to be loaded into into VRAM/RSX memory on PS3.
 | 
						|
 | 
						|
- Event API - Fix crash with null media path when using new
 | 
						|
  EventSystem::registerMemoryFSB / unregisterMemoryFSB functions.
 | 
						|
- Actually fixed v33 rare Sound::release crash if FMOD_NONBLOCKING 
 | 
						|
  is used, the last version didn't do it properly.
 | 
						|
- Fixed noise in FSB bank compilation for 8bit wav files compressed
 | 
						|
  with ADPCM as target format.
 | 
						|
 | 
						|
 | 
						|
4/10/06 4.04.33 - Dev release update
 | 
						|
------------------------------------
 | 
						|
 | 
						|
+ PS3 spu - Added SPURS mixer support.  PS3 SPU version now non-beta!
 | 
						|
+ PS3 spu - Added FMOD_DSP_TYPE_LOWPASS, FMOD_DSP_TYPE_ITLOWPASS,
 | 
						|
            FMOD_DSP_TYPE_LOWPASS_SIMPLE, FMOD_DSP_TYPE_PARAMEQ, 
 | 
						|
            FMOD_DSP_TYPE_HIGHPASS effects.
 | 
						|
+ Added - FMOD_ERR_MEMORY_CANTPOINT.
 | 
						|
+ Event API - Added EventSystem::registerMemoryFSB / unregisterMemoryFSB.
 | 
						|
+ Event API - Added EventProject::getNumEvents.
 | 
						|
+ Event API - Added EventGroup::getParentGroup.
 | 
						|
 | 
						|
- Fixed virtual voices swapping back to real and looping when they were 
 | 
						|
  supposed to be one shot.
 | 
						|
- Fix rare Sound::release crash if FMOD_NONBLOCKING is used.
 | 
						|
- PS3 spu beta - Fixed channelgroup volume level issue again.
 | 
						|
- Event API - Fixed loading crash introduced in v31.
 | 
						|
- Event API - Changed EventCategory::getInfo to return a global index
 | 
						|
              if more than one project is loaded, instead of a local 0 based 
 | 
						|
              index.
 | 
						|
- Event API - Stopped EventSystem::getReverb crashing instead of returning 
 | 
						|
              FMOD_ERR_MEMORY if out of memory.
 | 
						|
- Event API - EventSystem::getEventBySystemID wasn't respecting EVENT_INFOONLY, 
 | 
						|
              fixed.
 | 
						|
- Event API - Fixed projects not loading in v31 if max playbacks on events was
 | 
						|
              > 63
 | 
						|
- Mac - Fix possible issue with loading plugins in OS X 10.3
 | 
						|
 | 
						|
* FMOD_CREATECOMPRESSEDMEMSAMPLE flag changed to a more generic 
 | 
						|
  FMOD_OPENMEMORY_POINT, which supports .WAV and .FSB based PCM data now as well.  
 | 
						|
  To get the same behaviour as FMOD_CREATECOMPRESSEDMEMSAMPLE, 
 | 
						|
  (FMOD_CREATECOMPRESSEDSAMPLE | FMOD_OPENMEMORY_POINT) must be used.
 | 
						|
 | 
						|
29/9/06 4.04.31 - Dev release update
 | 
						|
------------------------------------
 | 
						|
+ Wii - Added controller speaker support.
 | 
						|
+ Event API : Added EventSystem::release to docs.
 | 
						|
+ Event API : Implemented EventCategory::setPaused / getPaused.
 | 
						|
+ Event API : Implemented EventCategory::setMute / getMute.
 | 
						|
+ Event API : Added EventCategory::stopAllEvents.
 | 
						|
+ Event API : Added positionms to FMOD::EVENT_INFO to get event play time. 
 | 
						|
+ Event API : Added EventReverbI::getInfo.
 | 
						|
+ Event API : Added EventSystem::getNumEvents
 | 
						|
+ Event API : Added EventSystem::getEventBySystemID
 | 
						|
+ Event API : Added 'systemid' and 'projectid' to EVENT_INFO structure.
 | 
						|
 | 
						|
- Fix rare System::stopSound crash.
 | 
						|
- Fix rare stream crash.
 | 
						|
- Fix possible instability when using FMOD_CREATECOMPRESSEDMEMSAMPLE
 | 
						|
- PS3 spu beta - Fix SPU hang with EventSystem.
 | 
						|
- PS3 spu beta - Fix distortion in SFX reverb.
 | 
						|
- PS3 spu beta - Fix remaining random audio distortion in mixer.
 | 
						|
- PS3 spu beta - Fix memory leak when loading MPEGs with FMOD_ACCURATETIME.
 | 
						|
- PS3 spu beta - Fix memory leak when loading raw pcm data.
 | 
						|
- PS3 spu beta - Fix channelgroup volume level issue.
 | 
						|
- Xbox 360 - Fix XMA related hang when using virtual voices.
 | 
						|
- Wii/GC - Fixed distorted audio when using the EventSystem.
 | 
						|
- Made Channel::setLoopCount respect a count of 0 for FMOD_HARDWARE even 
 | 
						|
  though FMOD_HARDWARE doesnt support loop counts.
 | 
						|
- Fix memory leak in MPEG codec when failing to load as MPEG.
 | 
						|
- Fix support for 24-bit AIFF files
 | 
						|
- Fix click on oneshot sounds containing loop points
 | 
						|
- Event API : Max playbacks on events hard limited to 63
 | 
						|
- Event API : Fixed 'just fail' from not just failing in some cases.
 | 
						|
- Event API : Fixed multiple FEVs being loaded and wrong sound definitions 
 | 
						|
              playing.
 | 
						|
 | 
						|
* Event API : renamed EventProject::getEventById to 
 | 
						|
              EventProject::getEventByProjectId to remove any confusion between
 | 
						|
              event group index and project id terminology.
 | 
						|
* PS3 - When downmix to stereo is required, FMOD's own downmixer is used rather
 | 
						|
        than Sony's downmixer.
 | 
						|
 | 
						|
8/9/06 4.04.29 - Dev release update
 | 
						|
------------------------------------
 | 
						|
 | 
						|
+ Added FMOD_DSP_LOWPASS_SIMPLE.  No resonance lowpass filter, which is a lot
 | 
						|
  faster than FMOD_DSP_LOWPASS, but allows cutoff frequency from 0 to 22khz,
 | 
						|
  unlike FMOD_DSP_ITLOWPASS which is fast, but has limited cutoff range.  
 | 
						|
+ Roughly 30% speedup on FMOD_DSP_LOWPASS.  Still about 2-4x slower than the 
 | 
						|
  new FMOD_DSP_LOWPASS_SIMPLE though.
 | 
						|
+ Added FMOD_ERR_INVALID_FLOAT.  Channel::set3DAttributes and 
 | 
						|
  System::set3DListenerAttributes now check for NaN, Inf, Denormals being 
 | 
						|
  passed in, only in the debug build of FMOD. (ie fmodD library or dll).
 | 
						|
+ Optimized pitch shift filter to ignore silent channels.  A 6 channel 
 | 
						|
  pitch shift with a sound that is only coming out of 1 speaker will now
 | 
						|
  be about 6x faster!  Make sure to use hard panning to get best performance.
 | 
						|
 | 
						|
+ PS3 - Added AT3 codec support.
 | 
						|
+ PS3 - Added fmodps3.h, which contains a FMOD_PS3_EXTRADRIVERDATA structure
 | 
						|
        to be passed into System::init. Please see header for more information.
 | 
						|
+ PS3 - Added reverb support.
 | 
						|
+ PS3 - Added echo support.
 | 
						|
+ PS3 - Added spu based mp3 streaming.
 | 
						|
+ PS3 - Added custom 8ch to stereo downmixer to bypass sony's currently low 
 | 
						|
        quality version.
 | 
						|
 | 
						|
- Fix possible stutter when starting FSB streams.
 | 
						|
- Fix possible glitch on first time playing FSB streams.
 | 
						|
- Fix reverb not being active the first time a channel is played.
 | 
						|
- Fix unwanted memory allocs when using FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
- Fix crash in ogg codec if running out of memory.
 | 
						|
- Fix crash if out of memory when using FMOD_NONBLOCKING.
 | 
						|
- Fix createSound returning FMOD_ERR_INVALID_PARAM instead of FMOD_ERR_MEMORY 
 | 
						|
  in some cases when running out of memory.
 | 
						|
- Fix memory leak with FMOD_ACCURATETIME, mp3 and FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
 | 
						|
+ Event API : Added new EventProject class
 | 
						|
+ Event API : EventProject::release replaces EventSystem::unload(fevhandle)
 | 
						|
+ Event API : Added EventProject::getEventById which takes a project-unique
 | 
						|
  event id (which is written out in programmer report and header file)
 | 
						|
+ Event API : Added EventSystem::getProject/getProjectByIndex/getNumProjects
 | 
						|
+ Event API : Added EventSystem::getNumReverbs
 | 
						|
+ Event API : Added EventSystem::getGroup
 | 
						|
+ Event API : Added EventSystem::getEvent
 | 
						|
+ Event API : Added EVENT_CALLBACKTYPE_SOUNDDEF_INFO event callback type
 | 
						|
+ Event API : Added "eventflags" parameter to EventSystem::init
 | 
						|
+ Event API : Added EVENT_INIT_USER_ASSETMANAGER init flag
 | 
						|
- Event API : Fixed possible EventGroup index mismatch issue.
 | 
						|
 | 
						|
31/8/06 4.04.28 - Stable release update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
- Fix crash if out of memory when using FMOD_NONBLOCKING.
 | 
						|
- Fix createSound returning FMOD_ERR_INVALID_PARAM instead of FMOD_ERR_MEMORY 
 | 
						|
  in some cases when running out of memory.
 | 
						|
 | 
						|
* PS3 - Update to PS3 SDK 091 build.
 | 
						|
 | 
						|
22/8/06 4.04.27 - Dev release update
 | 
						|
-----------------------------------
 | 
						|
 | 
						|
+ Optimizations for FMOD_DSP_ITLOWPASS, FMOD_DSP_PARAMEQ.
 | 
						|
+ Optimization for System::setReverbProperties with software voices.
 | 
						|
 | 
						|
- Fixed System::setReverbProperties causing channels to appear twice as loud
 | 
						|
  when set to FMOD_PRESET_OFF.
 | 
						|
- Fixed rare random time based crackling noises for 
 | 
						|
  FMOD_CREATECOMPRESSEDSAMPLE based sounds.
 | 
						|
- Fixed FMOD_3D_LINEARROLLOFF for non-default values of "distancefactor".
 | 
						|
- Fixed XMA looping gap introduced in previous version.
 | 
						|
- Fixed Sound::getSubSound causing 'seeking forever' bug if the function was 
 | 
						|
  called again while previous non blocking getSubSound was still happening.
 | 
						|
- Win32 - Fixed linear rolloff panning mode for FMOD_HARDWARE based sounds.
 | 
						|
- Mac - Fixed recording devices being enumerated as output devices.
 | 
						|
- Mac - Fixed output not working with iMic and possibly other output
 | 
						|
        devices.
 | 
						|
+ Event API : Updated header file and programmer report written out by FMOD 
 | 
						|
  Designer to include reverbs, categories and event parameters. Full paths 
 | 
						|
  used now as well.
 | 
						|
- Event API : Fixed "(distance)" parameter range.
 | 
						|
- Event API : Fixed handling of '&' in .fdp files.
 | 
						|
- PS3 (spu beta) - Fixed crackling when pitch bending.
 | 
						|
- PS3 (spu beta) - Improved general stability.
 | 
						|
 | 
						|
22/8/06 4.04.26 - Stable release update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
- Fixed rare random time based crackling noises for 
 | 
						|
  FMOD_CREATECOMPRESSEDSAMPLE based sounds.
 | 
						|
- Fixed XMA looping gap introduced in previous version.
 | 
						|
- Fixed Sound::getSubSound causing 'seeking forever' bug if the function was 
 | 
						|
  called again while previous non blocking getSubSound was still happening.
 | 
						|
- Event API : Fixed "(distance)" parameter range.
 | 
						|
- Mac - Fixed recording devices being enumerated as output devices.
 | 
						|
- Mac - Fixed output not working with iMic and possibly other output
 | 
						|
        devices.
 | 
						|
 | 
						|
10/8/06 4.04.25 - Dev release update
 | 
						|
-----------------------------------
 | 
						|
 | 
						|
+ Add support for Channel::setSpeakerLevels for sounds on platforms that don't
 | 
						|
  support multichannel sound formats.  
 | 
						|
  For example on PS2, PSP, GC, Wii that only have mono hardware voices and 
 | 
						|
  stereo output, you can now locate subchannels of a multichannel stream in 
 | 
						|
  left/right speaker.
 | 
						|
 | 
						|
- Fix shut down crash introduced in v4.04.21/4.04.23.
 | 
						|
- Fix crash in mod/s3m/xm/it/midi Sound::release.
 | 
						|
- Fix software reverb mixing dry mix in twice, making sound too loud.
 | 
						|
- Fix 3D panning on hardware voice platforms such as xbox/ps2/psp/gamecube/wii.
 | 
						|
- PS3 (spu beta) - Fixed noise issue if sounds were played at 48khz.
 | 
						|
- PS3 (spu beta) - Fixed stream crash (or sounds at 48khz in general).
 | 
						|
 | 
						|
+ Event API : Added EVENT_STATE_INFOONLY return from Event::getState.
 | 
						|
- Event API : Removed 32 bank limit from EventSystem::getInfo.
 | 
						|
- Event API : Fixed problem w/freeEventData causing events to never play again.
 | 
						|
* Event API : Event parameters now automatically reset back to 0 on Event::start
 | 
						|
  if they have non-null velocity and setValue hasn't been called on them.
 | 
						|
 | 
						|
10/8/06 4.04.24 - Stable release update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
- Fixed Channel::setMode stopping streams from playing on certain platforms 
 | 
						|
  if loop mode was not specified.
 | 
						|
- Fixed extremely rare hang with FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
- Fixed SoundI::getSyncPointInfo always requiring "offset" parameter.
 | 
						|
- Fixed problem channel-swapping when using DSPs and Sounds together.
 | 
						|
 | 
						|
* PS3 - Update to PS3 SDK 090 build.
 | 
						|
  Note: PRX modules now need to be loaded before initializing FMOD, please refer
 | 
						|
	to documentation and/or examples for details.
 | 
						|
 | 
						|
- Event API : Fixed "(distance)" parameters not updating properly.
 | 
						|
- Event API : Fixed problem with rolloff settings.
 | 
						|
 | 
						|
4/8/06 4.04.23 - Dev release update
 | 
						|
-----------------------------------
 | 
						|
 | 
						|
+ Added DSP::setOutputMix/getOutputMix, and DSP::setOutputLevels/getOutputLevels
 | 
						|
  to compliment setting input levels.
 | 
						|
 | 
						|
- Removed blocking criticalsection call in DSP::setParameter for most filters,
 | 
						|
  which means performance increase.
 | 
						|
- Fixed crash if running out of memory with FSB.
 | 
						|
- Fixed Channel::setMute not unmuting software voices properly.
 | 
						|
- Fixed rare crash with new Channel::stop stream optimization, when a stream 
 | 
						|
  was released immediately after being played then stopped with Channel::stop.
 | 
						|
  (take 2).
 | 
						|
- Fixed rare stream play hang.
 | 
						|
- PS3 (spu beta) - Fixed streaming.
 | 
						|
- PS3 (spu beta) - PCM support back in mixer, now user streams and wav files 
 | 
						|
  work, 16bit PCM only at this time.
 | 
						|
- PS3 (spu beta) - IMA ADPCM support back in the mixer, only through FSB files,
 | 
						|
  because wav uses an inneficient block size.
 | 
						|
- PS3 (spu beta) - Potential noise bug fixed.
 | 
						|
 | 
						|
* Xbox360 - Memory::Initialize and createSound with now check memory address 
 | 
						|
  passed in to make sure it is valid and returns new FMOD_ERR_INVALID_ADDRESS
 | 
						|
  error code if not.  (Memory must be physical, ie allocated with XPhysicalAlloc).
 | 
						|
 | 
						|
+ Event API : Added selective EventSystem::unload. Can now unload a specific fev.
 | 
						|
* Event API : NOTE: EventSystem info functions may not report correct memory 
 | 
						|
  usage. This is temporary and will be rectified in a future version.
 | 
						|
 | 
						|
 | 
						|
31/7/06 4.04.21 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
- Fixed linking issues on ps2/psp/gc/wii.
 | 
						|
- PS3 (spu beta) - Fixed memory leaks.
 | 
						|
- PS3 (spu beta) - Fixed hang when playing multiple FSB MP3 streams.
 | 
						|
- PS3 (spu beta) - Fixed crash when releasing FMOD_CREATECOMPRESSEDSOUND.
 | 
						|
- PS3 (spu beta) - Fixed crash when releasing streams that are still playing.
 | 
						|
 | 
						|
* Sound::release now blocks if it is non blocking and hasn't finished opening
 | 
						|
  yet.
 | 
						|
 | 
						|
4/8/06 4.04.20 - Stable release update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
- PS2 - fix issue with System::getSubSound and FMOD_NONBLOCKING causing lock up.
 | 
						|
- Xbox 360 - Fix XMA hang.
 | 
						|
 | 
						|
27/7/06 4.04.19 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Add supper for per channel reverb mix in Channel::setReverbProperties and
 | 
						|
  FMOD software based I3DL2 (SFX) reverb.
 | 
						|
+ PS3 - SPU beta released!  Now mixing and decoding takes 0% of cpu time.
 | 
						|
 | 
						|
- PS2 - Fixed thread shutdown code.     
 | 
						|
- Fixed rare crash with new Channel::stop stream optimization, when a stream 
 | 
						|
  was released immediately after being played then stopped with Channel::stop.
 | 
						|
- Fixed ADPCM support on FSB files with FMOD_CREATECOMPRESSEDSAMPLE when mono 
 | 
						|
  and stereo sounds were mixed into the same FSB.
 | 
						|
 | 
						|
+ Event API : Added "event" parameter to EventGroup::freeEventData to allow 
 | 
						|
  data for a particular event to be freed.
 | 
						|
- Event API : Fixed streams sometimes not being freed properly.
 | 
						|
- Event API : Fixed samplerefcnt in EVENT_WAVEBANKINFO being off by one.
 | 
						|
- Event API : Fixed problem loading multiple projects with empty eventgroups.
 | 
						|
 | 
						|
27/7/06 4.04.18 - Stable release update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
- Fixed memory leak when using a lot of dsp connections.
 | 
						|
- Fixed panning issue, especially noticable with 3d sounds 
 | 
						|
  (stable branch bug only).
 | 
						|
- PS2 / PSP - Fixed various close/init issues, thanks to Matt from Vicarious
 | 
						|
  Visions for most of these!
 | 
						|
- Fixed wav fact chunk error on big endian machines.
 | 
						|
 | 
						|
- Event API : Fixed memory leak when wavebanks not found.
 | 
						|
- Event API : Fixed problem with categories across multiple projects.
 | 
						|
 | 
						|
* Changed PSP message and error code when returning 'out of atrac instances' 
 | 
						|
  type error.
 | 
						|
 | 
						|
21/7/06 4.04.17 - Dev release update
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
+ Wii - Added access to extra reverb slot for DPL2 High Quality reverb.
 | 
						|
+ Wii/GameCube - Added FMOD_Channel_SetLowPassFilter/FMOD_Channel_GetLowPassFilter
 | 
						|
	functions (in fmodwii.h and fmodgc.h) for hardware per channel low pass
 | 
						|
	filtering.
 | 
						|
 | 
						|
- Fixed Prologic 2 encoding on software mixer for 3d sound and setSpeakerMix.
 | 
						|
- Fixed stall on Channel::stop when stopping a streamed sound while others were
 | 
						|
  playing.
 | 
						|
- GameCube/Wii/PSP - Fixed Sound::release() not releasing hardware sounds 
 | 
						|
  properly.
 | 
						|
- Fixed click on end of one shot sounds with FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
 | 
						|
- Event API : Fixed EventI::getNumProperties not always returning correct value.
 | 
						|
- Event API : Fixed eventsystem plugin loading to occur in EventSystem::init.
 | 
						|
* Event API : EventSystem::setPluginPath can now be passed NULL to tell FMOD 
 | 
						|
  not to load any plugins.
 | 
						|
 | 
						|
17/7/06 4.04.16 - Stable release update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
+ Software mixer speedup.
 | 
						|
 | 
						|
- Increased thread stack sizes to 32kb to properly fix mp3 
 | 
						|
  stack overflow issue when playing mp3 on non PC platforms.
 | 
						|
- Divide by zero fix in FMOD_DSP_PITCHSHIFT filter.
 | 
						|
- Fixed setSpeakerMix making sound audible when > 0 values were sent to 
 | 
						|
  non existant speakers.
 | 
						|
- Fixed certain hardware FSB streams not playing correctly
 | 
						|
- Fixed WAVEFORMATEXTENSIBLE wav files not loading on big endian machines.
 | 
						|
- PS2 - Fixed hang in file close if file wasnt found.
 | 
						|
- PS3 - Fixed Ogg Vorbis support.
 | 
						|
- Xbox 360 - fixed small 1 frame XMA files not triggering sometimes.
 | 
						|
- Xbox 360 - fixed "music" channelgroup causing crash when starting 
 | 
						|
  dashboard music.
 | 
						|
- Xbox - Fixed linker error.
 | 
						|
 | 
						|
- Event API : Fixed crash related to sound definition pitch randomisation.
 | 
						|
- Event API : Fixed problem loading FEVs created by newer version of FMOD Designer.
 | 
						|
- Event API : Fixed problem when calling EventSystem::load with a path instead of 
 | 
						|
  a filename while media path is NULL.
 | 
						|
 | 
						|
14/7/06 4.04.15 - Dev release update
 | 
						|
--------------------------------------
 | 
						|
 | 
						|
- Fix FMOD_OPENRAW and FMOD_OPENUSER based sounds failing when played.
 | 
						|
- Fix FSBank and FMOD Designer encoding bad ADPCM files making ADPCM based
 | 
						|
  banks fail to load.
 | 
						|
 | 
						|
- Event API : Fixed EventGroup::freeEventData not freeing streams.
 | 
						|
- Event API : Fixed 2d speaker levels not being set for 3d sounds even when
 | 
						|
  3dpanlevel is used.
 | 
						|
 | 
						|
14/7/06 4.04.14 - Stable release update
 | 
						|
--------------------------------------
 | 
						|
 | 
						|
- Fixed FMOD::System_Create being called 16 times causing a hang.
 | 
						|
- Fixed stack overflow issue in FMOD_NONBLOCKING thread.
 | 
						|
- Fixed ADPCM based FSB files and FMOD_CREATECOMPRESSEDSAMPLE causing crash.
 | 
						|
- PS2 fixed shutdown issue.
 | 
						|
- Fixed 7.1 software mixer quality / static issue.
 | 
						|
- PSP fixed sounds not triggering sometimes.
 | 
						|
- Fixed playlist (m3u/wax/pls etc) support from crashing / failing.
 | 
						|
- Xbox 360 fixed small 1 frame XMA files not triggering sometimes.
 | 
						|
 | 
						|
- Event API : Fixed crash in EventSystem::load in low memory situation.
 | 
						|
 | 
						|
7/7/06 4.04.13 - Dev release update
 | 
						|
--------------------------------------
 | 
						|
 | 
						|
+ FMOD_CREATECOMPRESSEDMEMSAMPLE flag added to differentiate itself
 | 
						|
  from "FMOD_OPENMEMORY with FMOD_CREATECOMPRESSEDSAMPLE" which will 
 | 
						|
  again duplicate memory internally.  FMOD_CREATECOMPRESSEDMEMSAMPLE
 | 
						|
  simply points to the user's memory instead of duplicating it.
 | 
						|
+ FMOD_CODEC_GETWAVEFORMAT added to FMOD_CODEC_DESCRIPTION.  This
 | 
						|
  is an optional way to return data normally contained in
 | 
						|
  the memory wasteful waveformat member of FMOD_CODEC_STATE.  This 
 | 
						|
  means waveformat of FMOD_CODEC_STATE is now optional and can be 
 | 
						|
  null, as long as FMOD_CODEC_GETWAVEFORMAT is specified.
 | 
						|
+ Added release dll's with debug logging and .pdb debug info for win32
 | 
						|
  (fmod*D.dll and fmod*D.pdb)
 | 
						|
 | 
						|
- Fix stream stitching support.
 | 
						|
- Huge memory optimization on FSB streams with thousands of subsounds.  
 | 
						|
- Fix syncpoints not triggering if sync points are added after playing 
 | 
						|
  the sound.
 | 
						|
- Fix new 3d pan level setting not being reset to 1.0 on voices.
 | 
						|
- Fix midi length calculation on some midi files.
 | 
						|
 | 
						|
* FMOD_OPENMEMORY with FMOD_CREATECOMPRESSEDSAMPLE is now put back to
 | 
						|
  the way it used to be, and duplicates memory.  New flag 
 | 
						|
  FMOD_CREATECOMPRESSEDMEMSAMPLE handles the new behaviour.
 | 
						|
* FMOD_LOWMEM now excludes default sentence creation for multi-subsound 
 | 
						|
  streams.  Sound::setSubSoundSentence can still be used as normal, 
 | 
						|
  System::playSound just wont play through the whole set of subsounds by 
 | 
						|
  default any more if this flag is used.
 | 
						|
 | 
						|
+ Event API : Added Event::getChannelGroup().
 | 
						|
+ Event API : Extended Event::getInfo(). Note: Function signature has changed!
 | 
						|
+ Event API : Added EVENT_INFO structure.
 | 
						|
+ Event API : Added EventSystem::getInfo().
 | 
						|
+ Event API : Added EVENT_WAVEBANKINFO structure.
 | 
						|
+ Event API : Added EVENT_SYSTEMINFO structure.
 | 
						|
 | 
						|
7/7/06 4.04.12 - Stable release update
 | 
						|
--------------------------------------
 | 
						|
 | 
						|
- Fixed streams with small decodebuffersizes on certain formats with big 
 | 
						|
  block alignment that stuttered.
 | 
						|
- Fixed bug in reallocator making memory run out sooner than it should when 
 | 
						|
  using a memory block with FMOD::Memory_Initialize.
 | 
						|
- Fix delphi FMOD_SOUND_TYPE list.
 | 
						|
 | 
						|
 | 
						|
29/6/06 4.04.11 - Dev release update
 | 
						|
--------------------------------------
 | 
						|
 | 
						|
+ Added FMOD_INIT_OCCLUSION_LOWPASS.  Now software voices will enable a 
 | 
						|
  lowpass filter if they are occluded! Great for Channel::set3DOcclusion and 
 | 
						|
  the FMOD polygon based geometry engine.
 | 
						|
+ FMOD_SPEAKERMODE_PROLOGIC and software mixed 3D sound now works correctly.
 | 
						|
+ Added Channel::set3DPanLevel.  3D / 2D sound morphing!  Now a 3d sound 
 | 
						|
  can morph into a '2d' sound by setting the amount it takes note of 3d pan 
 | 
						|
  calculations or 2d Channel::setSpeakerMix.  Great for volumetric sounds! 
 | 
						|
 | 
						|
- Removed OpenAL output mode.
 | 
						|
- Reduced memory usage by several hundred k using FMOD_CREATECOMPRESSEDSAMPLE
 | 
						|
  with software mixed voices.
 | 
						|
- 10k Memory reduction at init, and less small memory allocations upon init
 | 
						|
  to reduce memory block overhead and init time.
 | 
						|
- Xbox360 - stopped DrWatson complaining about an intentional exception that
 | 
						|
  was thrown, if the debugger is not used.  
 | 
						|
 | 
						|
* FMOD_OPENMEMORY with FMOD_CREATECOMPRESSEDSAMPLE, now POINTS to the memory 
 | 
						|
  passed in rather than duplicating it.  This means memory must not be freed
 | 
						|
  when passed in this way until AFTER Sound::release has been called!
 | 
						|
 | 
						|
+ Event API : Added EventReverb class, EventSystem::getReverb and 
 | 
						|
  EventSystem::getReverbByIndex
 | 
						|
 | 
						|
- Event API : Fixed getEvent getting the eventgroup wrong if it was called 
 | 
						|
  with a long path
 | 
						|
- Event API : Fixed problem with getEvent modifying const data
 | 
						|
 | 
						|
29/6/06 4.04.10 - Stable release update
 | 
						|
--------------------------------------
 | 
						|
 | 
						|
- Fixed ChannelGroup::getChannel returning the wrong handle values back.
 | 
						|
- Mac - Fixed System::getNumCDROMDrives and System::getCDROMDriveName not 
 | 
						|
  returning updated information when drives are mounted and unmounted.
 | 
						|
- Clean up metadata leak in certain .ogg files.
 | 
						|
- Fix nested channelgroups that are not freed causing crash in 
 | 
						|
  System::release.
 | 
						|
 | 
						|
19/6/06 4.04.08 - Stable release update
 | 
						|
--------------------------------------
 | 
						|
 | 
						|
- FMOD Memory manager sped up noticably = faster loading times.
 | 
						|
- Fixed FMOD_CREATECOMPRESSEDSAMPLE sounds not ending properly sometimes.
 | 
						|
- Linux - Fixed bug in FMOD_OUTPUTTYPE_OSS causing some linux distributions
 | 
						|
  to hang when shutting down FMOD.
 | 
						|
- Fixed System::getAdvancedSettings not returning anything.
 | 
						|
- Fixed multi-stream ogg vorbis files not playing all the way to the end.
 | 
						|
- Worked around xbox360 issue of calling System::update more than once a 
 | 
						|
  frame.  Result was an internal microsoft semaphore function was 
 | 
						|
  throwing exceptions.  Now fixed.
 | 
						|
 | 
						|
9/6/06 4.04.06 - Stable release update
 | 
						|
--------------------------------------
 | 
						|
 | 
						|
- Fixed FMOD_CREATECOMPRESSEDSAMPLE timing issue causing crash.
 | 
						|
- Fixed FMOD_OPENUSER and FMOD_OPENRAW causing hang.  These flags are not
 | 
						|
  compatible and if detected, it will now ignore the FMOD_OPENRAW flag.
 | 
						|
- Changed thread creation code to force certain stack sizes to avoid XDK 
 | 
						|
  CreateThread bug.
 | 
						|
- Fixed memory leak when sound failed to load due to lack of 
 | 
						|
  available memory.
 | 
						|
- Fixed Sfx Reverb problems
 | 
						|
- Fixed channelgroups not setting volume/pitch correctly if nested groups
 | 
						|
  were a certain number of levels deep.
 | 
						|
- Fixed loading of FSB files with multichannel sounds mixed in with 
 | 
						|
  mono/stereo sounds.
 | 
						|
- Fixed multichannel sounds not locating themselves according to their 
 | 
						|
  specified speakers in a multi-speaker setup.
 | 
						|
- Fixed ADPCM .wav files and FMOD_CREATECOMPRESSEDSAMPLE silent playback 
 | 
						|
  issue.
 | 
						|
- Fixed FSBank not return an error when trying to encode greater than 
 | 
						|
  stereo XMA, rather than generating bad files.
 | 
						|
- PS3 - Fixed crash when streaming mp3s.
 | 
						|
- Fix crash when freeing and loading ADPCM encoded FSB files that were 
 | 
						|
  opened for realtime playback (ie FMOD_CREATECOMPRESSEDSAMPLE).
 | 
						|
- Linux - Fixed crash when initialising and closing FMOD repeatedly.
 | 
						|
- Xbox 360 - Fixed XMA decoder hang issue with virtual voices.
 | 
						|
- Fixed bug in FMOD memory manager with reallocation which is used in 
 | 
						|
  streams, causing strange memory failures later on down the track.
 | 
						|
- Fixed length with MP3 files and Sound::getLength with FMOD_ACCURATETIME 
 | 
						|
  and FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
- Fixed FSBank creating bad FSB files if build mode was interleaved.
 | 
						|
 | 
						|
- Event API : Fixed problem with volumes reverting to previous setting in
 | 
						|
  network audition mode
 | 
						|
- Event API : Fixed memory leak when EventSystem::load returns an error.
 | 
						|
 | 
						|
* Switch multichannel sounds to use Directsound software mixing if 
 | 
						|
  FMOD_HARDWARE is specified to avoid FMOD_ERR_OUTPUT_DRIVERCALL errors.
 | 
						|
 | 
						|
30/5/06 4.04.04 - Stable release update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
- Fixed multichannel ADPCM streaming static noise.
 | 
						|
- Fixed multichannel sound related crash.
 | 
						|
- Fixed Sound::getName not working on multichannel sounds on ps2 
 | 
						|
  and other platforms that only support mono hardware voices (gamecube/psp).
 | 
						|
 | 
						|
25/5/06 4.04.02 - Stable release update
 | 
						|
---------------------------------------
 | 
						|
 | 
						|
- Fixed channelgroup related System::close crash.
 | 
						|
- Fixed fsb memory leak.
 | 
						|
- Fixed SyncPoint crash.
 | 
						|
- Fixed MP3 seek issue.
 | 
						|
 | 
						|
23/5/06 4.04.00 - Official release
 | 
						|
-----------------------------------
 | 
						|
 | 
						|
+ Channel::setSpeakerLevels now allow speaker levels to go above 1.0 for 
 | 
						|
  amplification.  Turn the dial up to 11! Good for LFE boosting.
 | 
						|
+ Added Channel::set3DSpread / Channel::get3DSpread!  This is an easy way to 
 | 
						|
  make stereo 3D sounds go from summed mono point sources to having a better 
 | 
						|
  stereo spread.  Ie facing a sound with a 90 degree spread puts the left
 | 
						|
  part in the front left speaker and the right part in the front right speaker,
 | 
						|
  where before it would have just summed the 2 into the center speaker.
 | 
						|
+ Added FMOD_DSP_TYPE_SFXREVERB.  This is a custom I3DL2 reverb that is far 
 | 
						|
  better quality and more configurable than FMOD_DSP_TYPE_REVERB which was 
 | 
						|
  based on Freeverb.  System::setReverbProperties now enables this reverb
 | 
						|
  for software based voices.
 | 
						|
 | 
						|
- PSP - Increased SAS thread priority to fix stuttering.
 | 
						|
- Improved support for certain corrupted wav and mp3 files so that they don't 
 | 
						|
  crash the decoder.
 | 
						|
- Fixed very short .XMA files 'not ending'. 
 | 
						|
- PS2 - Fixed stream hangs.
 | 
						|
- Fixed loop mode being parsed from FSB files.
 | 
						|
- Fixed FMOD_ACCURATETIME flag with mp3 files causing crash.
 | 
						|
- FSBank Fixed MPEG encoder and added quality setting.
 | 
						|
- FSBank Fixed interleaved FSB IMAADPCM encoder mode.
 | 
						|
- Fixed SyncPoints and setPosition causing multiple callbacks to fire.
 | 
						|
- Removed Channel::set3DSubChannelOffset/Channel::get3DSubChannelOffset in favor
 | 
						|
  of the much simpler Channel::set3DSpread.
 | 
						|
 | 
						|
- Event API : Fixed problem with getEvent when hierarchy contains events/groups
 | 
						|
  wit similar names i.e. 'c', 'car', 'ca'.
 | 
						|
- Event API : Event::getParameterByIndex now accepts index -1 to specify the
 | 
						|
  event's primary parameter.
 | 
						|
- Event API : Fixed bug where exported events had very low volume.
 | 
						|
- Event API : Fixed fmod_event_static.dsp issues.
 | 
						|
 | 
						|
16/5/06 4.03.10
 | 
						|
---------------
 | 
						|
 | 
						|
+ Added System::createCodec so user codecs can be added from within app code
 | 
						|
  rather than needing external DLL's (good for non dll platforms).
 | 
						|
+ Virtual voice swapping in System::update now faster. Good when using many 
 | 
						|
  virtual voices.
 | 
						|
+ Wii - Added FMOD_WII_INFO structure to fmodwii.h in order to set dvd
 | 
						|
	read priority.
 | 
						|
+ GameCube/Wii -  Added reverb flag FMOD_REVERB_FLAGS_HIGHQUALITYDPL2REVERB to
 | 
						|
	access DPL2 reverb. This allows the use of non-DPL2 reverb when speakermode
 | 
						|
	is set to FMOD_SPEAKERMODE_PROLOGIC.
 | 
						|
+ Added MPEG encoding to FSBank and support for MPEG compressed FSB files.
 | 
						|
+ Added cross platform .VAG (Playstation ADPCM variant) codec.  Play .VAG on 
 | 
						|
  any platform!
 | 
						|
 | 
						|
- Fixed virtual voices losing their channelgroup when swapping in/out.
 | 
						|
- Fixed virtual voices forgetting speaker level settings.
 | 
						|
- Fixed last (hopefully) rare crash on sounds with FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
- Fixed FSB with mixed mono/stereo sounds for XMA.
 | 
						|
- Fixed streamer reading too far in a subsound of a multi XMA FSB files.
 | 
						|
- Fixed FSB default values (vol/freq/pan/pri/mindistance/maxdistance).
 | 
						|
- Fixed FMOD_CREATECOMPRESSEDSAMPLE and loop count usage with VBR based formats 
 | 
						|
  causing a premature termination of a sound before the final loop had finished.
 | 
						|
- Fixed a stream being played after a channel with a loop count making the stream
 | 
						|
  only play the first part of the sound.
 | 
						|
- Reduced memory usage.
 | 
						|
 | 
						|
- Event API : Fixed problem where old event callback/userdata was being called 
 | 
						|
  after event went invalid
 | 
						|
- Event API : Event system now uses FMOD_LOWMEM for all sounds
 | 
						|
 | 
						|
1/5/06 4.03.09
 | 
						|
---------------
 | 
						|
 | 
						|
- Fixed OpenAL hardware channels continuing to loop even after they have been
 | 
						|
  set not to.
 | 
						|
- Fixed volume calculation on channels with FMOD_3D_CUSTOMROLLOFF but no rolloff curve
 | 
						|
- Fixed DirectSound error causing FMOD_ERR_DRIVERCALL errors.
 | 
						|
- Fixed crash in ChannelGroupI::stop.
 | 
						|
- Fixed FMOD_LOWMEM flag accidently re-using 
 | 
						|
- Fixed mod/s3m/xm/it/midi crash from 4.03.08.
 | 
						|
- Removed software reverb emulation on SystemI::setReverbProperties until proper I3DL2 
 | 
						|
  reverb is implemented.
 | 
						|
 | 
						|
* GameCube - FMOD_ARAMBLOCK_INFO structure renamed to FMOD_GC_INFO in fmodgc.h,
 | 
						|
  "dvdreadpriority" member added to structure in order to set read priority.
 | 
						|
 | 
						|
26/4/06 4.03.08
 | 
						|
---------------
 | 
						|
 | 
						|
+ Improved quality on pitch shifting filter.
 | 
						|
+ Added FMOD_LOWMEM flag to FMOD_MODE flags to allow memory cutbacks on sample
 | 
						|
  instances for features that aren't needed.  To start with, name storage is 
 | 
						|
  disabled if this flag is set so Sound::getName returns "(null)".  This will
 | 
						|
  be expanded in future to reduce Sound instance memory usage further.
 | 
						|
+ Added memory usage tutorial.
 | 
						|
+ Added support for GameCube GCADPCM DSP file format.
 | 
						|
+ Added support for Nintendo Revolution.
 | 
						|
 | 
						|
- Fixed FSB + IMAADPCM sounds using "FMOD_CREATECOMPRESSEDSAMPLE" flag, stopping 
 | 
						|
  as soon as they started.
 | 
						|
- Fixed FSB + IMAADPCM sounds using "FMOD_CREATECOMPRESSEDSAMPLE" flag, causing 
 | 
						|
  a crash on System::close. 
 | 
						|
- Reduced memory overhead on IMAADPCM "FMOD_CREATECOMPRESSEDSAMPLE" based sounds.
 | 
						|
- Reduced memory overhead on XMA "FMOD_CREATECOMPRESSEDSAMPLE" based sounds 
 | 
						|
  (about 19k per sound)
 | 
						|
- Fixed channels not going back to the Master channel group when finished.
 | 
						|
- Fixed various obscure bugs to do with multichannel wavs, createcompressed 
 | 
						|
  sample and fsb ADPCM etc.
 | 
						|
- Fixed problem with FSB + MIDI
 | 
						|
- Multichannel FMOD_HARDWARE sound fix in directsound.
 | 
						|
- Fixed memory leak when using OpenAL output mode
 | 
						|
- Event API : Fixed EventGroup::getEventByIndex() not honouring EVENT_INFOONLY
 | 
						|
- Event API : Fixed bug with events in different groups sharing sound definitions
 | 
						|
- GameCube  : Fixed hang shutting down when non-blocking streams are used.
 | 
						|
- PSP	    : Fixed SN libraries crashing.
 | 
						|
 | 
						|
* Event API : Changed maximum number of events per eventsystem to 8192
 | 
						|
 | 
						|
18/4/06 4.03.07
 | 
						|
---------------
 | 
						|
 | 
						|
+ Added FMOD_DSP_COMPRESSOR - This will be worked on and improved in future 
 | 
						|
  releases.
 | 
						|
+ Optimized geometry occlusion engine to early out sooner giving significant 
 | 
						|
  speed increases for larger scenes.
 | 
						|
 | 
						|
- Fixed loop point handling of badly saved adobe audition wav files.
 | 
						|
- Fixed multiple FMOD_NONBLOCKING loads not working properly.
 | 
						|
- Handle badly saved/corrupted WMAs better.
 | 
						|
- Xbox360 - Fixed atgscene paths in examples
 | 
						|
- Fix dsppluginviewer example, recording issue with ASIO input/output.
 | 
						|
 | 
						|
+ Event API : FSBs are now loaded from mediapath first and then from the same
 | 
						|
  directory as the FEV
 | 
						|
+ Event API : For events with custom 3d rolloff curve, 3d min/max distance
 | 
						|
  properties will be set to the min/max range of parameter called "distance" 
 | 
						|
  or "(distance)"
 | 
						|
- Event API : Fixed crash related to "oneshot and stop event" parameters
 | 
						|
- Event API : Fixed problem with sustain points on parameters with range
 | 
						|
  outside of 0 -> 1
 | 
						|
- Event API : Fixed problem with encryption keys and multiple FEVs
 | 
						|
* Event API : Removed some fmod_event_net debug log spam. Added LOG_NET to debug level 
 | 
						|
  enum
 | 
						|
 | 
						|
10/4/06 4.03.06
 | 
						|
---------------
 | 
						|
 | 
						|
+ Added dsp_custom example for c#
 | 
						|
 | 
						|
- Fix FMOD_OUTPUTTYPE enum list so it didnt break backwards compatibility.
 | 
						|
- Fix OpenAL output not hanging on System::close/System::release if OpenAL
 | 
						|
  wasn't supported on that machine.
 | 
						|
- Fix alignment issues causing crash on mod/s3m/xm/it/midi under new SSE 
 | 
						|
  mixer.
 | 
						|
- Fixed errors in fmod_dsp.cs for c# interface
 | 
						|
 | 
						|
7/4/06 4.03.05
 | 
						|
--------------
 | 
						|
 | 
						|
+ Optimized FMOD_DSP_TYPE_LOWPASS.   Now about 2x faster.
 | 
						|
+ Optimized SSE based stereo output mixers, about 10% faster for 
 | 
						|
  win32/linux/xbox.
 | 
						|
+ Optimized 5.1 and 7.1 output mixers in SSE for win32/linux/xbox. 
 | 
						|
+ Added OpenAL output mode.  
 | 
						|
  Note: this requires version 1.1 or greater. An implementation of this is
 | 
						|
  available at http://www.openal.org/downloads.html 
 | 
						|
 | 
						|
- Mac - Fixed CDDA support
 | 
						|
- Fixed FMOD_DSP_LOWPASS crack/click noise when going to very low cutoff 
 | 
						|
  frequencies such as 1hz.
 | 
						|
 | 
						|
+ Event API : Added EventParameter::keyOff for keying off sustain points
 | 
						|
 | 
						|
- Event API : Fixed crash in EventGroup::getNumGroups when there are no child groups
 | 
						|
 | 
						|
 | 
						|
31/3/06 4.03.04
 | 
						|
---------------
 | 
						|
 | 
						|
- Fixed small memory leak in ogg vorbis and xma codecs.
 | 
						|
- Linux - Fixed bug in threading code causing problems in some distributions.
 | 
						|
- Memory reduction from 238k to 184k after System::init using 100 voices.
 | 
						|
- Fixed audio output on soundcards with >8 channels.
 | 
						|
- Made sync point system more robust so it won't miss points.
 | 
						|
- PS3 - added support again for FMOD_SPEAKERMODE_STEREO for stereo only output.
 | 
						|
- Fixed crash when mixing different types of adpcm files that were encoded 
 | 
						|
  with different block sizes, and FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
 | 
						|
* Maximum channel count on a sound (ie stereo wav = 2) lowered from 8 to 6 to
 | 
						|
  save memory.  This allows 6 channel sounds to be played, and it can be 
 | 
						|
  increased by using System::setSoftwareFormat and setting numinputchannels 
 | 
						|
  if needed (unlikely).
 | 
						|
 | 
						|
 | 
						|
+ Event API : Added EventSystem::getNumGroups, EventSystem::getNumCategories,
 | 
						|
  EventGroup::getNumGroups, EventGroup::getNumEvents, 
 | 
						|
  EventCategory::getNumCategories, EventCategory::getNumParameters,
 | 
						|
  Event::getNumParameters, Event::getNumProperties, Event::getNumCategories.
 | 
						|
+ Event API : Added EVENTPROPERTY_MAX_PLAYBACKS_BEHAVIOR to proprty enum list.
 | 
						|
+ Event API : Added Event::set3DOcclusion/get3DOcclusion
 | 
						|
+ Event API : Added Event::setReverbProperties/getReverbProperties
 | 
						|
+ Event API : Added EVENT_INFOONLY flag to be used with EventGroup::getEvent
 | 
						|
  and Event::getEventByIndex.  Good for just getting information from an event
 | 
						|
  without loading its data or allocating its instances.  No allocs or disk 
 | 
						|
  access is done, but you can still read the event's information.
 | 
						|
 | 
						|
- Event API : Fixed crash when loading multiple FEV files.
 | 
						|
- Event API : Fixed EVENT_STATE_CHANNELSACTIVE being the same value as 
 | 
						|
  EVENT_STATE_PLAYING.
 | 
						|
- Event API : Fixed eventsystem release crash
 | 
						|
- Event API : Fixed problems related to multiple sounddefs with the same name
 | 
						|
- Event API : Fixed event nonblocking loads
 | 
						|
- Event API : Fixed problem where incomplete nonblocking loads would
 | 
						|
  accumulate over time
 | 
						|
 | 
						|
* Event API : renamed EVENTPROPERTY_SPEAKER_MUSIC to EVENTPROPERTY_MUSIC (oops!)
 | 
						|
 | 
						|
17/3/06 4.03.03
 | 
						|
---------------
 | 
						|
 | 
						|
+ Added sample names from mod/s3m/xm/it files as tags accessable through 
 | 
						|
  Sound::getTag.
 | 
						|
+ Added FMOD_OPENSTATE_SEEKING and the ability for Sound::getSubSound to do a 
 | 
						|
  non blocking seek for multi-sub sound streams.
 | 
						|
+ Added FMOD_NONBLOCKING tutorial to the documentation.
 | 
						|
+ Event API : Added setVelocity / getVelocity to EventParameter class so programmer can 
 | 
						|
  slow down or speed up a parameter.
 | 
						|
+ Event API : Added new function Event::getState. Replaces Event::isPlaying and
 | 
						|
  provides more information on the state of an event.
 | 
						|
+ Event API : Added EVENT_MODE parameter to getEvent/loadEventData functions.
 | 
						|
+ Event API : Added nonblocking event loading. Pass EVENT_NONBLOCKING to 
 | 
						|
  getEvent/getGroup.
 | 
						|
+ Event API : Improved event loading speed.
 | 
						|
+ Event API : Added EVENT_ERROR_ON_DISKACCESS for users that want to trap when
 | 
						|
  fmod does disk access in getEvent.
 | 
						|
+ Event API : Added EVENT_CALLBACKTYPE_NET_MODIFIED event callback. This callback is 
 | 
						|
  called when someone changes an event property over the network.
 | 
						|
+ Added FMOD_ERR_FILE_UNWANTED error code for use by event api.
 | 
						|
 | 
						|
- Fixed IMA ADPCM and FMOD_CREATECOMPRESSEDSAMPLE issues and crash.
 | 
						|
- Added Codewarrior libraries and example projects for PS2.
 | 
						|
- GameCube - Fixed crash when shutting down then re-initialising library.
 | 
						|
- GameCube - Fixed bug in Channel::SetPosition that was causing problems with
 | 
						|
  virtual voices.
 | 
						|
- GameCube - Fixed clicking sound occuring sometimes when un-pausing a channel.
 | 
						|
- GameCube - Fixed looped sounds playing from loop point rather than the
 | 
						|
  start of the sound.
 | 
						|
- GameCube - Fixed bug in Channel::isPlaying that was returning true sometimes
 | 
						|
  even when a channel has been stopped.
 | 
						|
- Xbox360 - Fixed XMA related crash when .XMA files were freed then new 
 | 
						|
  ones per played.
 | 
						|
- Xbox360 - Fixed XMA related crash when loading more than 288 xma files.
 | 
						|
- Fixed oscillators being played as 3D causing a crash.
 | 
						|
- Fixed FMOD_NONBLOCKING on PS2.
 | 
						|
- Fixed initialsubsound member of FMOD_CREATESOUNDEXINFO structure not being
 | 
						|
  parsed.
 | 
						|
- Fixed obscure click / quality issue with FMOD_SOFTWARE + streams.
 | 
						|
- Fixed cone behaviour again.
 | 
						|
- Event API : Added all event properties to event property enum list.
 | 
						|
- Event API : Fixed problem when loading projects that had the same EventGroup 
 | 
						|
  names.
 | 
						|
- Event API : Fixed memory leak when loading multiple projects.
 | 
						|
- Linux - Fixed memory overwrite bug in System::getNumDrivers that was causing
 | 
						|
  crashes in some cases.
 | 
						|
- Fixed click/glitch at end of FMOD_CREATECOMPRESSEDSAMPLE based samples.
 | 
						|
 | 
						|
24/2/06 4.03.02
 | 
						|
---------------
 | 
						|
 | 
						|
- Event API : Fixed Memory::Initialize issue.
 | 
						|
- Fixed XMA problem with FMOD_HARDWARE, ignore previous comment in 4.03.01.
 | 
						|
- Fixed FMOD Event api to not fail loading event groups with no events in them.
 | 
						|
- Gamecube - fixed multichannel GCADPCM playback issue.
 | 
						|
- Fixed cone support.  DirectSound's native cone support is removed because it 
 | 
						|
  sucks, and instead FMOD emulates cone support in Directsound mode by using 
 | 
						|
  its own algorithm and just adjusting the volume of the voice manually.  
 | 
						|
 | 
						|
22/2/06 4.03.01 - Official release
 | 
						|
----------------------------------
 | 
						|
 | 
						|
+ PS2 added fmodps2.h and FMOD_PS2_EXTRADRIVERDATA to allow users to set sifcmd
 | 
						|
  info if they or other middleware is using the sifmcmd interface.
 | 
						|
 | 
						|
- Fixed stutter issue with IMA ADPCM sample data and FMOD_CREATECOMPRESSEDSAMPLE.
 | 
						|
- Fixed sounds specified as FMOD_HARDWARE falling back to software mode when no
 | 
						|
  hardware is available.
 | 
						|
- Fixed badly encoded XMA files not stopping using FMOD_SOFTWARE.  With 
 | 
						|
  FMOD_HARDWARE there is a problem in microsoft's XAudio library so please contact
 | 
						|
  them (as we have) or re-encode xma files with extra silence or different quality
 | 
						|
  settings to try and work around bug in the encoder.  Otherwise use FMOD_SOFTWARE.
 | 
						|
- Fixed crash in Sound::release in certain cases.
 | 
						|
- Fixed GameCube Channel::setPosition causing sounds to stop playing.
 | 
						|
- Fixed GameCube crashing when loading multichannel fsb files.
 | 
						|
- Updated docs for PSP tutorial to tell user to link to correct sas library.
 | 
						|
- Removed System::updateFinished for now as it is not used anywhere.
 | 
						|
- Fixed 3D XMA or MPEG stereo FMOD_CREATECOMPRESSEDSAMPLE voices crashing.
 | 
						|
- Fixed stereo 3d sounds causing voice dropouts sometimes.
 | 
						|
- Stereo 3D sounds in FMOD_SOFTWARE now only 1 physical voice instead of 2 mono
 | 
						|
  voices.
 | 
						|
- Stereo 3D sounds in FMOD_HARDWARE on Xbox 360 now use 1 physical voice 
 | 
						|
  instead of 2 mono voices.
 | 
						|
 | 
						|
11/2/06 4.03.00
 | 
						|
----------------------------------
 | 
						|
 | 
						|
+ Added ChannelGroup::overrideSpeakerMix
 | 
						|
 | 
						|
- Fixed rare timing crash with FMOD_CREATECOMPRESSEDSAMPLE support.
 | 
						|
- Fixed Channel::setReverbProperties/getReverbProperties on streams.
 | 
						|
- Fixed performance issue with Channel::setVolume on EAX based souncards.
 | 
						|
- Fix PS2 semaphore kernel message causing problems with ProDG debugger.
 | 
						|
- Stopped wav files with loop points automatically looping if their loop
 | 
						|
  count was 0.
 | 
						|
- Fixed crash when using custom rolloff curves.
 | 
						|
 | 
						|
2/2/06 4.02.10
 | 
						|
---------------
 | 
						|
 | 
						|
+ Added IMA ADPCM to FMOD_CREATECOMPRESSEDSAMPLE support.  Now FMOD Ex can play
 | 
						|
  ADPCM samples as if they were a native sample format without decompressing 
 | 
						|
  the whole thing or needing to stream it.  
 | 
						|
  Try it out!  Now for a small increase in CPU usage, samples can stay compressed 
 | 
						|
  as ADPCM (and also MP2, MP3 and XMA now), saving huge amounts of memory!
 | 
						|
 | 
						|
- Fixed crash with sounds being released that were 3d and streamed and stereo,
 | 
						|
  with other streams playing.
 | 
						|
- Fixed crash in new XMA FMOD_CREATECOMPRESSEDSAMPLE support on xbox360 when
 | 
						|
  channels were going virtual then coming back again.
 | 
						|
- Fixed virtual voices crash with streams that were 3d and stereo.
 | 
						|
- Fixed .mod file loading problem.
 | 
						|
- Fixed Channel::setMute being ignored on 3d sounds.
 | 
						|
- Fixed Sound::getSubSound/Sound::release issue.
 | 
						|
- Fixed streaming FSB and FMOD_NONBLOCKING issue.
 | 
						|
- Stopped resetting the length of a FMOD_CREATECOMPRESSEDSAMPLE based sound
 | 
						|
  if it was VBR after seeking, as the next time it played it was possibly 
 | 
						|
  truncating the sound due to the miscalculated length.  This does mean
 | 
						|
  that Sound::getTime will be innacurate when the sound loops though for
 | 
						|
  VBR sounds.  FMOD_ACCURATETIME would fix it.
 | 
						|
- Fix xbox360 isplaying bug with FMOD_HARDWARE based sounds.
 | 
						|
- Fixed support for .XMA files that only had 1 frame in them.
 | 
						|
 | 
						|
27/1/06 4.02.09
 | 
						|
---------------
 | 
						|
 | 
						|
- Fixed bug with multichannel 24 bit samples being 3D.
 | 
						|
- Fixed multichannel 3D samples and getSpectrum / getWaveData.
 | 
						|
- GameCube - Lowered hardware channel count to prevent voices from dropping.
 | 
						|
- Linux - Fixed crash when calling System::close() on some machines.
 | 
						|
- Fixed WAV loader for wavs with nested chunks.
 | 
						|
- Fixed FMOD_NONBLOCKING memory leak and loading errors.
 | 
						|
- Fixed FSB 'basicheaders' support especially with XMA (crash).
 | 
						|
- Fixed FMOD_DSP_CREATECALLBACK not passing in instance parameter.
 | 
						|
 | 
						|
23/1/06 4.02.08
 | 
						|
---------------
 | 
						|
 | 
						|
+ Update FMOD designer programmers tutorial.
 | 
						|
+ Added XMA support (xbox360 only) to FMOD_CREATECOMPRESSEDSAMPLE support.
 | 
						|
  Now fmod software mixer can play compressed XMA samples which means no more
 | 
						|
  reliance on XAudio.  Now effects can be used with compressed samples!
 | 
						|
+ GameCube - Added virtual voices example.
 | 
						|
+ Added sync point support to ASF/WMA codec.  Now markers can be synced to from 
 | 
						|
  these types of files as well.
 | 
						|
 | 
						|
- Reduced memory usage on init by 9k.
 | 
						|
- Fixed FMOD_ERR_OUTPUT_CREATEBUFFER error in multichannel 3d sounds coming 
 | 
						|
  from System::createSound.
 | 
						|
- GameCube - Fixed problems with virtual voices.
 | 
						|
- Fixed FMOD_3D_HEADRELATIVE not keeping orientation relative in FMOD_SOFTWARE
 | 
						|
  mode.
 | 
						|
 | 
						|
12/1/06 4.02.07
 | 
						|
---------------
 | 
						|
 | 
						|
- Fixed pitch abnormality in 3D sound.
 | 
						|
- Fixed volume level of channel when it is at the same position as the listener, 
 | 
						|
  in 5.1 mode.  Now instead of being placed in all speakers at full volume, the 
 | 
						|
  sound is placed at all speakers but at a correct (lower) volume.
 | 
						|
- Fix bug with multichannel sounds (ie stereo and above) loaded as 3D failing.
 | 
						|
 | 
						|
11/1/06 4.02.06
 | 
						|
---------------
 | 
						|
 | 
						|
+ Added FMOD_CREATECOMPRESSEDSAMPLE.  Compressed sample playback support!
 | 
						|
  FMOD Ex can now load MP2 and MP3 data into memory, and play 
 | 
						|
  it back without any of the restrictions of streams may have.  
 | 
						|
  Save megabytes of memory by storing and playing back samples in their native
 | 
						|
  compressed format!  Streams should be still used if you don't want to store
 | 
						|
  any sample data in memory and would prefer to play it from disk.
 | 
						|
  ADPCM and XMA support coming soon.
 | 
						|
+ Added 'suggestedsoundtype' to FMOD_CREATESOUNDEXINFO.  As fmod has to scan 
 | 
						|
  every codec type when you open a file, this can be used to speed it up!
 | 
						|
+ Added support for wav files with ogg encoded data without using windows 
 | 
						|
  codecs.
 | 
						|
+ Added System::setAdvancedSettings / System::getAdvancedSettings to control
 | 
						|
  cpu and memory usage of new FMOD_CREATECOMPRESSEDSAMPLE feature.  Other
 | 
						|
  advanced settings not related to this may be added in the future.
 | 
						|
+ Added 'Room' room effect level support in FMOD_REVERB_CHANNELPROPERTIES for
 | 
						|
  Xbox360.
 | 
						|
 | 
						|
- Fixed midi playback on big endian machines. (xbox360, gc, ps3, mac etc).
 | 
						|
- ASIO recording now allows any sound channel count to be recorded to (instead
 | 
						|
  of return FMOD_ERR_FORMAT).  If ASIO is recording as mono and you pass a 
 | 
						|
  stereo sound in, then only the left channel will be recorded to.  
 | 
						|
  If ASIO is recording as stereo and you pass a mono sound in, only the left 
 | 
						|
  part of the recorded signal will be put into the mono sound.
 | 
						|
- Fix crash releasing a 2 subsounds from an fsb with Sound::release.  Normally 
 | 
						|
  you would just release the parent FSB sound but you can do this as well now.
 | 
						|
  (maybe the user wants to replace one subsound with another).
 | 
						|
- Fixed links in virtual voice tutorial docs.
 | 
						|
- Fixed playback on certain .it files that use extremely high pitched sounds
 | 
						|
  because fmod's internal software mixer simply had a limit that was too low 
 | 
						|
  for it.
 | 
						|
- Fix memory leak in sound release.
 | 
						|
- Releasing a ChannelGroup with child groups now returns the children back to 
 | 
						|
  the master channel group.  Before it didn't and releasing an orphan group 
 | 
						|
  would cause an exception.
 | 
						|
- Fixed 3D software sound not working properly in multichannel output modes.
 | 
						|
- Fixed 3D sound with multiple listeners.
 | 
						|
- GameCube - Fixed sounds not starting paused when requested to do so in playSound.
 | 
						|
- GameCube - Fixed poping when sound was started at low volume following a sound
 | 
						|
  that was playing at a high volume.
 | 
						|
- Fixed WMA playback on Xbox cutting off before it reached the end.
 | 
						|
 | 
						|
* Changed Sound::getLength to return 0xffffffff for FMOD_TIMEUNIT_MS 
 | 
						|
  and FMOD_TIMEUNIT_PCMBYTES when the stream was of unlimited length (ie a 
 | 
						|
  netstream)
 | 
						|
 | 
						|
21/12/05 4.02.05
 | 
						|
----------------
 | 
						|
 | 
						|
+ Custom rolloff curve support added!  See new Sound::set3DCustomRolloff / 
 | 
						|
  Channel::set3DCustomRolloff.  Specify an array of points (distance vs volume)
 | 
						|
  and FMOD will linearly interpolate between them.
 | 
						|
 | 
						|
- Fixed small looping streams playback behaviour after Sound::setMode 
 | 
						|
  was called.
 | 
						|
- Fixed crash on mod/s3m/xm/it/mid.
 | 
						|
- FMOD_INIT_DSOUND_DEFERRED removed.  All 3d calcs are now deferred 
 | 
						|
  (makes it more like software mode which is 'deferred' anyway).  
 | 
						|
  May improve 3d performance in dsound on win32.
 | 
						|
- Removed redundant 3d calculations which should improve performance.
 | 
						|
 | 
						|
* Changed win32 hardware 'linear rolloff' emulation (because dsound3d only 
 | 
						|
  supports log) to match the software based rolloff better.
 | 
						|
* Sound::setMode and Channel::setMode can now switch between 
 | 
						|
  FMOD_3D_LINEARROLLOFF, FMOD_3D_CUSTOMROLLOFF & FMOD_3D_LOGROLLOFF.
 | 
						|
 | 
						|
 | 
						|
19/12/05 4.02.04
 | 
						|
----------------
 | 
						|
 | 
						|
+ Added FMOD_SPEAKERMODE_SURROUND.
 | 
						|
+ Added FMOD_SPEAKER_MONO as an alias to use when in FMOD_SPEAKERMODE_MONO 
 | 
						|
  mode (instead of having to use 0, or FMOD_SPEAKER_FRONT_LEFT).
 | 
						|
+ Added error codes FMOD_ERR_NEEDS2D and FMOD_ERR_NEEDS3D so that 3d 
 | 
						|
  functions that are called on 2d channels/sounds return an error (ie set3D/
 | 
						|
  get3D type functions), and vice versa (ie a 3D sound calling setPan).
 | 
						|
+ Added FMOD_SOUND_FORMAT_MPEG.
 | 
						|
+ Added lengthbytes to FMOD_CODEC_WAVEFORMAT structure.  Note!  Plugins 
 | 
						|
  should be recompiled with this structure to ensure compatibility.
 | 
						|
 | 
						|
- Memory reduction by about 150k at init with 100 channels.  
 | 
						|
- Fixed 3D panning issue in multispeaker output modes.
 | 
						|
- Fixed 3D volume issue in multispeaker output modes.
 | 
						|
- Fixed Channel::getAudiblity not reflecting channel group volume.
 | 
						|
- Fixed adding an effect to a channel played with System::playDSP not working.
 | 
						|
- Fixed attachFileSystem being global instead of per system object 
 | 
						|
  as it should have been.
 | 
						|
- Win32 mixer accidently reverted back to C version.  Put back to SSE as it 
 | 
						|
  was supposed to be. (performance improvement again)
 | 
						|
- Fixed ChannelGroup::stop not recursively stopping channel groups.
 | 
						|
- Fixed channels not resetting themselves to the master channelgroup once they 
 | 
						|
  were finished, which could lead to unpredictable behaviour.
 | 
						|
- Allowed some corrupted midi files to play.
 | 
						|
- Fixed FMOD_OUTPUT_WAVWRITER_NRT not loading automatically properly when using
 | 
						|
  fmodexp.dll.
 | 
						|
- Fixed 'virtual voice leak' which caused FMOD_ERR_CHANNEL_ALLOC sometimes.
 | 
						|
- Fixed glitch seeking an mp3 near the start.
 | 
						|
- Improved error detection when seeking randomly into an mp3.
 | 
						|
- Xbox360 dashboard music detection improved so music in a music channelgroup 
 | 
						|
  doesn't play while dashboard music is playing.
 | 
						|
 | 
						|
* Changed System::setSoftwareFormat to set speakermode to FMOD_SPEAKERMODE_RAW 
 | 
						|
  if anything besides 0 is specified for numoutputchannels.  0 retains the 
 | 
						|
  previously set speaker mode.
 | 
						|
* Changed Channel::setSpeakerLevels to give an error if a speaker is specified 
 | 
						|
  that shouldn't work on the current speaker mode.
 | 
						|
* Changed FMOD_SPEAKERMODE_4POINT1 to FMOD_SPEAKERMODE_QUAD.
 | 
						|
* Renamed FMOD_SOUND_FORMAT_XADPCM to FMOD_SOUND_FORMAT_IMAADPCM.
 | 
						|
 | 
						|
25/11/05 4.02.03
 | 
						|
----------------
 | 
						|
 | 
						|
+ Added PlayStation 2 port.
 | 
						|
+ Added Channel::getIndex.
 | 
						|
 | 
						|
- Fixed lowpass and reverb filter when processing channels greater than stereo.
 | 
						|
- Fixed mixed mono/stereo sounds in FSB file playing at half speed, when sound 
 | 
						|
  was loaded as sample and not stream.
 | 
						|
- Stopped codec_raw.dll from being loaded which was never an fmod dll anyway 
 | 
						|
  and just put raw file loading back into the main dll (as it is small anyway).
 | 
						|
 | 
						|
17/11/05 4.02.02
 | 
						|
----------------
 | 
						|
 | 
						|
+ Added support for another type of floating point wav file (the type that 
 | 
						|
  adobe audition outputs is different to that of soundforge for example).
 | 
						|
+ Added Prologic II dowmix matrix for 5.1 and 7.1 sounds playing on stereo 
 | 
						|
  output.
 | 
						|
+ Documentation updates.  Added "Getting started" tutorial to explain 
 | 
						|
  the key points of using FMOD Ex, and explains the main concepts and gives 
 | 
						|
  examples to help the user get up and running.
 | 
						|
+ System::setReverbProperties now enables reverb on FMOD_SOFTWARE based sounds!
 | 
						|
  The reverb parameters are going to be matched and improved to sound as close
 | 
						|
  to EAX as possible.  It is currently fairly rough, but will be better in 
 | 
						|
  future releases.
 | 
						|
+ Added C# 'spectrum' example.
 | 
						|
 | 
						|
- Fixed memory leak with getWaveData.
 | 
						|
- Fixed FSB mixed format issue.
 | 
						|
- Fixed mixer bug where stereo sounds played through 5.1 output and using 
 | 
						|
  non front left / front right panning were causing corrupted noise.
 | 
						|
- Fixed WMA seeking returning an error sometimes on some files.
 | 
						|
- Fixed parsing issue with M3U files.
 | 
						|
 | 
						|
* Changed getWaveData to have a maximum numvalues limit of 16384.  This 
 | 
						|
  saves a few 100k of ram.
 | 
						|
 | 
						|
10/11/05 4.02.01
 | 
						|
----------------
 | 
						|
+ Mono and stereo samples can now be mixed in an FSB stream (and even 
 | 
						|
  sentenced).  In this case the stream is created using a stereo buffer, and
 | 
						|
  mono sounds are upscaled to stereo in realtime.
 | 
						|
+ Added Visual Basic 'spectrum' example.
 | 
						|
 | 
						|
- Fixed ALSA not initializing in some distros.
 | 
						|
- Fixed midi playback error where pitch wheel bends were bending erronously.
 | 
						|
- Fixed FSB adpcm seeking support.
 | 
						|
- Fixed playlist files being opened using FMOD_NONBLOCKING flag.  
 | 
						|
  (relevant to netstream redirects and asx's etc.)
 | 
						|
- Fixed glitch in some .it files using filters.
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
 | 
						|
4/11/05 4.02.00 - Official release.
 | 
						|
-----------------------------------
 | 
						|
+ Optimized fmod_event api to remove any allocs from getEvent if cacheevents
 | 
						|
  was specified.  Significant performance increase.
 | 
						|
+ Xbox360 - more optimizations regarding System::update.
 | 
						|
+ Linux - Add support for multichannel output in ALSA.
 | 
						|
+ Custom memory system increased in speed meaning performance boost while 
 | 
						|
  loading.
 | 
						|
+ Optimized 5.1 path for software mixer on all platforms (except for xbox360 
 | 
						|
  which is already optimized).   Speed increase of about 400%.  
 | 
						|
  More optimization to 5.1 path to come.  (win32/linux/xbox is not sse yet).
 | 
						|
 | 
						|
- Xbox360 - Fixed TRC requirement logic where FMOD "music" would resume 
 | 
						|
  if the user pressed pause in the Xbox360 dashboard.  FMOD "music" now
 | 
						|
  stays paused until the user returns music control to the game.
 | 
						|
- Xbox360 - XMA support fixes.  
 | 
						|
- Linux - ALSA output now cooperates with other applications better.
 | 
						|
- Mac - Coreaudio support not returning sample rate to system preference 
 | 
						|
  rate fixed.
 | 
						|
- Fixed FSB files containing wavs with syncpoints/markers in them from 
 | 
						|
  crashing when loading.
 | 
						|
- .IT codec - fixed porta command in volume column not sliding fast enough.
 | 
						|
- Fixed seeking to the near the end of some mp3 files incorrectly causing 
 | 
						|
  FMOD_ERR_FILE_EOF.
 | 
						|
 | 
						|
21/10/05 4.01.07
 | 
						|
----------------
 | 
						|
 | 
						|
+ Xbox 360 - optimized 5.1 mixers.
 | 
						|
+ Optimize mixer to not mix idle dsp units.  Good for channelgroups that only 
 | 
						|
  have hardware channels assigned to them.
 | 
						|
+ X86 Mac version library added.  Not tested.  Give us feedback!
 | 
						|
 | 
						|
- Fixed crash on non SSE machines.
 | 
						|
- Removed clicks from DirectSound software buffers by lowering their mixing 
 | 
						|
  quality :|  Sounds a lot better now.
 | 
						|
- Huge memory saving on software mixing engine implemented.
 | 
						|
- Windows - Fixed issue with VST plugins.
 | 
						|
- Linux - Fixed cdrom TOC information error.
 | 
						|
- Xbox360 - Fixed quality issue in stereo sample resampler.
 | 
						|
- Xbox360 - Fixed clicks in optimized resamplers.
 | 
						|
 | 
						|
 | 
						|
14/10/05 4.01.06
 | 
						|
----------------
 | 
						|
 | 
						|
+ Added support for 3D stereo/multichannel sounds!  Now stereo (and above) sounds 
 | 
						|
  can have EAX reverb and can be 3d positioned!  
 | 
						|
  The left and right part of a sound can even  be positioned in different places 
 | 
						|
  in 3D space.
 | 
						|
+ Added Channel::set3DSubChannelOffset / get3DSubChannelOffset so that a 
 | 
						|
  multichannel sound can have each part of its signal positioned in 3d seperately.
 | 
						|
+ Added 'OfflineDecoding' example.
 | 
						|
+ FSB files now store markers out of wav files so that the syncpoint callback 
 | 
						|
  api automatically works with FSB files as they do with .wav.
 | 
						|
+ Added FMOD_DSP pointer inside the FMOD_DSP_STATE structure, so the callback 
 | 
						|
  writer can get a handle to the actual instance of the DSP unit that was created 
 | 
						|
  by the user.  (oops should have been there in the first place!)
 | 
						|
+ Linux now using SSE version of mixers and distortion filter.  Significant speedup.
 | 
						|
+ Linux OSS output possibly more stable.
 | 
						|
+ GameCube - Stereo GCADPCM compessed FSB files now supported.
 | 
						|
 | 
						|
- Xbox360 - 5.1 output not working fixed.
 | 
						|
- Xbox360 - Fixed various XMA streaming issues.
 | 
						|
- Windows - Fixed ASIO support.
 | 
						|
- Windows - Fixed wav file ACM windows codec support for non natively decoded file types.
 | 
						|
- Added support for MIDI pitch bend sensitivity message, so MIDI files with non 
 | 
						|
  default settings sound correct!
 | 
						|
 | 
						|
04/10/05 4.01.05
 | 
						|
----------------
 | 
						|
 | 
						|
+ Win32, Xbox.  Linear interpolation resampler, mixer, and distortion 
 | 
						|
  filter optimized using SSE.  Significant speed improvements.
 | 
						|
+ XMA support on Xbox 360 improved.
 | 
						|
 | 
						|
- Fixed Channel::setPan not working on streams.
 | 
						|
- Fixed build issues with Xbox 360 libraries.
 | 
						|
- Fixed fsbankex command line parser.
 | 
						|
- Fixed Channel::setLoopPoints not working correctly on streams.
 | 
						|
- Fixed Memory_Initialize crash when calling it multiple times in a row.
 | 
						|
- Fixed Channel::setMode not recoginizing FMOD_3D_LOGROLLOFF / 
 | 
						|
  FMOD_3D_LINEARROLLOFF.  fmod_designer log/linear event changes now work.
 | 
						|
- Fixed loop points not from .wav files that were exported to .FSB files not
 | 
						|
  being recognized when loaded.
 | 
						|
 | 
						|
 | 
						|
29/09/05 4.01.04
 | 
						|
----------------
 | 
						|
 | 
						|
+ Huge optimizations on Xbox 360.   Commonly used mixers formats and effects
 | 
						|
  converted to use vmx128.  Now only taking a fraction of what it used to.
 | 
						|
  Distortion is the only effect currently optimized.  The rest will come soon.
 | 
						|
+ Added support for Channel::SetSpeakerMix for gamecube, also 3d sound will
 | 
						|
  support prologic 2 now.
 | 
						|
 | 
						|
- !! Fixed skipping/'fastforward sound' bug.  This will improve peformance as 
 | 
						|
  well.
 | 
						|
  NOTE: UPGRADE NOW FROM VERSION 4.01.01, 4.01.02 OR 4.01.03 TO AVOID THIS BUG.
 | 
						|
- Fixed fmod.pas inconsistancies.
 | 
						|
- Fixed stream stopping when encountering corrupted mpeg frames in mpeg codec.
 | 
						|
- Fixed FLAC looping again?  It looks like there is a bug in libflac which 
 | 
						|
  corrupts the stack when seeking.  Worked around it for now.
 | 
						|
 | 
						|
23/09/05 4.01.03
 | 
						|
----------------
 | 
						|
+ Upgraded to libflac 1.1.2.  Looping .FLAC files work better now, also 
 | 
						|
  decoding speedup.
 | 
						|
+ Event API updated to allow retrieval of user properties in FMOD designer.
 | 
						|
 | 
						|
- Fixed .OXM files making white noise or crashing in some cases but only on 
 | 
						|
  big endian machines such as Mac, XBox 360, Gamecube.
 | 
						|
 | 
						|
* NOTE! - FMOD Ex binaries will not be backward compatible until the API 
 | 
						|
  design has settled down, which should be very soon.  (probably 4.02.00) 
 | 
						|
 | 
						|
19/09/05 4.01.02
 | 
						|
----------------
 | 
						|
+ Added documentation for platform specific information for Xbox and Xbox 360.
 | 
						|
  More to come for the other platforms.
 | 
						|
 | 
						|
- Fixed System:setMaxHardwareChannels when using 0 to force software mode 
 | 
						|
  causing loading errors.
 | 
						|
- Fixed ogg crash and possibly other file format crashes.
 | 
						|
- Fixed delphi header issue.
 | 
						|
 | 
						|
* NOTE! - FMOD Ex binaries will not be backward compatible until the API 
 | 
						|
  design has settled down, which should be very soon.  (probably 4.02.00) 
 | 
						|
 | 
						|
16/09/05 4.01.01
 | 
						|
----------------
 | 
						|
+ Added FMOD_OUTPUTTYPE_NOSOUND_NRT / FMOD_OUTPUTTYPE_WAVWRITER_NRT.  
 | 
						|
  Non-realtime versions of FMOD_OUTPUTTYPE_NOSOUND / FMOD_OUTPUTTYPE_WAVWRITER.
 | 
						|
  User can drive the FMOD mixer with System::update at a faster than realtime
 | 
						|
  update if they want.
 | 
						|
+ Added FMOD_INIT_STREAM_FROM_UPDATE.  This allows the user to update the 
 | 
						|
  streamer synchronously from System::update instead of asynchronously from 
 | 
						|
  the FMOD thread.  Useful in conjunction with the FMOD_OUTPUTTYPE_NOSOUND_NRT /
 | 
						|
  FMOD_OUTPUTTYPE_WAVWRITER_NRT modes.
 | 
						|
+ Added FMOD_DSP_STATE structure for plugin writers.  This is so plugin writers 
 | 
						|
  can now attach their own data to a plugin.  Now all 3 types of plugins have 
 | 
						|
  this functionality.
 | 
						|
+ Upgraded Xbox 360 build to final kits only now, and added XMA sample support.
 | 
						|
 | 
						|
- Removed FMOD_INIT_NONREALTIME (it didnt do anything anyway).  See new
 | 
						|
  FMOD_OUTPUTTYPE_NOSOUND_NRT and FMOD_OUTPUTTYPE_WAVWRITER_NRT modes.
 | 
						|
- Fixed getSoftwareFormat not setting the resamplemethod variable.
 | 
						|
- Fixed System::setHardwareChannels not switching to software mixing if 
 | 
						|
  max was set to 0 or min was set higher than what the hardware had.
 | 
						|
- Fixed ParamEQ filter causing divide by 0 exception in delphi / VB.
 | 
						|
 | 
						|
* Output indicies have been shifted to allow insertion of new output modes.
 | 
						|
* Renamed FMOD_CODEC to FMOD_CODEC_STATE for plugin callbacks.
 | 
						|
* Renamed FMOD_OUTPUT to FMOD_OUTPUT_STATE for plugin callbacks.
 | 
						|
* Renamed FMOD_DSP * parameters in DSP plugin callbacks to FMOD_DSP_STATE *.
 | 
						|
* FMOD_OUTPUTTYPE_WAVWRITER behaviour now changed to be 'realtime'.  This
 | 
						|
  means the user does not update the wav writer with System::update at all,
 | 
						|
  but it writes out to the wav in realtime using the clock as a timer.
 | 
						|
  Use FMOD_OUTPUTTYPE_WAVWRITER_NRT for the old System::update style behaviour.
 | 
						|
 | 
						|
* NOTE! - FMOD Ex binaries will not be backward compatible until the API 
 | 
						|
  design has settled down, which should be very soon.  (probably 4.02.00)
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
 | 
						|
9/09/05 4.01.00 - Official release.
 | 
						|
-----------------------------------
 | 
						|
+ Added ability to change resample method. Added FMOD_DSP_RESAMPLER.  Contains
 | 
						|
    FMOD_DSP_RESAMPLER_NOINTERP, FMOD_DSP_RESAMPLER_LINEAR,
 | 
						|
    FMOD_DSP_RESAMPLER_CUBIC, FMOD_DSP_RESAMPLER_SPLINE.
 | 
						|
+ Added more VB and C# examples.
 | 
						|
 | 
						|
- Fixed FMOD_NONBLOCKING crash with hardware samples.
 | 
						|
- Fixed midi crash on win98.
 | 
						|
- Fixed bad ogg internet stream crashing fmod.
 | 
						|
- Fixed releasing and creating system objects more than 15 times causing 
 | 
						|
  channel based errors.
 | 
						|
 | 
						|
* Changed System::setSoftwareFormat and System::getSoftwareFormat to include
 | 
						|
  interpolation type parameter.  
 | 
						|
 | 
						|
25/08/05 4.00.37
 | 
						|
----------------
 | 
						|
 | 
						|
+ Added "Number of channels" tag to midi.
 | 
						|
+ Added ChannelGroup::setPitch and ChannelGroup::getPitch
 | 
						|
+ Added ChannelGroup::addGroup which allows nested channel groups.
 | 
						|
+ Added ChannelGroup::getNumGroups and ChannelGroup::getGroup.
 | 
						|
+ Added 'filecallbacks' example.
 | 
						|
+ Added 'recordtodisk' example.
 | 
						|
 | 
						|
- Fixed user streams.
 | 
						|
- Fixed .it file crash with new echo filter code.
 | 
						|
- Fixed crash if buffersize was set to 0 in System::setFileSystem.
 | 
						|
* Renamed ChannelGroup functions from 'set' to 'override' for those functions 
 | 
						|
  that dont scale, but go through and overwrite the channel attributes with the 
 | 
						|
  specified value.
 | 
						|
 | 
						|
23/08/05 4.00.36
 | 
						|
----------------
 | 
						|
 | 
						|
+ Added XBox 360 build for beta devkits!
 | 
						|
+ Added .IT song message as a tag "Song message".
 | 
						|
+ Added .MOD / .S3M / .XM / .IT channel count as a tag "Number of channels"
 | 
						|
  for information purposes.  This number does not affect fmod's channel 
 | 
						|
  allocation in  any way!
 | 
						|
+ Improved 'percentbuffered' value from Sound::getOpenState so that it 
 | 
						|
  accurately reflects how much of fmod's buffer is filled at the time instead
 | 
						|
  of just the 'read progress' as it was before (not that useful).
 | 
						|
+ Added support for 'chunked' http streams.
 | 
						|
+ Added FMOD_DSP_TYPE_ITECHO.
 | 
						|
+ Added cross platform support for .IT files that use the DirectX Media echo 
 | 
						|
  effect!  This is from .IT files written with Modplug Tracker.
 | 
						|
  FMOD emulates the DirectX echo filter so that songs with this effect will
 | 
						|
  play on ANY platform!  No other .IT player can claim this!
 | 
						|
 | 
						|
- Fix paused flag being ignored in System::playDSP.
 | 
						|
- Fixed ogg vorbis netstream stutter on startup.
 | 
						|
- Fixed oscillators and setFrequency with a negative value causing crash.
 | 
						|
- Fixed winamp plugins in ASIO mode.
 | 
						|
- Fixed netstreams stalling that used FMOD_ACCURATETIME.
 | 
						|
- Fixed ASF/WMA tags not returning certain entries as FMOD_TAGDATATYPE_INT 
 | 
						|
  or FMOD_TAGDATATYPE_BINARY
 | 
						|
- Fixed MIDI format detection so more midi files now load. (Thanks Mike Ulik
 | 
						|
  and his 200,000 midi files :| )
 | 
						|
- Fixed icecast streams not updating their tags when switching songs.
 | 
						|
- Fixed loading crash on certain .IT files.
 | 
						|
- Fixed echo filter.
 | 
						|
- Fixed documentation on callbacks.
 | 
						|
 | 
						|
* Renamed FMOD_DSP_TYPE_LOWPASS2 to FMOD_DSP_TYPE_ITLOWPASS.
 | 
						|
 | 
						|
12/08/05 4.00.35
 | 
						|
----------------
 | 
						|
 | 
						|
+ Added 64bit Linux (AMD64) support.
 | 
						|
+ More VB examples.
 | 
						|
+ Added 3D listener functions to EventSystem class.
 | 
						|
+ Gamecube version available.
 | 
						|
+ XCode projects added to examples in Mac release.
 | 
						|
+ Added FMOD_DSP_ECHO_DRYMIX and FMOD_DSP_ECHO_WETMIX parameters to 
 | 
						|
  echo filter.
 | 
						|
+ Echo filter 20-30% faster.
 | 
						|
+ Added support for special "3d distance" parameter in fmod_event 
 | 
						|
  library.  Now you can specify envelopes in the fmod designer tool
 | 
						|
  to react to 3d distance as the game runs!
 | 
						|
+ Added http basic authentication support for icecast streams that have 
 | 
						|
  listener authentication.
 | 
						|
 | 
						|
- Fixed Channel::setMode not updating loop mode on streams properly.
 | 
						|
- Fixed Channel::setMute on channels not working when using FMOD_3D and 
 | 
						|
  FMOD_SOFTWARE based sound.
 | 
						|
- FSB bugfixes, including basicheaders support and ADPCM support.
 | 
						|
- FMOD_INIT_DISABLESOFTWARE fixed.
 | 
						|
- Fixed issues with creating and releasing new FMOD_SYSTEM/System objects 
 | 
						|
  while streams were playing in an existing object.
 | 
						|
- Fixed support for FMOD_DSP_TYPE_MIXER.
 | 
						|
- Removed FMOD_DSP_ECHO_FEEDBACK.  Just use FMOD_DSP_ECHO_DECAYRATIO which
 | 
						|
  does the same thing.
 | 
						|
- Fixed System::close/release related hang if the user did not release 
 | 
						|
  all channel groups they had created.
 | 
						|
 | 
						|
* Changed bitfield constants to #defines.  In C you can't define global
 | 
						|
  constants because the C compiler doesn't regard const ints as compile time 
 | 
						|
  constants.   C++ does, but we have to support both C and C++ :(
 | 
						|
 | 
						|
1/8/05 4.00.34
 | 
						|
--------------
 | 
						|
 | 
						|
+ Added support for S9F effect (backwards playback) in .IT format.
 | 
						|
+ Added DSP::setInputLevels / DSP::getInputLevels.
 | 
						|
+ Added ChannelGroup::set3DAttributes.
 | 
						|
+ Added dsp_effectperspeaker example.  This shows some DSP network
 | 
						|
  manipulation.  A different dsp effect is put on each output speaker
 | 
						|
  and only one sound is playing!
 | 
						|
+ Added loadfrommemory example.  This just shows how to load a file from 
 | 
						|
  memory rather than from disk.
 | 
						|
+ Added FMOD_IGNORETAGS.  This enables the user to skip any redundant/extra 
 | 
						|
  disc access if loading from a slow medium such as CD.
 | 
						|
 | 
						|
- Fixed VBR MP3s ending prematurely. (unless FMOD_ACCURATETIME was used).
 | 
						|
- Fixed playlist example not loading files with relative paths.
 | 
						|
- Fixed mac thread issue causing high cpu usage.
 | 
						|
- Fixed linux compile issue.
 | 
						|
- Fixed FMOD_OUTPUT_WAVWRITER on big endian platforms. (mac/xbox360/gc)
 | 
						|
- Fixed WinMM output initialization on Windows 98.
 | 
						|
- Fixed crash on XM files with bidi loops.
 | 
						|
- Fixed mod, s3m & xm with speed = 0 freezing the mod playback,
 | 
						|
  it is now ignored.
 | 
						|
- Fixed MIDI issues, namely corrupted and badly written midi files!
 | 
						|
- Removed stack overflow issue in MPEG codec.
 | 
						|
- FMOD_NORMAL removed.  Just use FMOD_DEFAULT.
 | 
						|
- Broken AAC libfaad support removed.  We will have to work out a 
 | 
						|
  licensing agreement for the more improved libfaad2 before continuing 
 | 
						|
  support for this again.
 | 
						|
 | 
						|
* FMOD Ex now has 27 examples!
 | 
						|
* Changed bitfield enums to const ints so casting back to enum 
 | 
						|
  type isn't needed when combining flags.
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
 | 
						|
16/7/05 4.00.33 - Official release.
 | 
						|
-----------------------------------
 | 
						|
 | 
						|
FMOD Ex is now NON BETA.
 | 
						|
 | 
						|
+ Windows 64bit AMD64 build added!
 | 
						|
+ Added good quality software reverb! FMOD_DSP_TYPE_REVERB.   
 | 
						|
  Now FMOD_SOFTWARE mixed voices can have reverb, AND 5.1 output!
 | 
						|
+ Added recording support to ESD output in linux.
 | 
						|
+ Added ChannelGroup class.  This allows channels to be grouped for parameter
 | 
						|
  control or effect submixing! (ie add an effect to a channel group)
 | 
						|
+ Added channelgroups example.
 | 
						|
+ Added submixing example.
 | 
						|
 | 
						|
- Fixed Sound::getName not working in v32 only.
 | 
						|
- Hopefully last speaker issue fix.  WAVEFORMATEXTENSIBLE channelmask support
 | 
						|
  is seriously broken on Creative and other sound cards.  Reasons:
 | 
						|
  1.  Audigy NX bluescreens if you use WAVEFORMATEXTENSIBLE even for plain PCM,
 | 
						|
      mono, 16bit data.
 | 
						|
  2.  SBLive value reported to go silent if dwChannelMask is 0, even though the 
 | 
						|
      Microsoft docs say 0 = direct out!
 | 
						|
  3.  Even if you specify SPEAKER_STEREO as is recommended by Microsoft in 
 | 
						|
      ksmedia.h, the panning biases towards the left on some cards.
 | 
						|
  FMOD now only uses WAVEFORMATEXTENSIBLE for greater than stereo or 24/32bit 
 | 
						|
  audio data.
 | 
						|
- Fixed .S3M files with 16bit samples.
 | 
						|
- Fixed .S3M files with stereo samples.
 | 
						|
- Removed FMOD_CHANNEL_ALL.  To affect all channels use the new 
 | 
						|
  System::getChannelGroup function which by default has all channels in 
 | 
						|
  its group.
 | 
						|
- Fixed MIDI playback with some bad files.
 | 
						|
- Removed System::setMasterVolume / System::getMasterVolume.  To make master 
 | 
						|
  volume use a System::getMasterChannelGroup then call ChannelGroup::setVolume.
 | 
						|
- Removed Channel::setVolumeAbsolute.  To do this just create a new 
 | 
						|
  ChannelGroup and add the channel to it that you don't want affected.
 | 
						|
 | 
						|
* System::playSound and System::playDSP change 'channelindex' parameter from
 | 
						|
  'int' to encourage more people to use FMOD_CHANNEL_FREE instead of raw 
 | 
						|
  channel indices.  To use a raw channel index you will have to cast the
 | 
						|
  number to the FMOD_CHANNELINDEX type, making it an 'advanced' feature.
 | 
						|
  If you are already using FMOD_CHANNEL_FREE you won't notice a difference.
 | 
						|
* Visual Basic only.  FMOD_System_CreateSound now removes the exinfo param,
 | 
						|
  and to pass it in a new function is created called FMOD_System_CreateSoundEx.
 | 
						|
* FMOD_OUTPUT_GETDRIVERCAPSCALLBACK parameter list changed.
 | 
						|
* Removed FMOD_OUTPUT_STARTCALLBACK.
 | 
						|
* Removed FMOD_OUTPUT_STOPCALLBACK.
 | 
						|
 | 
						|
8/7/05 4.00.32 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ Added winamp DSP plugin support.
 | 
						|
+ Added WAVEFORMATEXTENSIBLE style 'channelmask' variable into 
 | 
						|
  FMOD_CODEC_WAVEFORMAT.
 | 
						|
+ Playlist support added. ASX, PLS. M3U and WAX.
 | 
						|
  Added FMOD_SOUND_TYPE_PLAYLIST, FMOD_TAGTYPE_PLAYLIST.
 | 
						|
+ Added Synchronization point API.  These points can come from markers 
 | 
						|
  embedded in wav files, and can also generate channel callbacks.
 | 
						|
    Sound::getNumSyncPoints
 | 
						|
    Sound::getSyncPoint    
 | 
						|
    Sound::getSyncPointInfo
 | 
						|
    Sound::addSyncPoint    
 | 
						|
    Sound::deleteSyncPoint
 | 
						|
+ Added support for FMOD_CHANNEL_CALLBACKTYPE_SYNCPOINT.
 | 
						|
+ Added FMOD_3D_LOGROLLOFF and FMOD_3D_LINEARROLLOFF.  Now you can
 | 
						|
  treat min/max distance as volume = full and volume = 0 and FMOD 
 | 
						|
  will linearly fade between them if you choose FMOD_3D_LINEARROLLOFF.
 | 
						|
 | 
						|
+ Multichannel WAV files with alternate/non default speaker mappings now 
 | 
						|
  map the speaker output correctly into a sound created with FMOD_HARDWARE 
 | 
						|
  under directsound.  FMOD_SOFTWARE based wavs are not affected at this time.
 | 
						|
 | 
						|
- Fixed 3rd party plugin support not seeking properly.
 | 
						|
- Fixed createSound with no loop flags setting sound to loop instead of oneshot
 | 
						|
  which should have been the default.
 | 
						|
- Fixed playing a sample from an end callback crash.
 | 
						|
- Speaker assignment fixes.
 | 
						|
- Soundcreate callback in a codec being called properly now for a stream that 
 | 
						|
  doesn't contain subsounds.
 | 
						|
- Removed FMOD_MPEGHALFRATE.
 | 
						|
 | 
						|
* Renamed Channel::setOcclusion / getOcclusion to set3DOcclusion / set3DOcclusion
 | 
						|
  so that it groups better with the other functions.
 | 
						|
* Shuffled channel and sound class functions around a bit to be more logical.
 | 
						|
 | 
						|
24/6/05 4.00.31 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ Added FMOD_ERR_MEMORY_IOP, FMOD_ERR_MEMORY_SRAM.
 | 
						|
+ Better AIFF support including AIFC (non compressed).
 | 
						|
+ More documentation.  API reference now 'complete'.  More refining and 
 | 
						|
  additions most likely need to be made!
 | 
						|
 | 
						|
- Fixed pcmreadcallback in user streams not passing in the right sound pointer.
 | 
						|
- Fixed ogg vorbis not playing as a netstream.
 | 
						|
- Removed 'subsound' from FMOD_CODEC_GETPOSITIONCALLBACK.
 | 
						|
- Fixed Channel::setPosition inconsitancy when calling this function 2 times 
 | 
						|
  very quickly next to each other
 | 
						|
- Error checked getWaveData and getSpectrum for channeloffset being larger than
 | 
						|
  number of channels.
 | 
						|
 | 
						|
9/6/05 4.00.30 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ Added FMOD_TIMEUNIT_MODPATTERN.
 | 
						|
+ Added API documentation to Geometry class.
 | 
						|
 | 
						|
- Fixed mod/s3m/xm/it/midi crash.
 | 
						|
- Fixed C# dsp effect enum list.
 | 
						|
- Fixed FMOD_CHANNEL_REUSE bug.  (and therefore the generatetone example)
 | 
						|
- Fixed stream flushing its buffer twice sometimes.
 | 
						|
- Fixed some strange cases of stream playback causing new streams to play 
 | 
						|
  silent.
 | 
						|
- Removed FMOD_DSP_TYPE_FFT that didn't actually do anything?  Maybe later.
 | 
						|
 | 
						|
6/6/05 4.00.29 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ GameCube support added.
 | 
						|
+ XBox 360 support added.
 | 
						|
+ Tags embedded in http based streams now work! (As long as they are at the 
 | 
						|
  start of the file)
 | 
						|
+ Sound::getName now returns name of sound by using tags or embedded song name.
 | 
						|
+ Added name field to FMOD_CODEC_WAVEFORMAT.
 | 
						|
+ Added Sound::setSubSoundSentence.  Gapless stream playback is now available!
 | 
						|
+ Added FMOD_ERR_ALREADYLOCKED.
 | 
						|
+ Added DirectX 3 support for FMOD software mixing only, so that pre-dx8 stuff
 | 
						|
  like VirtualPC don't fail.
 | 
						|
+ Added 'decodebuffersize' to FMOD_CREATESOUNDEXINFO.
 | 
						|
+ Increased code name size from 32 bytes to 256 bytes.
 | 
						|
+ Added "Real-time stitching" example.
 | 
						|
+ Added ability to create user sounds with subsounds.
 | 
						|
+ More documentation.
 | 
						|
+ .it loader several times faster on songs with stereo samples in them.
 | 
						|
+ Added FMOD_TIMEUNIT_SENTENCE_MS, FMOD_TIMEUNIT_SENTENCE_PCM, 
 | 
						|
  FMOD_TIMEUNIT_SENTENCE_PCMBYTES, FMOD_TIMEUNIT_SENTENCE,
 | 
						|
  FMOD_TIMEUNIT_SENTENCE_SUBSOUND and FMOD_TIMEUNIT_BUFFERED.
 | 
						|
+ Added System::setSoftwareChannels / System::getSoftwareChannels instead of
 | 
						|
  setting it in System::init.
 | 
						|
 | 
						|
- Fixed memory leak in createsound/stream if 'file not found'.
 | 
						|
- Fixed memory leak in createsound/stream if 'format not recognized'.
 | 
						|
- Fixed sub-sounds (ie CDDA, DLS or FSB) not displaying their names.
 | 
						|
- Fixed crash on certain .IT files.
 | 
						|
- Fixed silent samples on .S3M files.
 | 
						|
- Fixed bpm issue on .S3M files.
 | 
						|
- Fixed file offset bug.
 | 
						|
- Fixed Channel::getWaveData not working for streams.
 | 
						|
- Fixed certain mp3 netstreams with large amounts of redundant crap at the 
 | 
						|
  start.
 | 
						|
- Fixed Channel::setMode not taking effect on software based channels.
 | 
						|
- Fixed Channel::getPosition flickering on userstreams and maybe rare cases
 | 
						|
  on normal streams.
 | 
						|
- Fixed System::setFileSystem.
 | 
						|
- Fixed FMOD_CHANNEL_REUSE now returns same handle value instead of reference counting it.
 | 
						|
- Fixed (XBOX only) pausing related bug.
 | 
						|
- Fixed Streams hanging/crashing after 24 hours of playback.
 | 
						|
- Removed 'levels' from Sound::setDefaults.
 | 
						|
- Removed 'levels' from DSP::setDefaults.
 | 
						|
- Removed Channel::getLevels.  Just use Channel::getWaveData(level, 1, 0) 
 | 
						|
  instead.  Also you could use larger values than 1 and scan the array
 | 
						|
  for the largest value, or maybe average them out.
 | 
						|
- Removed Channel::setNextSound / getNextSound.
 | 
						|
- Removed FMOD_OPENSTATE_LOADINGSUBSOUND.
 | 
						|
- Removed numsoftwarechannels from System::init.
 | 
						|
- Removed System::setMaxInputChannels / System::getMaxInputChannels.  This is now a 
 | 
						|
  paramater to System::setSoftwareFormat / System::getSoftwareFormat.
 | 
						|
 | 
						|
* Sounds with multiple subsounds (CDDA/FSB/DLS etc) when opened as streams
 | 
						|
  now play as one long sentence containing every subsound, if the parent
 | 
						|
  sound is played.  To play just the first subsound, the user can call
 | 
						|
  parentsound->getSubSound(0, &subsound); and play the subsound.
 | 
						|
* Changed end callback behaviour to callback only when a sound ends,
 | 
						|
  and not when stopped by the user.
 | 
						|
* If FMOD_CREATESAMPLE is used with mod/s3m/xm/it, and FMOD_ACCURATETIME is not,
 | 
						|
  accurate time is forced so that it doesn't just fail with FMOD_ERR_MEMORY.
 | 
						|
* Changed FMOD_FILE_SEEKCALLBACK to only support offset.  SEEK_CUR and SEEK_END 
 | 
						|
  are pointless, FMOD works it out and always gives an absolute offset to the user.
 | 
						|
* Changed System::setStreamBufferSize / System::getStreamBufferSize parameters.  
 | 
						|
  Removed 'decodebuffersize'.  (now in FMOD_CREATESOUNDEXINFO)
 | 
						|
* Changed FMOD_TIMEUNIT_ORDER to FMOD_TIMEUNIT_MODORDER.
 | 
						|
* Changed FMOD_TIMEUNIT_ROW to FMOD_TIMEUNIT_MODROW.
 | 
						|
* Renamed CDDA example to cdplayer.  Updated some of the code and comments inside.
 | 
						|
* Changed System::setMinMaxHWChannels to System::setHardwareChannels.
 | 
						|
* Changed System::getNumHWChannels to System::getHardwareChannels.  Note! num2d
 | 
						|
  and num3d parameters have been swapped around.
 | 
						|
* Changed System::setOutputPlugin   / System::getOutputPlugin to 
 | 
						|
          System::setOutputByPlugin / System::getOutputByPlugin
 | 
						|
* Changed System::setOutputFormat / System::getOutputFormat to 
 | 
						|
          System::setSoftwareFormat / System::getSoftwareFormat and added a 
 | 
						|
          maxinputchannels parameter.
 | 
						|
* Changed FMOD_OUTPUT_INITCALLBACK to use void *extradriverdata instead of
 | 
						|
  const void *hwnd.
 | 
						|
 | 
						|
 | 
						|
9/5/05 4.00.28 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ Added 'userdata' member to FMOD_DSP_DESCRIPTION structure.
 | 
						|
 | 
						|
- Fixed FMOD_OPENMEMORY not working after beta 27 file offset change.
 | 
						|
- Removed FMOD_DSP structure.
 | 
						|
- Fixed pointer in DSP callbacks not being the same as the one created with.
 | 
						|
 | 
						|
6/5/05 4.00.27 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ Added 'controlpanelspeakermode' to System::getDriverCaps.
 | 
						|
+ Added C# and VB versions of the 'effects' example.
 | 
						|
 | 
						|
- Fixed sounds returning invalid handle if a system object was released 
 | 
						|
  then re-created.
 | 
						|
- Fixed Sound::seekData giving wrong results.
 | 
						|
- Fixed file offset / length bug in System::createSound.
 | 
						|
- Fixed sounds with no FMOD_SOFTWARE or FMOD_HARDWARE specified crashing
 | 
						|
  when being swapped out in a virtual channel.
 | 
						|
 | 
						|
* Changed System::getDriverCaps to add an extra parameter.
 | 
						|
* Changed FMOD_SPEAKERMODE_NONE to FMOD_SPEAKERMODE_RAW.
 | 
						|
* Changed FMOD_OUTPUT_GETDRIVERCAPSCALLBACK to return the platform specific 
 | 
						|
  speaker setting based on the control panel or operating system.
 | 
						|
 | 
						|
3/5/05 4.00.26 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ Implemented Sound::setLoopCount / Sound::getLoopCount and 
 | 
						|
  Channel::setLoopCount / Channel::getLoopCount.  Works on static samples
 | 
						|
  as well as streams!
 | 
						|
+ Added FSBankEXlib.  Available in Multithreaded, and Multithreaded DLL builds.
 | 
						|
+ Added a few more docs.
 | 
						|
 | 
						|
- Fixed DSP crash on DSP units played with System::playDSP.
 | 
						|
- Fixed handling of wav files with bad and corrupted loop points stored within
 | 
						|
  them.
 | 
						|
 | 
						|
2/5/05 4.00.25 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ Added FSBankEx.  FSBankEx uses the FMOD Ex engine for loading, so it could
 | 
						|
  support file format plugins.  It also supports multichannel wavs when 
 | 
						|
  encoding multichannel interleaved FSB files!  (no more needing 6 mono wavs 
 | 
						|
  or 3 stereo wavs for a 5.1 fsb.  Just one 6 channel wav/ogg etc will work).
 | 
						|
+ Added FSB encryption.  Now sound designers can 'mangle' their data files
 | 
						|
  and only with the correct key on the application side will the correct
 | 
						|
  data be playable.
 | 
						|
+ Sound::setLoopPoints / getLoopPoints and Channel::setLoopPoints / 
 | 
						|
  getLoopPoints fully implmented for samples and streams.  FMOD_HARDWARE
 | 
						|
  sounds that are samples do not support this.
 | 
						|
+ Added makefile to linux release, to allow for "make install".
 | 
						|
 | 
						|
- Fixed Channel functions returning invalid handle error from channel end 
 | 
						|
  callbacks.
 | 
						|
- Fixed close crash when reusing a channel that was playing a DSP unit.
 | 
						|
- Fixed handling of truncated wav files.
 | 
						|
- Fixed delphi headers.
 | 
						|
 | 
						|
* Documentation cleanups, mainly in the 'get' functions.
 | 
						|
 | 
						|
 | 
						|
28/4/05 4.00.24 BETA
 | 
						|
--------------------
 | 
						|
 | 
						|
+ Added Channel::setNextSound.  This allows a channel to switch from one
 | 
						|
  sound to another mid playback without gaps.  Currently disabled.
 | 
						|
+ FMOD_CREATESAMPLE added to FMOD_FLAGS to force codecs that open as a stream 
 | 
						|
  by default now (mod/s3m/xm/it/midi) to load as a sample.
 | 
						|
 | 
						|
- Fixed streams smaller than the file buffer size playback bug.
 | 
						|
- Fixed Channel::setOcclusion.
 | 
						|
- Fixed Channel::setVolumeAbsolute.
 | 
						|
- Changed VB header's boolean types to Int to be more binary compatible with 
 | 
						|
  the FMOD dll.
 | 
						|
 | 
						|
* Changed mod/s3m/xm/it/midi to load as a stream by default even when you 
 | 
						|
  call createSound.  To many people are trying to decode whole mod files into
 | 
						|
  memory and wondering why they run out of memory.  
 | 
						|
  To force the 'decode into memory' behaviour, the new FMOD_CREATESAMPLE can 
 | 
						|
  be used.
 | 
						|
* Changed channel handle passed into channel callbacks from being different 
 | 
						|
  from channel handle returned from playsound, to be the same.
 | 
						|
 | 
						|
21/4/05 4.00.23 BETA
 | 
						|
--------------------
 | 
						|
 | 
						|
- Fixed file system bug.
 | 
						|
- Fixed crash when calling play or setposition when a stream was playing.
 | 
						|
 | 
						|
20/4/05 4.00.22 BETA
 | 
						|
--------------------
 | 
						|
 | 
						|
- Fixed virtual voice swap callback.  Voices that are real now also get a 
 | 
						|
  callback when you first set the callback so you can accurately track which 
 | 
						|
  start off real and which start off virtual, then what happens after that.
 | 
						|
- Fixed channel end callback.  Voices that were stolen/reused before 
 | 
						|
  System::update was called weren't getting their callback.
 | 
						|
- Improved channel selector to stop it stealing playing channels if other 
 | 
						|
  channels had just stopped (and System::update hadn't been called yet).
 | 
						|
 | 
						|
19/4/05 4.00.21 BETA
 | 
						|
--------------------
 | 
						|
 | 
						|
+ Added backwards playback support.  Negative setfrequency is accepted with
 | 
						|
  FMOD_SOFTWARE sounds only, and samples (not streams) only.
 | 
						|
+ Added FMOD_SOUND_NONBLOCKCALLBACK callback to FMOD_CREATESOUNDEXINFO
 | 
						|
  to allow a user to get a callback when a sound has finished loading.  
 | 
						|
  Used with FMOD_NONBLOCKING flag.  Error code is passed in as a parameter.
 | 
						|
+ Added DSP::setBypass / DSP::getBypass.  This allows the user to disable
 | 
						|
  the effect of a dsp unit, without stopping all of its inputs, like 
 | 
						|
  DSP::setActive would.
 | 
						|
 | 
						|
- Macintosh thread usage changed from Carbon to Posix for mach-o build.
 | 
						|
  Now streams wont stutter when using the OSX gui!
 | 
						|
- Fixed a lot of crashes to do with virtual voices and streams.  (not 
 | 
						|
  nescessarily combined).  This should be a LOT more stable now.
 | 
						|
- Fixed squelching/chirping on mp3s and file errors on other formats.
 | 
						|
- Fixed stream stuttering on certain machines/file formats by increasing
 | 
						|
  stream decode buffersize default from 200ms to 400ms.
 | 
						|
- System::createSound now correctly returns FMOD_ERR_FILENOTFOUND instead of 
 | 
						|
  FMOD_ERR_FORMAT when failing to open the file.
 | 
						|
- Fixed FMOD_NONBLOCKING causing a memory leak and not working if the sound 
 | 
						|
  was a static sample.
 | 
						|
 | 
						|
* Changed System::setStreamBufferSize / System::getStreamBufferSize so user 
 | 
						|
  can now specify the decode buffer size and file buffer size separately.
 | 
						|
* Stream default file buffersize reduced from 64k to 16k to save memory.
 | 
						|
  For net streams/cdda, 64k or so would be recommended.
 | 
						|
 | 
						|
 | 
						|
13/4/05 4.00.20 BETA
 | 
						|
--------------------
 | 
						|
 | 
						|
+ Added Sound::set3DConeSettings / Sound::get3DConeSettings
 | 
						|
        Channel::set3DConeSettings / Channel::get3DConeSettings
 | 
						|
        Channel::set3DConeOrientation / Channel::get3DConeOrientation.
 | 
						|
+ Increased speed of virtual voice swapping when going from emulated<->real.
 | 
						|
 | 
						|
- Fixed FMOD_SOFTWARE + FMOD_3D and streams not working.
 | 
						|
- Fixed crash in System::update if virtual channels were being swapped that
 | 
						|
  were streams.
 | 
						|
- Fixed FMOD_OPENONLY crash if stream was started with no seek.
 | 
						|
- Fixed bug in System::getNumDrivers if it was called after System::init
 | 
						|
  without having called System::getNumDrivers or System::getDriverName 
 | 
						|
  before System::init first.  (FMOD
 | 
						|
- Removed Geometry::flush.  Use System::update.
 | 
						|
- Fixed glitch in filesytem causing WMA to fail opening and WAV to click.
 | 
						|
- Added protection for if a user reads all of a file with Sound::readData
 | 
						|
  then mistakenly starts the stream looping, causing a hang.
 | 
						|
- Fixed crash when releasing a stream while it was playing.
 | 
						|
- Fixed delphi header mistakes.
 | 
						|
 | 
						|
8/4/05 4.00.19 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ Added buffer underrun detection!  No more stream stuttering!  You can
 | 
						|
  now detect when underrun occurs and mute the stream or do whatever you 
 | 
						|
  want with it.  Netstream example has been updated to reflect this.
 | 
						|
+ Added Geometry::save to save out an object to a binary format.
 | 
						|
+ Added System::loadGeometry to load an object from a binary format.
 | 
						|
+ Added recording support for FMOD_OUTPUTTYPE_COREAUDIO on mac.
 | 
						|
+ Added some documentation.
 | 
						|
 | 
						|
- Fixed stream crash.
 | 
						|
 | 
						|
* Changed Sound::getOpenState to also have 'percentbuffered' and 'starving'
 | 
						|
  parameters.  This is good for watching network streams buffer and also
 | 
						|
  for error handling when a stream is starved.  
 | 
						|
* Changed System::setStreamBufferSize to pass unsigned int instead of int.
 | 
						|
* Changed System::getStreamBufferSize to pass unsigned int * instead of int *
 | 
						|
  and now the sizetype is a pointer.
 | 
						|
* Changed FMOD_DSP_SEEKCALLBACK to FMOD_DSP_SETPOSITIONCALLBACK.
 | 
						|
 | 
						|
5/4/05 4.00.18 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ New streaming code to hugely reduce memory usage compared to FMOD 3, and
 | 
						|
  also remove cpu 'spikes'.  FMOD now has a smooth consistant cpu usage while
 | 
						|
  streaming, and uses a fraction of the memory that it used to for compressed
 | 
						|
  formats.
 | 
						|
+ Sound::getOpenState now returns an error code that reflects what went 
 | 
						|
  wrong in the async open thread (FMOD_NONBLOCKING) if there was an error.
 | 
						|
+ Updated netstream example to show new openstate functionality.
 | 
						|
+ Added 'userdata' member to FMOD_CREATESOUNDEXINFO.  This allows the use
 | 
						|
  of Sound::getUserData when getting pcmreadcallback and pcmsetposcallback
 | 
						|
  during System::createSound.
 | 
						|
+ Added overloaded System::createSound to C# so FMOD_CREATESOUNDEXINFO isn't
 | 
						|
  needed if not wanted.
 | 
						|
+ Added recording support for FMOD_OUTPUTTYPE_SOUNDMANAGER on mac.
 | 
						|
 | 
						|
- Fixed Sound::getOpenState not returning FMOD_OPENSTATE_CONNECTING or 
 | 
						|
  FMOD_OPENSTATE_BUFFERING.
 | 
						|
- Fixed crash in System::close if user tried to released a sound that was
 | 
						|
  still in the middle of opening with FMOD_NONBLOCKING.
 | 
						|
- Stopped denormalized floats getting into the lowpass/highpass/eq filters
 | 
						|
  causing huge cpu usage or exceptions.
 | 
						|
- Removed FMOD_FILE_TELLCALLBACK.
 | 
						|
- Fixed MP3 codec so that it doesnt skip the first frame or take extra time
 | 
						|
  than it needs to.
 | 
						|
- Fixed speaker levels not working because 3D code was resetting the levels
 | 
						|
  on 2D sounds.
 | 
						|
- Fixed FMOD_CREATESOUNDEXINFO not being used in FMOD_NONBLOCKING created
 | 
						|
  sounds, making things like non-blocking memory load calls fail.
 | 
						|
- Fixed MinGW and CygWin linking errors on windows.
 | 
						|
 | 
						|
* Changed FMOD_FILE_OPENCALLBACK to add filesize parameter.  This is better
 | 
						|
  than having FMOD do a seek end, tell, then seek 0, because the length might
 | 
						|
  already be present in a TOC or other filesystem structure.
 | 
						|
* Changed System::setFileSystem to remove FMOD_FILE_TELLCALLBACK.
 | 
						|
* Changed 'filelength' to 'length' in FMOD_CREATESOUNDEXINFO.
 | 
						|
* Changed FMOD_CODEC to remove FMOD_FILE_TELLCALLBACK filetell.
 | 
						|
* Changed FMOD_CODEC to provide filesize.
 | 
						|
 | 
						|
1/4/05 4.00.17 BETA
 | 
						|
-------------------
 | 
						|
 | 
						|
+ Added "FMOD Designer" sound tool.
 | 
						|
+ Added multichannel output support to Mac build for surround sound.
 | 
						|
  (FMOD_OUTPUTTYPE_COREAUDIO only).
 | 
						|
+ Added recording support to ALSA and OSS modes on linux.
 | 
						|
+ Added VBR Xing header support.  Now Xing encoded MP3's won't need 
 | 
						|
  FMOD_ACCURATETIME to get accurate seeking and length of VBR mp3's.
 | 
						|
+ Added fmodex_bc.lib import library for borland C.  C++ linking not supported.
 | 
						|
+ Added libfmodex.a import library for MinGW/CygWin.  C++ linking not supported.
 | 
						|
+ Implemented setMinMaxHWChannels.
 | 
						|
+ Added Channel::getAudiblity.  This is just the audible volume of the channel
 | 
						|
  by multiplying 3d volume, volume, master volume and geometry occlusion 
 | 
						|
  together.
 | 
						|
+ Added FMOD_TIMEUNIT_RAWBYTES for Sound::getLength and Channel::getPosition
 | 
						|
  only.
 | 
						|
+ More functions documented, still not there yet!
 | 
						|
 | 
						|
- Fixed Virtual voice support for static sounds and streams.
 | 
						|
- Fixed race condition on Channel::setPan which causes NaN's and sound 
 | 
						|
  dropping out.  (FMOD_SOFTWARE only).
 | 
						|
- Removed Channel::setTime / getTime.  Use Channel::setPosition / getPosition
 | 
						|
  with FMOD_TIMEUNIT_MS instead.
 | 
						|
- Tremor fixed point ogg vorbis codec removed.
 | 
						|
- Fixed linux build not running in anything but root mode.
 | 
						|
- Fixed crash on bidi/pingpong music loops in samples.
 | 
						|
- Fixed stereo sounds not loading as FMOD_3D like they used to. 
 | 
						|
  (they automatically downmix to mono as they stream or load.)
 | 
						|
- VirtualVoices example memory GDI memory leak fixed.
 | 
						|
- Fixed divide by 0 in highpass and bandpass and possibly lowpass filters.
 | 
						|
- Removed FMOD_INIT_DSOUND_GLOBALFOCUS.  Now it is global by default, and you
 | 
						|
  specify a hwnd if you don't want it global.
 | 
						|
- Fixed sounds with subsounds and Sound::seekData seeking to entry 0 each time
 | 
						|
  instead of the entry they are supposed to be associated with.
 | 
						|
- 8bit PCM wav streams/sound loading - huge speedup.
 | 
						|
 | 
						|
* Changed pan from 0.0 -> 1.0 to -1.0 -> +1.0.
 | 
						|
* Changed distance factor to reflect documentation.  Currently it was taking 
 | 
						|
  1/3.28 for feet instead of 3.28 as it should have.
 | 
						|
* Min and Max distance now defaults to distance factor when a sound is created.
 | 
						|
* Changed setMinMaxHWChannels changed from int min, int max to 
 | 
						|
  int min2d, int max2d, int min3d, int max3d.
 | 
						|
* Changed FMOD_VBRACCURATE to FMOD_ACCURATETIME.  Now MOD/S3M/XM/IT can share
 | 
						|
  this flag.  FMOD will quickly and quitely play the mod until it finds the same
 | 
						|
  point in the song again (a where the song loops) and count that as the length
 | 
						|
  of the song.
 | 
						|
* Changed Sound::getLength to use position and FMOD_TIMEUNIT parameter instead
 | 
						|
  of 3 hardcoded ms, pcm, pcmbytes values.  This now allows things like number
 | 
						|
  of mod/s3m/xm/ut orders in a song to be reported for example.
 | 
						|
* Changed 3D example to have changable distance factor.
 | 
						|
 | 
						|
 | 
						|
3/3/05 4.00.16 ALPHA
 | 
						|
---------------------
 | 
						|
 | 
						|
+ Added more tutorials to documentation.
 | 
						|
+ Added WinMM recording to FMOD_OUTPUT_WINMM output mode.
 | 
						|
+ Added VST plugin support.
 | 
						|
+ Added System::lockDSP and System::unlockDSP in case the user wants to stop 
 | 
						|
  FMOD's dsp engine while doing a complex dsp network adjustment (ie moving
 | 
						|
  multiple units around and disconnecting / connecting).
 | 
						|
+ Implemented System::getHandle for all platforms.
 | 
						|
+ Added System::createDSPByIndex.
 | 
						|
+ Added DSP::setParameter / getParameter.
 | 
						|
+ Added DSP::getNumParameters.
 | 
						|
+ Added DSP::getParameterInfo.
 | 
						|
+ Added DSP::showConfigDialog.
 | 
						|
+ Added DSP::getInfo.
 | 
						|
+ Added dsp_gain example to show how to write a simple DSP plugin.
 | 
						|
+ Added effect example to show how to use FMOD's built in effects.
 | 
						|
+ Added dspviewer example to show how to use dynamic plugins, and also
 | 
						|
  draw a spectrum and waveform using System::getSpectrum, System::getWaveData.
 | 
						|
+ Added System::getWaveData / Channel::getWaveData for plotting the 
 | 
						|
  waveform of the playing audio.  Much simpler than creating a dsp unit etc.
 | 
						|
 | 
						|
- Fixed ParamEQ filter and also fixed a heap of other filters to be more 
 | 
						|
  tolerant of extreme parameters.
 | 
						|
- Removed Channel::setWeight / getWeight.
 | 
						|
- Removed 'weight' from DSP::setDefaults / getDefaults.
 | 
						|
- Removed 'weight' from Sound::setDefaults / getDefaults.
 | 
						|
- Removed DSP::setParameters / getParameters.
 | 
						|
- Removed System::getDSP.
 | 
						|
- Removed DSP::getName
 | 
						|
- Removed DSP::getFormat
 | 
						|
- Removed reverb unit from header for now as it was disabled anyway.  
 | 
						|
- Fixed crash in System::close.
 | 
						|
- Fixed crash playing .it files.
 | 
						|
- Fixed .it loader.
 | 
						|
- Fixed crash when using fmodexp.dll
 | 
						|
- Fixed crash on some stream files.
 | 
						|
- Fixed sounds stopping if DSP::release was called during playback.
 | 
						|
- Fixed hang in MIDI loader on some files.
 | 
						|
- Fixed mistake in XM loader so stereo and 16bit samples sound ok now.
 | 
						|
- Fixed stream thread shutting down if second System object was created then 
 | 
						|
  closed.
 | 
						|
- Fixed record system getting out of sync if recordStop then recordStart were 
 | 
						|
  called.
 | 
						|
 | 
						|
* DSP parameters are now dynamic, meaning unknown DSP plugins can be added and
 | 
						|
  their parameter lists can be enumerated.
 | 
						|
* Changed System::setMasterVolume / getMasterVolume from int 0-1024 to float 0 to 1.
 | 
						|
* Changed Sound::setDefaults / getDefaults parameters from int 0-1024 to float 0 to 1.
 | 
						|
* Changed Sound::setVariations / getVariations parameters from int 0-1024 to float 0 to 1.
 | 
						|
* Changed Channel::setVolume / getVolume from int 0-1024 to float 0 to 1.
 | 
						|
* Changed Channel::setFrequency / getFrequency from int to float.
 | 
						|
* Changed Channel::setPan / getPan from int 0-1024 to float 0 to 1.
 | 
						|
* Changed Channel::setSpeakerMix / getSpeakerMix from int 0-1024 to float 0 to 1.
 | 
						|
* Changed Channel::setSpeakerLevels / getSpeakerLevels from int 0-1024 to float 0 to 1.
 | 
						|
* Changed Channel::setVolumeAbsolute from int 0-1024 to float 0 to 1.
 | 
						|
* Changed Channel::getLevels parameters from int 0-1024 to float 0 to 1.
 | 
						|
* Changed FMOD_OUTPUT_TYPE to FMOD_OUTPUTTYPE and all the types inside renamed.
 | 
						|
* Changed DSP::setInputMix / getInputMix parameters from int 0-1024 to float 0 to 1.
 | 
						|
* Changed DSP::setDefaults / getDefaults parameters from int 0-1024 to float 0 to 1.
 | 
						|
* Changed System::getSpectrum / Channel::getSpectrum to take number of floats being 
 | 
						|
  written rather than number of samples being analyzed. (which is always 2x the data 
 | 
						|
  written to the buffer)
 | 
						|
 | 
						|
27/1/05 4.00 alpha 15
 | 
						|
---------------------
 | 
						|
 | 
						|
+ Added Geometry API.  
 | 
						|
+ Added IASIG I3DL2 Reverb support.  Now some non EAX compatible cards can get
 | 
						|
  hardware reverb with the same fmod interface!.
 | 
						|
+ Added Echo effect.  (FMOD_DSP_TYPE_ECHO, FMOD_DSP_PARAM_ECHO)
 | 
						|
+ Added Flange effect.  (FMOD_DSP_TYPE_FLANGE, FMOD_DSP_PARAM_FLANGE)
 | 
						|
+ Added Distortion effect.  (FMOD_DSP_TYPE_DISTORTION, FMOD_DSP_PARAM_DISTORTION)
 | 
						|
+ Added Normalization filter.  (FMOD_DSP_TYPE_NORMALIZE, FMOD_DSP_PARAM_NORMALIZE)
 | 
						|
+ Added ParamEQ filter.  (FMOD_DSP_TYPE_PARAMEQ, FMOD_DSP_PARAM_PARAMEQ)
 | 
						|
+ Added Pitch shifting filter.  (FMOD_DSP_TYPE_PITCHSHIFT, FMOD_DSP_PARAM_PITCHSHIFT)
 | 
						|
+ Added Chorus effect.  (FMOD_DSP_TYPE_CHORUS, FMOD_DSP_PARAM_CHORUS)
 | 
						|
+ Added virtual voices example.
 | 
						|
+ Added geometry example.
 | 
						|
+ Added System::createStream.  This is identical to System::createSound but
 | 
						|
  just with the FMOD_CREATESTREAM flag added in.  It is to make it more obvious
 | 
						|
  so people don't go loading huge files into memory when they should be 
 | 
						|
  streamed by accident.
 | 
						|
+ Added System::createStream which is exactly the same as System::createSound
 | 
						|
  but with the FMOD_CREATESTREAM mode bit added in, because I know people are
 | 
						|
  going to forget to add the flag unless it is right in front of them!
 | 
						|
+ Added Visual Basic interface.
 | 
						|
 | 
						|
- Fixed DSP related issues with units having multiple outputs.
 | 
						|
- Removed "outputfrequency" from FMOD_DSP_PARAM_LOWPASS
 | 
						|
- Removed "outputfrequency" from FMOD_DSP_PARAM_LOWPASS2
 | 
						|
- Removed "outputfrequency" from FMOD_DSP_PARAM_OSCILLATOR
 | 
						|
- Priority and weight now work.
 | 
						|
- Voices are now swapped based on volume and 3d volume.
 | 
						|
- Fixed FMOD_SOFTWARE based 3d sounds appearing loud between System::playSound
 | 
						|
  when paused and System::update if the sound was positioned far away.
 | 
						|
 | 
						|
* Renamed "wetness" parameter in DSP::setInputMix to "volume".
 | 
						|
 | 
						|
6/1/05 4.00.14 ALPHA
 | 
						|
--------------------
 | 
						|
 | 
						|
+ Added EAX2, EAX3 and EAX4 support.  If the card supports EAX4, multiple 
 | 
						|
  reverb environments at once are possible.
 | 
						|
+ Added 2 lowpass resonance filters. (FMOD_DSP_TYPE_LOWPASS, FMOD_DSP_TYPE_LOWPASS2)
 | 
						|
+ .IT music support now supports resonant lowpass filtering.
 | 
						|
+ Added FMOD_INIT_DISABLESOFTWARE to save memory if software mixing isn't 
 | 
						|
  needed.
 | 
						|
+ Added FMOD_ERR_NEEDSSOFTWARE if a codec or feature is used that requires 
 | 
						|
  software mixing.
 | 
						|
+ Added missing codec_dls.dll to make the plugin version of codec_midi.dll work.
 | 
						|
  DLS files can also be loaded without MIDI as well like a multi-sound bank and 
 | 
						|
  Sound::getSubSound can be used to play or get information on each sound.
 | 
						|
+ Added System::addDSP.
 | 
						|
+ Added Channel::addDSP.
 | 
						|
+ Added FMOD_ERR_DSP_TOOMANYCONNECTIONS.
 | 
						|
+ Added DSP::remove to unlink DSP effects added with System::addDSP or 
 | 
						|
  Channel::addDSP
 | 
						|
+ Added maxpolyphony to FMOD_CREATESOUNDEXINFO structure to reduce memory/cpu
 | 
						|
  consumption on formats like mod/s3m/xm/it/midi if they use dynamic channel
 | 
						|
  allocation. (currently only .it and .mid do this)
 | 
						|
+ Added DSP::reset to allow a user to reuse a filter but to reset it to its 
 | 
						|
  initial state.
 | 
						|
+ Added FMOD_DSP_RESETCALLBACK to FMOD_DSP_DESCRIPTION structure.
 | 
						|
+ Added System::isRecording
 | 
						|
+ Enabled Channel::getSpectrum
 | 
						|
 | 
						|
- Fixed midi codec crash if 0 software channels were specified.
 | 
						|
- Fixed click on end of one shot samples in FMOD_SOFTWARE mode.
 | 
						|
- Fixed small memory leak in .IT codec.
 | 
						|
- Fixed System::close crash.
 | 
						|
- Fixed corruption in mp3 codec.
 | 
						|
- Fixed loop point clicking on PCM based hardware sounds on XBox.
 | 
						|
- Fixed min and max 3d distance being ignored on XBox.
 | 
						|
- Fixed streams not allowing 3d attributes or mode to be changed.
 | 
						|
 | 
						|
* changed System::loadPlugin parameters.
 | 
						|
* changed System::createDSPByID to System::createDSPByType
 | 
						|
* changed FMOD_DSP_DESCRIPTION::type to FMOD_DSP_DESCRIPTION::category
 | 
						|
* changed FMOD_DSP_TYPE to FMOD_DSP_CATEGORY
 | 
						|
* changed FMOD_DSP_ID to FMOD_DSP_TYPE
 | 
						|
* changed FMOD_DSP_READCALLBACK length parameter from a pointer to a normal int.
 | 
						|
* MOD/S3M/XM/IT panning made linear to sound more spatialized, and more like 
 | 
						|
  modplug tracker which doesnt use constant power panning like it should.
 | 
						|
* Changed System::recordStart to add a bool loop parameter.
 | 
						|
* Changed mod/s3m/xm/it/midi to target FMOD_SOUND_FORMAT_PCM16 instead of 
 | 
						|
  FMOD_SOUND_FORMAT_PCMFLOAT if FMOD_HARDWARE is specified.
 | 
						|
* Changed FMOD_DSP_FFT_WINDOW_TYPE to FMOD_DSP_FFT_WINDOW
 | 
						|
 | 
						|
17/12/04 4.00.13 ALPHA
 | 
						|
----------------------
 | 
						|
 | 
						|
- Fixed FMOD_INIT_3D_RIGHTHANDED flag.
 | 
						|
- MIDI plugin corruption fixed.
 | 
						|
- Fixed C version of ripnetstream.
 | 
						|
- Clarified mode flags.  Now FMOD_2D and FMOD_HARDWARE are default.  
 | 
						|
  FMOD_3D always overrides FMOD_2D and FMOD_SOFTWARE always overrides FMOD_HARDWARE.
 | 
						|
- AAC will now open in a non accurate CBR calculation mode like MP3 does.  Use
 | 
						|
  FMOD_VBRACCURATE to get an accurate System::getLength / System::setTime.
 | 
						|
 | 
						|
* To use fmodexp.dll in C# use the new fmodp.cs.  It is the same as fmod.cs 
 | 
						|
  it just refers to a different DLL.
 | 
						|
 | 
						|
 | 
						|
16/12/04 4.00.12 ALPHA
 | 
						|
----------------------
 | 
						|
 | 
						|
+ Added DLS MIDI support!  FMOD Ex now has its own native cross platform MIDI
 | 
						|
  playback codec which does not rely on any external libraries such as 
 | 
						|
  DirectMusic.  DLS 1 spec is now supported.  SF2 will come later.
 | 
						|
+ Added AAC support.
 | 
						|
+ Added C# Interface and examples!
 | 
						|
+ Added FMOD_CREATESOUNDEXINFO structure to go with new System::createSound.
 | 
						|
+ Added / Renamed some init flags to FMOD_INIT_DSOUND_GLOBALFOCUS, 
 | 
						|
  FMOD_INIT_DSOUND_DEFERRED, FMOD_INIT_DSOUND_HRTFNONE, 
 | 
						|
  FMOD_INIT_DSOUND_HRTFLIGHT, FMOD_INIT_DSOUND_HRTFFULL.
 | 
						|
+ Added FMOD_UNICODE to mode flags to allow unicode filenames to load.
 | 
						|
+ FMOD_3D + FMOD_SOFTWARE now supports multi-speaker output!  Use 
 | 
						|
  System::setSpeakerMode first of course.
 | 
						|
+ Added System::setSpeakerPosition.
 | 
						|
+ Added System::getSpeakerPosition.
 | 
						|
  These 2 functions allow you to physically describe the location of your
 | 
						|
  speakers and FMOD will skew panning based on this when in 3D!
 | 
						|
+ Added FMOD_CAPS_HARDWARE_EMULATED flag.
 | 
						|
+ System::getDriverCaps implemented.
 | 
						|
+ Documented a lot more functions, and added "TERMINOLOGY / BASIC CONCEPTS"
 | 
						|
  page to the documentation.
 | 
						|
+ Implemented System::getOutputHandle
 | 
						|
+ Implemented System::setRecordDriver
 | 
						|
+ Implemented System::getRecordDriver
 | 
						|
+ Implemented System::getRecordNumDrivers
 | 
						|
+ Implemented System::getRecordDriverName
 | 
						|
+ Added System::getRecordHandle
 | 
						|
+ Added recordStart
 | 
						|
+ Added recordStop
 | 
						|
+ Added recordGetPosition
 | 
						|
 | 
						|
- Removed System::createSoundEx
 | 
						|
- min/max distance working properly for hardware 3d sounds.
 | 
						|
- multispeaker stuff for hardware 3d sounds working again.
 | 
						|
- Fixed Channel::setPan not working on hardware 2d DirectSound buffers.
 | 
						|
- Fixed divide by 0 crash if a codec set the blockalign to 0.
 | 
						|
- Removed FMOD_SPEAKERMODE_PROLOGIC2 and made FMOD_SPEAKERMODE_PROLOGIC use
 | 
						|
  Prologic 2 encoding by default.  It will work on a Prologic 1 decoder as 
 | 
						|
  well so having 2 is redundant.
 | 
						|
- Fixed multichannel sound not working on some soundcards.
 | 
						|
- Fixed .it pitch envelope bug.
 | 
						|
- Removed FMOD_CREATESTATIC flag.  This is the default behaviour anyway.
 | 
						|
- Removed FMOD_OPENRECORD flag.
 | 
						|
- Fixed Sound::readData not reading 100% of the file.
 | 
						|
 | 
						|
* Renamed FMOD_MPEGACCURATE to FMOD_VBRACCURATE so more VBR formats that dont
 | 
						|
  store their PCM sample length somewhere can use this flag (like AAC)
 | 
						|
* Changed parameters in System::createSound to take a pointer to a 
 | 
						|
  FMOD_CREATESOUNDEXINFO structure.  To behave like the old System::createSound
 | 
						|
  just pass 0 or NULL as this parameter.
 | 
						|
* Worked around a bluescreen bug in creative labs driver due to them not 
 | 
						|
  supporting WAVEFORMATEXTENSIBLE properly.
 | 
						|
* Delphi header updated.
 | 
						|
 | 
						|
10/11/04 4.00.11 ALPHA
 | 
						|
----------------------
 | 
						|
 | 
						|
+ Added output plugin support!  Now users can add their own output modes for 
 | 
						|
  FMOD Ex to software mix into.
 | 
						|
+ Added DSound plugin.
 | 
						|
+ Added WinMM support and plugin.
 | 
						|
+ Added ASIO support and plugin.
 | 
						|
+ Added NoSound support and plugin.
 | 
						|
+ Added WavWriter support and plugin.  Supports multichannel and multiformat
 | 
						|
  wav files (ie 6 channel 32bit floating point wavs can be written from the
 | 
						|
  FMOD mixer output).  Supply a filename through 'hwnd' parameter.
 | 
						|
+ Added System::setOutputPlugin / System::getOutputPlugin
 | 
						|
+ Added System::getNumPlugins, System::getPluginInfo, System::unloadPlugin.
 | 
						|
+ Added plugins/output_mp3 example.  Uses lame_enc.dll.  Realtime output of 
 | 
						|
  FMOD Ex is encoded and written to an mp3 file!
 | 
						|
+ System::setSpeakerMode now sets output channel count to appropriate value.
 | 
						|
+ Channel::setSpeakerMix / Channel::getSpeakerMix / Channel::setSpeakerLevels /
 | 
						|
  Channel::setSpeakerLevels added / implemented.
 | 
						|
+ System::setMasterVolume now ignores absolute channels set with 
 | 
						|
  Channel::setVolumeAbsolute properly.
 | 
						|
+ Added useplugins example.
 | 
						|
+ Added multispeakeroutput example.
 | 
						|
+ A bit more documentation added.
 | 
						|
 | 
						|
- Fixed crash in certain .IT songs.
 | 
						|
- MOD, S3M, XM, IT plugins now about 8k smaller.
 | 
						|
- fmodexp.dll now 5k smaller due to Directsound Output being moved into plugin.
 | 
						|
- removed limitation on 2d directsound buffers using same min/max frequency 
 | 
						|
  limitation as 3d directsoundbuffers.
 | 
						|
- Invalid handles for channels that have stopped or been stolen now return 
 | 
						|
  0 false or null in information functions to reduce accidental user bugs.
 | 
						|
 | 
						|
24/10/04 4.00.10 ALPHA
 | 
						|
----------------------
 | 
						|
 | 
						|
+ Added .S3M codec.  Supports total click removal, 3D S3Ms, S3M as samples, 
 | 
						|
  100% accuate length calculation etc.
 | 
						|
+ Added .XM / .OXM (ogg XM) codec.  Supports total click removal, 3D XMs, 
 | 
						|
  XM as samples, 100% accuate length calculation etc.
 | 
						|
+ Added .IT codec.  Supports total click removal, 3D ITs, IT as samples, 
 | 
						|
  100% accuate length calculation etc.
 | 
						|
+ Enabled FMOD_LOOP_BIDI support for software voices.
 | 
						|
+ Added ability to let user decide what buffer format and frequency MOD/S3M/XM/IT 
 | 
						|
  should decode to.  By default it is the same as the output frequency and 
 | 
						|
  FMOD_SOUND_FORMAT_PCMFLOAT.   Simply specify a sound format and/or frequency 
 | 
						|
  in System::createSoundEx.
 | 
						|
+ Added 'multiplesoundcard' example to show easy multiple sound card support.
 | 
						|
 | 
						|
- Removed click on looping FMOD_SOFTWARE samples from loopstart.
 | 
						|
- Removed random crackles from MOD/S3M/XM/IT support due to thread concurrency
 | 
						|
  issue.
 | 
						|
- Fixed Sound::setMode forcing sound to 3D if FMOD_2D or FMOD_3D wasn't 
 | 
						|
  specified.
 | 
						|
- Fixed Sound::getLength support for large files returning the wrong value.  
 | 
						|
  WAV and AIFF were affected.
 | 
						|
- Fixed crash on Sound::release with sounds with tags that werent created as a 
 | 
						|
  stream.
 | 
						|
- Worked around a DirectSound bug (hello Microsoft!).  IEEE 32bit floating point
 | 
						|
  buffers set to volume 0 would make a horrible buzzing noise.  Changed dsound
 | 
						|
  code to be 'almost silent' but not quite for float buffers, but to users ears
 | 
						|
  it will be silent.  Seemed to only happen if playback buffer frequency is the 
 | 
						|
  same as the frequnecy the source buffer was created in.
 | 
						|
- Fixed crash on FMOD_SOFTWARE based sounds being played at extremely high speeds 
 | 
						|
  and with small loops.
 | 
						|
- Fixed Directsound enumeration only enumerating 1 device.
 | 
						|
- Updated RAW codec plugin example.
 | 
						|
 | 
						|
* Changed FMOD_CODEC_OPENCALLBACK to take in usermode, userfrequency, userformat.
 | 
						|
  These parameters allow the codec to know what the user passed in via 
 | 
						|
  Sound::createSound
 | 
						|
* System::getNumDrivers and System::getDriverName now allowed to be called after
 | 
						|
  System::init.
 | 
						|
 | 
						|
15/10/04 4.00.09 ALPHA
 | 
						|
----------------------
 | 
						|
 | 
						|
+ Added .MOD codec.  Improvements on FMOD 3 include.
 | 
						|
  - Click free!  Clicks from sounds that cut each other off on the same 
 | 
						|
    MOD channel are removed, for 100% click removal.
 | 
						|
  - Sound::getLength gives the exact length of a MOD in milliseconds no matter 
 | 
						|
    what!  Even backwards, infinite, or complicated looping MODs are no challenge.  
 | 
						|
  - Channel::setPosition / Channel::setTime allows sample accurate seeking
 | 
						|
    into a MOD, by time.  FMOD 3 only allowed seeking by 'MOD order'.
 | 
						|
  - MODs can be loaded as a sample!  You can load a mod as a sample, then grab 
 | 
						|
    the PCM buffer using Sound::lock/Sound::unlock and write it to a .wav file if 
 | 
						|
    you want!
 | 
						|
  - MODs can be played on hardware voices!
 | 
						|
  - MODs can be played in 3D!  They can be panned, volume scaled or even 
 | 
						|
    frequency adjusted.  They can do anything a normal stream could do.
 | 
						|
 | 
						|
- Removed click when FMOD_SOFTWARE based sound had its volume set to 0.
 | 
						|
- Plugged DirectSound memory leak.
 | 
						|
 | 
						|
7/10/04 4.00.08 ALPHA
 | 
						|
---------------------
 | 
						|
 | 
						|
+ Added System::playDSP added.  Now tone generator DSP units can be played 
 | 
						|
  instantly without having to do any DSP network connection / disconnection.
 | 
						|
+ Memory usage dropped by about 42kb.  After System::init with 100 virtual 
 | 
						|
  voices and software mixing turned off, total memory usage is about 54kb.
 | 
						|
+ Updated ripnetstream example.  Rip shoutcast etc radio stations to mp3 files!
 | 
						|
  Supports Artist / Title tag broadcasts to name each mp3 by.
 | 
						|
+ Added generatetone example.  Shows how to play generated sounds without
 | 
						|
  loading a sample!
 | 
						|
+ Added FMOD_CHANNEL_REUSE so a channel can be re-used instead of a new 
 | 
						|
  channel being selected.  The channel re-used is the one passed into 
 | 
						|
  System::playSound / System::playDSP.
 | 
						|
+ Added FMOD_CHANNEL_ALL support.  Use System::getChannel and use this 
 | 
						|
  handle as a channel handle that will affect all channels.
 | 
						|
+ 'dataoffsetbytes' parameter implemented for System::createSoundEx.
 | 
						|
+ Added FMOD_MPEGSEARCH so FMOD will search right through an MP3 for a correct 
 | 
						|
  header if the file is corrupt.  By default it searches for 4096 bytes 
 | 
						|
  then gives up.
 | 
						|
 | 
						|
- Fatal net stream errors now terminate stream playback.
 | 
						|
- Fixed System::attachFileSystem not being present in import library.
 | 
						|
- Fixed Sound::getFormat not returning the correct sound type.
 | 
						|
- Fixed netstreams always ending after about 137 minutes.
 | 
						|
- Fixed clicking/crackling if a filter DSP callback tried to change 
 | 
						|
  the output length/channels.  Filter units can now not change the length 
 | 
						|
  or channels going out.
 | 
						|
 | 
						|
* Net tags that don't contain any new information (such as regular shoutcast 
 | 
						|
  title/artist broadcasts that get transmitted every few seconds) are now 
 | 
						|
  ignored.  New tags are only available via FMOD if they are in fact 
 | 
						|
  unique.  Saves end user having to do string compares in their own app.
 | 
						|
* DirectSound volume and panning now smoother / more accurate.
 | 
						|
 | 
						|
 | 
						|
1/10/04 4.00.07 ALPHA
 | 
						|
---------------------
 | 
						|
 | 
						|
+ Multi-channel ogg supported.
 | 
						|
+ Added System::attachFileSystem to 'ride' on top of FMOD's file calls.
 | 
						|
+ Added 'ripnetstream' example to show how to rip a stream from a url
 | 
						|
  to a file using System::attachFileSystem.
 | 
						|
 | 
						|
- vorbis comment corruption causing ogg problems fixed.
 | 
						|
- Fixed non seekable streams such as internet streams trying to loop or 
 | 
						|
  exhibiting weird behaviour if System::playSound while it was already 
 | 
						|
  or System::setTime.
 | 
						|
- Small streams (streams smaller than the stream buffersize) not 
 | 
						|
  restarting fixed.
 | 
						|
- Multichannel sounds playing on stereo output are now not scaled down
 | 
						|
  by the number of channels and just played at full volume.
 | 
						|
- Fixed click at end of software based sounds when playing more than 1
 | 
						|
  at once.
 | 
						|
 | 
						|
 | 
						|
28/09/04 4.00.06 ALPHA
 | 
						|
----------------------
 | 
						|
 | 
						|
+ Added System::getSpectrum.  This spectrum analysis function is FAR more 
 | 
						|
  advanced than FMOD 3's function.  It has the following benefits.
 | 
						|
  - Allows 128,256,512,...,16384 sized FFT windows.
 | 
						|
  - Allows FFT window filtering such as rectangle/triangle/hanning/hamming/
 | 
						|
    blackman/blackman-harris to obtain more accurate frequency information.
 | 
						|
  - Allows per speaker analysis, so each speaker of a stereo signal can 
 | 
						|
    be analyzed individually.
 | 
						|
  - Doesn't need any initialization flags to enable.  Just call it.
 | 
						|
+ Added user created sound support.  Create user streams or samples with 
 | 
						|
  System::createSoundEx.
 | 
						|
+ Added ability to 'rip' PCM sound data from sounds by simply supplying
 | 
						|
  a read/seek callback in System::createSoundEx as you would with a user 
 | 
						|
  created sound.  Can also be used to overwrite data FMOD reads as it is 
 | 
						|
  loading.
 | 
						|
+ System::setFileSystem now works.
 | 
						|
+ Added createusersound example.
 | 
						|
+ Added playsound example.
 | 
						|
 | 
						|
- Fixed 2d software mixed sounds only being 0 or full volume when 
 | 
						|
  Channel::setVolume was used in conjunction with System::update.
 | 
						|
- Fixed hang on sounds opened as samples with FMOD_SOFTWARE | FMOD_NONBLOCKING.
 | 
						|
- Fixed crash on FMOD_SOFTWARE based sounds when a channel was used twice.
 | 
						|
- Fixed click of FMOD_SOFTWARE based sounds when looping or for 
 | 
						|
  FMOD_CREATESTREAM | FMOD_SOFTWARE based sounds.
 | 
						|
- All plugins now around 4k smaller each.
 | 
						|
- Fixed channel management bugs to do with virtual channels stealing.
 | 
						|
 | 
						|
* API changes, variables and functions renamed / moved.
 | 
						|
* Changed DLL exports to be stdcall again.  Symbols are not stdcall mangled 
 | 
						|
  though so it should make delphi / VB headers easier.
 | 
						|
 | 
						|
7/09/04 4.00.05 ALPHA
 | 
						|
---------------------
 | 
						|
 | 
						|
+ Added FMOD_OPENONLY.  This opens a sound, but doesnt read or prebuffer it.  
 | 
						|
  Useful for quick opens.
 | 
						|
+ Added Sound::readData.  In conjunction with the above, a user can use it to 
 | 
						|
  read and decompress sound data into their own buffer.
 | 
						|
+ Added FMOD_CDDA_FORCEASPI and FMOD_CDDA_JITTERCORRECT flags to mode bits.
 | 
						|
+ Added lcc-win32 import libraries.
 | 
						|
+ More documentation.
 | 
						|
 | 
						|
- Fixed plugins not working correctly due to incorrect calling convention.
 | 
						|
- Fixed 3D software mixed streams not allowing frequency or volume to be set on
 | 
						|
  them.
 | 
						|
- Removed FMOD_DONTPREBUFFER.  (use FMOD_OPENONLY instead).
 | 
						|
 | 
						|
* Sound::getLength now returns length in samples, length in milliseconds, and
 | 
						|
  length in bytes instead of just length in samples.
 | 
						|
 | 
						|
3/09/04 4.00.04 ALPHA
 | 
						|
---------------------
 | 
						|
 | 
						|
+ Channel::setCallback support added, currently only FMOD_CHANNEL_CALLBACK_END 
 | 
						|
  supported.
 | 
						|
+ More documentation.
 | 
						|
 | 
						|
- FMOD_SOFTWARE based sounds now allowed to be loaded, even if 0 is specified 
 | 
						|
  in maxsoftwarechannels in System::init.  (which turns off the software mixer).
 | 
						|
- Fixed FMOD_SOFTWARE static sounds not playing the last few samples of a sound.
 | 
						|
 | 
						|
30/08/04 4.00.03 ALPHA
 | 
						|
----------------------
 | 
						|
 | 
						|
+ Tag support added.
 | 
						|
+ More examples.
 | 
						|
+ More documentation.
 | 
						|
+ Added support for weirder extensible multichannel multibitformat .wav files.
 | 
						|
+ Addition Equivalent of "FSOUND_FORCEMONO" from FMOD 3, but is automatic!  No 
 | 
						|
  flags needed by the user, 3d stereo sounds are automatically downmixed, and
 | 
						|
  with far greater efficiency than fmod3.
 | 
						|
 | 
						|
- CDDA fixes.
 | 
						|
- Panning fixes in software engine.
 | 
						|
- 24bit sound / streaming / resampling and output support working properly.
 | 
						|
- Streamer bugs fixed.
 | 
						|
 | 
						|
* Some API changes / renames / additions / removals.
 | 
						|
* Software mixing / DSP engine overhaul and optimizations, now 2-3x faster and
 | 
						|
  no dynamic memory allocation when playing sounds.
 | 
						|
* Oscillator unit updated.
 | 
						|
* System::getCPUUsage now ignores I/O time so CDDA support doesnt say it is 
 | 
						|
  using 50% cpu when it is actually only using 1-2% :)
 | 
						|
 | 
						|
27/07/04 4.00.02 ALPHA
 | 
						|
----------------------
 | 
						|
 | 
						|
+ Added Delphi headers
 | 
						|
+ Added some more documentation.
 | 
						|
 | 
						|
26/07/04 4.00.01 ALPHA
 | 
						|
----------------------
 | 
						|
 | 
						|
* Initial release
 |