mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-04-18 02:52:47 +03:00
6662 lines
322 KiB
Plaintext
6662 lines
322 KiB
Plaintext
|
|
===============================================================================
|
|
REVISION HISTORY : FMOD Ex
|
|
Copyright (c) Firelight Technologies, Pty, Ltd, 2004-2011
|
|
http://www.fmod.org
|
|
===============================================================================
|
|
+ Added feature or noticable improvement
|
|
- Bug fix or something removed
|
|
* Changed or Information
|
|
! Important - Take note!
|
|
===============================================================================
|
|
|
|
02/03/11 4.32.09 - Stable branch update
|
|
----------------------------------------------------
|
|
|
|
+ Runtime impact of FMOD_INIT_ENABLE_PROFILE significantly reduced.
|
|
|
|
- Fix crash when sentences that change subsounds at runtime go virtual/come back.
|
|
|
|
- Windows - Fix crash if using G35 headset in Windows Vista/7.
|
|
- Xbox 360 - Fix crackling noise in FMOD_DSP_TYPE_ECHO.
|
|
- PS3 - Fixed crash when trying to play IT and MIDI files.
|
|
- PS3 - Fixed crash in virtual voice system in certain cases with dsp oscillator
|
|
channels.
|
|
|
|
- Event API - Fix possible crash if FMOD_EVENT_EFFECTS_AFFECT_REVERB flag is
|
|
used.
|
|
|
|
- FSBankLib - fix ADPCM source wavs causing error during compilation.
|
|
|
|
* Ogg vorbis conflicts when linking in their own version of libogg etc resolved
|
|
thanks to new namespacing of custom ogg code in FMOD library.
|
|
|
|
* PS3 - Libraries renamed to more compliant libXXX.a format.
|
|
|
|
31/01/11 4.32.08 - Stable branch update
|
|
----------------------------------------------------
|
|
|
|
+ Xbox360 - Add xma_validator tool to examples folder. This opens FSB data
|
|
and scans it for bad files. Some rare bad sounds can be introduced with XMA
|
|
encoding which encounter a bug in XMA decoding hardware and hang the machine.
|
|
|
|
- Event API - Fixed events in the same group being released if getEvent fails
|
|
- Event API - Fixed memory being allocated when events containing sound
|
|
definitions with Play Mode 'Shuffle' were started
|
|
|
|
* Xbox360 - FMOD is built with XDK 20353
|
|
|
|
05/01/11 4.32.07 - Stable branch update
|
|
----------------------------------------------------
|
|
|
|
+ PS3 - Add Dolby Logo Usage Guidelines to PS3 getting started document.
|
|
|
|
- Fixed MPEG codec so it doesn't incorrectly identify files as valid.
|
|
- Updated to latest Neural DTS code. Fixes some audio corruptions issues.
|
|
|
|
- iPhone - Fixed seamless looping for M4A files.
|
|
- iPhone - Fixed audio not coming back after screen lock and when background
|
|
audio is interrupted with iOS 4.2. RestoreAudioSession function
|
|
is no longer required.
|
|
- Win32 - (XP only) Fix certain soundcards coming out silent when using
|
|
5.1/7.1
|
|
|
|
- Event API - Fix FMOD_EVENT_INFOONLY events and Event::setPropertyByIndex
|
|
setting all instances of the event when specifically told not to.
|
|
|
|
- FSBankLib - Fixed cache not being rebuilt when adjusting the optimized sample
|
|
rate percentage.
|
|
- FSBankLib - Fixed invalid param error when compressing as MPEG when source file
|
|
is a certain length.
|
|
- FSBankLib - Fixed a thread safety issue in the twolame MP2 encoder.
|
|
|
|
* Xbox360 - FMOD is built with XDK 20209.3
|
|
|
|
1/12/10 4.32.06 - Stable branch update
|
|
----------------------------------------------------
|
|
|
|
- fixed incorrect playback of sentences with Sound::setSubSoundSentence if
|
|
more than one subsound fit into the front buffer of a stream.
|
|
- fixed bug which caused profiler to send truncated packets.
|
|
- Fixed Channel::setSpeakerLevels being wrong if using virtual voices.
|
|
|
|
- Mac/iPhone - fixed potential hang if system runs out of named semaphores.
|
|
|
|
- Event API - Made the music system pick up where it left off if it dropped
|
|
out due to a long delay between EventSystem::update calls
|
|
- Event API - Made Event getProperty and setProperty functions return
|
|
FMOD_ERR_EVENT_NOTFOUND if the specified property isn't found
|
|
- Event API - Fixed crash if EventProject::cancelAllLoads was called while
|
|
an async load was in progress.
|
|
|
|
- FSBankLib - Fixed default quality for XMA, now 60 instead of 1.
|
|
- FSBankLib - Fixed corrupt output if using PCM8 or PCM24 and doing downsampling.
|
|
|
|
- Profiler - Made more robust when encountering corrupted packets.
|
|
|
|
|
|
10/11/10 4.32.05 - Stable branch update
|
|
----------------------------------------------------
|
|
|
|
+ Added FMOD_MEMORY_SAMPLEDATA to memory allocation callback types.
|
|
|
|
- iPhone - Fixed output freezing when device is locked, and playing ducked
|
|
iPod audio.
|
|
- win - Fixed surround output with DirectSound not working with X-Fi cards.
|
|
- xbox360 - Fixed crash with mixed XMA FSB containing mono / stereo and
|
|
multichannels subsounds.
|
|
|
|
- Profiler - Fixed volume levels coming out incorrect.
|
|
|
|
* iPhone - Now built with SDK 4.2
|
|
|
|
22/10/10 4.32.04 - Stable branch update
|
|
----------------------------------------------------
|
|
|
|
* PS3 - Now built with SDK 350.001
|
|
|
|
5/10/10 4.32.03 - Stable branch update
|
|
----------------------------------------------------
|
|
|
|
+ xbox360 - Added support for xWMA file format.
|
|
|
|
- Fix Channel::getPosition with FMOD_TIMEUNIT_SENTENCE_SUBSOUND rarely returning
|
|
values outside the range that it is supposed to return.
|
|
|
|
- PS3 - Fixed Channel::getLoopCount sometimes returning incorrect value. This
|
|
was causing occasional issues whent setLoopCount was used in conjunction
|
|
with virtual voices.
|
|
- iPhone - Fixed recording examples not working in the simulator.
|
|
|
|
15/09/10 4.32.02 - Stable branch update
|
|
----------------------------------------------------
|
|
|
|
+ Added 'multi' build mode to fsbankcl
|
|
+ Allowed custom cache dir in fsbankcl
|
|
+ Allowed custom thread count in fsbankcl
|
|
|
|
+ FSBankLib - Added ability to specify per subsound the percentage of the
|
|
optimized sample rate to use.
|
|
|
|
- Fixed wav files with malformed sync points causing a crash.
|
|
|
|
- iPhone - Fixed platform specific header so it exports symbols as C.
|
|
- iPhone - Fixed error returned from AudioQueue codec stream with setPosition.
|
|
- iPhone - Fixed AudioQueue codec to try software if hardware decoder is in use.
|
|
- iPhone - Fixed crash with AudioQueue codec samples when an interruption is
|
|
resolved or FMOD_IPhone_RestoreAudioSession is used.
|
|
- iPhone - Fixed AudioQueue codec not resuming after a screen lock.
|
|
|
|
- Event API - Fixed music system shared timelines not handling pausing properly
|
|
- Event API - Fixed music system crossfades not handling pausing properly
|
|
|
|
- FSBankLib - Fixed encoder bug causing big endian PCM FSBs to not load correctly.
|
|
- FSBankLib - Fixed optimize sample rate flag being ignored if passed via build.
|
|
|
|
* iPhone - Now built with SDK 4.1
|
|
|
|
24/08/10 4.32.01 - Stable branch update
|
|
----------------------------------------------------
|
|
|
|
+ Less memory overhead per FMOD allocation = good memory savings.
|
|
|
|
- Fixed DSP connection volume levels being 0 upon first connect when using
|
|
DSP::addInput, in certain DSP connection configurations.
|
|
- Fixed midi playback timing accuracy.
|
|
- fix crash if using _reduced version of FMOD and Event System (psp/ps2/wii).
|
|
- Fixed Channel::setPan/setSpeakerMix not working if using System::playDSP
|
|
|
|
- iPhone - Fixed AudioQueue codecs not restarting when an app is sent to the
|
|
backrgound then restarted.
|
|
|
|
- PS3 - Fixed crash when calling Sound::release() on a sound loaded with
|
|
FMOD_LOADSECONDARYRAM, introduced in 4.33.00 pre 2.
|
|
|
|
- Event API - Fixed mute state not being reset when getting an event instance
|
|
|
|
5/08/10 4.32.00 - Initial stable branch release
|
|
----------------------------------------------------
|
|
|
|
+ Unblocked setParameter for DSP Flange.
|
|
+ PS3 - Unblocked setParameter for DSP Echo.
|
|
|
|
- Fixed MIDI crash and excessive cpu usage issue introduced in 4.31.05.
|
|
- Fixed a couple of crashes from calling functions on a non-playing channel.
|
|
- Fixed crash when releasing a CELT .fsb in certain cases.
|
|
- Fix FMOD_DSP_TYPE_HIGHPASS allowing cutoff frequencies below 10hz and
|
|
causing crackling.
|
|
- Fixed doppler calculation to be framerate independent and more accurate
|
|
|
|
- iPhone - Fixed error loading small MP3s with AudioQueue codec causing fallback
|
|
to the FMOD software MP3 decoder.
|
|
- Linux - Fixed installer trying to install deprecated plugins lib.
|
|
- Wii - Fixed extremely rare issue where calling Channel::setPosition will cause
|
|
that channel to play random noise.
|
|
- Linux - Fixed crash on System::close depending on pthread implementation.
|
|
|
|
- FSBank - Fixed bug which caused XMA encoded FSBs (without seek tables) to crash.
|
|
|
|
* .FEV file format updated! If you build with FMOD Designer 4.33.00, you must
|
|
use FMOD version 4.33.00 or higher.
|
|
* PS3 - Now built with SDK 340.001
|
|
|
|
21/07/10 4.31.05 - Development Branch update
|
|
----------------------------------------------------
|
|
|
|
+ Optimized speaker level setting of DSP nodes which increases performance across
|
|
the board especially with 3d calculations and custom 2d speaker level settings.
|
|
+ Add add Sound::setMusicSpeed/getMusicSpeed to change playback speed of
|
|
MOD/S3M/XM/IT/MIDI
|
|
|
|
+ Event API - add FMOD_EVENT_SYSTEMINFO::numloadsqueued to determine how many
|
|
load requests are queued up due to FMOD_EVENT_NONBLOCKING flag.
|
|
+ Event API - add EventProject::cancelAllLoads function for faster project
|
|
unloading.
|
|
|
|
+ Wii - improved accuracy of getMemoryStats.
|
|
|
|
- Fixed rare hang related to new Asynchronous I/O file logic.
|
|
- Fixed rare memory corruption issue when using FMOD_INIT_VOL0_BECOMES_VIRTUAL
|
|
flag and setSpeakerLevels on many channels.
|
|
|
|
- Xbox360 - Fixed rare crash when calling System::recordStart, immediately after
|
|
calling System::recordStop.
|
|
- Xbox360 - Fixed very rare crash when calling System::recordStart.
|
|
- PS3 - Fixed issue with profiler sometimes displaying too many VU bars on
|
|
empty channelgroups.
|
|
- PS3 - Fixed MP3 encoded FSB with greater than stereo (ie 5.1/7.1) source
|
|
sometimes swapping channels if the bitrate was low.
|
|
- iPhone - Fixed iOS 4.0 issue of losing audio when interrupted while running
|
|
in the background. Calling FMOD_IPhone_RestoreAudioSession from
|
|
applicationWillEnterForeground will ensure audio is restored.
|
|
- iPhone - Fixed iOS 4.0 issue of MP3 / AAC / ALAC hanging after a while.
|
|
- iPhone - Fixed iOS 4.0 issue where audio session doesn't auto resume.
|
|
- Wii - Fixed GCADPCM fsb's being loaded as FMOD_SOFTWARE instead of FMOD_HARDWARE
|
|
by default if no mode is set while loading them.
|
|
- Win - Vista/Win7 - Fixed output going silent if user changes control panel audio
|
|
settings, most cases will auto recover, those that don't cause a new system
|
|
callback to fire to signal device lost.
|
|
|
|
- Event API - Removed stall in EventGroup::freeEventData if other non related
|
|
groups were being loaded using FMOD_EVENT_NONBLOCKING.
|
|
- Event API - Fixed music system glitches when looping segments that use
|
|
"Load into memory" samples (bug introduced in 4.31.00 pre 3)
|
|
|
|
- FSBank - Fixed 8bit PCM files not being accepted by some encoders.
|
|
|
|
* iPhone - Now built with SDK 4.0
|
|
|
|
1/07/10 4.31.04 - Development Branch update
|
|
----------------------------------------------------
|
|
|
|
+ iPhone - Added ability to specify whether AudioQueue codec sounds are decoded
|
|
using hardware or software via the new FMOD_CREATESOUNDEXINFO member
|
|
extracodecdata.
|
|
+ Wii - Added FMOD_Wii_NMIC_GetLastError.
|
|
+ Win32 - Added LADSPA plugin support (see http://www.ladspa.org/)
|
|
|
|
+ Event API - Reduced memory usage and allocation count in EventSystem::load
|
|
+ Event API - add FMOD_EVENT_PROJECTINFO and EventProject::getInfo
|
|
+ Event API - Readded concept of 'systemid' which was removed from 4.31.03
|
|
+ Event API - Allow EventSystem::preloadFSB to take an FSB name without the '.fsb'
|
|
extension to make it easier to match with FMOD_EVENT_WAVEBANKINFO.
|
|
|
|
- Fixed reverb wetmix for a channel set to volume 0 still being heard, if both
|
|
System::setReverbAmbientProperties and System::setReverbProperties are called
|
|
after the channel has been started.
|
|
- Fixed MP3 encoded FSB with greater than stereo (ie 5.1/7.1) source sometimes
|
|
swapping channels if the bitrate was low.
|
|
- fix crash if all speaker positions are at the same position, via
|
|
System::set3DSpeakerPosition
|
|
|
|
- Win - Vista/Win7 - Fix very small shutdown/restart memory leak when using
|
|
FMOD_OUTPUTTYPE_WASAPI.
|
|
- Linux - Made lib not require an executable stack.
|
|
- iPhone - Reduced base memory usage due to threads with excessive stack size.
|
|
- Wii - Fixed reverb instances not working correctly when used through the
|
|
Event System.
|
|
- Wii - Fixed rare crash when stereo hardware sounds finish playing.
|
|
- PS3 - Fixed error when opening a file if using FIOS.
|
|
|
|
- Event API - Fixed incorrect crossfade curve applied to sound instances.
|
|
- Event API - Fixed the trigger delay feature to work for sounds without
|
|
needing to specify the 'Wait for previous' start mode
|
|
|
|
- FSBank - fix loop points being incorrect when exporting >stereo xma files.
|
|
Result was a hang on playback on xbox360.
|
|
- FSBank - Fixed list file handling
|
|
|
|
* .FEV file format updated! FMOD Designer 4.31.04 requires FMOD version
|
|
4.31.04, 4.30.05, 4.28.15, 4.26.25, 4.24.38 or higher
|
|
|
|
!* Windows - Removed FMOD_HARDWARE support for FMOD_OUTPUTTYPE_DSOUND.
|
|
!* Windows - Removed EAX support
|
|
!* Windows - Removed OpenAL support via FMOD_OUTPUTTYPE_OPENAL.
|
|
!* Windows - All mixing is now done by FMOD's software mixer, as hardware
|
|
support is 1. prone to buggy drivers, 2. lacking features, 3. not as fast
|
|
as mixing on the CPU these days, due to inneficiencies in DirectSound.
|
|
|
|
!* PS3 - FMOD no longer initialises / shuts down PS3 network subsystem.
|
|
You will need to call sys_net_initialize_network /
|
|
sys_net_finalize_network yourself to use FMOD_INIT_ENABLE_PROFILE.
|
|
|
|
28/05/10 4.31.03 - Development Branch update
|
|
----------------------------------------------------
|
|
|
|
+ Wii - Added NMIC recording support.
|
|
+ Add pan slide command support for modplug created .it files.
|
|
+ Event API - Reduced fragmentation with EventSystem::load and reduced overall
|
|
memory usage per project.
|
|
|
|
- Fixed FMOD_ERR_TOOMANYCHANNELS being reported if System::createDSP was called
|
|
with FMOD_DSP_DESCRIPTION::channels being larger than the number of speakers for
|
|
the outputmode. Changed to error check on max input channels instead.
|
|
- Fix 1 in a million crash if FMOD_NONBLOCKING operation happened before the main
|
|
thread finished issuing the command.
|
|
- Fix Channel::setReverbProperties not repsponding without an instance flag being
|
|
set. The behaviour was supposed to be that if no flags were set, reverb instance
|
|
#0 would be affected by default.
|
|
|
|
- iPhone - Fixed case if using set mixable function while interrupted would fail.
|
|
- iPhone - Fixed AudioQueue codec not relinquishing hardware access when finished.
|
|
|
|
- Event API - Event queue - Fixed ducking jump when interrupting a delayed entry
|
|
- Event API - Removed concept of 'systemid'. For unique IDs use GUID functions,
|
|
and for iterations use getEventByIndex inside the EventProject
|
|
class, looping through all loaded projects which can be done
|
|
with EventSystem::getNumProjects/getProject.
|
|
|
|
* Changed FMOD_OPENSTATE_STREAMING to FMOD_OPENSTATE_PLAYING, because it now
|
|
supports static samples as well as streams. Use this state to avoid stalls
|
|
in Sound::release.
|
|
|
|
6/05/10 4.31.02 - Development Branch update
|
|
----------------------------------------------------
|
|
|
|
+ Wii - Added FMOD_INIT_WII_DISABLEDOLBY init flag to default to stereo even
|
|
if surround is selected in the Wii system menu.
|
|
+ iPhone - Added the ability to duck the iPod at runtime, see fmodiphone.h for
|
|
new functionality.
|
|
+ iPhone - Added ability to force the 'mixable' state of an an audio session
|
|
that doesn't usually permit mixing with other audio. See fmodiphone.h
|
|
for new parameter and function.
|
|
+ iPhone - Added support for FMOD_ACCURATETIME with codec AudioQueue. This will
|
|
give accurate file lengths and fast seek times at the cost of scanning
|
|
the file at create time.
|
|
|
|
- Fixed ChannelGroup::getWaveData sometimes returning data when nothing is
|
|
playing.
|
|
- Fixed audio corruption when setting 3DPanLevel to less than one and the
|
|
output mode is not 7.1.
|
|
- Removed no longer used FMOD_INIT_XBOX_REMOVEHEADROOM flag.
|
|
- Fix FMOD_MEMORY_FREECALLBACK not returning matching 'type' value when
|
|
memory was allocated with a specific type.
|
|
- Fixed bad offset value being passed to FMOD_FILE_ASYNCREADCALLBACK in certain
|
|
cases causing inconsistent file read results.
|
|
- Fixed long reads causing crash upon close, with new async IO changes.
|
|
|
|
- PS3 - Fixed System::recordStart returning an error when called after a single
|
|
mic is disconnected, and reconnected again to a different usb port.
|
|
- Linux - Fixed detection of PulseAudio not being strict enough causing false
|
|
positives.
|
|
- PS3 - Fixed crash when shutting down FMOD if FMOD_INIT_ENABLE_PROFILE was
|
|
specified during init.
|
|
- PS3 - Fixed getWaveData and getSpectrum not returning any values.
|
|
|
|
- Event API - Event queue - Higher priority event will no longer cut off lower
|
|
priority playing event
|
|
- Event API - Event queue - Interrupt events will now interrupt an event that is
|
|
delaying
|
|
- Event API - Event queue - Fixed fadeout on duck not working correctly
|
|
- Event API - Fixed sounds not being updated (e.g. for volume effects) if they
|
|
aren't touched by the control parameter
|
|
|
|
* PS3 - Now built with SDK 330.001
|
|
* Changed Sound::getName to return unicode name if FMOD_UNICODE flag was specified.
|
|
* System::getOutput will now resolve FMOD_OUTPUTTYPE_AUTODETECT to the actual
|
|
mode FMOD will use when initialized.
|
|
|
|
22/04/10 4.31.01 - Development Branch update
|
|
----------------------------------------------------
|
|
|
|
+ iPhone - added forceMixWithOthers member to extradriverdata to force mixing
|
|
with the iPod when in "playandrecord" or "mediaplayback" session
|
|
category.
|
|
+ linux - added new PulseAudio native output mode. Output mode auto detection
|
|
will now pick PulseAudio if it's available, otherwise it will try ALSA,
|
|
otherwise it will fallback to OSS.
|
|
|
|
- Fixed PCM sample stitching crash/noise when using Sound::setSubSoundSentence
|
|
- Fixed Quad waveforms not playing out of rear speakers when included in banks
|
|
containing waveforms which have more than 4 channels
|
|
- Fixed incorrect playback of the first few milliseconds of MIDI files.
|
|
- Fixed crash when calling setSubSoundSentence with a sound with no subsounds.
|
|
|
|
- PS3 - Fixed "ERROR - LIBAUDIO DROPOUT" being printed to TTY when shutting down
|
|
FMOD.
|
|
- Mac64/Linux64 - Fixed MP3s decoding incorrectly causing garbled output.
|
|
- Xbox 360 - Optimized mixing slowdown due to 16bit float support
|
|
- Wii - Fixed issue where Sound::getSubSound would always return
|
|
FMOD_ERR_FILE_DISKEJECTED if a sound was created using FMOD_NONBLOCKING
|
|
and the disk was ejected before the first call to Sound::getSubSound.
|
|
|
|
- Event API - fixed click at the start of 'wait for previous' sounds when no
|
|
resampling takes place
|
|
- Event API - Fixed starting two concurrent music themes simultaneously.
|
|
|
|
* Removed support for older 'FSB3' format
|
|
* PS3 - Now built with SDK 321.001
|
|
* iPhone - Now built with SDK 3.2
|
|
|
|
6/04/10 4.31.00 - Initial development branch release
|
|
-----------------------------------------------------
|
|
|
|
+ Add asynchronous I/O support. FMOD_FILE_ASYNCREADCALLBACK now allows user
|
|
to defer file reads from file callbacks to a later time, rather than satisfying
|
|
fmod read requests on demand. Great for streaming world engines.
|
|
+ Add FMOD_TIMEUNIT_PCMFRACTION, for DSP accuracy purposes.
|
|
|
|
+ iPhone - replaced init extra driver data parameter for checking if other audio
|
|
is playing with a function that can be called any time.
|
|
+ PSP - Optimised software mixer.
|
|
+ PSP - Optimised software mixer for GCC build (previous release was SNC build).
|
|
- Xbox360 - Fixed multichannel XMA support when stream had odd # of channels.
|
|
|
|
- Fix connections going awry in rare situations if addDSP command was used.
|
|
- Fixed issue with speaker levels being shared after a virtual voice swap.
|
|
- Fixed FSB file corruption introduced in 4.31.00 pre 8.
|
|
- Fixed crash when decompressing invalid data from FSB file into memory.
|
|
- Fixed netstreams max string length of 256.
|
|
- Fixed getLoopCount giving incorrect loop number for FMOD_CREATECOMPRESSEDSAMPLE
|
|
sounds.
|
|
- Fixed IT codec not resetting instrument envelopes under certain circumstances
|
|
causing some sounds to play silently.
|
|
- Fixed crash when re-initialising FMOD when there had been an FSB that hadn't
|
|
been released previously.
|
|
|
|
- Xbox360 - Fixed audition client black screen on load.
|
|
- iPhone - fixed issue with arm7 slice not identifying correctly.
|
|
- Wii - Another fix for extremely rare issue where sometimes the Wii will
|
|
just start producing distortion type noise.
|
|
- PS3 - Fixed rare issue where static and global variables could end up being
|
|
rubbish
|
|
values in user created custom dsp units.
|
|
- Wii - Fixed issue with some GCADPCM sounds not looping seamlessly.
|
|
|
|
- Event API - Fixed crash if getting a complex event followed by getting the
|
|
same event with FMOD_EVENT_USERDSP flag then playing the 2nd event.
|
|
- Event API - Fixed sounds with spawning and "Wait for previous" sometimes not
|
|
cancelling pending sounds properly when the parameter moves away
|
|
|
|
* Streams that have priority 0 now are -not- affected by
|
|
FMOD_INIT_VOL0_BECOMES_VIRTUAL flag. Saves pointless disk access.
|
|
* setSpeakerLevels() and setSpeakerMix() now return FMOD_ERR_NEEDSSOFTWARE when
|
|
using DSOUND output as these functions are not supported with DSOUND.
|
|
|
|
26/02/10 4.31.00 pre 9 - Development internal update
|
|
---------------------------------------------------
|
|
|
|
+ Mixers now nearly 20% faster in some cases.
|
|
|
|
+ Wii - Added WiiSpeak recording support.
|
|
+ Xbox 360 - Added DTS Neural downmix support. Use FMOD_INIT_DTS_NEURALSURROUND
|
|
to activate.
|
|
+ iPhone - Added support for AAC, ALAC and MP3 decoded via the iPhone hardware
|
|
/ software codecs.
|
|
|
|
+ Event API - Added music system FMOD_EVENT_INIT_USER_ASSETMANAGER support
|
|
|
|
- Fixed bursts of sound being played from channels that are muted.
|
|
|
|
- iPhone - Fixed memory leak when releasing the FMOD::System object.
|
|
- PS3 - Fixed reversed sounds getting their frequencies set to 0 if they are
|
|
played on a channel that was previously used to play a
|
|
FMOD_CREATECOMPRESSEDDSAMPLE sound.
|
|
|
|
- FSBankLibEx - Fixed c# wrapper not working properly due to sybmols not being
|
|
exported in fsbanklibex.dll
|
|
|
|
12/02/10 4.31.00 pre 8 - Development internal update
|
|
---------------------------------------------------
|
|
|
|
+ Added getDriverInfoW and getRecordDriverInfoW API functions to get the
|
|
names of devices as wide char strings. Only supported on Windows.
|
|
+ Update ogg vorbis to latest public branch. (ogg 1.1.4, vorbis 1.2.3)
|
|
+ FSBankLibEx - Added c# wrapper.
|
|
|
|
- Fix Sound::getOpenstate returning invalid handle error if calling
|
|
Channel::stop after Channel::setPosition with FMOD_NONBLOCKING streams.
|
|
- Removed geometryThreadPeriod from FMOD_ADVANCEDSETTINGS.
|
|
* - Fix mixer slowdown from 16bit float optimization. Now only enabled on
|
|
Xbox 360 where there is no slowdown. Issue introduced in 4.29.00 pre 10.
|
|
- fix reverb dry mix being reset to 0db when voice was de-virtualized.
|
|
|
|
- PS3 - Fixed distorted sound when disconnecting, then reconnecting the DSP
|
|
head output of a channel, when only that one channel is playing.
|
|
- PS3 - Fixed hang when calling getWaveData or getSpectrum.
|
|
- PS3 - Fixed getWaveData/getSpectrum returning values for empty channelgroups
|
|
in some cases.
|
|
- PS3 - Fixed corruption in some cases when a channel is re-used to play a
|
|
different sound (introduced in 4.31.00 pre 1).
|
|
- Win - Fixed crash when dsp buffer size is smaller than the amount WASAPI needs.
|
|
|
|
FSBankEx - Fix mp3 encoder truncating short sounds.
|
|
FSBankEx - Fix mp3 encoder producing data with some random bytes in it, can
|
|
cause errors or stalls during decode phase.
|
|
|
|
22/01/10 4.31.00 pre 7 - Development internal update
|
|
---------------------------------------------------
|
|
+ Added trigger delay property for sound definition
|
|
|
|
- Fixed channel position not updating on final loop if setLoopCount is set for
|
|
sounds created on PS3 and also sounds created with FMOD_CREATECOMPRESSEDSAMPLE.
|
|
- Fixed device list changed callback being called from systems that have not
|
|
called System::setCallback.
|
|
|
|
- Win - Fixed device enumeration, device names are now encoded as multibyte.
|
|
- Win - Fixed rare crash in WASAPI output mode if enumerating while plugging a
|
|
device in.
|
|
- PS3 - Fixed oneshot reversed sounds not playing correctly.
|
|
- PS3 - Fixed issue where pausing a channelgroup may silence all sounds.
|
|
|
|
- Event API - Fix rare error code FMOD_ERR_EVENT_MISTMATCH being returned from
|
|
Event::getState when the event is using a non blocking preloaded sound.
|
|
- Event API - Fixed MusicSystem::promptCue behaviour (broken in 4.27.00)
|
|
- Event API - Removed stall in EventSystem::load if other sound bank operations
|
|
were happening in the FMOD_NONBLOCKING thread.
|
|
|
|
- FSBankEx - Fix mp3 encoded FSB files producing corrupted data if cache data
|
|
was used. Alternate fix = delete .fsbcache folder and rebuild FSB.
|
|
Bug introduced 4.31.00 pre 5.
|
|
|
|
* PS3 - Now built with SDK 310.001
|
|
* iPhone - setDSPBufferSize now permits buffers lower than the hardware
|
|
recommended size for lower latency, use with caution and check TTY
|
|
log output for warnings.
|
|
* .FEV file format updated! FMOD Designer 4.31.00 pre 7 requires FMOD version
|
|
4.31.00 pre 7, 4.29.07, 4.28.07, 4.26.17, 4.24.30 , 4.22.39 or higher
|
|
|
|
08/01/10 4.31.00 pre 6 - Development internal update
|
|
---------------------------------------------------
|
|
|
|
+ Added maxSpectrumWaveDataBuffers property to FMOD_ADVANCEDSETTINGS which will
|
|
cause FMOD to allocate buffers for getWaveData and getSpectrum from a memory
|
|
pool to prevent memory fragmentation.
|
|
|
|
+ Removed static data for spectrum analysis reducing memory footprint by 160kb
|
|
|
|
- Fix crash if passing null to ptr2/len2 in Sound::lock in wraparound case.
|
|
- Fixed issues with recording when combined with device removal, could cause a
|
|
crash or unexpected behavior. Unplugged microphones will now auto stop.
|
|
- Fixed wave writer output mode producing invalid wav files when format is PCM8.
|
|
|
|
- Event API - Fix small memory leak with preloaded stream banks that were loaded
|
|
with FMOD_NONBLOCKING.
|
|
|
|
- PS3 - Fixed bug where trying to record through secondary microphones actually
|
|
recorded through primary microphone.
|
|
|
|
18/12/09 4.31.00 pre 5 - Development internal update
|
|
---------------------------------------------------
|
|
|
|
- Fixed special case with sound groups where muted channels (thanks to
|
|
FMOD_SOUNDGROUP_BEHAVIOR_MUTE) were not being de-prioritized, causing equally
|
|
important sounds that should be audible to remain virtual when they should
|
|
have been audible.
|
|
- Fixed crash when trying to play CELT format sounds on 64 bit platforms.
|
|
- Fixed device list changed callbacks being squashed by calls to getNumDrivers.
|
|
- Fixed MP3 encoded FSB files not seeking to block aligned boundaries correctly
|
|
which theoretically could cause 1 in a million crash depending on data.
|
|
FSB Data must be rebuilt with FSBankEx or FMOD Designer.
|
|
|
|
- Event API - Fixed incorrect FMOD_ERR_UNSUPPORTED in EventSystem::load() if a
|
|
project with music data is already loaded.
|
|
|
|
- iPhone - Fixed lazy load symbol crash with OS 2.2.1.
|
|
|
|
10/12/09 4.31.00 pre 4 - Development internal update
|
|
---------------------------------------------------
|
|
|
|
- Mono streams inside FSB files that have other higher channel count streams in
|
|
them are now copied into all channels rather than just channel 0. This fixes
|
|
a bug where mono streams would only come out of the left speaker, introduced
|
|
in 4.29.00 pre 6. A side effect is that mono streams can sound louder.
|
|
|
|
- PS2 - Fix rare case where left/right channels would get out of sync on stereo
|
|
streams.
|
|
|
|
- Event API - Cancel pending sounds when the parameter moves away so sounds
|
|
with spawning and "Wait for previous" don't play too many times
|
|
|
|
03/12/09 4.31.00 pre 3 - Development internal update
|
|
---------------------------------------------------
|
|
|
|
+ Changed 'memoryused_array' parameter of getMemoryInfo() API into struct for better readability
|
|
|
|
+ iPhone - Significantly improved performance of mixing and resampling for iPhone
|
|
3GS and iPod Touch 3rd Gen. Small performance improvments for other
|
|
iPhone and iPod models.
|
|
|
|
+ FSBankLib - Mac - Added support for CELT encoding.
|
|
|
|
+ Changed FMOD_EVENT_ERR_ON_DISKACCESS behaviour for streams. Now FMOD_ERR_DISK_UNWANTED will only
|
|
be returned if the stream instance isn't preloaded.
|
|
|
|
- Sound::release stall removed. It will stall if you havent stopped the sound
|
|
before releasing it, as it has to wait for the mixer thread to finish with it.
|
|
FMOD_OPENSTATE_STREAMING can be used to poll for if the mixer is still using
|
|
it or not.
|
|
- Fixed ChannelGroup::setPaused(false) incorrectly unpausing channels that were
|
|
paused via FMOD_DELAYTYPE_DSPCLOCK_PAUSE
|
|
- Fixed crash when changing soundgroup behaviour from mute to another behaviour
|
|
with channels playing
|
|
|
|
- Win64 - Fixed invalid FMOD::Sound pointer being passed to SOUNDEF_CREATE event callbacks
|
|
- Win32 - OpenAL - Fixed hang during driver enumeration if a device fails to open.
|
|
- Mac - Fixed problem with opening released DMG installer package on OS X 10.3.9.
|
|
- Wii - Fixed rare problem where controller speaker will still be in on state, if
|
|
it is repeatedly turned on and off, and the last command was to turn it off.
|
|
- PSP - Fixed constant glitching when playing at3 streams at certain decodebuffersizes.
|
|
- Xbox 360 - Fixed recording fucntions returning FMOD_ERR_UNSUPPORTED. Introduced in
|
|
4.31.00 pre 1
|
|
|
|
- FSBankLib - Fixed FSBs created on PPC Mac causing mismatch errors when loaded.
|
|
- FSBankLib - Fixed C header defines being all underscores on Mac.
|
|
|
|
* Sound::getOpenState now now returns FMOD_OPENSTATE_STREAMING on static samples
|
|
if they are playing, not just streams.
|
|
|
|
* Event API - Changed music sound priority to high (i.e. 0)
|
|
|
|
12/11/09 4.31.00 pre 2 - Development internal update
|
|
---------------------------------------------------
|
|
|
|
+ Mac - added support for x86_64 architecture to the universal binary.
|
|
|
|
+ Improved stereo and 3D speaker panning
|
|
|
|
- Fixed problem where if using FMOD_HARDWARE and streams smaller than the decode
|
|
buffer size,looping sounds would play silence then loop the first time round.
|
|
|
|
- Fixed very rare issue where very small sounds (less than 1152 samples), encoded
|
|
as mp3 fsb, may hang when played with FMOD_CREATECOMPRESSEDSAMPLE.
|
|
|
|
- PS3 - Fixed rare issue with playing certain small mp3 samples where sound
|
|
would be garbled.
|
|
|
|
Event API - if using hardware sounds (ie PS2/PSP) fixed small streams playing a
|
|
tiny bit of the sound again if the was supposed to be one shot.
|
|
|
|
05/11/09 4.31.00 pre 1 - Development internal update
|
|
---------------------------------------------------
|
|
|
|
+ Added geometryMaxFadeTime property to FMOD_ADVANCEDSETTINGS for controlling
|
|
the amount of time it takes for a channel to fade to new new levels when the
|
|
amount of occlusion changes.
|
|
+ PS3 - Added support for snapshots of the peak volume for each DSP node,
|
|
per channel in Profiler.
|
|
+ Added load_from_memory example to the designerapi examples
|
|
+ Added support for new CELT codec (http://www.celt-codec.org/). FSB's can be
|
|
built encoded in this new codec.
|
|
|
|
!- Fixed rare timing based crash on the new blocking Channel::setPosition
|
|
behaviour. Introduced 4.29.00 pre 6 (development branch).
|
|
- Fixed short streaming sounds looping forever under certain circumstances.
|
|
- Fixed tags for WMA files sometimes being converted to single byte when they
|
|
have multibyte content.
|
|
- Fixed netstreams hanging on System::createSound.
|
|
- Adjusted codec search priority order so MPEG takes precedence over playlist.
|
|
|
|
!- Xbox 360 - Fixed assert with XMA codecs complaining about memory address -
|
|
Bug introduced in last version 4.26.10
|
|
- Xbox 360 - Fixed linker error against XMic functions for people still using
|
|
old XDKs.
|
|
- Wii - Fixed extremely rare issue where sometimes the Wii will just start
|
|
producing distortion type noise.
|
|
- Linux64 - Fixed no sound being output due to 16bit float optimization bug
|
|
introduced in 4.29.00 pre 10.
|
|
|
|
21/10/09 4.29.00 - Development branch release
|
|
---------------------------------------------
|
|
|
|
+ Added 3d reverb and music reverb demonstration program.
|
|
|
|
+ PS3 - Enabled 16bit floats for internal DSP matrix storage on ps3.
|
|
|
|
+ Event API - Added EventCategory::getParentCategory()
|
|
+ Event API - Added FMOD_ERR_MUSIC_NOTFOUND error code when requested music
|
|
system entities cannot be found.
|
|
|
|
+ Profiler - Added ability to see snapshots of the peak volume for each DSP node,
|
|
per channel.
|
|
|
|
- Fixed wave writer non-realtime output mode producing incorrect length files.
|
|
- Fixed hang in Sound::release if using new setSubSoundSentence feature from
|
|
4.29.00 pre 10.
|
|
- Fixed readData not returning the correct number of bytes read with FSBs if the
|
|
last read chunk results in hitting the end-of-file.
|
|
- Fixed output modes not null-terminating device name strings if the passed in
|
|
buffer length is shorter than the actual device name length.
|
|
- Fixed sound corruption when using neural DTS surround downmixer.
|
|
|
|
- PS3 - Fixed channels that have their reverb turned off, still being mixed into
|
|
reverb unit when they didn't need to be since there would be nothing to mix.
|
|
This was causing excessive dsp usage on the ps3.
|
|
- Linux/Linux64/Solaris - Fixed no sound being output due to 16bit float optimization
|
|
bug introduced in 4.29.00 pre 10.
|
|
|
|
- Event API - Fixed crossfades to empty themes making the next theme to play
|
|
go silent.
|
|
- Event API - Fixed crash when calling EventSystem::getEventBySystemID() and
|
|
EventCategory::getEventByIndex() functions with invalid indices.
|
|
- Event API - Fixed event system get functions returning invalid data when indices
|
|
are negative.
|
|
|
|
- Profiler - Spread out DSP input connections so any duplicates are more visible.
|
|
- Profiler - Fixed standalone tool not loading on some machines due to CRT
|
|
conflicts.
|
|
|
|
* Xbox 360 - If no memory pool or memory callback system is passed to FMOD,
|
|
FMOD will now use less memory and avoid excessive calls to XPhysicalAlloc
|
|
(which has larger page sizes). It is only significant if you did not pass
|
|
a memory block to fmod or use the memory callback override system.
|
|
* PS3 - Now built with SDK 300.001
|
|
* iPhone - Now built with SDK 3.1.2
|
|
|
|
01/10/09 4.29.00 pre 10 - Development internal update
|
|
-----------------------------------------------------
|
|
|
|
+ Reduce overall memory usage around 100-200kb by using 16bit floats for
|
|
internal DSP matrix storage (not implemented on PS3 yet).
|
|
|
|
- Fixed Sound::setSubSoundSentence causing block in System::playSound even when
|
|
using FMOD_NONBLOCKING flag.
|
|
- Remove potential millisecond stall in Sound::release
|
|
- Remove potential millisecond stall when Channel::addDSP was used and a voice
|
|
swapped between virtual and real and vice versa.
|
|
- Renamed internal ogg functions to prevent multiply defined symbol errors when
|
|
statically linking to FMOD and ogg libraries.
|
|
- Stopped reverb channel properties for instances other than #0 applying to
|
|
3d reverbs
|
|
|
|
- PSP - Fixed dsp bufferlength being hardcoded to 256 samples causing crackles
|
|
when using the software mixer sometimes. It is now set to the default
|
|
of 1024.
|
|
- PS3 - Fixed *extremely* rare bug where a burst of static is sometimes heard
|
|
when playing an mpeg stream.
|
|
- PS2/PSP/Wii - Fix 3D Pan Level not affecting attenuation and doppler on
|
|
hardware voices.
|
|
|
|
- Event API - Fixed problem with sounddef respawning after fadeout is complete
|
|
- Event API - PS2/PSP/Wii - Fix 3d Pan Level having no effect.
|
|
- Event API - Fixed false detection of music data when loading projects since
|
|
reverb and volume settings were added in 4.29.00 pre 7
|
|
|
|
|
|
11/09/09 4.29.00 pre 9 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
- Fix memory leak with Channel::setSpeakerLevels and virtual voices.
|
|
|
|
- Xbox 360 - Fix very small intermittent click on stereo XMA data when looping.
|
|
|
|
- PSP - Fixed hang when releasing a stream while the disc is ejected.
|
|
- PSP - Fixed setPaused not working on hardware 3D sound when its velocity is
|
|
updated.
|
|
|
|
* iPhone - changed route override behavior so it only affects receiver vs
|
|
speaker choices.
|
|
* iPhone - now built with SDK 3.1.
|
|
|
|
03/09/09 4.29.00 pre 8 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
- Fixed rare hang when loading certain MIDI files.
|
|
|
|
- Xbox 360 - Fix FMOD releasing XAudio2 handle if user passed in their own.
|
|
- Xbox 360 - Fix multichannel XMA seeking slowly.
|
|
|
|
- PSP - Fixed occasional ticking when playing hardware 3d sounds.
|
|
|
|
|
|
27/08/09 4.29.00 pre 7 - Development internal update
|
|
----------------------------------------------------
|
|
+ Event API - added MusicSystem::setReverbProperties and getReverbProperties to
|
|
change the wet and dry levels relative to those set in FMOD
|
|
Designer.
|
|
|
|
- the 'Direct' (dry) mix in reverb channel properties is now applied to all
|
|
reverb instances when using setReverbProperties on events or channels to
|
|
prevent the dry level from changing when multiple instances are used.
|
|
|
|
- Event API - fixed Event::getReverbProperties() only returning properties of
|
|
reverb channel instance #0.
|
|
|
|
* Event API - MusicSystem wet and dry levels default to 0dB if these have not
|
|
been set in FMOD Designer.
|
|
|
|
19/08/09 4.29.00 pre 6 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
+ Added mono sound support to '3D Speaker spread', or Channel::set3DSpeakerSpread.
|
|
Now a mono sound can be spread around the speakers a bit rather than pinpointing
|
|
a certain speaker location.
|
|
|
|
+ iPhone - Added FMOD_IPHONE_SESSIONCATEGORY_PLAYANDRECORD to extra driver data
|
|
allowing FMOD to be initialized ready for recording, which removes the
|
|
short delay when recordStart is called.
|
|
|
|
- Xbox360 - Fixed rare seektable corruption if loading the same FSB non-blocking
|
|
and in the main thread at once.
|
|
|
|
- Event API - Fix music system leaking memory if disk is ejected.
|
|
|
|
* Streams using FMOD_NONBLOCKING now seek/reflush in FMOD_NONBLOCKING thread
|
|
instead of the stream decode thread. This has the advantage of not stalling
|
|
other streams that are playing while the seeking stream flushes. Basically
|
|
it improves sound stability = less stuttering while seeking.
|
|
* Mono streams inside FSB files that have other higher channel count streams in
|
|
them now pan to center speaker rather than being copied into all speakers
|
|
(and therefore being too loud).
|
|
* 3D Reverb zones now interpolate correctly, before they were getting too loud
|
|
in crossover points.
|
|
|
|
13/08/09 4.29.00 pre 5 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
+ iPhone - added support for setDSPBufferSize.
|
|
+ iPhone - improved performance with 3GS.
|
|
+ Wii - Added new function FMOD_Channel_SetControllerSpeakerSubchannel to allow
|
|
only a particular channel of a stereo or greater sound to be played out
|
|
of the WiiMote.
|
|
|
|
- Fixed memory usage reporting of DSP effects
|
|
- Fixed hang in sound release with net streams if the network was disconnected.
|
|
|
|
- Wii - Fixed rare case where starving flag is not being set when disk is ejected
|
|
right when a seek happens.
|
|
- iPhone - fixed potential sound corruption problems when under heavy DSP load.
|
|
- iPhone - removed deprecated audio sessions.
|
|
- PSP - Fixed 3D doppler not working on hardware sounds.
|
|
- linux/linux64 - fixed potential crash with OSS output if machine has more
|
|
than 32 drivers.
|
|
|
|
- Event API - Calling freeEventData on an event from its own event callback now
|
|
returns an error instead of crashing.
|
|
|
|
06/08/09 4.29.00 pre 4 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
+ Added parameter ramping for DSP Lowpass and DSP Highpass filters to avoid
|
|
clicking when parameters are suddenly changed.
|
|
|
|
- fixed race condition when loading an FSB as blocking and non-blocking at the
|
|
same time.
|
|
- fixed memory leak when switching output modes after enumerating the driver list.
|
|
- S3M - Fixed global volume setting being ignored causing distortion on some files.
|
|
- Fixed popping/clicking when cutoff for FMOD_DSP_TYPE_LOWPASS and
|
|
FMOD_DSP_TYPE_HIGHPASS is set past the Nyquist frequency.
|
|
|
|
- 360 - fix FMOD memory allocation callbacks not passing FMOD_MEMORY_XBOX360_PHYSICAL
|
|
when it should have causing an assert in the XMA decoder.
|
|
- Wii - Fixed paused sounds not being muted on WiiMote when "muteremotespeakerifnosound"
|
|
is set.
|
|
- Wii/PS2/PSP - For non-mono sounds, added clamping to Sound::lock to avoid crashes
|
|
when more than 16384 bytes is locked or locking past the end of a
|
|
sound.
|
|
- Wii/PS2/PSP - For non-mono sounds, fixed Channel::set/getPosition setting/returning
|
|
the wrong value when FMOD_TIMEUNIT_PCMBYTES is used.
|
|
- C# - Fixed memory leak with Sound.getTag().
|
|
- C# - Fixed compile error with fmod_memoryinfo.cs.
|
|
|
|
- Event API - Fixed music system not handling preloaded FSBs properly
|
|
|
|
* PS3 - Now built with SDK 280.001
|
|
|
|
27/07/09 4.29.00 pre 3 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
+ Added DLS cache for MIDI files, reduces overall memory when multiple MIDIs are
|
|
loaded with the same DLS file. Also improves load times by avoiding repeated
|
|
parsing of DLS.
|
|
|
|
+ iPhone - Now compiled as a fat library to improve performance on iPhone 3GS.
|
|
|
|
- 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 - Fixed a rare bug where sometimes not all streams would be loaded
|
|
for events or groups retrieved with FMOD_EVENT_NONBLOCKING
|
|
- Event API - Fixed parameter keyoff behaviour bug introduced in 4.27.00 pre 11
|
|
|
|
16/07/09 4.29.00 pre 2 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
- Fixed buzzing sound coming from reverb when there are no active channels introduced in 4.27.01
|
|
- Fixed rare crash releasing samples but not streams while playing.
|
|
- Fixed tremolo phase from reseting when controlled by an event parameter.
|
|
- Tremolo effect no longer resets the LFO when the phase parameter is set to
|
|
zero. Set the phase to one to reset the LFO to the lowest point in its
|
|
cycle.
|
|
|
|
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 distortion in DSP Delay filter if FMOD_DSP_DELAY_MAXDELAY was set
|
|
to a value too near FMOD_DSP_DELAY_CH*.
|
|
- PS3 - Fixed garbled sound when playing a multichannel mp3 fsb stream that was
|
|
not encoded as stereo pairs.
|
|
- PS3 - Fixed crash when playing IT files that use the IT Echo effect.
|
|
|
|
- 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.
|
|
|
|
* Memory_GetStats now has a 'blocking' parameter which allows the user to get
|
|
the memory usage quickly, or accurately.
|
|
|
|
09/07/09 4.29.00 pre 1 - Development internal 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
|
|
|
|
- FSBankEx - Fixed cached file being used even when
|
|
FSBANK_BUILD_USEOLDOPTIMIZEDRATE was changed.
|
|
|
|
- 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.
|
|
- iPhone - Reduced size of reduced lib by ~400KB.
|
|
|
|
- Fixed divide by zero when calling Channel::setSpeakerLevels on hardware sounds
|
|
with levels set to 0.0f.
|
|
|
|
02/07/09 4.27.00 - Development branch release
|
|
---------------------------------------------
|
|
|
|
+ Added ignoresetfilesystem to FMOD_CREATESOUNDEXINFO structure. Useful for
|
|
specific cases where you don't want to use your own file system but want to
|
|
use fmod's file system (ie net streaming).
|
|
+ Improved performance of FMOD Delay DSP effect for all platforms except PS3.
|
|
|
|
+ Win32 - More efficient semaphore implementation to reduce OS memory overhead.
|
|
|
|
+ Event API - Music themes are now limited to one instance so rapid repeated
|
|
triggering doesn't cause them to "stack up"
|
|
+ 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.27.00 pre 12 - Development internal update
|
|
-----------------------------------------------------
|
|
|
|
+ PS3 - MP3 decoder switched to Sony mp3 decoder. This gives a performance
|
|
improvement as well as allowing you to use mp3 on the ps3 without the
|
|
need for a seperate mp3 license. MP2 is no longer supported on the ps3.
|
|
Note: You will need to rebuild your mp3 banks.
|
|
+ Event API - Implemented network tweaking for event user properties (only int
|
|
and float)
|
|
+ Event API - Added a hash to fev/fsb files for more reliable mismatch errors
|
|
reporting
|
|
|
|
- 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.27.00 pre 11 - Development internal update
|
|
-----------------------------------------------------
|
|
|
|
+ iPhone - Added recordtodisk example.
|
|
+ iPhone - Added new output member to extra driver data that specifies whether
|
|
iPod (external) audio is playing or not.
|
|
|
|
+ Event API - Added FMOD_EVENTPROPERTY_WILL_TERMINATE.
|
|
+ Event API - Added sound definition pitch randomisation modes for
|
|
recalculating pitch either every spawn (default), when triggered
|
|
by a parameter or only once when an event is started.
|
|
|
|
- Fixed VSTs using the 2.4 spec not loading.
|
|
- 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.27.00 pre 7.
|
|
- Mac - Fixed directory based bundles not working as plugins.
|
|
- Mac - Fixed FMOD_SPEAKERMODE_RAW not outputting in channel order.
|
|
- Wii - Fixed syncpoints in GCADPCM FSB files with both stereo and mono sounds.
|
|
|
|
* FSB codec. If FMOD_CREATESOUNDEXINFO::inclusionlist and
|
|
FMOD_CREATESOUNDEXINFO::numsubsounds are used together, this will trigger a
|
|
special mode where subsounds are shuffled down to save memory. There will be
|
|
no gaps, ie no null subsounds.
|
|
|
|
* .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.27.00 pre 10 - Development internal 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.27.00 pre 6.
|
|
- 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 EventParameter::keyOff() being ignored between two
|
|
EventSystem::update() calls when no time has elapsed.
|
|
- 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
|
|
|
|
- Profiler - Fixed profiler not disconnecting when Xbox360 reboots.
|
|
|
|
* 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.27.00 pre 9 - Development internal 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 - Fixed samplerate optimisation over-estimating samplerates for
|
|
short sounds.
|
|
- 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.27.00 pre 8 - Development internal 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.27.00 pre 7 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
+ Event API - Added EventSystem::getMusicCategory()
|
|
|
|
- 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.
|
|
|
|
* 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.27.00 pre 6 - Development internal 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.
|
|
- Fixed System::createSound() with FMOD_NONBLOCKING to use the stream buffer
|
|
size that was set at the time the call was made.
|
|
|
|
- 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 - Made Event::setPropertyByIndex return FMOD_ERR_UNSUPPORTED for
|
|
attempts to set fadein or fadeout when an event is playing.
|
|
- 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 - SPU Mixer partial rewrite to make it more like the other cross platform
|
|
mixer should eliminate ps3 only mixer issues.
|
|
- PS3 - Fixed reverse playback not working properly.
|
|
- PS3 - Fixed rare case where volume doubles up in certain dsp tree
|
|
configurations (introduced in 4.27.00 pre 1)
|
|
- PS3 - Fixed rare case where sometimes certain dsp nodes are inaudible.
|
|
(introduced in 4.27.00 pre 1)
|
|
|
|
- FSBankEx - Fixed cache not rebuilding when rate optimisation changes.
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
4/05/09 4.27.00 pre 5 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
+ Added FMOD_DSP_TYPE_TREMOLO effect which produces tremolo, chopper and
|
|
auto-pan effects.
|
|
|
|
!- Fixed sounds suddenly looping when they shouldn't be. Bug introduced 4.27.00 pre 3.
|
|
- 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).
|
|
|
|
* FMOD_EVENTPROPERTY_WII_CONTROLLERSPEAKER changed to
|
|
FMOD_EVENTPROPERTY_WII_CONTROLLERSPEAKERS. You now pass in an
|
|
FMOD_WII_CONTROLLER_* flag (or combination) to setPropertyByIndex rather than
|
|
just the WiiMote index.
|
|
|
|
* 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.27.00 pre 4 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
+ iPhone - Added offlinedecoding example.
|
|
+ Win32/Win64 - added manual decoding example.
|
|
|
|
+ Event API - Added FMOD_EVENT_INIT_LOWERCASE_FILENAMES
|
|
+ Event API - Added support for early link transitions on bars or beats
|
|
|
|
+ Event Net API - Added C wrapper. C users use fmod_event_net.h, C++ users use
|
|
fmod_event_net.hpp and fmod_event_net.h.
|
|
|
|
- Fix new streams that play causing other, already playing streams to stutter.
|
|
!- Fix hang in Sound::release if sound didnt play, introduced in 4.25.03.
|
|
- Fixed function signatures for C interface in docs
|
|
|
|
- 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.
|
|
* User file callbacks can now return FMOD_ERR_FILE_COULDNOTSEEK to tell codecs
|
|
to use non seeking mode (ie mp3 or ogg vorbis). Good for net streaming.
|
|
|
|
*** Event Net API - C++ users should now use fmod_event_net.hpp!
|
|
|
|
23/04/09 4.27.00 pre 3 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
!+ FSBankEx - Improved optimised rate seeking and decimation quality. This will
|
|
affect all sounds for which optimised rates are used. Added
|
|
flag FSBANK_BUILD_USEOLDOPTIMIZEDRATE to process sound files
|
|
using previous method and preserve their existing sound.
|
|
|
|
- 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.
|
|
- Wii - Fixed GCADPCM streams not looping properly (issue introduced in previous
|
|
release).
|
|
- Linux - Fixed ALSA output mode potentially reporting the incorrect default
|
|
output device when there are multiple soundcards installed.
|
|
|
|
* Event API - Music category/channelgroup is now created in EventSystem::init
|
|
not EventSystem::load
|
|
|
|
17/04/09 4.27.00 pre 2 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
+ Optimized small streams not to read disk again after being fully buffered.
|
|
Big reduction in disk access means less stuttering/smaller buffersizes.
|
|
FMOD_SOFTWARE only.
|
|
+ Add FMOD_MEMORY_STREAMBUFFER/FMOD_MEMORY_ALL flags to FMOD_MEMORY_TYPE.
|
|
|
|
+ PS3 - Added automatic muting/pausing of sounds in "music" channelgroup if
|
|
PS3 System BGM music is playing.
|
|
+ PSP - Increased performance of SNC library to be closer to that of GCC
|
|
library.
|
|
+ Event API - Added reverbocclusion parameter to event occlusion callback.
|
|
|
|
!+ Event API - Reverb levels from effects and Event::setReverbProperties are
|
|
now scaled by event Reverb Dry Level and Reverb Wet Level values
|
|
instead of overriding them. If the old overriding behaviour is
|
|
desired, set event reverb levels to 0 so they have no effect.
|
|
|
|
!- 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 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.
|
|
|
|
* Changed FMOD_INIT_NEURALTHX_DOWNMIX to FMOD_INIT_DTS_NEURALSURROUND.
|
|
* Changed FMOD_INIT_360_MUSICMUTENOTPAUSE to FMOD_INIT_SYSTEM_MUSICMUTENOTPAUSE.
|
|
|
|
* 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.27.00 pre 1 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
+ Added parameter 'geometry' to System::getCPUUsage for geometry thread
|
|
+ Added profiling of geometry thread to Profiler, this means new versions of
|
|
the API cannot connect to older versions of profiler!
|
|
|
|
+ iPhone - Improved performance for busy DSP trees.
|
|
+ Xbox 360 - Added microphone recording support.
|
|
|
|
- Fix bad loading code in FSB codec, when using a number of syncpoints
|
|
that exceed 64kb total, feature added 4.25.00 pre release (#7)
|
|
- 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.
|
|
- Fixed memory leak in threaded geometry.
|
|
|
|
- PS3 - Fixed Channel::setLoopCount not working correctly.
|
|
- Xbox360 - Fixed incorrect thread assignments, bug introduced in 4.25.00 pre 6.
|
|
- Xbox360 - Fixed occasional crash when calling System::setReverbProperties with
|
|
FMOD_PRESET_OFF.
|
|
- Xbox360 - Fixed certain .xma files returning FMOD_ERR_FORMAT
|
|
- 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.
|
|
|
|
- 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.25.00 - Development 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.
|
|
+ Added DSP Delay effect.
|
|
+ Moved geometry processing into a background thread.
|
|
+ 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.25.00 pre 8 - Development internal update
|
|
----------------------------------------------------
|
|
+ Event API - Added the FMOD_EVENT_INIT_DETAILED_SOUNDDEF_INFO init flag.
|
|
This causes an FMOD_EVENT_SOUNDDEFINFO struct to be passed to
|
|
the FMOD_EVENT_CALLBACKTYPE_SOUNDDEF_SELECTINDEX event callback
|
|
so it can choose an index based on waveform names.
|
|
|
|
- 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.25.00 pre 7 - Development internal 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.25.00 pre 6 - Development internal 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.25.00 pre 5 - Development internal 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.25.00 pre 4 - Development internal update
|
|
----------------------------------------------------
|
|
|
|
- Fixed crash when reinitializing FMOD, i.e. System::close() then
|
|
System::init(). Bug introduced in 4.25.00 pre 2.
|
|
|
|
- FSBank - Fixed error building some multi-channel MP2 banks
|
|
|
|
- Wii - Make Channel::setSpeakerMix and Channel::setSpeakerLevels more functional
|
|
on hardware channels.
|
|
|
|
6/02/09 4.25.00 pre 3 - Development internal 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.25.00 pre 1
|
|
|
|
- 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.25.00 pre 2 - Development internal 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.25.00 pre 1 - Development internal 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
|