mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-10-31 08:16:03 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			5897 lines
		
	
	
		
			326 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			5897 lines
		
	
	
		
			326 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
| ==========================================================================================
 | |
|                             REVISION HISTORY : FMOD Studio API                            
 | |
|                  Copyright (c) Firelight Technologies, Pty, Ltd, 2011-2023                
 | |
|                                    https://www.fmod.com                                   
 | |
| ==========================================================================================
 | |
| 
 | |
| Legend
 | |
| ------
 | |
| Win:     Microsoft Windows             XboxOne:  Microsoft Xbox One
 | |
| Mac:     Apple macOS                   GameCore: Microsoft Game Core
 | |
| Linux:   Linux                         PS4:      Sony PlayStation 4
 | |
| iOS:     Apple iOS / tvOS              PS5:      Sony PlayStation 5
 | |
| Android: Google Android                Switch:   Nintendo Switch
 | |
| HTML5:   JavaScript WebAssembly        UWP:      Microsoft Universal Windows Platform
 | |
| 
 | |
| 27/9/23 2.02.18 - Studio API minor release (build 137105)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - iOS - A new output plugin called FMOD_OUTPUTTYPE_PHASE has been
 | |
|                  enabled, which supports 3D spatial objects. For iOS 16.4.
 | |
| * Core API     - PS5 - From SDK 8.00 we now support Dolby Atmos and thus 7.1.4 output.
 | |
|                  To enable this set FMOD_SPEAKERMODE_7POINT1POINT4.
 | |
| * Unity        - Emitters are now able to be triggered from UI elements using mouse events.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed programmer sounds getting spatialized by the Core API if
 | |
|                  the passed in Sound had the FMOD_3D mode set.
 | |
| * Studio API   - Fixed shared streaming assets being forced to stop when the bank they are
 | |
|                  streaming from is unloaded if the bank was loaded via
 | |
|                  Studio::System::loadBankCustom.
 | |
| * Studio API   - Fixed pops when calling Studio::EventInstance::setTimelinePosition on
 | |
|                  events with only one sound on the timeline.
 | |
| * Studio API   - Fixed streaming instruments failing to stop at the right time if they
 | |
|                  were started too close to the end.
 | |
| * Studio API   - Multi instruments/scatterers now factor in silence instruments when
 | |
|                  determining whether to play an instrument from a playlist in shuffle
 | |
|                  mode. If an instrument is followed by one or more silence instruments,
 | |
|                  that instrument will not be selected to play next.
 | |
| * Core API     - Fixed cycles created using DSP connections not causing a feedback
 | |
|                  loop.
 | |
| * Core API     - Slight improvement to Multiband EQ filter stability near the upper
 | |
|                  end of the frequency range on 24kHz devices.
 | |
| * Core API     - Clamp and log a warning when setting a high pitch value rather
 | |
|                  than returning an error.
 | |
| * Core API     - Fixed some DSP effects incorrectly skipping processing as if bypassed
 | |
|                  via DSP::setBypass when DSP::setWetDryMix is called with prewet set to 0.
 | |
| * Core API     - Fixed potential crash in the transceiver DSP if certain pre-init
 | |
|                  calls are made in sequence, such as System::setDSPBufferSize followed
 | |
|                  by System::setOutput.
 | |
| * Core API     - Fixed potential crash (or assert) when opening and closing ports.
 | |
| * Core API     - Fixed potential audio corruption for 3D objects if the mixer is
 | |
|                  under heavy load.
 | |
| * Core API     - PS5 - Fixed internal error from sceAudioOut2PortSetAttributes returning
 | |
|                  "not-ready" caused by a race condition in opening a port.
 | |
| * Core API     - Windows - Fixed WASAPI device enumeration memory leaks when devices fail.
 | |
| * Unreal       - Fixed Sequencer ignoring Start keys at frame 0.
 | |
| * Unreal       - Restore "Reload Banks' option to File dropdown menu.
 | |
| * Unreal       - Added validation to fix lack of leading or trailing forward slash in
 | |
|                  Content Browser Prefix.
 | |
| * Unreal       - Fixed FMODAudioComponent ignoring "When Finished" behavior when
 | |
|                  Sequencer finishes playback.
 | |
| * Unreal       - Fixed localized banks not working.
 | |
| * Unity        - Fixed non-rigidbody doppler dividing by 0 if Time.timescale = 0.
 | |
| * Unity        - Fixed issue when playing in Editor where the path plugins were
 | |
|                  attempted to be loaded from contained "/Assets" twice. 
 | |
| * Android      - Fixed playerSetVolume crash on devices with Android OS below Android T.
 | |
| * Windows      - Removed hard dependency on msacm32.dll.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Calling the DSP plugin API functions, FMOD_DSP_GETSAMPLERATE,
 | |
|                  FMOD_DSP_GETBLOCKSIZE, or FMOD_DSP_GETSPEAKERMODE before init
 | |
|                  will now return an error as those settings are not confirmed until
 | |
|                  after initialization.
 | |
| * PS4          - Now built with SDK 10.508.001.
 | |
| * PS5          - Now built with SDK 7.00.00.38.
 | |
| 
 | |
| 21/8/23 2.02.17 - Studio API minor release (build 136061)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed Studio::EventInstance::getTimelinePosition occasionally reporting
 | |
|                  incorrect position.
 | |
| * Studio API   - Fixed hang after running an Event for 12 hours with beat callbacks.
 | |
| * Studio API   - Fixed instruments that are automated on the timeline having incorrect
 | |
|                  automated values when they start.
 | |
| * Core API     - Fixed virtual voice issue that could cause Channels to restart.
 | |
| * Core API     - Fixed assert firing from resampler for wildly varying pitch values.
 | |
| * Core API     - Fixed FMOD_INIT_3D_RIGHTHANDED to work correctly when using
 | |
|                  FMOD_3D_HEADRELATIVE.
 | |
| * Core API     - GameCore/PS5 - Fixed the Opus and XMA codecs to display an appropriate
 | |
|                  error log if the DSP buffer size is not 512.
 | |
| * Core API     - HTML5 - Fixed compiler errors to do with using Strict Mode.
 | |
| * Unity        - Fixed Studio Global Parameter Trigger silently failing on awake.
 | |
| * Unity        - FMOD Studio system failing to initialize will no longer throw as
 | |
|                  an exception.
 | |
| * Unity        - Fixed error when auditioning Events containing global parameters in
 | |
|                  Event Browser.
 | |
| * Unreal       - Fixed FMODAudioComponents always using default parameter values.
 | |
| * Unreal       - Fixed Sequencer restarting AudioComponents when Sequencer Editor
 | |
|                  open.
 | |
| * Unreal       - Fixed crash when FMOD Studio project contains folders with "."
 | |
|                  character.
 | |
| * Unreal       - Fixed FMODGenerateAssets commandlet not deleting old assets on
 | |
|                  rebuild.
 | |
| * Android      - Fixed exported symbols to avoid issues with unwinder on armeabi-v7a.
 | |
| 
 | |
| 13/7/23 2.02.16 - Studio API minor release (build 135072)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed voice stealing behavior not updating when connected to live
 | |
|                  update.
 | |
| * Studio API   - Fixed instruments with AHDSR not stopping after release, introduced
 | |
|                  in 2.02.15.
 | |
| * Unity        - Fixed ApplyMuteState and PauseAllEvents functions when when using
 | |
|                  Addressables
 | |
| * Unity        - Fixed Editor Platform settings inheriting from the Default Platform.
 | |
| * Unity        - Fixed folder references to allow the FMOD Plugin base folder to
 | |
|                  be moved anywhere on disk for use with the Unity Package Manager.
 | |
| * Unreal       - Fixed potential crash when linking to Studio project locales.
 | |
| * iOS/Mac      - Fixed example Xcode projects with incorrect paths failing to load.
 | |
| 
 | |
| Notes:
 | |
| * Unity        - Added support for Unity 2023.1.
 | |
| 
 | |
| 2/6/23 2.02.15 - Studio API minor release (build 134211)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unreal       - Added FMODStudioModule::GetDefaultLocale to get the default locale
 | |
|                  which can be changed in the FMOD Settings.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed live update crash if tweaking an Event with an empty single
 | |
|                  sound instrument.
 | |
| * Studio API   - Fixed potential crash if releasing an EventInstance from the Stop
 | |
|                  callback.
 | |
| * Studio API   - Fixed third party DSP plugins causing potential assert by calling
 | |
|                  DSP::setParameterDSP on effects managed by Studio.
 | |
| * Unity        - Fixed Addressable banks not being built when building with batchmode.
 | |
| * Unreal       - Fixed rare AudioVolume Reverb Effect cast crash.
 | |
| * Unreal       - Fixed crash when using Hot Reload in UE4.26 & 4.27.
 | |
| * Unreal       - FMODStudioModule::GetLocale correctly now returns the currently
 | |
|                  set locale instead of the default.
 | |
| * Unreal       - PS4 - Fixed audio degradation due to mixer thread competing with
 | |
|                  renderer thread.
 | |
| 
 | |
| Notes:
 | |
| * iOS          - Now built with iOS SDK 16.4 (Xcode 14.3).
 | |
| * Mac          - Now built with macOS SDK 13.3 (Xcode 14.3), min deploy target
 | |
|                  is now 10.13 as mandated by Xcode.
 | |
| * Unreal       - Added support for UE5.2.
 | |
| 
 | |
| 3/5/23 2.02.14 - Studio API minor release (build 133546)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Examples now have a Common_Log function for outputting to TTY.
 | |
| * Unity        - Reduced time spent generating bank stubs, and reduced time spent copying
 | |
|                  banks into StreamingAssets folder when building.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed crash when adding parameter sheet to a playing event while live
 | |
|                  update connected.
 | |
| * Studio API   - Fixed instruments starting playback with stale property values during
 | |
|                  hotswap.
 | |
| * Studio API   - Fixed Global Parameters being unable to automate other Global Parameters.
 | |
| * Core API     - PS5 - Fixed out-of-resources errors when decoding a large number
 | |
|                  of FMOD_CREATESAMPLE (decompress into memory) sounds encoded as AT9.
 | |
| * Core API     - Win/GameCore - Fixed potential crash when an audio device reports
 | |
|                  an invalid name.
 | |
| * Unity        - Fixed Find and Replace tool not finding prefabs.
 | |
| * Unity        - iOS - Fixed audio not resuming after opening and closing Siri.
 | |
| * Unity        - Fixed hang caused by RuntimeManager access when auditioning in timeline.
 | |
| 
 | |
| 17/3/23 2.02.13 - Studio API minor release (build 132591)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unity        - Added non-Rigidbody Doppler effect option on Emitters.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed voice stealing failing on events in FMOD_STUDIO_PLAYBACK_STOPPING
 | |
|                  state.
 | |
| * Studio API   - Fixed assert during Live Update when deleting a Global Parameter.
 | |
| * Studio API   - AHDSR modulators will now have correct release behavior when
 | |
|                  the instrument stop condition is triggered by an event condition.
 | |
| * Studio API   - Fixed crash when changing parameter scope on a playing event.
 | |
| * Studio API   - Fixed a crash when removing automations via Live Update.
 | |
| * Core API     - Fixed playback issues with certain ice/shoutcast net-streams.
 | |
| * Core API     - GameCore - Fixed rare crash when playing back compressed Opus.
 | |
| * Core API     - GameCore - Reduced memory usage for hardware convolution reverb.
 | |
| * Core API     - Mac - Fixed crash when using input devices below 16kHz sample rate.
 | |
| * Core API     - PS5 - Fixed audio output stutters when a port disconnects.
 | |
| * Core API     - Win - Fixed record enumeration fails causing crash.
 | |
| * Unity        - Fixed Visual Scripting units not generating in Unity 2021+.
 | |
| * Unity        - Fixed plugin bundles not working on Mac.
 | |
| * Unreal       - Fixed AssetLookup being modified each time the editor is opened.
 | |
| * Unreal       - Fixed Editor Live Update not connecting to Studio.
 | |
| 
 | |
| Note:
 | |
| * GameCore     - Now built with October 2022 QFE 1 GDKX.
 | |
| * Switch       - Now built with SDK 15.3.0.
 | |
| 
 | |
| 31/1/23 2.02.12 - Studio API minor release (build 131544)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Warning is now logged when a voice swap occurs on an voice with an
 | |
|                  audibility above -20dB.
 | |
| * Unity        - Added support for Unity 2022.2.
 | |
| * Unity        - macOS can now handle .dylib plugins natively
 | |
| * Unity        - Android - Added support for patch build.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed Live Update being ignored if Studio connects before the master Bank
 | |
|                  is loaded.
 | |
| * Studio API   - Fixed a potential crash updating a referenced 3D Event if it has
 | |
|                  been forcibly stopped due to bank unload.
 | |
| * Studio API   - Fixed issue where using a modulated parameter to automate a property of an
 | |
|                  AHDSR modulator would sometimes cause the AHDSR to start in a bad state.
 | |
| * Studio API   - Fixed VCA handles becoming invalid when live update changes them.
 | |
| * Studio API   - Fixed incorrect scheduling of playlist entries in multi instruments that
 | |
|                  have pitch changes.
 | |
| * Core API     - Switch - Fixed potential Opus crash when streaming with custom
 | |
|                  async IO callbacks.
 | |
| * Core API     - PS5 + GameCore - Hardware resource configuration (performed using
 | |
|                  platform specific FMOD APIs) will now apply during System::init
 | |
|                  rather than System::create.
 | |
| * Unity        - The EventReferenceDrawer "Open in Browser" button now functions
 | |
|                  when there is no event selected.
 | |
| * Unity        - Fixed EventRefDrawer showing incorrect "Migration target X is missing"
 | |
|                  messages on sub-object fields with MigrateTo specified.
 | |
| * Unity        - Fixed hang when RuntimeManager called outside of main thread.
 | |
| * Unity        - The Update Event References menu command now scans non-MonoBehaviour
 | |
|                  objects that are referenced by MonoBehaviours.
 | |
| * Unity        - Fixed warning "Settings instance has not been initialized...".
 | |
| * Unity        - Fixed 'multiple plugins with same name' error on Mac.
 | |
| * Unreal       - Fixed occlusion not working from Audio Component reloaded from
 | |
|                  a streamed level.
 | |
| * Unreal       - Fixed commandlet crashing when trying to delete assets.
 | |
| * Win          - Fixed examples not rendering correctly on Windows 11.
 | |
| 
 | |
| Notes:
 | |
| * Unity        - Added an example on how to pipe audio from a VideoPlayer into FMOD.
 | |
| * iOS          - Re-enabled compilation of the now deprecated Bitcode to appease
 | |
|                  toolchains such as Unity that still require it.
 | |
| * PS4          - Now built with SDK 10.008.001.
 | |
| * PS5          - Now built with SDK 6.00.00.38.
 | |
| 
 | |
| 01/12/22 2.02.11 - Studio API minor release (build 130436)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Studio::System::getBus("bus:/", ...) will now return the master
 | |
|                  bus if the master bank has been loaded, even if the strings bank has not.
 | |
| * Core API     - GameCore - Added in FMOD_GameCore_XMAConfigure. This can be used to
 | |
|                  control whether to allocate XMA codec hardware resources inside
 | |
|                  FMOD::System_Create. If not called before FMOD::System_Create the
 | |
|                  resources will be allocated on first codec use.
 | |
| * Core API     - Mac - Added support for 7.1.4 output type.
 | |
| * Core API     - PS5 - Added in FMOD_PS5_AT9Configure. This can be used to
 | |
|                  control whether to allocate AT9 codec hardware resources inside
 | |
|                  FMOD::System_Create. If not called before FMOD::System_Create the
 | |
|                  resources will be allocated on first codec use.
 | |
| * Unity        - Android - Added support for x86_64.
 | |
| * Unreal       - Added a Sound Stopped callback to the FMODAudioComponent.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed crash when connecting live update and a bank was loaded multiple 
 | |
|                  times with FMOD_STUDIO_LOAD_BANK_NONBLOCKING flag.
 | |
| * Studio API   - Fixed every asset in an Audio Table being parsed when only one
 | |
|                  item is required.
 | |
| * Studio API   - Logging more meaningful error message when attempting to get/set listener
 | |
|                  properties with an invalid listener index.
 | |
| * Core API     - Fixed recording not starting immediately after changing output devices.
 | |
| * Core API     - Fixed AAudio no-sound issue if device disconnection occurs during 
 | |
|                  initialization.
 | |
| * Core API     - Fixed a stall in Sound::release on nonblocking sounds.
 | |
| * Unity        - Added optimized DistanceSquaredToNearestListener method to avoid 
 | |
|                  unnecessary square root.
 | |
| * Unity        - Fixed StudioEventEmitter clearing handle prematurely when Allow Fadeout 
 | |
|                  enabled.
 | |
| * Unity        - Fixed FMODStudioEventEmitter inspector not updating displayed min and max
 | |
|                  attenuation when banks refreshed.
 | |
| * Unity        - Error now logged when accessing RuntimeManager from Editor-only callsite.
 | |
| * Unity        - Fixed EventReferenceDrawer input losing focus when not found
 | |
|                  warning appears.
 | |
| * Unreal       - Fixed BankLookup.uasset being modified whenever banks get refreshed
 | |
|                  while using split banks.
 | |
| 
 | |
| Notes:
 | |
| * Unreal       - Added support for UE5.1.
 | |
| * iOS          - Now built with iOS SDK 16.0 (Xcode 14.0.1), min deploy target
 | |
|                  is now 11.0 and 32bit support has been removed as mandated by Xcode.
 | |
| * Mac          - Now built with macOS SDK 12.3 (Xcode 14.0.1).
 | |
| 
 | |
| 28/10/22 2.02.10 - Studio API minor release (build 129212)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added DSP::setCallback.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed a race condition where the Studio API could delete DSP parameter
 | |
|                  data before the DSP was released.
 | |
| * Core API     - Fixed bug with fallback realloc copying excess memory when memory 
 | |
|                  callbacks being overridden but a realloc wasn't provided.
 | |
| * Core API     - Fixed crash with .MOD format with a particular combination of commands.
 | |
| * Core API     - Fixed potential FMOD_ERR_INVALID_PARAM from System::setDriver if 
 | |
|                  the device list has changed since a previous call to that function.
 | |
| * Core API     - Fixed potential crash when a Send mixes to an partially initialized
 | |
|                  Return. This crash can occur in the Studio API also.
 | |
| * Core API     - Fixed potential access violation due to internal Sound Group list
 | |
|                  corruption.
 | |
| * Core API     - Fixed Channel::setLoopPoints not applying if the stream decode buffer
 | |
|                  is larger than the Sound.
 | |
| * Unity        - Removed benign errors originating from EventInstance::set3DAttributes
 | |
|                  calls when API Error Logging is enabled.
 | |
| * Unity        - Fixed platform warning appearing unnecessarily.
 | |
| * Unreal       - Fixed BankLookup.uasset being modified whenever banks get refreshed
 | |
|                  while using split banks.
 | |
| 
 | |
| Notes:
 | |
| * Unreal       - Added support for UE5.1 preview 2.
 | |
| 
 | |
| 26/09/22 2.02.09 - Studio API minor release (build 128289)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Error now logged when attempting to set a readonly Parameter, or when 
 | |
|                  attempting to set a Global Parameter from an EventInstance.
 | |
| * Core API     - Deprecated Sound.readData(IntPtr, uint, out uint) in C# wrapper. Instead 
 | |
|                  use Sound.readData(byte[], out uint) or Sound.readData(byte[]).
 | |
| * Core API     - Added FMOD_SYSTEM_CALLBACK_RECORDPOSITIONCHANGED callback to notify when 
 | |
|                  new data recorded to FMOD::Sound.
 | |
| * Core API     - GameCore - Increased the limits of SetXApuStreamCount to match
 | |
|                  Microsoft documented maximums.
 | |
| * Unity        - Added UnloadBank overloads for TextAsset and AssetReference.
 | |
| * Unreal       - Added "Enable API Error Logging" option to Advanced settings section. 
 | |
|                  Integration will log additional internal errors when enabled.
 | |
| * Unreal       - LoadBank node "Blocking" enabled by default.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed potential crash if calling DSP::setParameter on a Pan DSP
 | |
|                  when using the Studio API.
 | |
| * Core API     - Fixed ChannelGroup::setPaused(false) to behave the same as Channel,
 | |
|                  ensuring any 3D calculations are performed before becoming audible.
 | |
| * Core API     - Fixed Opus producing different FSBank result on AMD and Intel CPUs.
 | |
| * Core API     - Fixed errors in the calculatePannerAttributes() function presented in
 | |
|                  Core API Guide section 3.5 Controlling a Spatializer DSP
 | |
|                  (formerly Driving the Spatializer).
 | |
| * Core API     - Increased net streaming max URL length to 2048.
 | |
| * Core API     - GameCore - Fixed potential XApu stream leak when playing a multi-channel
 | |
|                  Sound as the hardware limit is reached.
 | |
| * Core API     - iOS - Fixed potential crash during System::mixerSuspend /
 | |
|                  System::mixerResume when playing audio with the platform native
 | |
|                  AudioQueue (AAC) decoder.
 | |
| * Core API     - iOS - Fixed simulator detection.
 | |
| * Core API     - Mac - Fixed CoreAudio crash when output device reports >32 outputs.
 | |
| * Core API     - Win - Fixed WinSonic crash when the device list changes before 
 | |
|                  System::init.
 | |
| * Resonance    - Android - Removed dependency on libc++_shared.so.
 | |
| * Unity        - Fixed FMODStudioSettings.asset marked dirty every time Editor reopens.
 | |
| * Unity        - Prevented unnecessary allocation when setting parameter on an FMOD 
 | |
|                  StudioEventEmitter.
 | |
| * Unity        - Fixed errors when upgrading Unity versions.
 | |
| * Unreal       - Provided default values to prevent various initialization warnings.
 | |
| 
 | |
| Notes:
 | |
| * Unreal       - Moved various internal functions and fields to private.
 | |
| 
 | |
| 15/08/22 2.02.08 - Studio API minor release (build 126901)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added FMOD_INIT_CLIP_OUTPUT flag to enable hard clipping of float values.
 | |
| * Core API     - GameCore - Added SetXApuStreamCount and XDspConfigure to C# wrapper.
 | |
| * Core API     - PS5 - Added AcmConfigure and AjmConfigure to the C# wrapper.
 | |
| * Core API     - PS5 - Opus hardware decoding is now supported.
 | |
| * Core API     - PS5 - Added vibration support for the PSVR2 controller via
 | |
|                  FMOD_PORT_INDEX_FLAG_VR_CONTROLLER.
 | |
| * Unity        - Timeline events now begin playback from relative playhead position when 
 | |
|                  auditioning in the timeline.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - EventDescription::is3D now returns the correct result if the Event uses
 | |
|                  SpeedAbsolute or DistanceNormalized parameters. Requires bank rebuild.
 | |
| * Core API     - Fixed ASIO driver enumeration crash caused by invalid driver.
 | |
| * Core API     - Fixed incorrect thread IDs being used on pthread based platforms.
 | |
| * Core API     - Fixed System::setReverbProperties / FMOD_DSP_TYPE_SFXREVERB not working 
 | |
|                  with 7.1.4 input.
 | |
| * Core API     - Fixed crash from reading bad m3u file.
 | |
| * Core API     - Fixed the memory tracking system sometimes running out of memory.
 | |
| * Core API     - GameCore - Fixed potential crash when there are insufficient xAPU
 | |
|                  resources remaining.
 | |
| * Core API     - Win - Fixed crash in device enumeration cleanup.
 | |
| * Core API     - C# - Some callback types renamed in fmod_dsp.cs to match C header.
 | |
|                  DSP_CREATECALLBACK becomes DSP_CREATE_CALLBACK for example. 
 | |
| * Unity        - Updated deprecated GameCore build target and runtime platform for Unity 
 | |
|                  2019.4.
 | |
| * Unity        - Fixed issue with "Desktop" being added to build path twice when 
 | |
|                  selecting "Multiple Platform Build" Source Type.
 | |
| * Unity        - Fixed issue with HaveAllBanksLoaded not working when banks loaded via 
 | |
|                  AssetReferences.
 | |
| * Unity        - Fixed UnsatisfiedLinkError crash on Android when no FMODUnity components 
 | |
|                  present.
 | |
| * Unity        - Improved readability of folders in CreateEventPopup.
 | |
| * Unreal       - Fixed Blueprint LoadBank not correctly honouring Load Sample data flag.
 | |
| * Unreal       - Removed spurious log warning about initial value of global parameters.
 | |
| * Unreal       - Fixed memory leak when using PlayEventAttached in nosound mode.
 | |
| 
 | |
| Notes:
 | |
| * Switch       - Now built with SDK 14.3.0.
 | |
| * Unreal       - Added support for UE5.0.3.
 | |
| 
 | |
| 18/05/22 2.02.07 - Studio API minor release (build 125130)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - HTML5 - FMOD now handles user interaction internally to allow sound to
 | |
|                  work. The developer no longer has to handle boilerplate code 
 | |
|                  to allow user interaction.
 | |
| * FSBank API   - Mac - Added FSBankLib.
 | |
| * Unreal       - Added support for speaker mode 7.1.4 in the editor settings.
 | |
| * Unreal       - Added separate platforms settings for a variety of options.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed steal quietest not working correctly causing new EventInstances
 | |
|                  to think they are the quietest and not play. 
 | |
| * Core API     - Fixed ChannelGroup::setPitch when applied to the master channel 
 | |
|                  group causing exaggerated pitch changes as time goes on.
 | |
| * Core API     - HTML5 - Fixed integer overflow crash in fastcomp builds after 70 mins.
 | |
| * Core API     - Linux - Fixed potential hang on shutdown due to bad sound drivers.
 | |
| * Core API     - Linux - Fixed crash during System::init if using 
 | |
|                  System::setOutput(FMOD_OUTPUTTYPE_PULSEAUDIO) on a machine 
 | |
|                  without PulseAudio.
 | |
| * Unity        - Fixed an error occurring when a timeline playhead leaves an event
 | |
|                  playable.
 | |
| * Unity        - Added missing EventReference overload for PlayOneShotAttached.
 | |
| * Unity        - Fixed refcount not updating when LoadBank called with TextAsset.
 | |
| * Unity        - Fixed scene hanging when auditioning timeline.
 | |
| * Unity        - Fixed events in timeline not refreshing when banks updated.
 | |
| * Unity        - Fixed platform objects on Settings asset showing no name in the project
 | |
|                  window.
 | |
| * Unity        - Fixed stale event name left behind after clearing an FMODEventPlayable's
 | |
|                  event reference field.
 | |
| * Unity        - Fixed an error caused by changing an event reference while an event is
 | |
|                  being previewed in the browser.
 | |
| * Unity        - HTML5 - Fixed the audio not playing in the Safari web browser.
 | |
| * Unreal       - Fixed not being able to audition events in the editor.
 | |
| * Unreal       - Fixed Editor crash when importing bank with paths containing a period.
 | |
| 
 | |
| Notes:
 | |
| * PS4          - Now built with SDK 9.508.001.
 | |
| * PS5          - Now built with SDK 5.00.00.33.
 | |
| * Unreal       - Added support for UE5.
 | |
| 
 | |
| 16/03/22 2.02.06 - Studio API minor release (build 124257)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Android - Added support for loading sounds via Uri paths.
 | |
| * Unity        - Added ability to set individual channel counts for each codec format
 | |
|                  supported by a given platform.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed issue where certain timeline instruments were causing
 | |
|                  EventDescription::isOneshot to incorrectly return false. This requires
 | |
|                  banks to be rebuilt to take effect.
 | |
| * Core API     - Fixed rare vorbis decoding error.
 | |
| * Core API     - Fixed crash in OutputASIO::stop if start has not been called.
 | |
| * Core API     - Fixed static noise or clicks when using DSP::setWetDryMix.
 | |
| * Core API     - Fixed FMOD_CODEC_METADATA macro parameters.
 | |
| * Core API     - Fixed bad ASIO driver causing enumeration to fail.
 | |
| * Core API     - Android - Fixed crash from headset detection with incorrect Java
 | |
|                  lifetimes.
 | |
| * Core API     - HTML5 - Fixed an issue where FMOD_OUTPUTTYPE_AUDIOWORKLET would crash
 | |
|                  if the speaker mode setup was greater than stereo while refreshing the
 | |
|                  web browser.
 | |
| * Core API     - PS5 - Fixed a crash in the convolution reverb to do with
 | |
|                  deallocating GPU memory.
 | |
| * Core API     - UWP - Fixed corrupted audio using certain headsets that implement
 | |
|                  virtual surround sound such as those from Razer.
 | |
| * Core API     - Win - Fixed WASAPI device enumeration failure causing 
 | |
|                  initialization to fail.
 | |
| * Unity        - Fixed il2cpp crash caused by CREATESOUNDEXINFO callbacks not being
 | |
|                  marshaled when loading sounds from audio tables.
 | |
| * Unity        - Fixed event browser preview area not initially displaying at correct
 | |
|                  size.
 | |
| * Unity        - Fixed error shown when attempting to delete Default and Editor platforms.
 | |
| * Unity        - Fixed audible glitches on PS4 and PS5 due to FMOD feeder thread getting
 | |
|                  blocked.
 | |
| * Unity        - Fixed enumeration of bank folders when creating an event from an event
 | |
|                  reference field in the inspector.
 | |
| * Unity        - Fixed error if Resonance Listener is not on the Master Bus.
 | |
| * Unity        - Fixed banks being reimported with every build when set to AssetBundle
 | |
|                  import type.
 | |
| * Unity        - Fixed cached events losing GUIDs after updating from a 2.01 or earlier
 | |
|                  integration.
 | |
| * Unreal       - Fixed crash when importing banks containing ports.
 | |
| * Unreal       - Fixed net streams not working with programmer sounds.
 | |
| * Unreal       - Fixed problem locking all buses on bank load if banks haven't finished 
 | |
|                  loading.
 | |
| * Unreal       - Fixed AudioComponent::OnEventStopped sometimes being called twice.
 | |
| * Unreal       - Fixed FMODAudioComponents inside AudioVolumes not having the correct 
 | |
|                  AmbientVolumeParameter value when Started after being Stopped.
 | |
| 
 | |
| Notes:
 | |
| * GameCore     - Now built with October 2021 QFE 1 GDKX.
 | |
| * Stadia       - Now built with SDK 1.71.
 | |
| * Switch       - Now built with SDK 13.3.0.
 | |
| * Unity        - GameCore - Now built with June 2021 QFE 4 GDKX.
 | |
| * Unreal       - Added support for UE5.0 preview 1.
 | |
| 
 | |
| 06/02/22 2.02.05 Patch 1 - Studio API patch release (build 123444)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed crash when allocating internal pool resources. Introduced 2.02.05.
 | |
| 
 | |
| Notes:
 | |
| * Due to the severity of the above mentioned issue, the previous release of 2.02.05
 | |
|   has been withdrawn and should not be used.
 | |
| 
 | |
| 21/12/21 2.02.05 - Studio API minor release (build 122665)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - HTML5 - Added a new FMOD_OUTPUTTYPE called FMOD_OUTPUTTYPE_AUDIOWORKLET,
 | |
|                  which uses the Web Audio AudioWorkletNode functionality.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed issue where an async instrument would not trigger if its delay
 | |
|                  interval was greater than its length on the timeline.
 | |
| * Studio API   - Fixed issue where the description of an event retrieved from a start
 | |
|                  event command would have an invalid handle unless first retrieved via
 | |
|                  Studio::System::getEvent.
 | |
| * Studio API   - Start Event Command Instrument now gracefully handles the case when the
 | |
|                  event it is trying to start has not been loaded.
 | |
| * Studio API   - Fixed issue where the scatterer instrument can spawn instruments
 | |
|                  inconsistently under certain conditions.
 | |
| * Studio API   - Fixed issue where audibility based stealing would not use
 | |
|                  FMOD_DSP_PARAMETER_OVERALLGAIN::linear_gain_additive in its calculation.
 | |
|                  For events using the object spatializer or the resonance audio
 | |
|                  source this would cause the attenuation to be ignored for stealing.
 | |
| * Studio API   - Improved general Studio API performance.
 | |
| * Studio API   - Improved determination of whether a nested event will end, reducing the
 | |
|                  incorrect cases where it would be stopped immediately.
 | |
| * Studio API   - Fixed Studio::EventInstance::getMinMaxDistance returning -1 before
 | |
|                  event starts playing.
 | |
| * Core API     - GameCore - Fixed very rare Opus decoding hang.
 | |
| * Core API     - GameCore - Improved convolution reverb XDSP recovery in case of 
 | |
|                  unexpected hardware failure.
 | |
| * Core API     - Linux - PulseAudio now attempts to load and connect for detection rather
 | |
|                  than running 'pulseaudio --check'. This improves PipeWire compatibility.
 | |
| * Unity        - Fixed event reference updater not handling multiple game objects with the
 | |
|                  same path.
 | |
| * Unity        - Fixed setup window showing event reference update step as completed when
 | |
|                  incomplete tasks remained.
 | |
| * Unreal       - FMOD plugin no longer overwrites existing Unreal editor style.
 | |
| * Unreal       - Fixed BankLookup being regenerated unnecessarily.
 | |
| * Unreal       - Fixed FMODAudioComponent not handling streaming levels correctly.
 | |
| * Unreal       - XSX - Fixed builds not finding fmod libs.
 | |
| * Unity        - Fixed platform-specific settings not being saved.
 | |
| 
 | |
| Notes:
 | |
| * Stadia       - Now built with SDK 1.62, LLVM 9.0.1.
 | |
| * Unity        - First-time installation no longer requires an event reference update
 | |
|                  scan.
 | |
| * Unity        - Event reference update tasks now display their completion status and
 | |
|                  can no longer be redundantly run multiple times.
 | |
| * Unity        - Editor now restores scene setup after finishing execution of event
 | |
|                  reference update tasks.
 | |
| 
 | |
| 19/11/21 2.02.04 - Studio API minor release (build 121702)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added support for FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED with multiple
 | |
|                  Systems
 | |
| * Core API     - Switch - Added Opus decoding for streams.
 | |
| * Unity        - HTML5 - Added support for Unity 2021.2.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - When loading pre 2.02 banks, Studio::EventDescription::getMinMaxDistance 
 | |
|                  will now provide a minimum and maximum value based on the spatializers of 
 | |
|                  that event instead of 0.
 | |
| * Core API     - Fixed potential crash / error / corruption if using Object spatializer
 | |
|                  and multiple listeners.
 | |
| * Core API     - Improve handling of disconnected devices.
 | |
| * Core API     - Fixed incorrect audibility calculation causing some sounds to incorrectly
 | |
|                  go virtual when sends are involved.
 | |
| * Core API     - iOS - Fixed crash when suspending multiple FMOD::System objects while using
 | |
|                  the AudioQueue codec.
 | |
| * Core API     - ARM based iOS / Mac / Switch.  Three EQ effect optimized to be up to 
 | |
|                  2x faster.
 | |
| * Core API     - Android and macOS - Now use Monotonic clock instead of Wall clock.
 | |
| * Core API     - Win - Fixed issue where WASAPI would fail to gracefully handle an
 | |
|                  invalidated device due to a disconnection during initialization.
 | |
| * Unity        - Added a prompt to update the FMOD folder metadata if necessary so that
 | |
|                  it can be moved to any location in the project.
 | |
| * Unity        - Fixed a bug causing the Event Browser to be in an invalid state when
 | |
|                  reopening the Unity Editor.
 | |
| * Unity        - Fixed a bug that caused stale cache assets to not be cleared correctly.
 | |
| * Unity        - Fixed attenuation override values not updating until next GUI change when
 | |
|                  a new event is selected for an emitter.
 | |
| * Unity        - Fixed a denied access error when updating FMOD for Unity integration.
 | |
| * Unity        - Fixed the bank cache refresh failing when the event browser is open.
 | |
| * Unity        - Android - Fixed command line builds not using split application binary.
 | |
| * Unity        - Mac - Added a prompt to fix bad line endings in FMOD bundle Info.plist
 | |
|                  files if necessary (these could cause DllNotFoundException errors).
 | |
| * Unity        - Fixed an error preventing command line builds from completing.
 | |
| * Unreal       - Linux - Fixed missing libs.
 | |
| 
 | |
| Notes:
 | |
| * GameCore     - Now built with June 2021 QFE 2 GDKX.
 | |
| * PS4          - Now built with SDK 9.008.001.
 | |
| * PS5          - Now built with SDK 4.00.00.31.
 | |
| * Switch       - Now built with SDK 12.3.7.
 | |
| * Unity        - Removed obsolete x86 Linux binaries.
 | |
| * Unity        - RuntimeManager's AnyBankLoading and WaitForAllLoads methods have been
 | |
|                  renamed for clarity (to AnySampleDataLoading and WaitForAllSampleLoading
 | |
|                  respectively), retaining the same functionality. The previous methods
 | |
|                  remain for compatibility but are considered deprecated.
 | |
| 
 | |
| 08/09/21 2.02.03 - Studio API minor release (build 120077)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - It is now possible to specify the Opus codec count via 
 | |
|                  FMOD_ADVANCEDSETTINGS, previously it was hardcoded to 128.
 | |
| * Core API     - PS5 - Added ACM convolution reverb support.
 | |
| * Core API     - GameCore - Added XDSP convolution reverb support on Scarlett hardware.
 | |
| * Core API     - Win, GameCore, XBoxOne - Added recording support to WinSonic.
 | |
| * Unity        - Added EventReference.Find() to make setting default values on
 | |
|                  EventReference fields more convenient.
 | |
| * Unreal       - UE4.26 on - Integration setup will now offer to add generated assets
 | |
|                  to package settings.
 | |
| * Unreal       - UE4.26 on - Added Commandlet to support generating assets from
 | |
|                  command line.
 | |
| * Unity        - Added IsInitialized property to EventManager to make it easier to know when
 | |
|                  EventManager is safe to call.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed buffer overflow issues with command replays, system is now
 | |
|                  more robust against failure and buffers have grown to handle demand.
 | |
| * Studio API   - Fixed issue where automating a labelled parameter under specific
 | |
|                  circumstances would produce an incorrect result.
 | |
| * Studio API   - Fixed 7.1.4 sends losing their height speakers at the return.
 | |
| * Studio API   - Fixed issue where event instruments inside a multi instrument were unable
 | |
|                  to be seemlessly looped with simple events.
 | |
| * Studio API   - Streaming instruments no longer can have the end of the audio cut off
 | |
|                  if they take too long to load.
 | |
| * Studio API   - Fixed volume spike at start of multi instruments using both fade curves
 | |
|                  and seek offsets.
 | |
| * Core API     - Fixed issue with System::registerCodec returning FMOD_ERR_PLUGIN_VERSION
 | |
|                  regardless of FMOD_CODEC_DESCRIPTION apiversion.
 | |
| * Core API     - Fixed convolution reverb crash if out of memory.
 | |
| * Core API     - Fixed rare audio corruption / noise burst issue.
 | |
| * Core API     - Fixed FSBankLib AT9 encoder failing with an internal error on newer 
 | |
|                  versions of libatrac9.dll, 4.3.0.0 onward.
 | |
| * Core API     - Fixed potential crash when up-mixing quad to 5.1.
 | |
| * Core API     - GameCore - Reduced the chances of running out of Opus streams 
 | |
|                  when playing back Opus compressed banks on Scarlett hardware.
 | |
| * Core API     - Linux - Added support for automatic device switching.
 | |
| * Core API     - Android - Fixed issue where AAudio would restart occasionally on certain
 | |
|                  devices.
 | |
| * Core API     - Android - Fixed issue where AAudio would would request an amount of data
 | |
|                  far larger than its burst size on certain devices.
 | |
| * Unity        - Fixed a bug where settings could be accessed while an asset database
 | |
|                  refresh was in progress, causing settings to be wiped.
 | |
| * Unity        - Fixed live update breaking when domain reload is disabled.
 | |
| * Unity        - Fixed an invalid handle error that would occur when an attached instance
 | |
|                  ends.
 | |
| * Unity        - Fixed StudioParameterTrigger and StudioGlobalParameterTrigger not
 | |
|                  receiving Object Start and Object Destroy events.
 | |
| * Unity        - Fixed the attenuation override values being overwritten when selecting
 | |
|                  multiple event emitters.
 | |
| * Unity        - Fixed global parameter trigger browser showing other FMOD folders.
 | |
| * Unity        - Fixed referenced events not being played when an event is previewed in
 | |
|                  the event browser if the referenced events are in a different bank.
 | |
| * Unity        - Fixed RuntimeManager.MuteAllEvents not working in editor.
 | |
| * Unity        - Fixed bank names including the .bank file extension when Load Banks is
 | |
|                  set to Specified.
 | |
| * Unity        - Fixed a bug allowing multiple localized banks to be loaded and preventing
 | |
|                  them from being unloaded.
 | |
| * Unity        - Fixed compatibility of native libraries changing after build.
 | |
| * Unity        - Fixed stretched logo texture in setup wizard when targeting iOS as build
 | |
|                  platform.
 | |
| * Unity        - Fixed an error caused by auditioning events with global parameters in the
 | |
|                  event browser.
 | |
| * Unity        - Fixed an error state caused by inspecting a game object that contains
 | |
|                  both a Unity Image and an FMOD StudioEventEmitter.
 | |
| * Unity        - Fixed staging instructions appearing for fresh integration installations.
 | |
| * Unity        - Fixed an exception caused by disconnected prefab instances when updating
 | |
|                  event references.
 | |
| * Unreal       - Fixed FMODAudioComponents continuing to play after actors have been
 | |
|                  destroyed.
 | |
| * Unreal       - Fixed 'Reload Banks' menu option.
 | |
| * Unreal       - Fixed error when building installed engine with FMOD plugin.
 | |
| 
 | |
| Notes:
 | |
| * GameCore     - Now built with June 2021 QFE 1 GDKX.
 | |
| * Stadia       - Now built with SDK 1.62
 | |
| * Unity        - Removed a sleep loop in StudioEventEmitter.Start().
 | |
| * Unreal       - Added support for UE4.27.
 | |
| 
 | |
| 26/07/21 2.02.02 - Studio API minor release (build 118084)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Mac - Added Dolby PLII downmix support.
 | |
| * Unity        - When Event Linkage is set to Path, the EventReference property drawer and
 | |
|                  Event Reference Updater tool can now update paths for events which have
 | |
|                  been moved in FMOD Studio (detected via matching GUIDs).
 | |
| * Unity        - Console logging from the plugin now follows the logging level specified
 | |
|                  for FMOD.
 | |
| * Unity        - Improved the Asset Bundle import type to better support Addressables:
 | |
|                  FMOD now creates a stub asset for each source .bank file, which can be
 | |
|                  added to version control and to Addressables Groups. Stub assets are
 | |
|                  replaced with source .bank files at build time, and reverted to stubs
 | |
|                  after each build.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed issue where silence instruments placed after a set parameter
 | |
|                  command instrument would be skipped.
 | |
| * Studio API   - Fixed popping that would occur with fade curves and multi instruments in
 | |
|                  the right conditions.
 | |
| * Studio API   - Fixed issue where automation and modulation would not evenly distribute
 | |
|                  values for discrete parameters.
 | |
| * Studio API   - Fixed sustain point behavior where the sustain point is at the same time
 | |
|                  as the end of a loop region.
 | |
| * Studio API   - Async instruments with infinite loop counts will play out their last loop
 | |
|                  after being untriggered.
 | |
| * Studio API   - Scatterer instruments that have been untriggered will no longer fade out
 | |
|                  child instruments.
 | |
| * Studio API   - Fixed issue where scatterer instruments would spawn instruments
 | |
|                  inconsistently.
 | |
| * Studio API   - Fixed a stack overflow when releasing a very large number of events in a
 | |
|                  single frame.
 | |
| * Core API     - Fixed FMOD::CREATESOUNDEXINFO::initialseekposition causing sound to not stop 
 | |
|                  at the correct time.
 | |
| * Core API     - Fixed disconnecting channel groups from ports when multiple instances of
 | |
|                  the same port are connected.
 | |
| * Core API     - Fixed a possible crash by increasing the stack size of the file thread 
 | |
|                  from 48k to 64k.
 | |
| * Core API     - Fixed Object Spatializer getting out of sync with the mixer when the
 | |
|                  mixer buffer is starved, this could also cause asserts to appear the log.
 | |
| * Core API     - GameCore - Fixed a race condition that could cause a hang when playing
 | |
|                  Opus compressed audio.
 | |
| * UE4          - Fixed default locale setting not working in cooked builds.
 | |
| * Unity        - Fixed references in EventReferenceUpdater.cs to classes unavailable when
 | |
|                  the Unity Timeline package is missing.
 | |
| * Unity        - Fixed event browser being unable to audition events when an encryption
 | |
|                  key is in use.
 | |
| * Unity        - Fixed setup wizard not marking current scene as dirty when replacing
 | |
|                  Unity audio listeners.
 | |
| * Unity        - Fixed banks failing to load on Mac when the project is saved in Unity on
 | |
|                  Windows. 
 | |
| * Unity        - Fixed a crash caused by disabling API error logging.
 | |
| * Unity        - Fixed benign errors being logged to the console when API logging is
 | |
|                  enabled.
 | |
| * Unity        - Fixed all banks being reimported whenever the banks are refreshed,
 | |
|                  even if nothing has changed.
 | |
| * Unity        - Fixed an exception being thrown when building if version control is
 | |
|                  enabled.
 | |
| * FSBank       - Fixed compatibility issue with Windows 7.
 | |
| * Profiler     - Fixed compatibility issue with Windows 7.
 | |
| 
 | |
| Notes:
 | |
| * HTML5        - Now built with SDK 2.0.20 (Upstream) and SDK 1.40.1 (Fastcomp).
 | |
| * iOS          - Now built with iOS SDK 14.5 (Xcode 12.5.1).
 | |
| * Mac          - Now built with macOS SDK 11.3 (Xcode 12.5.1), min deploy target
 | |
|                  is now 10.9 as mandated by Xcode.
 | |
| * Unity        - Moved images into the Assets/Plugins/FMOD folder.
 | |
| * Unreal       - Added support for UE5.0 (EA1).
 | |
| 
 | |
| 26/05/21 2.02.01 - Studio API minor release (build 116648)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added FMOD_STUDIO_EVENT_CALLBACK_NESTED_TIMELINE_BEAT which returns a
 | |
|                  FMOD_STUDIO_TIMELINE_NESTED_BEAT_PROPERTIES containing the event's id.
 | |
| * Studio API   - Added an FMOD_STUDIO_PARAMETER_LABELED flag.
 | |
| * Core API     - Added loudness meter to the DSP API. The loudness meter is intended for
 | |
|                  development purposes and is not recommended to be included in shipped
 | |
|                  titles.
 | |
| * Unity        - Improved the UI for setting values on discrete and labeled parameters.
 | |
| * Unity        - Added FMODUnity.Settings.ForceLoggingBinaries to force FMOD to use the
 | |
|                  logging binaries even when BuildOptions.Development is not set.
 | |
| * Unity        - Added the ability to set global parameters when auditioning an event.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Improved performance of repeated calls to
 | |
|                  Studio::EventDescription::isStream and
 | |
|                  Studio::EventDescription::isOneShot.
 | |
| * Studio API   - Removed potential for performance hit from retrieving final volume and
 | |
|                  final pitch values due to thread contention.
 | |
| * Studio API   - Fixed issue with audio device switching.
 | |
| * Studio API   - Restrict maximum number of non-zero length transitions to 31 per update
 | |
|                  to prevent overloading the scheduler.
 | |
| * Core API     - GameCore - Fixed error log (assert) with logging build when playing
 | |
|                  multichannel Opus.
 | |
| * Core API     - GameCore - Fixed rare Opus failure / hang when playing streams.
 | |
| * Core API     - GameCore - Fixed error log (assert) when seeking XMA streams near
 | |
|                  the file end.
 | |
| * Core API     - Win/UWP/GameCore - Fixed WinSonic not falling back to no-sound 
 | |
|                  automatically if no devices are available.
 | |
| * Core API     - C# - Unblocked potential stalls when calling Studio::EventInstance::getVolume 
 | |
|                  / Studio::EventInstance::getPitch when finalVolume / finalPitch isn't 
 | |
|                  requested.
 | |
| * Unity        - Fixed global parameters disappearing if banks are refreshed when
 | |
|                  the master bank hasn't changed.
 | |
| * Unity        - Fixed the setup wizard's Updating page status being reset whenever
 | |
|                  scripts are recompiled.
 | |
| * Unity        - Fixed errors that occur when Settings.OnEnable() is called on an object
 | |
|                  that is already initialized (e.g. "Cleaning up duplicate platform" and
 | |
|                  "An item with the same key has already been added").
 | |
| * Unity        - Reverted binary selection at build time to the old method of checking for
 | |
|                  BuildOptions.Development in BuildReport.summary.options, as checking for
 | |
|                  the DEVELOPMENT_BUILD symbol was failing in some situations and causing
 | |
|                  DllNotFoundExceptions.
 | |
| * Unity        - Fixed bank sizes not being displayed in the event browser.
 | |
| * Unity        - Fixed compiler errors that appear when Unity's Physics and Physics 2D
 | |
|                  packages are disabled.
 | |
| * Unity        - Fixed "The name 'StaticPluginManager' does not exist" error when calling
 | |
|                  AddressableAssetSettings.BuildPlayerContent() on IL2CPP platforms.
 | |
| * Unity        - Removed cleanup of RegisterStaticPlugins.cs when a build finishes, in
 | |
|                  order to avoid recompiling scripts unnecessarily.
 | |
| * Unity        - Create the Assets/Plugins/FMOD/Cache folder if it does not exist when
 | |
|                  generating RegisterStaticPlugins.cs during a build.
 | |
| 
 | |
| Notes:
 | |
| * Unity        - Added type-specific icons for global parameters in the event browser.
 | |
| * Unity        - Removed conditional code below Unity 2019.4 minimum specification.
 | |
| * PS4          - Now built with SDK 8.508.
 | |
| * PS5          - Now built with SDK 3.00.00.27.
 | |
| 
 | |
| 15/04/21 2.02.00 - Studio API major release (build 115890)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Event instances now have minimum and maximum distance properties that can
 | |
|                  be automated by parameters. These can be overridden by
 | |
|                  FMOD_STUDIO_EVENT_PROPERTY_MINIMUM_DISTANCE and
 | |
|                  FMOD_STUDIO_EVENT_PROPERTY_MAXIMUM_DISTANCE.
 | |
| * Studio API   - Added Studio::EventInstance::getMinMaxDistance.
 | |
| * Studio API   - Added FMOD_STUDIO_PARAMETER_AUTOMATIC_DISTANCE_NORMALIZED. Converts the
 | |
|                  range min distance to max distance into the range 0 to 1, clamping values
 | |
|                  outside that range.
 | |
| * Studio API   - Added a guid field to FMOD_STUDIO_PARAMETER_DESCRIPTION.
 | |
| * Studio API   - Added Studio::System::getParameterLabelByID,
 | |
|                  Studio::System::getParameterLabelByName,
 | |
|                  Studio::System::setParameterByIDWithLabel,
 | |
|                  Studio::System::setParameterByNameWithLabel,
 | |
|                  Studio::EventDescription::getParameterLabelByName,
 | |
|                  Studio::EventDescription::getParameterLabelByID,
 | |
|                  Studio::EventDescription::getParameterLabelByIndex,
 | |
|                  Studio::EventInstance::setParameterByIDWithLabel,
 | |
|                  Studio::EventInstance::setParameterByNameWithLabel.
 | |
| * Studio API   - Added Studio::Bus::getPortIndex and Studio::Bus::setPortIndex.
 | |
| * Core API     - Added FMOD_DSP_PARAMETER_ATTENUATION_RANGE for spatializing DSPs to
 | |
|                  utilize Studio::EventInstance min and max distance.
 | |
| * Core API     - Unified platform specific output port types FMOD_[PLATFORM]_PORT_TYPE
 | |
|                  and moved them to common FMOD_PORT_TYPE. Attempting to attach a channel
 | |
|                  group to an output port type which is not available on the platform will
 | |
|                  return an error.
 | |
| * Core API     - UWP - Added support for Windows N versions.
 | |
| * Unity        - In Events Browser the Global Parameters now show in folders.
 | |
| * FSBank       - Added native Linux version of Gui and Command line application.
 | |
| * Profiler     - Added native Linux version of the Core API profiler.
 | |
| * Linux        - Added ARM 64 bit support.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed behavior interaction between timelocked multi instruments and
 | |
|                  sustain points so that multi instruments will play from the same point
 | |
|                  that they were stopped via the sustain point.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Studio::EventDescription::getMinimumDistance and
 | |
|                  Studio::EventDescription::getMaximumDistance replaced with
 | |
|                  Studio::EventDescription::getMinMaxDistance.
 | |
| * Studio API   - Studio::EventInstance::setProperty on
 | |
|                  FMOD_STUDIO_EVENT_PROPERTY_MINIMUM_DISTANCE or 
 | |
|                  FMOD_STUDIO_EVENT_PROPERTY_MAXIMUM_DISTANCE does not affect spatializers
 | |
|                  with Override Range set. This is most noticeable with effect presets.
 | |
| * Studio API   - Studio::System::getCPUUsage changed to take a struct FMOD_CPU_USAGE as
 | |
|                  2nd parameter, also FMOD_STUDIO_CPU_USAGE removes core api values.  Use 
 | |
|                  FMOD_CPU_USAGE for that.
 | |
| * Studio API   - Renamed Studio::EventInstance::triggerCue to
 | |
|                  Studio::EventInstance::keyOff and Studio::EventDescription::hasCue to
 | |
|                  Studio::EventDescription::hasSustainPoint.
 | |
| * Core API     - FMOD_DSP_TYPE_PAN and FMOD_DSP_TYPE_OBJECTPAN have an override attenuation
 | |
|                  range property to use the min and max distance properties of the dsp and
 | |
|                  ignore the attenuation range of the event instance. Defaults to true for
 | |
|                  backwards compatibility.
 | |
| * Core API     - FMOD::System_Create takes a headerversion argument to check the core api
 | |
|                  headers and libraries match.
 | |
| * Core API     - System::getCPUUsage changed to take a struct FMOD_CPU_USAGE.
 | |
| * Core API     - Incremented FMOD_OUTPUT_PLUGIN_VERSION for Output plugins. Dynamic
 | |
|                  library Output Plugins must be rebuilt. FMOD_OUTPUT_INIT_CALLBACK argument
 | |
|                  dspnumbuffers can now be modified and dspnumadditionalbuffers has been
 | |
|                  added. Additionally, FMOD_OUTPUT_METHOD_POLLING has been removed.
 | |
| * Core API     - Incremented FMOD_CODEC_PLUGIN_VERSION for Codec plugins. Dynamic
 | |
|                  library Codec Plugins must be rebuilt. Codec API now exposes
 | |
|                  FMOD_CODEC_FILE_TELL_FUNC, FMOD_CODEC_ALLOC_FUNC, FMOD_CODEC_FREE_FUNC and
 | |
|                  FMOD_CODEC_LOG_FUNC functions. Additionally, FMOD_CODEC_FILE_SEEK_FUNC
 | |
|                  accepts a FMOD_CODEC_SEEK_METHOD.
 | |
| * Core API     - Changed FMOD_THREAD_AFFINITY from unsigned 64-bit integer to signed 64-bit
 | |
|                  integer, reducing the maximum supported number of cores by one.
 | |
| * Core API     - UWP - FMOD MediaFoundation Codec is now included as a separate dll.
 | |
| * FSBank API   - Removed deprecated FSBANK_FORMAT_PCM_BIGENDIAN and
 | |
|                  FSBANK_FORMAT_AT9_PSVITA, and renamed FSBANK_FORMAT_AT9_PS4 to
 | |
|                  FSBANK_FORMAT_AT9.
 | |
| * Resonance    - Replaced min and max distance with FMOD_DSP_PARAMETER_ATTENUATION_RANGE.
 | |
|                  If previous behavior is required, FMOD 2.2 is compatible with resonance
 | |
|                  audio included with 2.1.
 | |
| * Android      - Minimum API version raised to 16 for 32 bit.
 | |
| * Linux        - Now built with LLVM/Clang 10.
 | |
| * Linux        - ARM - the minimum supported architecture has been lifted to armv7 with
 | |
|                  NEON support.
 | |
| * PS5          - Renamed platform specific APIs and headers from codename to official name.
 | |
| * Unity        - The [EventRef] attribute has been replaced with the EventReference type.
 | |
|                  This change requires migration; use the FMOD/Update Event References
 | |
|                  menu command to assist you with the migration process.
 | |
| * Unity        - The minimum version of Unity supported is now 2019.4
 | |
| 
 | |
| 12/02/21 2.01.09 - Studio API minor release
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added FMOD_STUDIO_SYSTEM_CALLBACK_LIVEUPDATE_CONNECTED and
 | |
|                  FMOD_STUDIO_SYSTEM_CALLBACK_LIVEUPDATE_DISCONNECTED.
 | |
| * Studio API   - Added Studio::EventDescription::isDopplerEnabled. Will return false with
 | |
|                  banks built prior to 2.01.09.
 | |
| * Unity        - Added a Volume property to FMOD Event Tracks.
 | |
| * Unity        - Improved plugin lib updates by automating the process in a few simple
 | |
|                  steps.
 | |
| * Unity        - Added 7.1.4 speaker mode to Project Platform in the settings menu.
 | |
| * Unity        - Added support for generating unit options for Unity 2021 Visual
 | |
|                  Scripting package.
 | |
| * Unity        - Added option to enable error reporting to Unity console from internal
 | |
|                  FMOD system.
 | |
| * Unity        - Added a Setup Wizard to help with adding FMOD to projects.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed possible memory corruption due to race condition between user code
 | |
|                  creating sounds asynchronously using sound info from an audio table and
 | |
|                  unloading the bank containing the audio table.
 | |
| * Studio API   - Improved error detection and documentation regarding the requirement of
 | |
|                  loading asset banks at the same time as metadata banks.
 | |
| * Studio API  -  Fixed issue where stopping conditions on nested events without ahdsr
 | |
|                  modulators would not play out when the parent event is still playing and
 | |
|                  the nested event becomes untriggered.
 | |
| * Studio API   - Fixed issue where hot swapping an event via live update would invalidate
 | |
|                  the API handle.
 | |
| * Studio API   - Fixed incorrect count from Studio::Bank::getEventCount when loading
 | |
|                  banks built with 1.07, 1.08 or 1.09.
 | |
| * Core API     - Fixed substantial performance issue when connected to a profiler.
 | |
| * Core API     - Fixed sync points potentially being skipped as Channels transition from
 | |
|                  virtual to real.
 | |
| * Core API     - Fixed warning being logged about truncated files on user created sounds.
 | |
| * Core API     - Fixed hang on .S3M format playback when seeking past calculated end of 
 | |
|                  song with FMOD_ACCURATETIME.
 | |
| * Core API     - Fixed some netstreams return FMOD_ERR_HTTP. Introduced 2.01.02.
 | |
| * Core API     - Fixed potential audio corruption when using the object spatializer.
 | |
| * Core API     - Fixed System::getPluginHandle returning internal only DSPs.
 | |
| * Core API     - Fixed crash with Convolution Reverb.  Introduced 2.01.08.
 | |
| * Core API     - Fixed early and late delay support for FMOD_DSP_TYPE_SFXREVERB.
 | |
|                  Introduced 2.01.04.
 | |
| * UE4          - Add a configurable delay to automatic bank reloading to avoid a race
 | |
|                  condition between banks being rebuilt in Studio and the integration
 | |
|                  trying to reload them.
 | |
| * UE4          - Remove unsupported log levels from settings.
 | |
| * UE4          - Fixed blueprint AnimNotify causing Editor to crash.
 | |
| * UE4          - 4.26 - Fixed asset generation regenerating assets when banks have not
 | |
|                  been modified.
 | |
| * UE4          - 4.26 - Fixed crashes caused by attempting to regenerate assets which are
 | |
|                  read-only on disk. User is now prompted to check-out or make writable
 | |
|                  assets which are read-only on disk.
 | |
| * UE4          - 4.26 - Fixed sequencer integration.
 | |
| * UE4          - 4.26 - Fixed AnimNotify not automatically loading referenced event asset.
 | |
| * UE4          - 4.26 - Fixed FindEventByName failing to load required event asset.
 | |
| * UE4          - 4.26 - Fixed crash when running with sound disabled (eg. running as A
 | |
|                  dedicated server or running with the "-nosound" command line option).
 | |
| * UE4          - iOS/tvOS - Fixed audio occasionally not returning on application resume.
 | |
| * UE4          - XboxOne - Fixed third party plugins not working.
 | |
| * Unity        - Made binary selection at build time more robust by checking for
 | |
|                  DEVELOPMENT_BUILD in the active script compilation defines.
 | |
| * Unity        - Fixed context menu entries being disabled on FMOD Event Playable
 | |
|                  parameter automation.
 | |
| * Unity        - Fixed a hang that could occur when scripts were recompiled after a
 | |
|                  callback was fired from FMOD to managed code.
 | |
| * Unity        - Fixed banks not loading on Mac if project was saved from PC to source
 | |
|                  control.
 | |
| * Unity        - Fixed a number of build errors on various platforms caused by the
 | |
|                  static plugin system's use of the IL2CPP --additional-cpp command
 | |
|                  (the static plugin system now generates C# instead of C++).
 | |
| * Unity        - PS5 - Removed unsupported Audio 3D option from the platform settings.
 | |
| * Unity        - UWP - Fixed warnings and errors surrounding Marshal usage depending
 | |
|                  on Unity version, scripting backend and API compatibility combination.
 | |
| 
 | |
| Notes:
 | |
| * GameCore     - Updated to February 2021 GDK.
 | |
| * UE4          - Changed default source directory for runtime bank files to
 | |
|                  Content/FMOD/Desktop. Platform specific INI files should be used to
 | |
|                  override this as appropriate.
 | |
| 
 | |
| 11/02/21 2.01.08 - Studio API minor release (build 114355)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added FMOD_SYSTEM_CALLBACK_OUTPUTUNDERRUN, which is called when a
 | |
|                  buffered mixer output device attempts to read more samples than are
 | |
|                  available in the output buffer.
 | |
| * Core API     - Mac - Added Resonance Audio Apple Silicon support.
 | |
| * Unity        - Improved bank refresh logic and added a status window that appears when a
 | |
|                  refresh is about to happen.
 | |
| * Unity        - Added support for automating event parameters on the Timeline.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed fast spawning scatterer instruments with low polyphony spawning too
 | |
|                  few instruments.
 | |
| * Studio API   - Fixed a memory leak that could occur when a sound got stuck in the
 | |
|                  loading state.
 | |
| * Core API     - Fixed crash on .XM format playback.
 | |
| * Core API     - Fixed potential hang with net streams if server returns errors.
 | |
| * Core API     - Fixed extraneous logging of internal pool allocations.
 | |
| * Core API     - Fixed rare crash when releasing convolution reverb DSP instances.
 | |
| * Core API     - UWP - Fixed logging spam when using WASAPI output mode.
 | |
| * UE4          - Expose the Enable Timeline Callbacks property of FMOD Audio Component to
 | |
|                  blueprints.
 | |
| * UE4          - Fixed crash which could occur when an FMOD Audio Component which uses a 
 | |
|                  programmer sound is destroyed by unloading the map or closing the game.
 | |
| * Unity        - Fixed Discrete and Labelled global parameters that do not appear in the
 | |
|                  Event Browser.
 | |
| * Unity        - Fix multiple listeners positioning not working correctly.
 | |
| * Unity        - Fixed sample data failing to load when Load Bank Sample Data is enabled
 | |
|                  in a project with separate asset banks.
 | |
| * Unity        - Fixed an Android build error when the Export Project option is set.
 | |
| * Unity        - Fixed FMOD IL2CPP arguments being left in ProjectSettings after building,
 | |
|                  which could break builds on other operating systems.
 | |
| * Unity        - Android - Fixed an IL2CPP build error on some NDK versions.
 | |
| * Unity        - PS5 - Fixed compile error due to stale platform API CS file.
 | |
| * Unity        - iOS/tvOS - Fixed audio occasionally not returning on application resume.
 | |
| 
 | |
| Notes:
 | |
| * Switch       - Now built with SDK 11.4.0.
 | |
| * UE4          - Added support for UE4.26.
 | |
| 
 | |
| 18/12/20 2.01.07 - Studio API minor release (build 113487)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added FMOD_SYSTEM_CALLBACK_DEVICEREINITIALIZE.
 | |
| * Core API     - Mac - Added Apple Silicon support.
 | |
| * Unity        - Added support for generating unit options for Bolt visual scripting.
 | |
| * Unity        - Added option to stop an emitter's event instance when the emitter is
 | |
|                  further than its maximum attenuation distance from all listeners.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Command replays now record the initial state of global parameters.
 | |
| * Studio API   - Fixed errors from instrument creation failure not being reported to the
 | |
|                  error callback.
 | |
| * Studio API   - Fixed crash due to null pointer dereference when instrument creation
 | |
|                  fails due to running out of memory.
 | |
| * Studio API   - Fixed crash when unloading a bank from the
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_STOPPED callback.
 | |
| * Studio API   - Fixed crash when hot swapping a nested event and its parent where the
 | |
|                  child event is registered before the parent event.
 | |
| * Studio API   - Fixed spurious warning messages when connecting Live Update.
 | |
| * Studio API   - Fixed crash which could occur if a user thread loads a bank
 | |
|                  asynchronously while another thread releases the system.
 | |
| * Studio API   - Switch log messages about missing plugins from warning to log level when
 | |
|                  the system is initialized with FMOD_STUDIO_INIT_ALLOW_MISSING_PLUGINS.
 | |
| * Core API     - Fixed rare crash due to race condition when calling Sound::getOpenState
 | |
|                  for a sound created with FMOD_NONBLOCKING.
 | |
| * Core API     - Fixed rare crash occurring some time after calling 
 | |
|                  System::attachChannelGroupToPort due to internal buffer synchronization.
 | |
| * Core API     - Fixed certain internet radio stations that serve up playlists failing to
 | |
|                  load correctly.
 | |
| * Core API     - Fixed sidechain modulator release being cutoff if sidechain source is
 | |
|                  destroyed.
 | |
| * Core API     - Linux - Fixed hang in shutdown when using ALSA as the output mode when
 | |
|                  ALSA is unable to write to the output buffer.
 | |
| * Core API     - Android - Reduced AAudio fail to stop error message to a warning.
 | |
| * Core API     - UWP - Fixed issue preventing loading of 32 bit x86 plugins.
 | |
| * UE4          - Fixed spurious warning messages when loading banks which use plugins.
 | |
| * UE4          - Fixed listener being stuck at world origin when using a standalone game
 | |
|                  from the editor (introduced in 2.00.12).
 | |
| * UE4          - XboxOne - Fixed users having to modify engine code to copy libs.
 | |
| * Unity        - Android - Fixed Mobile Low and Mobile High platforms using the wrong
 | |
|                  bank path when on Android.
 | |
| * Unity        - Prebuild debug warning added for invalid FMOD Event paths.
 | |
| * Unity        - Fixed banks not being copied into the project when using Asset Bundles.
 | |
| * Unity        - Fixed specified bank paths for multi platform builds.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Changed THREAD_AFFINITY enum in C# wrapper from unsigned 64-bit integer
 | |
|                  to signed 64-bit integer, reducing the maximum supported number of cores
 | |
|                  by one.
 | |
| * GameCore     - Updated to August 2020 QFE 5 GDK.
 | |
| * XboxOne      - Now built with July 2018 QFE15 XDK.
 | |
| * PS4          - Resonance Audio now built with SDK 8.008.
 | |
| * PS5          - Resonance Audio now built with SDK 2.00.00.09.
 | |
| * iOS          - Now built with iOS SDK 14.2 (Xcode 12.2), min deploy target
 | |
|                  for iOS is now 9.0 as mandated by Xcode.
 | |
| * Mac          - Now built with macOS SDK 11.0 (Xcode 12.2).
 | |
| * Stadia       - Now built with SDK 1.55.
 | |
| * Unity        - Moved Timeline and Resonance Audio classes from global namespace into
 | |
|                  FMOD namespaces.
 | |
| 
 | |
| 13/11/20 2.01.06 - Studio API minor release (build 112764)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added FMOD_SYSTEM_CALLBACK_BUFFEREDNOMIX.
 | |
| * Core API     - PS5 - Added support for microphone recording.
 | |
| * Unity        - Added support for Addressables.
 | |
| * Unity        - In Events Browser the banks folders now show when mirroring is disabled.
 | |
| * Unity        - Setting Live Update port per-platform is now supported. 
 | |
| * Unity        - FMOD now automatically selects the release or logging version of the
 | |
|                  native libraries at build time, based on the Development Build setting.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed issue where tempo based scatterer would play slightly off beat.
 | |
| * Core API     - Improved error message when binding to a port fails due to a permission
 | |
|                  error.
 | |
| * Core API     - Android - Fixed issue where audio would disconnect while debugging.
 | |
| * UE4          - Fixed deprecation warning in FMODStudioEditorModule.
 | |
| * Unity        - Fixed FMOD_ERR_MEMORY caused by leaking System objects on play-in-editor
 | |
|                  script reload.
 | |
| * Unity        - Fixed volume value in debug window.
 | |
| * Unity        - Prebuild debug warning added for invalid FMOD Event paths.
 | |
| * Unity        - HTML5 - Fixed error when building for development.
 | |
| * Unity        - Switch - Fixed a build error due to fmodplugins.cpp not being enabled.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Renamed FMOD_CODEC_METADATA_CALLBACK to FMOD_CODEC_METADATA_FUNC to 
 | |
|                  better reflect its purpose.
 | |
| * Core API     - Sound::getFormat now returns FMOD_SOUND_FORMAT_BITSTREAM if 
 | |
|                  FMOD_CREATECOMPRESSEDSAMPLE is used with System::createSound.
 | |
| * GameCore     - Updated to August 2020 QFE 4 GDK.
 | |
| * PS4          - Now built with SDK 8.008.
 | |
| * PS5          - Now built with SDK 2.00.00.09.
 | |
| 
 | |
| 09/10/20 2.01.05 - Studio API minor release (build 112138)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - XboxOne and Switch - Added ResonanceAudio plugin support.
 | |
| * Core API     - GameCore - Added FMOD_GameCore_SetXApuStreamCount to control reserved
 | |
|                  XApu resources.
 | |
| * Unity        - Edit Settings now allows FMOD output mode to be set per-platform.
 | |
| * Unity        - Added support for specifying static plugins in the FMOD Settings.
 | |
| * Unity        - Added support for setting a per-platform callback handler to run custom
 | |
|                  configuration code prior to initialization.
 | |
| * Unity        - Added settings to customize DSP buffer length and count per-platform.
 | |
| * Unity        - Added metering channel order setting.
 | |
| * Unity        - Assembly Definition files added to the FMOD plugin.
 | |
| * Unity        - The FMOD scripts will now compile without the unity.timeline package 
 | |
|                  installed. If you wish to use Timeline you will need to install this
 | |
|                  package for Unity 2019.1 and above.
 | |
| * Unity        - GameCore - Add resonance audio support.
 | |
| * Unity        - iOS - Added simulator support.
 | |
| * Unity        - PS5 - Add resonance audio support.
 | |
| * GameCore     - Added support for decoding Opus compressed FSBs / Banks using platform
 | |
|                  hardware acceleration on Scarlett devices. This is a preview release of
 | |
|                  this feature, please report any bugs found directly to FMOD support email.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Live update socket errors are now handled gracefully, only warnings are
 | |
|                  logged.
 | |
| * Studio API   - Fix marker callbacks for multiply nested events.
 | |
| * Studio API   - Fixed Studio::EventDescription::is3D, Studio::EventDescription::isOneShot and
 | |
|                  Studio::EventDescription::isNested potentially returning an error when the event
 | |
|                  contains a nested reference to an event which has not been loaded.
 | |
| * Core API     - Fixed crash in convolution reverb if out of memory.
 | |
| * Core API     - Fixed rare crash when updating net stream metadata tags.
 | |
| * Core API     - Android - Reduce popping encountered on certain handsets by dynamically
 | |
|                  adjusting latency.
 | |
| * Core API     - Android - Fix issue where regular gaps in audio were encountered on
 | |
|                  handsets with using very large burst sizes.
 | |
| * Core API     - Android - Fix issue where System::mixerSuspend would fail on certain
 | |
|                  handsets.
 | |
| * Core API     - Mac - Fixed init returning an error when no output devices available.
 | |
| * Core API     - Win - Fixed crash on Win7/8 devices with high end CPUs that support
 | |
|                  AVX-512.
 | |
| * Core API     - Fix convolution crash if a small impulse was used followed by a large 
 | |
|                  impulse.  Introduced in 2.01.04.
 | |
| * Core API     - HTML5 - Fix missing implementation of Sound::getSyncPoint/getSyncPointInfo/
 | |
|                  addSyncPoint/deleteSyncPoint.
 | |
| * UE4          - Fixed potential null pointer dereference when updating FMOD listeners for
 | |
|                  play-in-editor session.
 | |
| * UE4          - PS5 - Disabled UE4 built-in audio to prevent crash at startup.
 | |
| * Unity        - Fixed rare TimeZoneNotFoundException encountered on some devices.
 | |
| * Unity        - Fixed play-in-editor not using new speaker mode when changed in settings.
 | |
| * Unity        - HTML5 - Fix FMOD_ERR_UNSUPPORTED error being returned from bank loading.
 | |
|                  Introduced in 2.01.04. 
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Issues with reconnecting Live Update (primarily on mobile) have been
 | |
|                  resolved in FMOD Studio. Update to FMOD Studio 2.01.05 or higher.
 | |
| * GameCore     - To produce Opus banks in FMOD Studio, add the new "Custom" platform to
 | |
|                  your project and select Opus as the encoding.
 | |
| * GameCore     - Updated to June 2020 QFE 6 GDK.
 | |
| 
 | |
| 10/09/20 2.01.04 - Studio API minor release (build 111454)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added a flag for discrete parameters to FMOD_STUDIO_PARAMETER_FLAGS
 | |
| * Core API     - Convolution reverb optimizations. Now multithreaded to avoid spikes in
 | |
|                  mixer performance. Significant memory optimization with multiple instances.
 | |
| * Core API     - Android - Added support for swapping output modes.
 | |
| * Core API     - GameCore - Added FMOD_GAMECORE_PORT_TYPE_COPYRIGHT_MUSIC output port
 | |
|                  type.
 | |
| * Unity        - Added OnEnabled and OnDisabled for StudioBankLoader.
 | |
| * Unity        - Added attachedRigidbody to OnTriggerEnter and OnTriggerExit for EventHandler.
 | |
| * Unity        - Updated the event browser for better performance and more consistent
 | |
|                  look and feel.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Android - Fixed recording support when using AAudio.
 | |
| * Core API     - Android - Fixed issues with headphone detection with AAudio.
 | |
| * Core API     - XboxOne - Fixed getOutputHandle not returning the IAudioClient on WASAPI.
 | |
| * UE4          - When running multiplayer PIE sessions a listener is added for each player
 | |
|                  in each viewport.
 | |
| * UE4          - Improved handling of FMOD Studio objects being renamed or removed when
 | |
|                  reloading banks. Previously it would appear that references to renamed
 | |
|                  objects were correctly handled when they were not; references in UE4
 | |
|                  must be manually fixed up when FMOD Studio names are changed.
 | |
| * UE4          - Improved handling of unsupported characters in FMOD Studio object names.
 | |
| * Unity        - Made the Studio Event Emitter initial parameter value UI handle prefab
 | |
|                  instances and multi-selections properly.
 | |
| * Unity        - Fixed tooltips not working for EventRef.
 | |
| * Unity        - Fixed bank loading on Android with split/non-split APKs.
 | |
| * Unity        - Fixed plugin paths for Windows and Linux.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - GameCore - FMOD_GAMECORE_PORT_TYPE_MUSIC is no longer ignored by
 | |
|                  GameDVR. Use FMOD_GAMECORE_PORT_TYPE_COPYRIGHT_MUSIC for background music
 | |
|                  which should not be captured by GameDVR.
 | |
| * Stadia       - Now built with SDK 1.50.
 | |
| * Android      - Examples now include CMake based projects alongside the NdkBuild based
 | |
|                  projects.
 | |
| * GameCore     - Updated to June 2020 QFE 4 GDK.
 | |
| 
 | |
| 05/08/20 2.01.03 - Studio API minor release (build 110858)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added System::getDSPInfoByType.
 | |
| * Core API     - GameCore - Added support for microphone recording.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed named marker callbacks for nested events.
 | |
| * Studio API   - Fixed issue with accumulating event instruments spawned by a scatterer.
 | |
| * Studio API   - Fixed issue where an event instance handle would incorrectly remain valid.
 | |
| * Studio API   - Improved detection of user code incorrectly using a dangling pointer from
 | |
|                  a previously destroyed Studio System object.
 | |
| * Studio API   - Improve panner envelopment when source is above or below the listener.
 | |
| * Studio API   - Fixed FMOD_STUDIO_PARAMETER_DESCRIPTION::maximum being 1 higher than the
 | |
|                  maximum value which could be set.
 | |
| * Studio API   - Fixed discrete parameters with non-zero seek speed or velocity changing
 | |
|                  value too quickly after having their value set by an API call.
 | |
| * Studio API   - Fixed stopping conditions for nested events.
 | |
| * Core API     - Ignore data and fmt sections of a wave file that are contained in lists.
 | |
| * Core API     - iOS - Fixed stale audio from before System::mixerSuspend playing after
 | |
|                  calling System::mixerResume.
 | |
| * Core API     - iOS - FMOD initializes with FMOD_OUTPUTTYPE_NOSOUND if unable to
 | |
|                  initialize due AVAudioSessionErrorCodeCannotStartPlaying. Switching to
 | |
|                  FMOD_OUTPUTTYPE_COREAUDIO via System::setOutput is also supported.
 | |
| * Core API     - Mac - Fixed automatic default device switching.
 | |
| * Core API     - Win - Improved handling of IPv6 net-streams.
 | |
| * Core API     - Fixed FMOD_DSP_STATE_DFT_FUNCTIONS::inversefftreal function possibly 
 | |
|                  causing corrupted audio if it and FMOD_DSP_STATE_DFT_FUNCTIONS::fftreal 
 | |
|                  were called from different threads.
 | |
| * UE4          - Android - Fixed issue which could cause Android packaged builds to crash
 | |
|                  at startup.
 | |
| * Unity        - Fix crash in HasBankLoaded if RuntimeManager isn't initialized.
 | |
| 
 | |
| Notes:
 | |
| * Unity        - Added GameCore platform.
 | |
| * Switch       - Now built with SDK 10.4.1.
 | |
| * GameCore     - Updated to June 2020 QFE 1 GDK.
 | |
| 
 | |
| 01/07/20 2.01.02 - Studio API minor release (build 110199)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - GameCore - Added XMA support for Scarlett.
 | |
| * Core API     - GameCore - Added background music port support.
 | |
| * Core API     - PS5 - Added support for all platform specific ports, including background
 | |
|                  music, controller speaker and vibration.
 | |
| * Unity        - Added field for specifying a sub directory for Banks in the settings.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed an issue with events referencing missing parameter descriptions
 | |
|                  when parameters were unused for a platform. For old banks references to
 | |
|                  missing parameter descriptions are stripped out of the event at load
 | |
|                  time. Newer banks will always include all parameter descriptions to
 | |
|                  ensure consistency across platforms.
 | |
| * Studio API   - Fixed assert that would occur when setting a parameter that in turn
 | |
|                  creates an entity that also is listening for that parameter to change.
 | |
| * Studio API   - Fixed doppler calculation to use listener attenuation position.
 | |
| * Studio API   - Fixed memory leak caused by creating a bus with missing bank data.
 | |
| * Studio API   - Improved performance of repeated calls to Studio::EventDescription::is3D.
 | |
| * Studio API   - HTML5 - Fixed loadBankMemory not allowing a UInt8 memory object type to
 | |
|                  be passed to it.
 | |
| * Core API     - Fixed silence from ports when switching from no-sound back to a valid
 | |
|                  output mode with ports.
 | |
| * Core API     - Fixed incorrect return of FMOD_ERR_DSP_RESERVED on ChannelGroups caused
 | |
|                  by internal race condition.
 | |
| * Core API     - Fixed FMOD_LOOP_NORMAL flag not working with netstreams that have 
 | |
|                  "Accept-Ranges: bytes header".
 | |
| * Core API     - iOS - Fixed conflicting ogg vorbis symbols if linking FMOD against a
 | |
|                  project containing vorbis already.
 | |
| * Core API     - Android - Fixed detection of headphones being plugged and unplugged via
 | |
|                  the headphone jack on some devices.
 | |
| * Core API     - GameCore - Thread names will now show up in PIX.
 | |
| * Core API     - PS5 - Fixed crash when looping AT9 playback, no change required, fixed
 | |
|                  by SDK 1.00.
 | |
| * Core API     - PS5 - Fixed AT9 decode failure when seeking near the end of the file.
 | |
| * Core API     - Stadia - Fixed crash on playback of Vorbis compressed audio.
 | |
| * Unity        - Fixed "ERR_INVALID_HANDLE" errors in UWP builds.
 | |
| * Unity        - Changed banks to only be copied into the project when building.
 | |
| 
 | |
| Notes:
 | |
| * PS4          - Resonance Audio now built with SDK 7.508.
 | |
| * PS5          - Updated to SDK 1.00.00.39.
 | |
| * UE4          - Added GameCore platform.
 | |
| * UE4          - Added support for UE4.25.
 | |
| * UE4          - Added PS5 platform.
 | |
| 
 | |
| 12/05/20 2.01.01 - Studio API minor release (build 109257)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Stadia - Added microphone recording support.
 | |
| * Unity        - Added support for separate listener attenuation position.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed issue where an instrument not on the timeline would fail to be
 | |
|                  untriggered while the timeline is inside a source transition region.
 | |
| * Studio API   - Improve loudness meter performance.
 | |
| * Studio API   - Fixed crash that occurs with instrument hotswaps that change the
 | |
|                  instrument and its position on the timeline while auditioning.
 | |
| * Studio API   - Fixed issue where scatterer instrument would spawn streaming instruments
 | |
|                  that would exceed the polyphony limit.
 | |
| * Studio API   - Fixed issue where the Studio update thread could hang trying to release
 | |
|                  an event instance where the instance being released used a streaming
 | |
|                  programmer sound which was reused by another instance and the second
 | |
|                  instance was still active.
 | |
| * Studio API   - Fixed scheduling behavior of events inside multi instruments so that the
 | |
|                  event will play out async instruments, ahdsr modulators and adjust to
 | |
|                  pitch modulation before playing the next item in the multi instrument.
 | |
|                  It will still play before DSP tails.
 | |
| * Core API     - Fixed potential crash in the mixer or stream thread when playing 
 | |
|                  MIDI / MOD style files due to race condition.
 | |
| * Core API     - Android - Fixed potential crash when opening a file using the Android
 | |
|                  asset syntax file:///android_asset/.
 | |
| * Core API     - PS5 - Fixed error being returned from platform specific affinity API.
 | |
| * UE4          - Fixed possible crash during module shutdown if DLLs aren't loaded
 | |
|                  correctly.
 | |
| * UE4          - Fixed Android builds crashing at startup.
 | |
| * Unity        - Linux - Fixed FMOD_ERR_HEADERMISMATCH error due to conflict between
 | |
|                  FMOD Studio and FMOD Ex (built into Unity) in 2019.3.
 | |
| * Unity        - Fixed settings bank path using wrong directory separators.
 | |
| * Resonance    - Fixed rare crash in Resonance Audio due to thread safety issue.
 | |
| 
 | |
| Notes:
 | |
| * GameCore     - Updated to April 2020 GDK.
 | |
| * Stadia       - Now built with SDK 1.46.
 | |
| * PS4            Now built with SDK 7.508.
 | |
| * XboxOne      - Now built with July 2018 QFE13 XDK.
 | |
| * HTML5        - Now built with SDK 1.39.11, both fastcomp and upstream.
 | |
| * Unity        - Added PS5 platform.
 | |
| 
 | |
| 23/03/20 2.01.00 - Studio API major release (build 108403)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Studio::System::setListenerAttributes now supports a separate position
 | |
|                  argument for attenuation.
 | |
| * Core API     - Optimized mixing and vorbis decoding.  Performance increase of 2-2.5x on
 | |
|                  all platforms.
 | |
| * Core API     - Optimized Multiband EQ.  Performance increase of 2-3x on all platforms
 | |
|                  for stereo and higher channel count processing.
 | |
| * Core API     - Added cross-platform API for setting thread affinity, stack size and
 | |
|                  priority via FMOD_Thread_SetAttributes.
 | |
| * Core API     - Win - FMOD_OUTPUT_DEVICELISTCHANGED_CALLBACK now responds to default
 | |
|                  device changes.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed issue where async instruments on a transition timeline with fade
 | |
|                  out curves would snap to full volume when exiting the transition
 | |
|                  timeline.
 | |
| * Studio API   - The end of destination and magnet regions are included as part of the
 | |
|                  timeline length.
 | |
| * Studio API   - Changed behaviour of stopped async multi-instrument entries with
 | |
|                  unlimited loop counts to not play.
 | |
| * Studio API   - Loop regions of lower priority that coincide with transitions are now
 | |
|                  followed during the transition's source timeline.
 | |
| * Core API     - Fixed potential crash when calling Sound::getSubSound on a playing
 | |
|                  stream, this is now prohibited and will instead return an error.
 | |
| * Unity        - Fixed compatibility issues with C# wrapper. FMOD objects are now passed
 | |
|                  as IntPtr for callback arguments from native to C#. Use the constructor
 | |
|                  of the correct type to recreate the object from the IntPtr.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Calling Sound::getSubSound from FMOD_CREATESOUNDEXINFO::nonblockcallback
 | |
|                  is no longer a synchronous operation meaning an additional callback
 | |
|                  will execute when fetching the subsound has completed.
 | |
| * Core API     - Removed stackSizeStream, stackSizeNonBlocking and stackSizeMixer from
 | |
|                  FMOD_ADVANCEDSETTINGS. These are now set via FMOD_Thread_SetAttributes.
 | |
| * Core API     - Removed deprecated FMOD_ADVANCEDSETTINGS::commandQueueSize member.
 | |
| * Core API     - Removed all platform specific thread affinity APIs, affinity is now
 | |
|                  controlled via FMOD_Thread_SetAttributes.
 | |
| * Core API     - Renamed FMOD_OUTPUT_DESCRIPTION::polling to FMOD_OUTPUT_DESCRIPTION::method.
 | |
| * Core API     - When calling FMOD_Memory_Initialize with valid 'useralloc' and 'userfree'
 | |
|                  callbacks, the requirement of 'userrealloc' is now optional.
 | |
| * Core API     - DSP Echo delay effect minimum reduced to 1 millisecond.
 | |
| * FSBank       - Minimum requirement for Mac version of the FSBank tool has been lifted
 | |
|                  to macOS 10.12 due to framework update.
 | |
| * Profiler     - Minimum requirement for Mac version of the Profiler tool has been lifted
 | |
|                  to macOS 10.12 due to framework update.
 | |
| 
 | |
| 02/03/20 2.00.08 - Studio API minor release (build 108014)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added FMOD_STUDIO_EVENT_PROPERTY_COOLDOWN to set per instance cooldown.
 | |
| * Studio API   - Added Studio::getMemoryUsage, Bus::getMemoryUsage,
 | |
|                  Studio::EventInstance::getMemoryUsage and FMOD_STUDIO_MEMORY_USAGE for retrieving
 | |
|                  memory usage statistics in logging builds.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed issue with determining the end of an event inside a multi
 | |
|                  instrument.
 | |
| * Studio API   - Fixed issue with determining the end of an async instrument with pitch
 | |
|                  automation.
 | |
| * Studio API   - Fixed potential crash when playing a command replay from a 64bit game
 | |
|                  on a 32bit host.
 | |
| * Studio API   - Fixed issue where polyphony limits on an event and bus could both apply
 | |
|                  causing too many event instances to be stolen when starting a new event
 | |
|                  instance.
 | |
| * Studio API   - Fixed issue where Studio update thread could get stuck in an infinite
 | |
|                  loop and eventually deadlock with the game thread when a sound object
 | |
|                  used for a programmer sound was used by more than one event instance.
 | |
| * Studio API   - Fixed issue where transitioning from the start of a transition region
 | |
|                  to a destination marker using a relative transition with a tempo marker
 | |
|                  would result in the event stopping.
 | |
| * Studio API   - HTML5 - Fixed missing plugin errors for banks using loudness meter,
 | |
|                  convolution reverb or pitch shifter. These effects can be CPU intensive
 | |
|                  so use them with caution.
 | |
| * Core API     - Fixed seeking accuracy of mp3 files that use small mpeg frame sizes.
 | |
| * Core API     - Fixed ChannelGroup::isPlaying from returning false on a parent 
 | |
|                  ChannelGroup, when children groups in certain configurations had playing 
 | |
|                  sounds.
 | |
| * Core API     - iOS - Fixed issue causing MP3 netstreams to not work.
 | |
| * Core API     - iOS - Fixed issue where FMOD_CREATECOMPRESSEDSAMPLE would not work as
 | |
|                  expected with MP3 files.
 | |
| * UE4          - Fixed crash in 4.24 caused by SetActive call in FMODAudioComponent.
 | |
| * UE4          - Fixed warning log message when using the IsBankLoaded blueprint function
 | |
|                  when the bank is not loaded.
 | |
| * Unity        - TextAsset banks import directory now defaults to 'FMODBanks' instead
 | |
|                  of the root 'Assets' folder.
 | |
| * Unity        - HTML5 - Fixed compilation issue preventing launch.
 | |
| 
 | |
| Notes:
 | |
| * XboxOne      - Now built with July 2018 QFE12 XDK.
 | |
| * PS4          - Resonance Audio now built with SDK 7.008.
 | |
| * HTML5        - JavaScript bindings are now separate from the main bitcode binary to
 | |
|                  facilitate recompilation of ASM.JS / WASM or usage in strictly native
 | |
|                  projects.
 | |
| 
 | |
| 17/01/20 2.00.07 - Studio API minor release (build 107206)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unity        - Changing bank import type now gives you the option of removing the
 | |
|                  previously imported banks.
 | |
| * UE4          - Added getParameter functions for getting user and final values.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed application of fade curves to instruments when transitioning
 | |
|                  immediately between transition timelines.
 | |
| * Studio API   - Fixed Studio::EventDescription::is3D to return true for events with
 | |
|                  scatterer instruments, for 3D instruments inside multi instruments, and
 | |
|                  for spatializers on non-master tracks.
 | |
| * Studio API   - Fixed relative transition calculation when performing a transition jump
 | |
|                  that would incorrectly end up at the beginning instead of the end of the
 | |
|                  destination or vice versa.
 | |
| * Studio API   - Fixed issue when encountering a loop region in a destination timeline
 | |
|                  which would stop the event in specific circumstances.
 | |
| * Studio API   - Fixed crash when profiling runtime with an older Studio tool version.
 | |
| * Core API     - Fixed asserts from setting readonly DSP data parameters when the setter
 | |
|                  isn't implemented.
 | |
| * Core API     - Fixed FSBankLib Vorbis encoder not supporting quality zero as default.
 | |
| * Core API     - Fixed System::setDriver not always applying if called after
 | |
|                  System::setOutput when the device list has changed.
 | |
| * Core API     - Fixed DSP_PARAMETER_DESC being populated with incorrect data in C#.
 | |
| * Core API     - Fixed MP3 codec not respecting FMOD_ACCURATETIME flag when played as
 | |
|                  FMOD_CREATECOMPRESSEDSAMPLE.
 | |
| * UE4          - Fixed EncryptionKey not being saved to packaged game. Bank encryption keys
 | |
|                  in existing projects will need to be re-entered after upgrading.
 | |
| * UE4          - XBoxOne - Fixed third party plugin path.
 | |
| * UE4          - Fixed FMODEvent::GetParameterDescriptions not working in built game.
 | |
| * Unity        - Fix lag in editor due to banks being reimported.
 | |
| * Unity        - Fixed FMODStudioCache causing deserialization exceptions by moving the
 | |
|                  file to a separate cache folder.
 | |
| 
 | |
| Notes:
 | |
| * PS4          - Now built with SDK 7.008.031.
 | |
| * Stadia       - Now built with SDK 1.38.
 | |
| * Switch       - Now built with SDK 9.3.0.
 | |
| * HTML5        - Now built with sdk-1.38.19-64bit
 | |
| * UE4          - Added support for UE4.24.
 | |
| * UE4          - Added support for Stadia.
 | |
| * OSX          - Updated Resonance Audio plugin with performance improvements.
 | |
| 
 | |
| 20/11/19 2.00.06 - Studio API minor release (build 106220)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed issue where a loop on an instrument followed immediately by a
 | |
|                  transition timeline could result in a short pause in playback.
 | |
| * Core API     - Mac - Fix crash calling recordStart at the same time as unplugging a USB
 | |
|                  microphone.
 | |
| * Core API     - Android - minimum Android version for AAudio support changed to 8.1
 | |
|                  (API 27) to circumvent AAudio RefBase crash issue.
 | |
| * Core API     - XboxOne - Fixed background music port going silent if XAudio is
 | |
|                  initialized outside of FMOD.
 | |
| * Core API     - Stadia - Fixed crash at static initialization time when using the logging
 | |
|                  build on system software v1.37 and newer.
 | |
| * FSBank API   - Win - Fixed bug introduced in 2.00.05 which prevented banks being built
 | |
|                  when passing a non-empty encryption key to FSBank_Build.
 | |
| * UE4          - Fixed asset loading errors on dedicated server.
 | |
| * Unity        - Fixed integration deleting non FMOD bank/bytes files when refreshing.
 | |
| * Unity        - Fixed handling of iOS AudioSession interruption notifications.
 | |
| 
 | |
| Notes:
 | |
| * iOS          - Now built with iOS SDK 13.1 and tvOS SDK 13.0 (Xcode 11.1).
 | |
| * Mac          - Now built with macOS SDK 10.15 (Xcode 11.1).
 | |
| 
 | |
| 09/10/19 2.00.05 - Studio API minor release (build 105402)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Add event and bus instance CPU profiling to the FMOD Studio API.
 | |
| * Core API     - Stadia - Added voice output port FMOD_STADIA_PORT_TYPE_VOICE.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed crash caused by creating an instance of an event containing a
 | |
|                  nested event which has not been loaded.
 | |
| * Studio API   - Fixed pitch changes on a bus propagating across sidechain connections.
 | |
| * Studio API   - Fixed application of transition fade curves to parameter triggered
 | |
|                  instruments on multi track events.
 | |
| * Core API     - Fixed mixer falling silent due to very small but not denormal positions
 | |
|                  being passed into the API.
 | |
| * Core API     - Fixed crash when processing loops of FMOD_DSPCONNECTION_TYPE_SEND
 | |
|                  or FMOD_DSPCONNECTION_TYPE_SEND_SIDECHAIN.
 | |
| * Unity        - Removed high frequency of UnityEditor.SetDirty calls.
 | |
| * Unity        - Fixed issues with using relative paths in linked project/bank directory.
 | |
| 
 | |
| Notes:
 | |
| * Switch       - Now built with SDK 8.3.0.
 | |
| * XboxOne      - Now built with July 2018 QFE9 XDK.
 | |
| 
 | |
| 06/09/19 2.00.04 - Studio API minor release (build 104705)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Official support for Stadia as a separate platform is now complete, anyone using
 | |
|   the Linux version should migrate across.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed issue where programmer sound without an associated sound would
 | |
|                  have unexpected behavior when modulated.
 | |
| * Studio API   - Fixed issue where instruments with low polyphony would incorrectly fail
 | |
|                  to play.
 | |
| * Studio API   - Fixed looping multi-instrument with streaming instruments cutting
 | |
|                  off near the end of the loop when the length of the multi-instrument is
 | |
|                  slightly longer than a multiple of the instrument length.
 | |
| * Studio API   - Fixed issue where automation points are reused in transition timelines
 | |
|                  when both the timelines and the transition have no automation points.
 | |
| * Core API     - Fixed crash caused by unlinking a convolution reverb dsp during a mix.
 | |
| * Core API     - Fixed potential alignment crash on ARM devices if using FMOD_DSP_PAN.
 | |
| * Core API     - Fixed leak of socket handles when binding to a listening port fails.
 | |
| * Core API     - Win / UWP / XboxOne - Fixed incorrect DSP CPU reporting when using
 | |
|                  FMOD_OUTPUTTYPE_WINSONIC.
 | |
| * UE4          - Fixed crash in PlayEventAtLocation when world context is invalid.
 | |
| * UE4          - Fixed failed to load errors when playing in Standalone.
 | |
| * UE4          - Switch to using "Additional non-asset directories to copy" packaging
 | |
|                  setting for FMOD banks to avoid possible deadlocks at runtime.
 | |
| * Unity        - Fixed banks being copied to project repeatedly when using AssetBundles.
 | |
| * Unity        - Fixed Events not auditioning from split banks.
 | |
| * Unity        - Fixed RuntimeManager being able to update the 3DAttributes for an
 | |
|                  Event Instance multiple times using different values.
 | |
| 
 | |
| 02/08/19 2.00.03 - Studio API minor release (build 103912)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Improved ASIO channel mapping via FMOD_ADVANCEDSETTINGS::ASIOSpeakerList.
 | |
|                  Skips irrelevant speakers with FMOD_SPEAKER_NONE and supports devices up
 | |
|                  to 32 channels without using FMOD_SPEAKERMODE_RAW.
 | |
| * Core API     - Android - Added support for AAudio via FMOD_OUTPUTTYPE_AAUDIO.
 | |
| * Core API     - PS4 - Added ResonanceAudio plugin for PS4.
 | |
| * Core API     - Android - Added support for setting thread affinity via
 | |
|                  FMOD_Android_SetThreadAffinity.
 | |
| * UE4          - Added blueprint node for Studio::EventInstance::release.
 | |
| * Unity        - Added setParameter by name wrapper function to StudioEventEmitter.Features:
 | |
| * Unity        - Fixed crash when setting logging level to LOG and entering playback.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed rare crash on Studio::System::release.
 | |
| * UE4          - Fixed FMODAudioComponent not being occluded are being stopped and
 | |
|                  restarted.
 | |
| * Unity        - Fixed project determinism issue causing paths to update when opening
 | |
|                  the project on Windows and Mac.
 | |
| * HTML5        - FMOD Studio examples updated with 2.0 API changes.
 | |
| 
 | |
| Notes:
 | |
| * Switch       - Now built with SDK 8.2.0.
 | |
| * XboxOne      - Now built with July 2018 QFE7 XDK.
 | |
| 
 | |
| 18/06/19 2.00.02 - Studio API minor release (build 102879)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - C# - Added getters to DSP_PARAMETER_FFT that will fill a user provided
 | |
|                  buffer, to avoid garbage collection.
 | |
| * Studio API   - FMOD_STUDIO_EVENT_CALLBACK_SOUND_PLAYED,
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_MARKER, and
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_SOUND_STOPPED callbacks are now called from
 | |
|                  nested events.
 | |
| * UE4          - Added support for tvOS.
 | |
| * Unity        - StudioEventEmitter and EventRef now support the use of GUIDs or paths.
 | |
| * Unity        - StudioListener components will be assigned an index from the
 | |
|                  RuntimeManager at runtime, rather than user specified.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Win 64bit - Skip JACK ASIO driver when enumerating ASIO devices. An
 | |
|                  unrecoverable crash occurs in the driver when attempting to query its
 | |
|                  capabilities.
 | |
| * UE4          - Fixed "Accessed too early?" crash by changing the plugin loading phase.
 | |
| * UE4          - Fixed OnEventStopped not being broadcast when the FMODAudioComponent
 | |
|                  is destroyed.
 | |
| * Unity        - Fixed third party plugin paths for Win32 and Mac.
 | |
| * Unity        - Changed the Debug Overlay Window ID to avoid conflicts.
 | |
| * Unity        - iOS - Fixed sound stopping in editor when focus is lost.
 | |
| 
 | |
| * PS4          - Now built with SDK 6.508.021.
 | |
| 
 | |
| 09/05/19 2.00.01 - Studio API minor release (build 102182)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - ChannelMix DSP now supports re-routing input channels.
 | |
| * UE4          - Added support for UE4.22.
 | |
| * UE4          - Added Encryption Key to the settings for loading sounds from
 | |
|                  encrypted banks.
 | |
| * UE4          - Added Play-In-Editor logging options to Plugin Settings.
 | |
| * UE4          - Android - Added support for x86_64.
 | |
| * Unity        - Added SetParameter by ID to StudioEventEmitter.
 | |
| * Unity        - Added Encryption Key to the settings for loading sounds from
 | |
|                  encrypted banks.
 | |
| * Unity        - Added mouse events to StudioEventEmitter trigger options.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed assert caused by a backwards transition with a lead out on a
 | |
|                  transition timeline with callbacks for timeline markers.
 | |
| * Studio API   - Fixed bug in cone angle built-in parameter calculation when using
 | |
|                  FMOD_INIT_3D_RIGHTHANDED.
 | |
| * Core API     - Fixed virtualized objects from object spatializer being silenced
 | |
|                  (introduced in 2.00.00).
 | |
| * Core API     - Fix crash when using convolution reverb with a DSP buffer size of 4096 or
 | |
|                  above.
 | |
| * Core API     - Fix crash trying to load corrupt WAV files with 0 length chunk size.
 | |
| * Core API     - Fix crash trying to load corrupt MP3 files.
 | |
| * Core API     - Fixed send dsp data being retained after being bypassed.
 | |
| * Core API     - iOS - Fixed crash when suspending or resuming the mixer while audio is
 | |
|                  loading.
 | |
| * UE4          - Fixed Ambient LPF values not being set properly.
 | |
| * UE4          - Fixed builds failing due to the integration being loaded after
 | |
|                  blueprints.
 | |
| * UE4          - Fixed listener using the correct nested AudioVolume.
 | |
| * Unity        - Fixed handling banks in sub-directories.
 | |
| * Unity        - Fixed IOException when trying to copy banks into StreamingAssets.
 | |
| * Unity        - Fixed Events previewed in Timeline not stopping.
 | |
| * Unity        - Fixed StudioListeners with an index larger than zero causing errors.
 | |
| * Unity        - Fixed FMODStudioSettings.asset modifying bank list order when
 | |
|                  using different scripting backends.
 | |
| * Unity        - Remove garbage collection overhead in DebugOverlay.
 | |
| * Unity        - Fixed creating duplicate objects when loading banks for the Editor.
 | |
| * Unity        - Fixed Emitters cleaning up properly when using one shot Events.
 | |
| * Unity        - Fixed paths for plugins in editor.
 | |
| * Unity        - Fixed build errors on iOS / tvOS due to "lowLevelSystem" references.
 | |
| * Unity        - Removed excessive error logging when no project or folder linked
 | |
|                  to the integration.
 | |
| * Unity        - Fixed occasional issues with copying banks into StreamingAssets.
 | |
| * Unity        - Fixed Master Bank not being found if in a sub directory.
 | |
| * Unity        - Fixed StudioParameterTrigger IndexOutOfRange exception.
 | |
| 
 | |
| Notes:
 | |
| * XboxOne      - Now built with July 2018 QFE4 XDK.
 | |
| 
 | |
| 14/03/19 2.00.00 - Studio API major release (build 101145)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Bank sample data encryption is now supported via the Studio API.
 | |
|                  Use FMOD_STUDIO_ADVANCEDSETTINGS.encryptionkey to specify the
 | |
|                  encryption key to use when opening banks and use the
 | |
|                  FMOD_STUDIO_LOAD_BANK_UNENCRYPTED flag to load unencrypted banks
 | |
|                  if an encryption key has been set.
 | |
| * Studio API   - Added built-in parameter for speed.
 | |
| * Studio API   - Added support for global parameters.
 | |
| * Studio API   - Added support for global mixer automation.
 | |
| * Studio API   - Added the ability to set a custom final value on an AHDSR modulator.
 | |
| * Studio API   - Added ignoreseekspeed argument to public api setParameter functions.
 | |
| * Studio API   - Added the ability to automate time based ahdsr properties.
 | |
| * Studio API   - Added a command instrument with the ability to stop all non-nested
 | |
|                  instances of an event description.
 | |
| * Core API     - Added output device enumeration to Windows Sonic output plugin.
 | |
| * Unity        - Switch platform settings have been moved into a separate dropdown.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Event parameters with "Hold value during playback" enabled now
 | |
|                  snap to their target values when their event is started.
 | |
| * Studio API   - Changed quantization calculation to use future tempo markers if no past
 | |
|                  tempo markers are present, and default to 4/4 timing at 120 bmp if no
 | |
|                  tempo markers are present.
 | |
| * Studio API   - Transition regions not using quantization perform any probability 
 | |
|                  determinations each time all other required conditions are newly met.
 | |
| * Studio API   - Sidechain modulators now correctly handle multiple sidechain inputs.
 | |
| * Core API     - Fixed volume spike due to tremolo DSP with high duty setting.
 | |
| * Core API     - Fixed excessive instances of clipping that occur when adjusting
 | |
|                  the FMOD_DSP_THREE_EQ_LOWCROSSOVER value of a DSPThreeEQ DSP in
 | |
|                  the low frequency range.
 | |
| 
 | |
| Notes:
 | |
| * Updated Resonance Audio plugin removing additional transformation of occlusion values.
 | |
|   If previous occlusion calculation is required, replace the resonance audio libraries
 | |
|   with their 1.10 versions.
 | |
| * The GoogleVR plugin deprecated in 1.10 has now been removed, Resonance Audio
 | |
|   is available as a functional drop in replacement.
 | |
| * Studio API   - The parameter API has been updated. See the "What's New in 2.00"
 | |
|                  section in the API documentation for details.
 | |
| * Studio API   - The deprecated ParameterInstance class has been removed.
 | |
| * Studio API   - Seek speed is now applied when parameter values are modified by
 | |
|                  AHDSR or sidechain modulation.
 | |
| * Studio API   - Parameters with seek speed now snap to their target value when
 | |
|                  the event stops.
 | |
| * Studio API   - Automatic parameters no longer update their user value. The
 | |
|                  automatically calculated value can be retrieved using the finalvalue
 | |
|                  parameter of Studio::EventInstance::getParameter.
 | |
| * Studio API   - Studio::System::getBank no longer supports getting a loaded bank from
 | |
|                  the system by filename.
 | |
| * Core API     - System::getFileUsage will no longer count bytes read from user callbacks.
 | |
| * Core API     - Automatic SRS downmix from 5.1 to 2.0 has been removed.
 | |
| * Core API     - System::getSoundRAM API has been removed.
 | |
| * Core API     - FMOD_ADVANCEDSETTINGS::HRTFMinAngle, HRTFMaxAngle, HRTFFreq removed
 | |
| * Core API     - FMOD_CREATESOUNDEXINFO::channelmask removed
 | |
| * Core API     - Win - Support for paths using Windows ANSI Code Page (ACP) encoding
 | |
|                  has been removed. Paths must be UTF-8 encoded.
 | |
| * Core API     - Win - The minimum supported version of Windows has been lifted
 | |
|                  from Windows XP to Windows 7. Coupled with this change we have
 | |
|                  removed the legacy DirectSound and WinMM output modes.
 | |
| * Win / UWP    - All binaries no longer have a suffix indicating the target architecture,
 | |
|                  instead the files are separated by directories in the installer.
 | |
| 
 | |
| 14/03/19 1.10.12 - Studio API minor release (build 101101)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unity        - Added option to specify Live Update port number in editor settings.
 | |
| * Unity        - Changed StudioEventEmitter private members to protected.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Avoid stalling when unloading a bank which is waiting to load sample data
 | |
|                  behind other banks.
 | |
| * Core API     - FMOD_OUTPUTTYPE_ASIO is now compatible with more devices without
 | |
|                  requiring calls to System::setDSPBufferSize.
 | |
| * Core API     - Android - Fixed instances of audio stuttering that occurred on some
 | |
|                  devices by dynamically adding latency to compensate.
 | |
| * Core API     - Fixed MP3 files with MPEG 2.5 encoding having distortion on some files.
 | |
| * Unity        - Fixed plugins not being found on Android.
 | |
| * Unity        - Fix for banks being read only when trying to copy new banks to
 | |
|                  StreamingAssets.
 | |
| * Unity        - Fixed BatchMode builds not being able to find the MasterBank.
 | |
| * Unity        - Fixed BatchMode builds not building with banks.
 | |
| * Unity        - Changed console default thread affinity to not use the game thread.
 | |
| * Unity        - Fixed Strings bank not being found or copied (introduced in 1.10.10).
 | |
| 
 | |
| 01/02/19 1.10.11 - Studio API minor release (build 99976)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Add streamingscheduledelay member to FMOD_STUDIO_ADVANCEDSETTINGS. May be
 | |
|                  used to reduce latency when scheduling events containing streaming
 | |
|                  sounds.
 | |
| * UE4          - Expose the FMODAudioComponent::bAutoDestroy property to the
 | |
|                  PlayEventAttached Blueprint function.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed fire and forget event instances not releasing when another instance
 | |
|                  of the same event is active.
 | |
| * Studio API   - Fixed a bug with multi-instruments when using looping and initial seek
 | |
|                  which caused a gap of silence the same length as the initial seek when
 | |
|                  scheduling the second instrument.
 | |
| * Core API     - Fixed MP3 files using Xing headers from having incorrect seek positions 
 | |
|                  when using Channel::setPosition.
 | |
| * Core API     - Fixed potential crash caused by third party applications sending 
 | |
|                  data to the FMOD profiler port.
 | |
| * Core API     - Fixed issue where bypassed faders and convolution reverb dsps could
 | |
|                  silence their output.
 | |
| * UE4          - Fixed 'An invalid object handle' errors from FMODAudioComponent
 | |
|                  in sequencer after reloading banks.
 | |
| * UE4          - Fixed playback not working correctly in Sequencer.
 | |
| * UE4          - Fixed error from FindEventInstances if zero events found.
 | |
| * UE4          - Fixed Programmer Sounds not auditioning in Editor.
 | |
| * UE4          - Fixed events not playing in Sequencer.
 | |
| * Unity        - Fixed RuntimeManager being saved to scene after auditioning timeline.
 | |
| * Unity        - Fix AttachInstanceToGameObject positioning not being applied correctly.
 | |
| 
 | |
| Notes:
 | |
| * PS4          - Now built with SDK 6.008.051.
 | |
| * iOS          - Now built with iOS SDK 12.1 and tvOS SDK 12.1 (Xcode 10.1) which
 | |
|                  necessitates lifting the min spec to 8.0 for iOS, no change for tvOS.
 | |
| * Mac          - Now built with macOS SDK 10.14 (Xcode 10.1) which necessitates
 | |
|                  lifting the min spec to 10.7 and the removal of x86 support.
 | |
| * Android      - Added support for x86_64.
 | |
| 
 | |
| 03/12/18 1.10.10 - Studio API minor release (build 98815)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added FMOD_STUDIO_EVENT_CALLBACK_REAL_TO_VIRTUAL and
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_VIRTUAL_TO_REAL.
 | |
| * Core API     - Added DSP::GetCPUUsage to public API.
 | |
| * Core API     - Linux - Added support for FMOD_ALSA_DEVICE environment variable to
 | |
|                  allow a user to specify an ALSA device.
 | |
| * HTML5        - Add Web Assembly support (WASM) to HTML5 version of FMOD Core API 
 | |
|                  and Studio API.  Memory usage halved, CPU speed improvements of about 30%
 | |
| * Unity        - Android - Added ARM64 support.
 | |
| * Unity        - Add support for working with multiple master banks and strings banks.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed multi-instrument playlist entries set to loop infinitely not
 | |
|                  looping correctly.
 | |
| * Studio API   - Fixed pop that occurs at the start of a transition destination section
 | |
|                  with a fade curves.
 | |
| * Studio API   - Fixed nested event instances stopping when their parent is paused.
 | |
| * Studio API   - HTML5 - Fix Studio::System::getSoundInfo not working
 | |
| * Core API     - System::setDSPBufferSize validates arguments for integer overflow.
 | |
| * Core API     - Fixed potential CPU usage spike due to dsp flush on releasing a
 | |
|                  programmer sound during the destroy callback.
 | |
| * Core API     - Opening a playlist from a URL now validates that the playlist file is a
 | |
|                  text file and falls back to codec probing if binary data is found.
 | |
| * Core API     - Linux - Fixed occasional distortion that can occur when using
 | |
|                  PulseAudio.
 | |
| * FSBank API   - Fixed issue where a file change would not be detected when it has the
 | |
|                  same modified time.
 | |
| * UE4          - Fixed occlusion using the trace channel selected in editor.
 | |
| * UE4          - Fixed plugin include directory paths.
 | |
| * UE4          - Fixed crash caused by trying to access objects pending kill.
 | |
| * UE4          - Fixed occlusion not working.
 | |
| * UE4          - Fixed programmer sounds trying to access the FMODStudioModule outside
 | |
|                  of the main thread, while also improving the performance of the
 | |
|                  FMODAudioComponent.
 | |
| * Unity        - Fixed Asset Folder name updating after each keystroke.
 | |
| * Unity        - Fixed Timeline playables playing the previously selected event.
 | |
| * Unity        - Fixed "Bus not found" error caused when no banks loaded in editor.
 | |
| * Unity        - iOS - Fixed Events not resuming after returning focus.
 | |
| * Unity        - PS4 - Fixed logging libs being used for development builds.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Reduced the maximum number of parameter values which can be set in a
 | |
|                  batch using Studio::EventInstance::setParameterValuesByIndices to 64.
 | |
| * HTML5        - Now built with Emscripten v1.38.15
 | |
| * Switch       - Now built with SDK 6.4.0.
 | |
| 
 | |
| 11/10/18 1.10.09 - Studio API minor release (build 97915)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added globally sequential play mode to multi and scatterer instruments.
 | |
| * Unity        - All logging will now be displayed in the editor console. The logging 
 | |
|                  level can be changed using the dropdown in settings.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed missing bank warnings when playing a CommandReplay using 
 | |
|                  FMOD_STUDIO_COMMANDREPLAY_SKIP_BANK_LOAD mode.
 | |
| * Studio API   - UWP - Fixed Studio thread affinity not applying correctly.
 | |
| * Studio API   - Android / UWP - Fixed CommandReplay not working with AppX and
 | |
|                  APK based paths.
 | |
| * Core API     - Fixed loading of encrypted FSBs.
 | |
| * Core API     - Fixed several panning issues when using FMOD_SPEAKERMODE_QUAD or
 | |
|                  FMOD_SPEAKERMODE_SURROUND, does not affect Studio API usage.
 | |
| * Core API     - Fixed potential hang from internal fade point usage.
 | |
| * Core API     - Fixed ChannelControl::setMixLevelsInput not remembering the set
 | |
|                  values when FMOD_3D is applied.
 | |
| * Core API     - Fixed potential cpu usage spike due to thread lock on releasing a
 | |
|                  non-gpu convolution reverb dsp.
 | |
| * Core API     - Fixed support of FMOD_3D_INVERSETAPEREDROLLOFF.
 | |
| * Core API     - Fixed potential cpu usage spike due to thread lock on releasing a
 | |
|                  transciever dsp.
 | |
| * Core API     - Win / UWP - Fixed Windows Sonic initialization failure when audio
 | |
|                  device is configured for a sample rate other than 48KHz.
 | |
| * Core API     - Linux - Fixed ALSA default audio device selection.
 | |
| * Core API     - Android - Fixed crash if System::mixerSuspend is called before
 | |
|                  System::init.
 | |
| * Unity        - iOS - Fixed playback not resuming after alarm / call interruptions.
 | |
| 
 | |
| Notes:
 | |
| * Updated Resonance Audio plugin to add support for near field effects, and added
 | |
|   FMOD_DSP_PARAMETER_OVERALLGAIN parameter to support virtualization.
 | |
| * PS4          - Now built with SDK 6.008.001.
 | |
| * XboxOne      - Now built with July 2018 QFE2 XDK.
 | |
| 
 | |
| 10/08/18 1.10.08 - Studio API minor release (build 96768)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * UE4          - FMODAudioComponent is now blueprintable.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed potential crash when calling Studio::EventInstance::release from
 | |
|                  the FMOD_STUDIO_EVENT_CALLBACK_STOPPED triggered by Bus::stopAllEvents.
 | |
| * Studio API   - Fixed a bug where changes to a parameter value made while an event was in
 | |
|                  the FMOD_STUDIO_PLAYBACK_STARTING state would not update automation
 | |
|                  controllers (introduced in 1.10.02).
 | |
| * Studio API   - Fixed Studio::CommandReplay::release not cleaning up resources
 | |
|                  unless Studio::CommandReplay::stop was called earlier.
 | |
| * Studio API   - HTML5/WebGL - Fixed the following functions that didn't work.
 | |
|                      - Studio::Bank::getID
 | |
|                      - Studio::EventDescription::getID
 | |
|                      - Studio::Bus::Bank::getID
 | |
|                      - Studio::VCA::Bank::getID
 | |
|                      - Studio::System::lookupID
 | |
|                      - Studio::Bank::getStringInfo
 | |
|                      - Studio::System::getBankList
 | |
|                      - Studio::EventDescription::getInstanceList
 | |
|                      - Studio::Bank::getEventList
 | |
|                      - Studio::Bank::getBusList
 | |
|                      - Studio::Bank::getVCAList
 | |
| * Core API     - Fixed audible artifacts when adjusting pitch near 1.0. Issue
 | |
|                  can be seen from doppler calculations with small velocities.
 | |
| * Core API     - Improved stuttering issue when using Windows Sonic with high
 | |
|                  DSP CPU usage.
 | |
| * Core API     - Fixed init errors on output devices that operate at 384KHz such
 | |
|                  as the Aune X1s.
 | |
| * Core API     - Windows - Improved compatibility with some audio drivers by falling
 | |
|                  back to stereo.
 | |
| * Core API     - HTML5/WebGL - Added support for unimplemented System::createDSP
 | |
|                  with FMOD_DSP_DESCRIPTION. DSP callbacks are provided to allow
 | |
|                  custom DSP support in Javascript. Added dsp_custom example to
 | |
|                  example folder.
 | |
| * Core API     - HTML5/WebGL - Added support for unimplemented
 | |
|                  ChannelControl::setCallback.
 | |
| * Core API     - HTML5/WebGL - Enabled support for 5.1 / Surround sound in a browser.
 | |
|                  Only Firefox supports 5.1 so far, out of all browsers tested.
 | |
| * UE4          - Fixed Activate and SetActive not working for FMODAudioComponents.
 | |
| * UE4          - Fixed Simulating in editor producing no sound.
 | |
| * UE4          - Fixed BlueprintStatics::LoadBank not working for banks containing spaces.
 | |
| * UE4          - Fixed asset banks not displaying in editor or being loaded.
 | |
| * Unity        - Fixed warnings due to loading sample data on a metadata-only bank
 | |
|                  before its asset bank is loaded.
 | |
| * Unity        - Fixed source project not updating if the old path is still valid.
 | |
| 
 | |
| Notes:
 | |
| * XboxOne      - Now built with April 2018 QFE1 XDK.
 | |
| 
 | |
| 03/07/18 1.10.07 - Studio API minor release (build 95892)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unity        - Added support for Timeline (from Unity 2017.1 onwards).
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - The FMOD Gain effect is now taken into account when applying event
 | |
|                  stealing behavior and virtualizing FMOD::Channels.
 | |
| * Core API     - Win/XboxOne - Fixed crash during System::recordStart if the
 | |
|                  device was unplugged.
 | |
| * Core API     - Win - System::loadPlugin now correctly handles UTF-8 encoded
 | |
|                  paths. Support for paths using ACP is deprecated and will be removed in
 | |
|                  FMOD 1.11.
 | |
| * UE4          - Fixed auditioning events not taking parameter values into account.
 | |
| * UE4          - Fixed game crash when built using Event-Driven-Loader.
 | |
| 
 | |
| 06/06/18 1.10.06 - Studio API minor release (build 95384)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unity        - Added SampleRate for Play-In-Editor settings.
 | |
| * Unity        - Added scripts for setting thread affinity on specific consoles.
 | |
| * HTML5        - Updated core API and studio API examples to handle chrome mute until
 | |
|                  mouse click or touch event happens, via System::mixerSuspend /
 | |
|                  System::mixerResume.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed potential crash if a stream naturally ends at the same time
 | |
|                  as being released.
 | |
| * Core API     - Fixed incorrect parsing of large ID3 tags.
 | |
| * Core API     - Fixed FMOD_ERR_FILE_BAD error when trying to call setPosition to a point
 | |
|                  past 2GB bytes in a file.
 | |
| * Core API     - Fixed crash if Windows Sonic output mode is used with the object
 | |
|                  spatializer and the device is unplugged.
 | |
| * Core API     - Fixed stall in Sound::release for FSB files if another thread is
 | |
|                  performing a createSound operation.
 | |
| * Core API     - Fixed potential crash when playing a netstream with tags.
 | |
| * Core API     - Fixed OGG netstreams not automatically stopping if the stream goes
 | |
|                  offline.
 | |
| * Core API     - Fixed potential invalid memory access when a channel group is released
 | |
|                  (introduced in 1.10.02).
 | |
| * Core API     - Channel group audibility now factors in attenuation due to 3D effects
 | |
|                  when using ChannelControl::setMode(FMOD_3D).
 | |
| * Core API     - HTML5/WebGL - Fix System::setDriver(0) causing garbled audio when trying 
 | |
|                  to respond to a touch event and the audio is already active. 
 | |
| * Core API     - HTML5/WebGL - Fix floating point accuracy issues making MIDI file sound 
 | |
|                  out of tune.
 | |
| * Core API     - UWP - Fixed default affinity mask incorrectly putting all threads
 | |
|                  on core 0, now threads default to distributing among all cores.
 | |
| * UE4          - Removed FMODAudioComponent ticking when deactivated.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Windows Sonic output mode no longer requires a block size of 480.
 | |
| * XboxOne      - Now built with February 2018 XDK.
 | |
| * Switch       - Now built with SDK 5.3.0.
 | |
| 
 | |
| 26/04/18 1.10.05 - Studio API minor release (build 94661)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Add "Channel mask" tag to MIDI file support, to allow a user to 
 | |
|                  map used / unused channels in a midi file to the channel IDs in the
 | |
|                  Sound::setMusicChannelVolume / Sound::getMusicChannelVolume functions
 | |
| * Core API     - Fixed System::recordStart memory leak if an error was returned.
 | |
| * UE4          - File buffer size is now customizable in the settings menu.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed a rare bug where Studio::System::Update could hang if a streaming
 | |
|                  sound encountered an error.
 | |
| * Studio API   - Fixed events getting stuck in a paused state if they were restarted while
 | |
|                  waiting for sample data to load (introduced in 1.10.02).
 | |
| * Studio API   - Fixed an issue preventing network streams being used as programmer 
 | |
|                  sounds.
 | |
| * Core API     - Fixed rare hang during Sound::release when releasing a streaming sound in
 | |
|                  the FMOD_OPENSTATE_ERROR state.
 | |
| * Core API     - Switch - Fixed Vorbis encoded banks producing silence when using
 | |
|                  multimedia.nso (UE4 uses this).
 | |
| * UE4          - Fixed FMODAudioComponent programmer sound creation flags.
 | |
| * UE4          - Switch - Fixed performance by changing default thread affinity.
 | |
| * Unity        - Fixed FMODStudioSettings asset dirty flag being set unnecessarily.
 | |
| * Unity        - Fixed callbacks crashing when using IL2CPP or Mono on some platforms.
 | |
| * Unity        - Fixed editor system not being cleaned up on Play-In-Editor start.
 | |
| * Unity        - Android - Fixed load bank returning ERR_INVALID_HANDLE.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - It is now possible to initialize WinSonic output even if the user
 | |
|                  has not enabled spatial audio on their default device. The platform
 | |
|                  will provide a non-binaural downmix to the user desired speaker mode.
 | |
| * PS4          - Now built with SDK 5.508.021.
 | |
| 
 | |
| 05/03/18 1.10.04 - Studio API minor release (build 93853)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Improved bank loading performance when there are already a large number
 | |
|                  of loaded events.
 | |
| * UE4          - Added the ability to enable Live Update while in editor for auditioning.
 | |
|                  The Editor will need to be restarted for this setting to take effect.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed a bug where Studio::System::Update could fail with
 | |
|                  FMOD_ERR_INVALID_HANDLE or FMOD_ERR_CHANNEL_STOLEN, which could lead to
 | |
|                  memory or performance problems. Introduced in 1.10.03.
 | |
| * Core API     - XboxOne - Fixed XMA hang that can occur after actively using
 | |
|                  many XMA voices for several days.
 | |
| * Unity        - Fixed MobileHigh/Low classifications for Apple Devices. Pre iPhone 5
 | |
|                  is classed as MobileLow.
 | |
| 
 | |
| 01/02/18 1.10.03 - Studio API minor release (build 93157)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added ASIO support for drivers that use PCM32 as a container for
 | |
|                  smaller sized data.
 | |
| * Profiler     - Draw different DSP connection types with different line styles.
 | |
| * UE4          - Added option to specify memory pool size, per platform, in the project
 | |
|                  FMOD Studio settings.
 | |
| * UE4          - Now complying with IWYU mode, this should increase compilation speed.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed the DSP network sometimes getting into a bad state when a sidechain
 | |
|                  is connected to the next effect in the chain.
 | |
| * Studio API   - Fixed event playback sometimes using stale parameter values.
 | |
| * Studio API   - Fixed events failing to stop if they contain empty Single Instruments.
 | |
| * Core API     - Fixed potential crash in device list changed callback when there
 | |
|                  are no available devices remaining.
 | |
| * Core API     - Fix 3D 5.1 sound not panning correctly if ChannelControl::set3DLevel(0) is used.
 | |
| * Core API     - Fixed ID3v2.4 compatibility issue causing missing or corrupted tags.
 | |
| * Core API     - Android - Fixed incorrect floating point check on ARM64 devices
 | |
|                  causing FMOD_ERR_NEEDSHARDWARE with some devices.
 | |
| * Core API     - XboxOne - Fixed race condition causing internal errors with XMA
 | |
|                  sounds loaded as FMOD_CREATECOMPRESSEDSAMPLE.
 | |
| * Core API     - PS4 - Fixed internal assertion caused by setPosition on an AT9
 | |
|                  sound loaded as FMOD_CREATECOMPRESSEDSAMPLE.
 | |
| * FSBank API   - Fixed creation of C header so it goes next to the FSB instead
 | |
|                  of the working directory of the application.
 | |
| * Unity        - Fixed pause working properly in Play In Editor mode.
 | |
| * Unity        - Removed excess memory allocation from APIs that return strings in C#.
 | |
| * UE4          - Fixed velocity of FMODAudioComponents.
 | |
| 
 | |
| Notes:
 | |
| * Unity        - Added support for Unity 2017.3.
 | |
| * Android      - Now built with NDK r16b.
 | |
| * Android      - Minimum Android version is now API level 14 due to NDK r16b
 | |
|                  deprecating older versions.
 | |
| * Switch       - Now built with SDK 3.5.1.
 | |
| 
 | |
| 07/12/17 1.10.02 - Studio API minor release (build 92217)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - UWP - Added Windows Sonic support.
 | |
| * Core API     - UWP - Added support for setting thread affinity via
 | |
|                  FMOD_UWP_SetThreadAffinity.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed Quietest stealing behavior so new events don't start if they are
 | |
|                  quieter than all currently playing events.
 | |
| * Studio API   - Fixed buses that have reached their Max Instances limit incorrectly
 | |
|                  preventing their input buses from applying their stealing behavior.
 | |
| * Studio API   - Fixed a crash caused by wav files with invalid loop points.
 | |
| * Core API     - Fixed recording devices still being marked as connected when
 | |
|                  switching to FMOD_OUTPUTTYPE_NOSOUND.
 | |
| * Core API     - UWP - Made device reset / unplug behavior more robust against failure.
 | |
| * Core API     - XboxOne - Fixed WASAPI init error if WinSonic was attempted first.
 | |
| * FSBank API   - Fixed crash in 64bit version when encoding low sample rate mono
 | |
|                  sounds as Vorbis with low quality.
 | |
| * Unity        - PlayOneshot and PlayOneshotAttached now log a warning when the
 | |
|                  event is not found, rather than throwing an exception.
 | |
| 
 | |
| Notes:
 | |
| * Added Resonance Audio plugin version 1.0, this plugin represents the continuation
 | |
|   of the Google VR plugin under new branding. The Google VR plugin is now considered
 | |
|   deprecated in favour of Resonance Audio, consider migrating to the new plugin as
 | |
|   the GVR plugin will be removed in FMOD 1.11.
 | |
| * XboxOne      - Now built with June 2017 QFE 8 XDK.
 | |
| 
 | |
| 01/11/17 1.10.01 - Studio API minor release (build 91339)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * UE4          - Expose Studio::Bus::stopAllEvents to be useable through blueprints.
 | |
| * Unity        - Event length displayed in event browser for one shot events.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed modulation on plugin instruments using the parent event's lifetime
 | |
|                  rather than the instrument's lifetime.
 | |
| * Studio API   - Fixed a live update issue where asset files would not reload after being
 | |
|                  moved on disk.
 | |
| * Studio API   - Fixed a bug which caused sounds to pan incorrectly when using
 | |
|                  FMOD_INIT_3D_RIGHTHANDED.
 | |
| * Studio API   - PS4 - Fixed excessive binary size caused by inclusion of debug symbols.
 | |
| * Core API     - Fixed potential crash when re-initializing System after failure.
 | |
| * Core API     - Fixed compatibility issues with Windows XP.
 | |
| * Core API     - Android - Fixed exported symbols to avoid issues with unwinder.
 | |
| * Core API     - Android - Automatic output mode selection will now choose AudioTrack
 | |
|                  rather than OpenSL if Bluetooth is enabled to avoid stuttering.
 | |
| * Core API     - XboxOne - Ensure WinSonic internal threads are assigned to the
 | |
|                  same core as the FMOD mixer.
 | |
| * FSBank API   - Fixed crash when encoding very long audio files.
 | |
| * UE4          - Integration now handles application interruption by pausing and resuming
 | |
|                  the mixer.
 | |
| * UE4          - Fixed SetEvent not setting or using new event.
 | |
| * UE4          - Fixed XboxOne thread affinity struct setup.
 | |
| * UE4          - Removed engine version ifdef's.
 | |
| * UE4          - Fixed integration attempting to set the initial value of
 | |
|                  built-in parameters.
 | |
| * Unity        - Fixed compatibility for Unity 5.0 & 5.1.
 | |
| * Unity        - Added check to see if any banks have been loaded before trying to pause.
 | |
| * Unity        - Allow StringHelper to fast return if string is null.
 | |
| 
 | |
| Notes:
 | |
| * Updated Google VR plugin to version 0.6.1.
 | |
| * Studio API   - Studio::EventInstance::set3DAttributes and
 | |
|                  Studio::System::setListenerAttributes will now return
 | |
|                  FMOD_ERR_INVALID_PARAM if the forward or up vectors are zero. In
 | |
|                  logging builds warnings will be logged if the forward and up vectors are
 | |
|                  not orthonormal.
 | |
| * Core API     - The convolution reverb effect will not accept impulse response data if
 | |
|                  the system is not using a power-of-two DSP buffer size. Windows Sonic
 | |
|                  currently requires a DSP buffer size of 480 making it incompatible with
 | |
|                  convolution reverb until this requirement is lifted.
 | |
| * PS4          - Now built with SDK 5.008.001.
 | |
| * Unity        - Exposed editor script classes for in-game FMOD objects as public.
 | |
| * Unity        - Exposed StudioEventEmitter's EventInstance as public to allow
 | |
|                  easier integration with custom plugins.
 | |
| 
 | |
| 19/09/17 1.10.00 - Studio API major release (build 90329)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added FMOD_MAX_SYSTEMS constant, currently 8.
 | |
| * Core API     - Exposed FMOD_DSP_FADER_GAIN on FMOD_DSP_TYPE_FADER.
 | |
| * Core API     - Added FMOD_SPEAKERMODE_7POINT1POINT4 speaker mode which includes
 | |
|                  four height speakers to be used with Windows Sonic output.
 | |
| * Core API     - Added FMOD_DSP_PAN_2D_HEIGHT_BLEND parameter to FMOD_DSP_TYPE_PAN
 | |
|                  that allows mixing ground speaker signal into the height speakers
 | |
|                  and vice versa.
 | |
| * Core API     - Windows & XboxOne - Added Windows Sonic output plugin to support
 | |
|                  rendering multichannel (with height) speaker mode 7.1.4 as well
 | |
|                  as dynamic objects via FMOD_DSP_TYPE_OBJECTPAN.
 | |
| * Core API     - PS Vita - Switched FMOD_PSVita_SetThreadAffinity to accept a
 | |
|                  mask instead of a core number to allow floating threads.
 | |
| * Core API     - Added FMOD_OUTPUT_REQUESTRESET to FMOD_OUTPUT_STATE to allow output
 | |
|                  plugins to request they be reset by the System.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Sequential multi and scatterer instruments now track their current
 | |
|                  playlist entry on a per-event-instance basis, rather than globally.
 | |
| * UE4          - Removed all reference to Oculus, now that Oculus functions as
 | |
|                  all other FMOD Studio plugins.
 | |
| * UE4          - Removed all legacy UE4 version code, if you are not using UE4.16
 | |
|                  the plugin will not work without making changes to source code.
 | |
| * UE4          - Overhauled details interaction in editor and improved usability.
 | |
|                  Grouped all FMOD functionality together, added Parameters, and
 | |
|                  removed unnecessary information from attenuation/occlusion.
 | |
| * Unity        - Removed garbage allocations from C# wrapper.
 | |
| 
 | |
| Notes:
 | |
| * Updated Google VR plugin to version 0.6.0.
 | |
| * Studio API   - Changed the behaviour of nested events to stop when idle even
 | |
|                  when there are instruments on parameters. This makes nested 
 | |
|                  events match the behaviour of top level events. Events which
 | |
|                  depend on the old behaviour need to be manually fixed up by (for
 | |
|                  example) adding a sustain point to the nested events timeline.
 | |
| * Core API     - FMOD_DSP_TYPE_ENVELOPEFOLLOWER is now deprecated and will be
 | |
|                  removed in a future release.
 | |
| * Core API     - Increment Plugin API version for Output plugins. Dynamic library 
 | |
|                  Output Plugins must be rebuilt.
 | |
| * Android      - Logging version will now produce proper crash stacks but due to
 | |
|                  binary size increase the release version will continue to not.
 | |
| * XboxOne      - Removed "acp" and "feeder" from FMOD_XBOXONE_THREADAFFINITY.
 | |
|                  Both threads were removed in previous versions and setting them
 | |
|                  did nothing.
 | |
| * UE4          - AudioComponents using occlusion from previous versions are NOT 
 | |
|                  compatible with this version. Occlusion and Attenuation now do
 | |
|                  not rely on UE4 structs.
 | |
| 
 | |
| 11/09/17 1.09.08 - Studio API minor release (build 90162)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed extraneous logging.
 | |
| 
 | |
| 07/09/17 1.09.07 - Studio API minor release (build 90008)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * UE4          - Cache dsp used for occlusion lowpass effect & add support for
 | |
|                  use of Multiband EQ (lowpass on band A only).
 | |
| * UE4          - FMODAudioComponent now reuses event instances until the object
 | |
|                  is no longer needed or Release() is called.
 | |
| * UE4          - Added support for UWP.
 | |
| * Unity        - Added support for Unity v2017.1.
 | |
| * Unity        - Added a button in the FMOD menu for Refreshing Bank files.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed scatterer sounds being processed by FMOD::Geometry.
 | |
| * Studio API   - Fixed multi-stream events playing out of sync (introduced in 1.09.01).
 | |
| * Core API     - Fixed ChannelControl::setDelay being ignored if addDSP was
 | |
|                  called immediately after it.
 | |
| * Core API     - Fixed potential crash if calling Channel::setPosition soon
 | |
|                  after System::playSound with paused as true.
 | |
| * Core API     - Fixed click on ChannelControl::setPaused(false) caused by a non-zero
 | |
|                  Channel::setPosition after System::playSound with paused as true.
 | |
| * Core API     - Fixed potential crash if calling System::getRecordPosition while
 | |
|                  disconnecting an audio device.
 | |
| * Core API     - Fix FMOD_ACCURATETIME not looping mod/s3m/xm/it files properly, and midi
 | |
|                  files not looping properly without the flag.
 | |
| * Core API     - Fixed crash when attempting to load invalid VST files.
 | |
| * UE4          - Fix compile error by adding categories to AnimNotify vars.
 | |
| * Unity        - Switch - Fixed "unknown pointer encoding" error when an exception occurs.
 | |
| * Unity        - Fix plugin path for UWP builds.
 | |
| * Unity        - Fixed possible crash when using GoogleVR plugin.
 | |
| * Unity        - Fix EventEmitter SetParameter not working unless parameter had 
 | |
|                  an inital value set in editor.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Reduced memory usage for events with a small number of instances.
 | |
| * Core API     - FMOD_CREATESOUNDEXINFO::initialseekposition will now wrap if
 | |
|                  the value given is longer than the Sound length.
 | |
| * Core API     - Added documentation to the top of fmod_codec_raw to be more instructional 
 | |
|                  for plugin writers.
 | |
| * UE4          - Added support for UE4.17.
 | |
| * Unity        - Device specific errors will now cause only a single exception
 | |
|                  to be thrown and the integration will assume no-sound mode.
 | |
| * Switch       - Now built with SDK 1.7.0.
 | |
| * XboxOne      - Now built with March 2017 QFE 3 XDK.
 | |
| 
 | |
| 06/07/17 1.09.06 - Studio API minor release (build 88495)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Improved performance when a large number of EventInstances have
 | |
|                  been created but not started.
 | |
| * Core API     - HTML5 - Performance increased by 10%.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed a bug where an asynchronous looping multi instrument would
 | |
|                  stop selecting new playlist entries after playing a nested event
 | |
|                  which itself contains an asynchronous looping multi instrument.
 | |
| * Studio API   - Fixed a bug where a parameter could trigger parameter 
 | |
|                  instruments before having its value updated by modulators when
 | |
|                  restarting an event instance.
 | |
| * Studio API   - Fixed incorrect automation interpolation on transition timelines with
 | |
|                  lead-out regions.
 | |
| * Core API     - Fixed DSPs with sidechain inputs incorrectly going idle when
 | |
|                  the main input is idle but the sidechain input is not.
 | |
| * Core API     - Fixed the compressor DSP not playing out its release correctly
 | |
|                  when its inputs are idle.
 | |
| * Core API     - Remove main thread stall from System::playDSP (or playing a 
 | |
|                  generator DSP via Studio API).
 | |
| * UE4          - Sequencer integration now supports previewing event playback in
 | |
|                  an editor viewport by using the Sequencer transport controls. A
 | |
|                  Sequencer section has been added to the documentation.
 | |
| * UE4          - Added AreBanksLoaded funtion to FMODStudioModule.
 | |
| * Unity        - Events in EventBrowser window now in alpabetical order.
 | |
| * Unity        - Setting parameters on StudioEventEmitter no longer generates garbage.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Added checking to System::mixerResume to ensure called from
 | |
|                  the same thread as System::mixerSuspend.
 | |
| * XboxOne      - Now built with October 2016 QFE 3 XDK.
 | |
| 
 | |
| 08/06/17 1.09.05 - Studio API minor release (build 87666)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Switch - Added support for HTC sockets to allow communications 
 | |
|                  between FMOD tools and runtime via target manager. Enable using
 | |
|                  FMOD_Switch_SetHTCSEnabled(TRUE).
 | |
| * Core API     - XboxOne - Added support for System::attachChannelGroupToPort
 | |
|                  with FMOD_XBOXONE_PORT_TYPE_MUSIC.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed FMOD_ERR_INTERNAL returned when loading old bank files
 | |
|                  containing transition timeline automation of instrument volumes.
 | |
| * Studio API   - Fixed bug where very short instruments would not play when cross fading.
 | |
| * Studio API   - Made changes to the logic in Studio::EventDescription::isOneShot so that
 | |
|                  it consistently returns true for events which are guaranteed to
 | |
|                  finish without intervention, and false for events which may play
 | |
|                  indefinitely.
 | |
| * Core API     - Fixed ChannelControl::setMixLevelsInput not working and updated docs.
 | |
| * Core API     - Fixed Channel::setLoopCount not working with very small streams.
 | |
| * Core API     - Stricter error checking when loading IMA ADPCM wav files to
 | |
|                  prevent a potential crash from malformed data.
 | |
| * Core API     - Fixed potential crash in ChannelGroup operations when a Channel
 | |
|                  failed to play on it with FMOD_ERR_SUBSOUNDS.
 | |
| * Core API     - Fixed Convolution reverb panning a mono IR with a stereo input 
 | |
|                  incorrectly.
 | |
| * Core API     - Fixed race conditions when setting FMOD_DSP_SEND_RETURNID.
 | |
| * Core API     - Fixed a crash with some MOD/S3M/XM/IT files. Introduced in 1.09.00.
 | |
| * Core API     - System::setDSPBufferSize will round the requested buffer size up 
 | |
|                  to the closest multiple of 4 to prevent a crash when sending 
 | |
|                  metering data to studio.
 | |
| * Core API     - PS4 - Fixed GPU compute compatibility issue with SDK 4.508.001.
 | |
|                  GPU compute is now re-enabled.
 | |
| * Core API     - Switch - Reduced thread priority to avoid conflict with Profiler.
 | |
| * Core API     - Windows - Fixed ASIO output mode failing to initialize if the 
 | |
|                  devices requires a buffer size of 2048 samples.
 | |
| * Unity        - Fixed bank directory path separators when developing across OSX & Win.
 | |
| * Unity        - Fixed simulated Android devices producing no sound.
 | |
| * Unity        - BankLoadException now display error message correctly.
 | |
| * Unity        - Fixed bank loading and unloading refcount accuracy.
 | |
| * Unity        - Fixed Mac editor attempting to load Linux plugins when building 
 | |
|                  for Linux platform.
 | |
| * Unity        - Improved detection of 3D Event Instances that haven't had their
 | |
|                  position set yet.
 | |
| * UE4          - Fixed integration working with UE4's IWYU non-monolithic header
 | |
|                  system, for now the integration is still using the old PCH system.
 | |
| * UE4          - Added new native AnimNotify class, old one didn't work on code projects.
 | |
| * UE4          - Sequencer integration. FMOD events can be started and stopped
 | |
|                  and event parameters can be controlled by adding custom tracks
 | |
|                  to sequencer.
 | |
| * UE4          - Fixed max vorbis codecs not being set correctly.
 | |
| * UE4          - Fixed file readers being accessed from multiple threads.
 | |
| 
 | |
| Notes:
 | |
| * UE4          - Added support for UE4.16.
 | |
| 
 | |
| Notes:
 | |
| * Updated Google VR plugin to version 0.4.0, please note there is a known crash
 | |
|   when loading the plugin on Windows XP, Google are aware and investigating.
 | |
| 
 | |
| 10/04/17 1.09.04 - Studio API minor release (build 86084)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed delayed playback on streaming sounds in events (introduced
 | |
|                  in 1.09.03).
 | |
| * Studio API   - Fixed AHDSR release not working on single sounds shorter than
 | |
|                  100 milliseconds.
 | |
| * Studio API   - Fixed Studio::EventDescription::is3D returning true for events that only
 | |
|                  have 2D panners.
 | |
| * Studio API   - Set programmer sounds to FMOD_LOOP_NORMAL internally if they were
 | |
|                  not created that way.
 | |
| * Studio API   - Fixed regression introduced in 1.09.00 which allowed events to 
 | |
|                  play at the origin before 3d attributes were updated.
 | |
| * Studio API   - Fixed issue where reverb tail would cut off when all events on
 | |
|                  a bus finished playing.
 | |
| * Core API     - Fixed FMOD_DSP_TRANSCEIVER making channels audible that weren't
 | |
|                  supposed to be (introduced with glitch fix in 1.09.03).
 | |
| * Core API     - Fixed loop clicks on PCM sounds if using FMOD_DSP_RESAMPLER_CUBIC
 | |
|                  or FMOD_DSP_RESAMPLER_SPLINE.
 | |
| * Core API     - Fixed FMOD_ADVANCEDSETTINGS::resamplerMethod being ignored.
 | |
| * Core API     - Fixed plugin unloading for multi-description libraries potentially
 | |
|                  failing depending on how it's unloaded.
 | |
| * Core API     - Fixed stream glitch when going virtual then resuming.
 | |
| * Core API     - Fixed virtual voices losing their loop/2d/3d status, and not
 | |
|                  staying virtual if ChannelControl::setMode was used. Introduced in 1.09.00.
 | |
| * Core API     - Fixed FMOD_UNIQUE not being accepted if ChannelControl::setMode or
 | |
|                  Sound::setMode was used. (it could be successfully used via
 | |
|                  createSound/createStream).
 | |
| * Core API     - Fixed rare crash in mixer, introduced 1.09.00.
 | |
| * Core API     - Switch - Fixed FMOD_SWITCH_THREADAFFINITY so cores can be ORd together
 | |
|                  to form a mask.
 | |
| * Core API     - PS4 - GPU compute disabled due to an incompatibility with SDK 4.508.001.
 | |
| * Core API     - Windows/Mac - Re-enable SRS downmixer 80Hz high pass filter by
 | |
|                  default. Add FMOD_INIT_DISABLE_SRS_HIGHPASSFILTER init flag to 
 | |
|                  disable it.
 | |
| * FSBank API   - Fixed PS Vita AT9 encoder not working with currently available
 | |
|                  Sony library.
 | |
| * FSBank API   - Fixed full scale 32bit float wav files encoding incorrectly.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - FMOD expects programmer sounds to be created with FMOD_LOOP_NORMAL.
 | |
|                  This is now specified in the FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES
 | |
|                  documentation.
 | |
| * FSBank API   - Building an FSB with PS Vita AT9 encoding now requires 64bit.
 | |
| * PS4          - Now built with SDK 4.508.001.
 | |
| * Switch       - Now built with SDK 0.12.17.
 | |
| * XboxOne      - Now built with October 2016 QFE 2 XDK.
 | |
| 
 | |
| 20/03/17 1.09.03 - Studio API minor release (build 85359)
 | |
| ------------------------------------------------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Updated the /examples/dsp_custom example to include a lot more
 | |
|                  functionality including parameters, and capture of wave data.
 | |
| * Core API     - Add fmod_reduced.js for reduced functionality, but also reduced size.
 | |
| * Core API     - Switch - Added support for setting thread affinity.
 | |
| * Studio API   - Reduced size of fmodstudio.js and .mem files.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed event doppler settings not being applied to sounds spawned
 | |
|                  by scatterer.
 | |
| * Studio API   - Fixed bus and VCA handles not being set up properly in
 | |
|                  Studio::Bank::getBusList and Studio::Bank::getVCAList.
 | |
| * Studio API   - Fixed crashes caused by stopping events that are routed into a
 | |
|                  bus with instance limiting enabled when they are in the
 | |
|                  FMOD_STUDIO_PLAYBACK_STARTING state.
 | |
| * Studio API   - Fixed tempo and marker event callbacks not being fired when the
 | |
|                  timeline cursor is in the lead-in or lead-out region of a
 | |
|                  transition timeline.
 | |
| * Core API     - Fixed glitches with Transceiver DSP after inputs go idle.
 | |
| * Core API     - Fix Channel::setPosition(pos, FMOD_TIMEUNIT_MODORDER) not
 | |
|                  working when playing paused.
 | |
| * Core API     - Fixed short streams created as non-looping then switched to
 | |
|                  looping via the Channel API not looping seamlessly.
 | |
| * Core API     - Fixed DSP plugin version >= 109 data parameters other than 3D
 | |
|                  attributes not applying if FMOD_INIT_3D_RIGHTHANDED is used.
 | |
| * Core API     - Fixed rare crash in FMOD Panner DSP. Introduced in 1.09.00.
 | |
| * Core API     - Re-Fix MOD/S3M/XM/IT file crash with samples that have 0 length,
 | |
|                  for 1.09 only.
 | |
| * Core API     - Fixed potential memory leak if System::init returned an error.
 | |
| * Core API     - Fix FMOD_ACCURATETIME not looping a mod file properly, and not
 | |
|                  seeking correctly with FMOD_TIMEUNIT_MODORDER.
 | |
| * Core API     - HTML5 - Loading FSB sounds did not work properly.
 | |
| * Core API     - Windows - Fixed 5.1->stereo SRS downmix causing lack of bass.
 | |
| * Core API     - Windows - Fix FMOD_INIT_PREFER_DOLBY_DOWNMIX not working.
 | |
| * FSBank API   - Fix crash if FSBANK_INIT_GENERATEPROGRESSITEMS is not used.
 | |
| * Unity        - Removed error when plugin field is added but empty.
 | |
| * UE4          - Removed error when plugin field is added but empty.
 | |
| 
 | |
| Notes:
 | |
| * UE4          - Added support for UE4.15.
 | |
| 
 | |
| 15/02/17 1.09.02 - Studio API minor release (build 84334)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Unity        - Remove ifdef from EnforceLibraryOrder as it isn't harmful for static lib platforms to call GetStats.
 | |
| * UE4          - Occlusion can now use Multiband EQ instead of Lowpass filter.
 | |
| * Core API     - Fix crash when connecting to FMOD Profiler.exe and there is a circular connection
 | |
| * Core API     - Fix glitches with Transceiver DSP after inputs go idle.
 | |
| * Core API     - Fix Channel::setPosition(pos, FMOD_TIMEUNIT_MODORDER) not working when playing paused.
 | |
| 
 | |
| 09/02/17 1.09.01 - Studio API minor release (build 84153)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added FMOD_DSP_STATE_FUNCTIONS::getlistenerattributes to the
 | |
|                  DSP plugin API to query the current listener attributes.
 | |
| * Unity        - Added support for Rigidbody2D in 3D attribute settings and 
 | |
|                  integration scripts.
 | |
| * Unity        - Added support for Object Enable/Disable on EventEmitter and 
 | |
|                  ParameterTrigger scripts.
 | |
| * UE4          - Added GetLength function for blueprints that returns the event length 
 | |
|                  in milliseconds.
 | |
| * UE4          - Improved in editor profiling stats.
 | |
| 
 | |
| Fixes:
 | |
| * Unity        - Fixed compatibility with Unity 4.6 & 4.7 for OSX and IOS.
 | |
| * Unity        - Fixed "file not found" error when settings asset is corrupt
 | |
| * Unity        - Fixed set3DAttributes ambiguity.
 | |
| * Unity        - Fixed not being able to copy ReadOnly banks into StreamingAssets.
 | |
| * Unity        - Fixed event instance leak in Unity PlayOneshotAttached not releasing.
 | |
| * Unity        - Specified version to check for WiiU BuildTarget for early Unity5.
 | |
| * UE4          - Fixed XboxOne delayload error now that UE4 handles it.
 | |
| * UE4          - Android - Added ARM64 support.
 | |
| * Studio API   - AHDSR modulator curve shapes now work correctly. In previous versions 
 | |
|                  the envelope was interpolated linearly regardless of the shape displayed
 | |
|                  in the UI.
 | |
| * Studio API   - Fixed looping single sounds in an async multi sound being cut-off when
 | |
|                  the multi sound is un-triggered.                  
 | |
| * Core API     - Fixed ChannelControl::setReverbProperties not resetting reverb connection
 | |
|                  to a new tail DSP when turning wet mix off and on.
 | |
| * Core API     - If the system is initialized in right-handed mode, FMOD will now swap
 | |
|                  to left-handed when passing attributes into plugins. This only applies
 | |
|                  to plugins rebuilt against this version, old plugins remain unswapped.
 | |
| * Core API     - Fix MOD/S3M/XM/IT file crash with samples that have 0 length.
 | |
| * Core API     - Fixed some potential crashes when running out of memory, these will
 | |
|                  correctly return FMOD_ERR_MEMORY now.
 | |
| * Core API     - Win - Fixed WASAPI recording device enumeration taking a couple of seconds
 | |
|                  after System::init before being correct.
 | |
| * Core API     - Win - Fixed potential error returned from System::update if device is unplugged.
 | |
| * Core API     - MIDI - Fixed Sound::set/getMusicChannelVolume referring to wrong track 
 | |
|                  indices rather than just a normal 0-15 track index.
 | |
| * Core API     - MIDI - Fixed Channel::setPosition causing loud drum bang noise after seek
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - When loading legacy banks with looping sounds nested in multi sounds, 
 | |
|                  the multi sound is set to cut-off all sounds when untriggered, including
 | |
|                  non-looping sounds. This is a change in behaviour compared to earlier 
 | |
|                  versions where only looping sounds were cut-off.  
 | |
| * Core API     - DSP plugin API version has been increased, for maximum compatibility
 | |
|                  plugin writers should only rebuild against this version if they need
 | |
|                  the getlistenerattributes feature. Old plugins are still supported.
 | |
| * Switch       - Now built with SDK 0.12.10
 | |
| 
 | |
| 01/12/16 1.09.00 - Studio API major release (build 82164)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Added support for the Nintendo Switch platform.
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added support for multiple listener weights, with
 | |
|                  Studio::System::setListenerWeight and
 | |
|                  Studio::System::getListenerWeight.  This allows listeners to be
 | |
|                  faded in or out smoothly.
 | |
| * Studio API   - Profiling uses less CPU and memory.
 | |
| * Studio API   - Added FMOD_STUDIO_INIT_LOAD_FROM_UPDATE to drive all loading from
 | |
|                  Studio::System::update rather than the bank and resource loading
 | |
|                  threads.  Mainly used in non-realtime situations.
 | |
| * Studio API   - Added ability to run replays at faster than real time speed using
 | |
|                  FMOD_STUDIO_COMMANDREPLAY_FAST_FORWARD.
 | |
| * Studio API   - Added Studio::EventInstance::setReverbLevel and
 | |
|                  Studio::EventInstance::getReverbLevel.
 | |
| * Studio API   - Support for automation of modulator properties.
 | |
| * Core API     - Improved memory use when loading sounds with names.
 | |
| * Core API     - Added new efficient multiband equalizer (FMOD_DSP_TYPE_MULTIBAND_EQ)
 | |
|                  featuring 5 toggleable bands with variable rolloff low/high pass, shelf,
 | |
|                  peaking, band-pass, all-pass and notch modes.
 | |
| * Core API     - Added logging function to the DSP plugin API. Use FMOD_DSP_LOG
 | |
|                  helper macro from a DSP callback.
 | |
| * Core API     - Added FMOD_DSP_STATE_FUNCTIONS::getuserdata to the DSP plugin API.
 | |
|                  Use FMOD_DSP_GETUSERDATA helper macro from a DSP callback.
 | |
| * FSBank API   - Added ability to pass NULL as the FSB file name for FSBank_Build causing
 | |
|                  the FSB to be built in memory. Use FSBank_FetchFSBMemory to get access
 | |
|                  to the data once the build has completed. 
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed incorrect playback volume for instruments and playlist
 | |
|                  items whose volume property is set to a non-zero dB value.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Incremented Plugin SDK version for DSP plugins. Dynamic library
 | |
|                  plugins built with earlier versions will continue to load.
 | |
| * Core API     - Incremented FMOD_CODEC_WAVEFORMAT version.  Codecs that provide
 | |
|                  names must keep the name memory persistent for the lifetime
 | |
|                  of the codec.
 | |
| * Core API     - Increment Plugin API version for Output plugins. Dynamic library 
 | |
|                  Output Plugins must be rebuilt.
 | |
| * Core API     - FMOD_DSP_TYPE_LOWPASS, FMOD_DSP_TYPE_LOWPASS_SIMPLE,
 | |
|                  FMOD_DSP_TYPE_HIGHPASS, FMOD_DSP_TYPE_HIGHPASS_SIMPLE and
 | |
|                  FMOD_DSP_TYPE_PARAMEQ are considered deprecated and will be removed
 | |
|                  in the future. Use the new FMOD_DSP_TYPE_MULTIBAND_EQ instead which
 | |
|                  has the performance of "simple" effects with full featured quality.
 | |
| * Core API     - Changed reverb wet mix to send from the fader DSP of a ChannelGroup.
 | |
|                  Previously it sent from the head DSP. Now effects placed pre-fader
 | |
|                  will apply to the signal sent to the reverb, while effects placed
 | |
|                  post-fader will not.
 | |
| * Core API     - ChannelGroup reverb wet level is now scaled by the group's
 | |
|                  effective audibility.
 | |
| * Core API     - ChannelGroup reverb no longer automatically disables reverb
 | |
|                  on its child channels when the wet level is set to non-zero.
 | |
| * Core API     - Channel::setReverbProperties now allows setting the wet level
 | |
|                  before the specified reverb instance has been created.
 | |
| * Core API     - ChannelControl::addDSP and ChannelControl::removeDSP manage
 | |
|                  standard DSP connections (FMOD_DSPCONNECTION_TYPE_STANDARD)
 | |
|                  to maintain the mixer hierarchy.
 | |
|                  Other connection types (FMOD_DSPCONNECTION_TYPE_SIDECHAIN,
 | |
|                  FMOD_DSPCONNECTION_TYPE_SEND_SIDECHAIN, and now
 | |
|                  FMOD_DSPCONNECTION_TYPE_SEND) are left undisturbed.
 | |
| * Core API     - FMOD_INIT_MIX_FROM_UPDATE will now directly execute the mixer from
 | |
|                  System::update instead of triggering the mix to happen in another
 | |
|                  thread.
 | |
| * Studio API   - Incremented bank version, requires runtime 1.09.00 or later.
 | |
| * Studio API   - Latest runtime supports loading old bank versions from 1.03.00.
 | |
| * Studio API   - Studio::Bus::setFaderLevel, Studio::Bus::getFaderLevel,
 | |
|                  Studio::VCA::setFaderLevel and Studio::VCA::getFaderLevel is now 
 | |
|                  called Studio::Bus::setVolume, Studio::Bus::getVolume,
 | |
|                  Studio::VCA::setVolume and Studio::VCA::getVolume. 
 | |
| * Studio API   - Studio::EventInstance::getVolume, 
 | |
|                  Studio::EventInstance::getPitch,
 | |
|                  Studio::EventInstance::getParameterValue,
 | |
|                  Studio::EventInstance::getParameterValueByIndex,
 | |
|                  Studio::Bus::getVolume,
 | |
|                  Studio::VCA::getVolume now have an additional argument
 | |
|                  to get the final value which includes automation and modulation.
 | |
| * Studio API   - The required alignment for Studio::System::loadBankMemory has
 | |
|                  been added as the constant FMOD_STUDIO_LOAD_MEMORY_ALIGNMENT.
 | |
| * Studio API   - Event instances now disable reverb on their internal channels,
 | |
|                  for all global reverb instances. Previously only did so for
 | |
|                  reverb instance 0. Use Studio::EventInstance::setReverbLevel
 | |
|                  to control the reverb mix for the whole event instance.
 | |
| * Studio API   - Disconnected sidechain modulators are now inactive. Previous
 | |
|                  behavior was to fall back to monitoring the event's master
 | |
|                  track output.
 | |
| * Core API     - FMOD_DSP_RELEASE_CALLBACK is now called from the main thread
 | |
| * Core API     - Unimplemented ChannelControl::overridePanDSP function has been
 | |
|                  removed, along with FMOD_CHANNELCONTROL_DSP_PANNER enum value.
 | |
| * Core API     - PS3 - Removed old opt-in FIOS support via FMOD_PS3_EXTRADRIVERDATA.
 | |
|                        New recommended approach is to use FMOD_FILE_ASYNCREAD_CALLBACK
 | |
|                        and set appropriate deadlines based on FMOD_ASYNCREADINFO::priority.
 | |
| * Core API     - XboxOne - Optimized XMA decoding performance and removed the ACP thread.
 | |
| * Core API     - PS4 - Improved AT9 decoding performance.
 | |
| * FSBank API - Added support for source data as a memory pointer instead of file name.
 | |
| * Documentation - Some FMOD_DSP_PAN_SURROUND enums changed to FMOD_DSP_PAN_2D for clarity.
 | |
| 
 | |
| 01/12/16 1.08.15 - Studio API minor release (build 82163)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * PS4          - Add support for System::getOutputHandle, to return sce
 | |
|                  port handle.
 | |
| Fixes:
 | |
| * UE4          - Fix missing plugin error when building on Mac.
 | |
| * UE4          - Fixed compatibility with 4.14.
 | |
| * Unity        - Fixed OSX working with unified library.
 | |
| * Unity        - Fixed WiiU copying banks error.
 | |
| * Unity        - Fixed XboxOne dll meta files missing platform target.
 | |
| * Unity        - Fixed duplicate dll copying build error on some platforms.
 | |
| * Unity        - Added null check to stop error being thrown when no event assigned.
 | |
| * Unity        - Fix in editor out of bounds exception in RuntimeManager.
 | |
| * Core API     - Allow DSP::setParameterData with null data and 0 length to free 
 | |
|                  convolution reverb impulse response data.
 | |
| * Core API     - Fixed short looping streams playing some of the start when
 | |
|                  switched to non-looping via the Channel API.
 | |
| * Core API     - Fixed FMOD_CREATESOUNDEXINFO::pcmsetposcallback getting wrong sound 
 | |
|                  pointer passed to it with a stream.
 | |
| * Studio API   - Fixed incorrect parameter values being passed to nested events
 | |
|                  when value "hold" is being used. 
 | |
| * Studio API   - PS3 - Fix potential crash with the new Channel Mix effect.
 | |
| * FSBank API   - Fixed encoder bug with FADPCM causing occasional clipping at playback.
 | |
| 
 | |
| Notes:
 | |
| * FSBank API   - FSBs / Banks may not be binary identical to previous release due to
 | |
|                  FADPCM encoder bug fix, however full compatibility is maintained.
 | |
| 
 | |
| 20/10/16 1.08.14 - Studio API minor release (build 80900)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * UE4          - Fix for crash when using "Validate FMOD" menu item
 | |
| 
 | |
| Notes:
 | |
| * PS4          - Now built with SDK 4.00
 | |
| * XboxOne      - Added better logging and documentation to describe an incorrectly
 | |
|                  configured appxmanifest regarding microphone recording.
 | |
| 
 | |
| 04/10/16 1.08.13 - Studio API minor release (build 80479)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed potential crash after the following sequence of actions:
 | |
|                  load master bank, try to load master bank again and fail with
 | |
|                  FMOD_ERR_EVENT_ALREADY_LOADED, unload master bank, reload
 | |
|                  master bank.
 | |
| * Core API     - Fix circular DSP connection causing hang in certain situations.  
 | |
| * Unity 2      - Fix issues with multi-object editing of emitters.
 | |
| 
 | |
| 22/09/16 1.08.12 - Studio API minor release (build 80229)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unity 2      - Added ability to override minimum and maximum distance for
 | |
|                  Event emitters.
 | |
| * Unity 2      - Added support for multiple listeners.
 | |
| * Studio API   - Added support for auto pitch at minimum.
 | |
| * Studio API   - Added support for the global master bus being duplicated across
 | |
|                  banks.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fix auto pitch cutting off at zero for parameter with minimum
 | |
|                  value that is less than zero.
 | |
| * Studio API   - Fix events with a transciever effect not allowing the event to stop
 | |
| * Android      - Fixed crash when loading FSBs or Banks that contain a sound that
 | |
|                  isn't mono, stereo, 5.1 or 7.1.
 | |
| * Android      - Fixed compatibility issue with some devices introduced in previous
 | |
|                  release due to r12b update. Presents as a runtime linker error
 | |
|                  when loading the FMOD library, failing to locate __aeabi_atexit.
 | |
| * iOS          - Fixed stuttering during fade out when device screen goes to sleep.
 | |
| * Core API     - Fix FMOD_DSP_TRANSCEIVER memory stomp.
 | |
| * Core API     - Fix channels playing at incorrect pitch. Introduced in 1.08.10.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Incremented bank version, requires runtime 1.08.00 or later.
 | |
| * Studio API   - Latest runtime supports loading old bank versions from 1.03.00.
 | |
| * Core API     - Improved validation for ChannelGroup, DSP and Sound handles,
 | |
|                  detects invalid pointers and usage after release.
 | |
| 
 | |
| 08/09/16 1.08.11 - Studio API minor release (build 79819)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - PS3 - Added support for FMOD_DSP_CHANNELMIX.
 | |
| * Unity 2      - Respect Game View mute button.
 | |
| 
 | |
| Fixes:
 | |
| * FSBank       - Fix crash on 64-bit when encoding 16kHz or 24kHz sources using 
 | |
|                  Vorbis at low quality settings.
 | |
| * Core API     - Fix FMOD_SOUND_PCMSETPOS_CALLBACK getting invalid position value 
 | |
|                  when a sound opened with FMOD_OPENUSER loops.
 | |
| * Core API     - Android - Fixed crash on load with old devices when using armeabi.
 | |
| * Unity 2      - Fix CREATESOUNDEXINFO not getting marshalled properly.
 | |
| 
 | |
| Notes:
 | |
| * Android      - Now built with NDK r12b.
 | |
| * Android      - Minimum Android version is now API level 9 due to NDK r12b
 | |
|                  deprecating older versions.
 | |
| 
 | |
| 22/08/16 1.08.10 - Studio API minor release (build 79252)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Improved performance of sidechain modulator.
 | |
| * Core API     - Improved ChannelControl::setPitch accuracy between DSP clock and
 | |
|                  the underlying codec decoding speed.
 | |
| * Unity 2      - Added option for play-in-editor to reflect the active build target
 | |
|                  for loading banks.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed error trying to create a Return DSP when the system
 | |
|                  format is set to FMOD_SPEAKERMODE_RAW.
 | |
| * Core API     - Fixed FFT DSP crash if window size is smaller than DSP block size.
 | |
| * Core API     - Removed spurious warning messages when loading plugins on 
 | |
|                  some platforms.
 | |
| * Core API     - Android - Tweaked OpenSL auto detection, now requires device to
 | |
|                            specify low latency and a block size <= 1024.
 | |
| * Unity 2      - Fix bank import issues when the strings bank contains bank
 | |
|                  names that differ in case from the files on disk.
 | |
| * Unity 2      - Bank import now has a longer timeout after last detected file
 | |
|                  activity before starting import.
 | |
| * Unity 2      - Fixed settings screen allowing real channels to be set higher
 | |
|                  then 256. 
 | |
| * Unity 2      - Fix up errors when StudioEventEmitter is created dynamically.
 | |
| * Unity 2      - Small fixes for the settings screen when overriding the parent
 | |
|                  platform settings.
 | |
| * UE4          - Fix for crash when previewing animations using the FMOD event
 | |
|                  notifier.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - System::getSpeakerModeChannels returns the system channel
 | |
|                  count when passed FMOD_SPEAKERMODE_DEFAULT. Now works even
 | |
|                  if the system format is set to FMOD_SPEAKERMODE_RAW.
 | |
| * UE4          - Can be recompiled with 4.13 pre-release.
 | |
| * Documentation - Added documentation for FMOD_DSP_PAN enums.
 | |
| 
 | |
| 01/08/16 1.08.09 - Studio API minor release (build 78489)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - PS4 - Add support for social screen audio to the ports API.
 | |
| * Studio API   - Added Studio::EventInstance:setListenerMask and 
 | |
|                  Studio::EventInstance::getListenerMask, that adds the ability
 | |
|                  to specify which listeners apply to each event instance.
 | |
| * Unity 2      - Warning is now produced when playing in editor if the position
 | |
|                  of a 3D event is not set.
 | |
| * UE4          - Added blueprint functions to set event properties.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed case of indeterminism when building banks that contain
 | |
|                  events with automation curves.
 | |
| * Core API     - Fixed FMOD_OUTPUT_OBJECT3DINFO::gain so it only includes
 | |
|                  distance attenuation not bus gain (which is now pre-applied
 | |
|                  to FMOD_OUTPUT_OBJECT3DINFO::buffer.
 | |
| * Core API     - Fixed channelmix DSP volume not always being initialized.
 | |
| * Core API     - WiiU - Fixed potential crash during System::init if
 | |
|                         System::setDriver or System::setOutput has been called.
 | |
| * Core API     - Fix hang on netstreams when the connection times out.
 | |
| * Core API     - Linux - Fix FPU control word of the calling thread being modified 
 | |
|                          when the FMOD dynamic library is loaded.
 | |
| * Core API     - Android - Fixed potential crash if FMOD isn't loaded with
 | |
|                            System.loadLibrary, now a proper error will be issued.
 | |
| * FSBank API   - Fixed FADPCM not looping seamlessly for non-zero crossing loops.
 | |
| * UE4          - Fixed plugin loading assuming a "lib" prefix for plugins on
 | |
|                  Android, Mac, Linux and PS4.  Now plugin loading will attempt
 | |
|                  to load the name with and without adding a lib prefix.
 | |
| * UE4          - Respect FApp::IsUnattended for message-box errors.
 | |
| * UE4          - Fixed deprecation warnings about AttachTo usage.
 | |
| * Unity 2      - Fix errors when bank source files are updated while Event Browser 
 | |
|                  preview is playing or paused.
 | |
| * Unity 2      - Fix unnecessary copying of Bank files in OSX editor.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Linux - Removed limit of 32 devices with ALSA output mode.
 | |
| * Core API     - Incremented API version of Output plugins. Dynamic library 
 | |
|                  plugins built with earlier versions of 1.08 will continue to load.
 | |
| 
 | |
| 14/07/16 1.08.08 - Studio API minor release (build 77846)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * UE4          - bMatchHardwareSampleRate will use the system default format
 | |
|                  to avoid excessively matching the output rate on mobile devices.
 | |
| * UE4          - Added bLockAllBuses which will force all buses to be created
 | |
|                  at startup, rather than on demand.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed looping sounds in a multi sound playlist failing to stop
 | |
|                  if the multi sound itself is non-looping.
 | |
| * Studio API   - Fixed rare crash calling the following functions while the 
 | |
|                  bank containing the event is unloading:
 | |
|                  Studio::EventInstance::getDescription,
 | |
|                  Studio::EventInstance::getParameter,
 | |
|                  Studio::EventInstance::getParameterValue,
 | |
|                  Studio::EventInstance::setParameterValue,
 | |
|                  Studio::EventInstance::setParameterValueByIndex,
 | |
|                  Studio::EventInstance::triggerCue,
 | |
|                  Studio::ParameterInstance::getDescription and
 | |
|                  Studio::ParameterInstance::setValue.
 | |
| * Studio API   - Fixed shared events becoming invalidated when one of the
 | |
|                  banks containing them is unloaded. Could also manifest as
 | |
|                  Studio::EventInstance::getDescription failing with
 | |
|                  FMOD_ERR_INTERNAL.
 | |
| * Studio API   - Fixed crash that could occur when using 
 | |
|                  FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE and calling 
 | |
|                  Studio::System::update from multiple threads at the same time.
 | |
| * Studio API   - Increased scheduling lookahead time to ensure sample accurate
 | |
|                  timeline scheduling even if there is an output stall.
 | |
| * Studio API   - Fixed crash that could occur when improperly calling 
 | |
|                  Studio::Bus::getChannelGroup without first calling
 | |
|                  Studio::Bus::lockChannelGroup, if the bus was being destroyed
 | |
|                  as the call was made.
 | |
| * Studio API   - Fixed rare crash calling the following functions while the 
 | |
|                  master bank containing the bus or VCA is unloading:
 | |
|                  Studio::System::getBus,
 | |
|                  Studio::System::getBusByID,
 | |
|                  Studio::System::getVCA and
 | |
|                  Studio::System::getVCAByID.
 | |
| * Studio API   - Fixed rare timing issue where Studio::System::getEvent would
 | |
|                  succeed but Studio::EventDescription::createInstance would
 | |
|                  fail with FMOD_ERR_INTERNAL, if called just as the bank
 | |
|                  containing the event finished loading.
 | |
| * Studio API   - Fixed rare hang in Studio::System::getBankCount when called
 | |
|                  while banks are currently unloading.
 | |
| * Core API     - Fixed rare glitch at the start of XMA playback causing non-seamless
 | |
|                  looping.
 | |
| * Core API     - Fixed rare hang on shutdown when using multiple systems.
 | |
| * Core API     - Fix streams with an unknown file length remaining in the playing state
 | |
|                  after an end of file is encountered.
 | |
| * Core API     - Windows - Enumeration of record devices will now reflect a change
 | |
|                            of default device with WASAPI output.
 | |
| * Core API     - Linux - Enumeration will now correctly display GUIDs and speaker
 | |
|                          modes for ALSA output.
 | |
| * Core API     - Linux - Fixed potential crash if both PulseAudio and ALSA are
 | |
|                          missing / unavailable.
 | |
| * Unity 2      - Fix plugin loading on Linux standalone builds.
 | |
| * Unity 2      - Fix script compilation errors in standalone builds.
 | |
| * Unity 2      - Fix Event Browser preview of events with built-in parameters.
 | |
| * Unity 2      - Fix missing tvOS files.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Significantly reduced memory consumption when using FMOD_DSP_FFT. 
 | |
| * PS4          - Now built with SDK 3.508.101
 | |
| * UE4          - Updated Oculus plugin to 1.0.4.
 | |
| 
 | |
| 27/06/16 1.08.07 - Studio API minor release (build 77241)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * FSBank API   - Added support for Linux.
 | |
| * Unity 2      - Live Update and Debug Overlay can be set to only be enabled in
 | |
|                  standalone builds when the development build option is set.
 | |
| * Unity 2      - Add MuteAllEvents and PauseAllEvents functions to the RuntimeManager.
 | |
| * Unity 2      - Audio will now pause when the application pauses.
 | |
| * UE4          - Added MixerSuspend and MixerResume blueprint functions.
 | |
| * UE4          - Added IsBankLoaded blueprint function.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed Studio command buffer assert and crash that could occur
 | |
|                  when using FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE in conjunction
 | |
|                  with multiple threads.
 | |
| * Core API     - Fix crash when closing a system with a multi-plugin DLL still loaded.
 | |
| * Core API     - iOS / Android - Improved audio stability when mixer thread is overloaded.
 | |
| * FSBank API   - Fixed calling convention linker error on Windows in FSBankLib header.
 | |
| * FSBank API   - Fixed issue when passing duplicate source files with different encoding
 | |
|                  settings would cause cache file conflicts.
 | |
| 
 | |
| Notes:
 | |
| * Unity 2      - Renamed "Level Start" and "Level End" triggers to "Object Start" and
 | |
|                  "Object Destroy" to more accurately reflect when the triggers occur.
 | |
| 
 | |
| 17/06/16 1.08.06 - Studio API minor release (build 76937)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unity 2      - Added framework for registering native plugins on iOS and tvOS.
 | |
| * Unity 2      - Added support for importing Studio Banks as TextAssets so they
 | |
|                  can be added to Unity AssetBundles.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed crash on shutdown, after creating multiple systems and
 | |
|                  setting a system callback.
 | |
| * Core API     - PS4 - Fix issues with calling FMOD_PS4_GetPadVolume() immediately
 | |
|                        after opening the controller audio port.
 | |
| 
 | |
| 15/06/16 1.08.05 - Studio API minor release (build 76824)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added Studio::EventDescription::isSnapshot.
 | |
| * Unity 2      - Added "Preload Sample Data" checkbox to Event Emitter to reduce
 | |
|                  latency when emitters are triggered for the first time.
 | |
| * Unity 2      - Added script example to show how to build an asynchronous loading
 | |
|                  screen that includes loading FMOD Banks.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed Studio::EventDescription::isOneshot() incorrectly
 | |
|                  returning true for snapshots.
 | |
| * Core API     - Fix FMOD_ADVANCEDSETTINGS::maxADPCMCodecs not being applied.
 | |
| * Core API     - Fix crash when using CreateSound from multiple threads 
 | |
|                  (including FMOD Async loading threads).
 | |
| * Unity 2      - Fix issues when bank file in the Unity project Streaming Assets 
 | |
|                  folder have a different case to the banks in the Studio project.
 | |
| * Unity 2      - Fix issues when editor log file cannot be opened because it's
 | |
|                  read only.
 | |
| * Unity 2      - If the "Load All" options are selected in the FMOD Settings
 | |
|                  then the main thread will now block until it's complete.
 | |
| * UE4          - Fix for OnEventStopped callback firing repeatedly if triggers
 | |
|                  the instance to play again.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - All System, ChannelControl, ChannelGroup, Channel, and DSP API
 | |
|                  functions check for NaN and INF floats and return 
 | |
|                  FMOD_ERR_INVALID_FLOAT if detected.
 | |
| * Studio API   - All API functions check for NaN and INF floats and return 
 | |
|                  FMOD_ERR_INVALID_FLOAT if detected.
 | |
| * Studio API   - All API functions with output parameters now clear those
 | |
|                  values in the case of an error. Previously some values may
 | |
|                  have been left uninitialized.
 | |
|                  In the case of an error, int and float outputs are set to 0,
 | |
|                  bool outputs are set to false, and pointers are set to NULL.
 | |
|                  Structures are cleared to zeros, and string buffers are set
 | |
|                  to the empty string.
 | |
| 
 | |
| 25/05/16 1.08.04 - Studio API minor release (build 76196)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added runtime support for steal quietest polyphony.
 | |
| * Core API     - Improved performance when connecting sends and returns.
 | |
| * UE4          - FFMODEventInstance can now be stored as a blueprint variable.
 | |
| * UE4          - Added support for Occlusion.  See the Occlusion section of the
 | |
|                  documentation for more information.
 | |
| * UE4          - Added support for Android deployment without having to modify
 | |
|                  the engine.
 | |
| * UE4          - Added InitialDriverOutputName to select output device by name
 | |
|                  at startup, as well as new Blueprint functions GetOutputDrivers,
 | |
|                  SetOutputDriverByName and SetOutputDriverByIndex.
 | |
| * UE4          - Added VCASetFaderLevel Blueprint function.
 | |
| * UE4          - "FMOD Validate" now checks for FMOD in the packaging setting,
 | |
|                  and can add it if needed.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed unnecessary DSP queue flush when using ports.
 | |
| * Core API     - Fixed ADPCM and FADPCM compressed FSBs not returning
 | |
|                  FMOD_ERR_MEMORY_CANTPOINT when loaded as FMOD_OPENMEMORY_POINT
 | |
|                  FMOD_CREATESAMPLE.
 | |
| * Core API     - Fix pops when channels with a mix matrix that are started virtual 
 | |
|                  become real.
 | |
| * Core API     - Fixed DSP panner reset not clearing ramps, causing ramping when
 | |
|                  setting initial parameters.
 | |
| * Core API     - Fixed Sound::getSyncPointInfo returning first sync point info
 | |
|                  when loading sounds from FSBs with multiple sync points.
 | |
| * Studio API   - Fixed memory stomp that can occur when sharing events between 
 | |
|                  multiple banks, if a streaming sound is in the middle of loading 
 | |
|                  when one of the shared banks is unloaded.
 | |
| * Unity 2      - Fix error messages when previewing an event contained in the
 | |
|                  Master Bank.
 | |
| * Unity 2      - Fix WinPhone 8.1 DLL's conflicting with UWP builds. 
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Incremented bank version, requires runtime 1.08.00 or later.
 | |
| * Studio API   - Latest runtime supports loading old bank versions from 1.03.00.
 | |
| * UE4          - Updated ovrfmod to version 1.0.3.
 | |
| * UE4          - Tested with 4.12 pre-release, compiles successfully.
 | |
| * PS Vita      - Now built with SDK 3.570.011.
 | |
| 
 | |
| 05/05/16 1.08.03 - Studio API minor release (build 75571)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added FMOD_STUDIO_EVENT_CALLBACK_SOUND_PLAYED and
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_SOUND_STOPPED for when an event 
 | |
|                  plays sounds.  Sound names will only be available if
 | |
|                  banks have been re-exported in FMOD Studio 1.08.03 or later.
 | |
|                  See the music_callbacks example for demonstration.
 | |
| * Studio API   - Added runtime support for the event cooldown property
 | |
|                  set from FMOD Studio.  Events that fail to start due to
 | |
|                  cooldown time will invoke the 
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_START_FAILED callback.
 | |
| * Core API     - Improved performance of logging.
 | |
| * Core API     - PS4 - Improved performance when profiling is enabled.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Events that fail to start due to bus polyphony now invoke the
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_START_FAILED callback.
 | |
| * Studio API   - Fixed crash when calling Studio::System::unloadAll with
 | |
|                  crossfading nested events.
 | |
| * Studio API   - Fixed unnecessary up/down mix applied to 2D events that have
 | |
|                  sidechain modulators.
 | |
| * Studio API   - Fixed mixing issues and degraded performance if the system
 | |
|                  speaker mode does not match the Studio project format.
 | |
| * Studio API   - Fixed case of stereo sounds panning hard right when downmixed
 | |
|                  to a mono track and later upmixed again, introduced in 1.07.04.
 | |
| * Core API     - Fixed potential incorrect position when voice comes back from
 | |
|                  being virtual, which can cause a hang on XboxOne.
 | |
| * Core API     - Improved handling for out of memory errors when mixing DSP 
 | |
|                  buffers.
 | |
| * Core API     - Fixed incorrect propagation of FMOD_DSP_STATE::channelmask
 | |
|                  when mixing signals with differing masks.
 | |
| * Core API     - Fixed http streams (file from http, not shoutcast/icecast) 
 | |
|                  returning FMOD_ERR_FORMAT.  Introduced 1.08.01
 | |
| * Core API     - Fixed m3u playlist file format support.  Was returning 
 | |
|                  FMOD_ERR_FORMAT.
 | |
| * Core API     - Android - Improved detection of low-latency devices allowing better
 | |
|                            automatic output mode selection and less stuttering.
 | |
| * Core API     - Sound::getName will now return "" for sounds without names, 
 | |
|                  instead of "(null)".
 | |
| * Core API     - Object 3D Panning fix for silent objects in certain speaker modes
 | |
| * Studio API   - More robust live update handshaking when attempting to connect
 | |
|                  with multiple copies of FMOD Studio at once.
 | |
| * Unity 2      - Added missing Studio::EventDescription::getSoundSize function.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Incremented bank version, requires runtime 1.08.00 or later.
 | |
| * Studio API   - Latest runtime supports loading old bank versions from 1.03.00.
 | |
| * Studio API   - Sound names are now loaded into memory if they have been
 | |
|                  exported in the bank file.  The option is on by default, 
 | |
|                  which means by the runtime memory use might be slightly higher
 | |
|                  when loading banks exported from 1.08.03 and later.  If this is 
 | |
|                  a problem, make sure to disable the option to export sound names 
 | |
|                  in FMOD Studio when re-exporting banks.
 | |
| * XboxOne      - Now built with March 2016 QFE 1 XDK.
 | |
| * PS4          - Now built with SDK 3.508.031.
 | |
| 
 | |
| 13/04/16 1.08.02 - Studio API minor release (build 74770)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * UE4          - Fixed audio component transform not being updated in 4.11.
 | |
| * Studio API   - Fixed unnecessary up/down mix applied to 2D events that have
 | |
|                  sidechain modulators.
 | |
| * Studio API   - Studio::EventDescription::is3D now returns true if there is a
 | |
|                  plug-in panner on the master track.
 | |
| 
 | |
| Notes:
 | |
| * UE4          - PS4 - Deployment uses standard unreal plugin system.
 | |
| * UE4          - Now built against Unreal 4.11
 | |
| 
 | |
| 07/04/16 1.08.01 - Studio API minor release (build 74554)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unity 2      - Added Universal Windows Application platform support.
 | |
| * Unity 2      - Added Find and Replace tool.
 | |
| * Core API     - Improved performance when creating DSPs.
 | |
| * UE4          - Added FMOD stats for CPU usage.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed errors being generated when the initial seek is past
 | |
|                  the loop end point of a sound.
 | |
| * Studio API   - Fixed error loading sample data for banks
 | |
|                  loaded by Studio::System::loadBankMemory with
 | |
|                  FMOD_STUDIO_LOAD_BANK_DECOMPRESS_SAMPLES flag.
 | |
| * Studio API   - Fixed rare Studio update error FMOD_ERR_NOTREADY when stopping
 | |
|                  modules with streaming sounds.
 | |
| * Studio API   - Fixed unnecessary up/down mix on sidechain effects in game.
 | |
| * Studio API   - Eliminated API stalls due to holding a lock when creating 
 | |
|                  event instances on the Studio Update thread.
 | |
| * Studio API   - Fixed error when loading an API capture that contains
 | |
|                  Studio::System::flushSampleLoading commands.
 | |
| * Studio API   - PS4 - Fixed incorrect linking options on fmodstudio.prx that 
 | |
|                        caused package creation to fail.
 | |
| * Core API     - Fixed rare hang when rapidly creating and releasing Return DSPs.
 | |
| * Core API     - Fixed hang or crash when loading a .it/s3m/mod/mid file as a 
 | |
|                  decompressed sound.
 | |
| * Core API     - Fixed some shoutcast streams playing back garbled.
 | |
| * Core API     - Fixed Sound::readData returning 0 for bytes read, instead of a
 | |
|                  valid number if FMOD_ERR_FILE_EOF was returned.  
 | |
|                  Introduced in 1.07.08.
 | |
| * Core API     - PS4 - Fix AT9 playback when a sound created as looping is
 | |
|                        played with the channel loop-count explicitly set to zero 
 | |
|                        before starting.
 | |
| * Core API     - Win - Fixed ASIO device enumeration not supplying a GUID.
 | |
| * Core API     - Win - Fixed ASIO device enumeration having a blank name if the
 | |
|                        device is not connected.
 | |
| * UE4          - Added lock around file accesses to avoid Unreal pak file thread 
 | |
|                  safety issue.
 | |
| * UE4          - Fixed logging callback not being initialized.
 | |
| * UE4          - Avoid asset table system from mixing while normal mixer is in 
 | |
|                  operation, to work around an AT9 mixer issue.
 | |
| * UE4          - Fixed always linking against ovrfmod even if it isn't present.
 | |
| * Unity 2      - Rewrote Timeline Callback and Programmer Sound Callback examples
 | |
|                  to work on iOS.
 | |
| * Unity 2      - Fix marshalling of FMOD.CREATESOUNDEXINFO structure on iOS.
 | |
| * Unity 2      - Fix DLL not found errors in standalone Windows builds.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Incremented bank version, requires runtime 1.08.00 or later.
 | |
| * Studio API   - Latest runtime supports loading old bank versions from 1.03.00.
 | |
| * Studio API   - Studio::EventInstance::setPitch() now returns an error if a NaN
 | |
|                  is passed in.
 | |
| * Studio API   - Errors that occur during the Studio update thread will no longer
 | |
|                  stop the thread.
 | |
| * Studio API   - Studio will set the master channel group format to the
 | |
|                  project's format to avoid an extra upmix.
 | |
| 
 | |
| 04/03/16 1.08.00 - Studio API major release (build 73609)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Sample data loading has been optimised.  Load time, file access,
 | |
|                  and memory use have all been substantially improved.  A new entry
 | |
|                  has been added to the per platform thread affinity settings.
 | |
| * Studio API   - FMOD_STUDIO_PARAMETER_DESCRIPTION now has the parameter index and
 | |
|                  default value.
 | |
| * Studio API   - Added Studio::System::flushSampleLoading.
 | |
| * Studio API   - Support for left edge trimming of timelocked sounds.
 | |
| * Studio API   - Support for Start Offset as a percentage of sound length.
 | |
| * Studio API   - Added idle resource pool to keep recently used sounds in memory in
 | |
|                  case they might be re-used.  It can be controlled by the 
 | |
|                  idleResourcePoolSize field in FMOD_STUDIO_ADVANCEDSETTINGS.  See
 | |
|                  the Studio Banks Programmer Topic for more information.
 | |
| * Core API     - Increased performance of System::createSound and System::createStream,
 | |
|                  since they no longer block against System::update.
 | |
| * Core API     - Added filebuffersize to FMOD_CREATESOUNDEXINFO for customizable
 | |
|                  file buffering.
 | |
| * Core API     - Added System::getFileUsage to query file loading information.
 | |
| * Core API     - Custom DSP effects now always receive a buffer length that is equal 
 | |
|                  to the mix block size. The input and output buffers will always be 
 | |
|                  16-byte aligned. Custom DSP sounds still have be able to generate 
 | |
|                  signal less than a mix block.
 | |
| * Core API     - Added getclock callback to FMOD_DSP_STATE_SYSTEMCALLBACKS to get the
 | |
|                  clock, offset and length for a custom DSP.
 | |
| * Core API     - Added support for multiple plugins within one plugin file.  See
 | |
|                  FMOD_PLUGINLIST, System::getNumNestedPlugins, System::getNestedPlugin, 
 | |
|                  and the DSP Plugin API Programmer Topic for more information.
 | |
| * Core API     - Added support for object based panning with two backend providers, Dolby
 | |
|                  Atmos (FMOD_OUTPUTTYPE_ATMOS) and Playstation VR (FMOD_OUTPUTTYPE_AUDIO3D).
 | |
| * Core API     - Added 3D object panner DSP (FMOD_DSP_TYPE_OBJECTPAN) to be used
 | |
|                  with new object pan enabled outputs. 
 | |
| * Core API     - Extended output mode plugin API (FMOD_OUTPUT_DESCRIPTION) to allow custom
 | |
|                  object panner backends.
 | |
| * Core API     - Win - Reduced WASAPI latency by 40ms and improved mixer thread regularity.
 | |
| * FSBank       - AT9 Band Extension is now enabled by default for supported bit-rates.
 | |
| * FSBank       - Added Mac versions of the FSBank tool and FSBankLib API. Included
 | |
|                  in the Mac and iOS API packages.
 | |
| * Profiler     - Added Mac version of the Profiler tool. Included in the Mac and
 | |
|                  iOS API packages.
 | |
| * Unity 2      - Added ability to create new studio events from within the Unity editor.
 | |
| * Unity 2      - Improved event selection UI on emitter component and when using EventRef attribute.
 | |
| * Unity 2      - Added support for default parameter values in emitter component.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Incremented bank version, requires runtime 1.08.00 or later.
 | |
| * Studio API   - Latest runtime supports loading old bank versions from 1.03.00.
 | |
| * Studio API   - New example 'object_pan' that demonstrates object based panning.
 | |
| * Studio API   - Studio::EventDescription::getSampleLoadingState and 
 | |
|                  Bank::getSampleLoadingState now return FMOD_STUDIO_LOADING_STATE_ERROR
 | |
|                  if sample data failed to load (e.g. due to a corrupt file).
 | |
| * Studio API   - Removed Studio::CueInstance, Studio::EventInstance::getCue, 
 | |
|                  Studio::EventInstance::getCueCount and
 | |
|                  Studio::EventInstance::getCueByIndex.  Instead use new functions
 | |
|                  Studio::EventDescription::hasCue and Studio::EventInstance::triggerCue.
 | |
| * Studio API   - Deprecated Studio::EventInstance::getParameter and 
 | |
|                  Studio::EventInstance::getParameterByIndex.  Instead use 
 | |
|                  Studio::EventInstance::getParameterValue,
 | |
|                  Studio::EventInstance::setParameterValue,
 | |
|                  Studio::EventInstance::getParameterValueByIndex, and
 | |
|                  Studio::EventInstance::setParameterValueByIndex.
 | |
| * Studio API   - Increased stack size for Studio threads to 64K.
 | |
| * Studio API   - Played events will stay in the FMOD_STUDIO_PLAYBACK_STARTING state until
 | |
|                  their sample data has loaded.  This avoids selected sounds in the event
 | |
|                  playing late if the sample data has not been preloaded.
 | |
| * Core API     - System::getChannelsPlaying now returns the number of real and
 | |
|                  total channels playing.  System::getChannelsReal has been 
 | |
|                  removed.
 | |
| * FSBank       - AT9 compression now requires AT9 library 1.7.1 (DLL version 2.8.0.5)
 | |
|                  or later. Compression in 32bit versions of FSBank is no longer supported 
 | |
|                  in line with Sony's removal of 32bit compression libraries.
 | |
| 
 | |
| 03/03/16 1.07.08 - Studio API patch release (build 73591)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unity 2      - Importing banks has been speed up dramatically.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed Studio::EventInstance::setProperty not restoring the default
 | |
|                  setting for FMOD_STUDIO_EVENT_PROPERTY_MINIMUM_DISTANCE and
 | |
|                  FMOD_STUDIO_EVENT_PROPERTY_MAXIMUM_DISTANCE when a value of -1
 | |
|                  is specified.
 | |
| * Studio API   - Fixed case of mono sounds panning hard left when both mono and
 | |
|                  stereo 2D sounds are placed on the same event track, introduced
 | |
|                  in 1.07.04.
 | |
| * Core API     - Fixed some net streams returning 'invalid parameter' introduced
 | |
|                  in 1.07.06.
 | |
| * Core API     - Fixed potential crash if calling Sound::release soon after
 | |
|                  System::createSound with FMOD_NONBLOCKING and async IO callbacks.
 | |
| * Core API     - Winstore/UWP - Fixed small memory leak on system shutdown.
 | |
| * Core API     - Winstore/UWP - Fixed occasional crash when closing a socket with a
 | |
|                                 pending asynchronous read.
 | |
| * Core API     - Xbox One - Fixed potential hang waiting on XMA Sound::release if
 | |
|                             using async IO callbacks and a cancel was issued.
 | |
| * Core API     - Android - Relaxed overly strict validation of M4A files introduced
 | |
|                            in 1.07.07.
 | |
| * Core API     - Android - Fixed potential JNI_OnLoad failure introduced in 1.07.07.
 | |
| * Core API     - Fix crash in convolution reverb if wet level is set to -80db
 | |
|                  and it has no inputs.
 | |
| * Core API     - Fix seeking on stereo FADPCM compressed streams and samples.
 | |
| * Unity 2      - Errors opening log output file are no longer fatal.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Ensure FMOD_FILE_ASYNCDONE is called with FMOD_ERR_FILE_DISKEJECTED
 | |
|                  if implementing FMOD_FILE_ASYNCCANCEL_CALLBACK to notify FMOD that
 | |
|                  you will not be servicing the FMOD_ASYNCREADINFO::buffer. 
 | |
| 
 | |
| 16/02/16 1.07.07 - Studio API patch release (build 72710)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Win - Improved ASIO output to accept requested sample rate and
 | |
|                        buffer size instead of using defaults.
 | |
| * UE4          - FMOD Memory allocation now occurs via standard UE4 allocators.
 | |
| * Unity 2      - Added AppleTV support.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed System::loadPlugin not unloading the library file in the
 | |
|                  case of an error.
 | |
| * Core API     - Fixed automatic format detection failing for some types when
 | |
|                  the file size is less than 1KB.
 | |
| * Core API     - Fixed FMOD_CREATESOUNDEXINFO::suggestedsoundtype being ignored for
 | |
|                  FMOD_OPENMEMORY and FMOD_OPENMEMORY_POINT.
 | |
| * Core API     - WinStore/UWP - Fixed occasional deadlock when removing the current
 | |
|                                 output device.   
 | |
| * Core API     - Win - Fixed potential crash if switching output mode to ASIO after
 | |
|                        System::init.
 | |
| * Core API     - Android - Fixed crash if MediaCodec processes a file that isn't an
 | |
|                            M4A file.
 | |
| * Core API     - Android - Fixed Marshmallow devices being unable to load M4A files.
 | |
| * Unity 2      - Remove broken inspector code for ParamRef.
 | |
| * Unity 2      - Fix PS Vita.
 | |
| * Unity 2      - Small event reference UI rendering fixes.
 | |
| * Unity 2      - Fix unnecessary copying of files that haven't been modified.
 | |
| * Unity 2      - Fix issues with copying of files that have only been partially
 | |
|                  written by the Studio tool.
 | |
| * Unity 2      - Work around IL2CPP issues introduced in Unity 5.3.2p2.
 | |
| * Legacy Unity - Work around IL2CPP issues introduced in Unity 5.3.2p2.
 | |
| * Unity 2 - Xbox One - Fix runtime errors when using Mono AOT compilation.
 | |
| 
 | |
| Notes:
 | |
| * Unity 2      - Unity 5.3.2p1 is not supported for iOS.
 | |
| * Legacy Unity - Unity 5.3.2p1 is not supported for iOS.
 | |
| 
 | |
| 27/01/16 1.07.06 - Studio API patch release (build 71893)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Improved CPU and IO performance when capturing API commands 
 | |
|                  via Studio profiler.
 | |
| 
 | |
| * Core API     - Android - Lollipop devices may now select 7.1 with AudioTrack
 | |
|                            output mode. Older devices will gracefully fall back
 | |
|                            to stereo.
 | |
| * Unity 2      - Emitter gizmos are now pickable in the scene view.
 | |
| * Unity 2      - Event Browser layout changed to work in narrow windows. Note the 
 | |
|                  Event Browser windows will need to be closed and re-opened for new
 | |
|                  minimum bounds to take effect.
 | |
| * Unity 2      - Added bitcode support for iOS.
 | |
| * UE4          - Added support for programmer sounds.  See the new UE4 Programmer
 | |
|                  Sound page for more information.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed bug if streams start virtual, they may not come back as audible.  
 | |
|                  Introduced in 1.07.00
 | |
| * Core API     - Update URL in Netstream example.
 | |
| * Core API     - Fixed net streams not working when server delivers shoutcast
 | |
|                  with chunked HTTP data.
 | |
| * Core API     - Fixed memory leak when a network connection fails.
 | |
| * Core API     - Android - Devices that don't support 5.1 output will now
 | |
|                            gracefully fallback to stereo.
 | |
| * Core API     - WinStore / UWP - Fixed WASAPI output so it return the correct 'no
 | |
|                                   drivers' error when none are detected.
 | |
| * Core API     - WinStore / UWP - Fixed WASAPI output swapped sides and rears in 7.1.
 | |
| * Core API     - Fix C# wrapper of ChannelGroup.addGroup missing arguments.
 | |
| * Core API     - Fix crash when using chorus effect on a channel group with
 | |
|                  channel count greater than the system channel count.
 | |
| * Core API     - PS4 - Fix validation of thread affinity settings.
 | |
| * Core API     - iOS - Fixed compatibility issue introduced in 1.07.02 for old
 | |
|                        devices running iOS 6.X.
 | |
| * Unity 2      - Fixed UI when EventRef attribute is used on an array of strings.
 | |
| * Unity 2      - Work around DLL loading issues on some standalone Windows builds.
 | |
| * Unity 2      - Fix DLL loading issues for play-in-editor when platform is iOS.
 | |
| * Unity 2      - Fix RuntimeManager being recreated during shutdown and leaking FMOD
 | |
|                  native instances.
 | |
| * Unity 2      - Fix issue when using RuntimeManager.LowLevelSystem and 
 | |
|                  RuntimeManager.StudioSystem before RuntimeManager has initialized.
 | |
| * Unity 2      - Increase channels for Play-In-Editor.
 | |
| * Unity 2      - Fix play-in-editor not setting the speaker mode correctly.               
 | |
| * Unity 2 - PS4 - Fix script compile errors.
 | |
| 
 | |
| Notes:
 | |
| * Xbox One     - Now built with November 2015 XDK.
 | |
| * iOS          - Now built with iOS SDK 9.2 and tvOS SDK 9.1 (Xcode 7.2).
 | |
| * UE4          - Updated Oculus plugin for 1.0.1.
 | |
| 
 | |
| 07/01/15 1.07.05 - Studio API patch release (build 71238)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Unity 2       - When using the file browser in the settings editor to set 
 | |
|                   the Studio source paths the result will be set relative 
 | |
|                               to the Unity project if it is a sub-directory.
 | |
| * Unity 2       - Added Parameter Trigger component.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - UWP - Fixed FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED not firing
 | |
|                        when the default output device changes.
 | |
| * Core API     - PS3 - Fix rare crash with reverb.
 | |
| * Core API     - PS3 - Fix static and audio dropouts if speaker mode is forced 
 | |
|                        to stereo (normally it is 7.1).
 | |
| 
 | |
| Notes:
 | |
| * iOS          - Reduced binary size.
 | |
| * Android      - Added calling convention to public API to allow usage with
 | |
|                  hard float ABI.
 | |
| 
 | |
| 11/12/15 1.07.04 - Studio API patch release (build 70728)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Better support for sounds with channel/speaker masks, ie a 1 
 | |
|                  channel sound specified as LFE, or a quad sound specified as LRCS 
 | |
|                  instead of 2 front 2 back for example.
 | |
| * Unity 2      - Added optional debug overlay.
 | |
| * Unity 2      - Added migration steps for data in custom components.
 | |
| * Unity 2      - Added support for Unity 4.6.
 | |
| * Unity 2      - Added support for Android split binary.
 | |
| * Unity Legacy - Added support for Android split binary.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed blocking bank loads stalling for longer than necessary when
 | |
|                  other threads are constantly issuing new Studio commands.
 | |
| * Core API     - Fixed corrupted playback for big endian PCM FSBs.
 | |
| * Core API     - Fixed crash when switching channel count of generator DSPs
 | |
|                  during playback.
 | |
| * Core API     - PS3 - Fix crash reallocating buffers on flange effect.
 | |
| * Core API     - Xbox One - Fixed rare stall when playing XMA streams and
 | |
|                             compressed samples at the same time.
 | |
| * Core API     - Fix crash if the Master Channel Group head DSP was set inactive right
 | |
|                  after initialization.
 | |
| * Core API     - Fix Sound::getOpenState() moving from FMOD_OPENSTATE_PLAYING too early
 | |
|                  on some streaming sounds.
 | |
| * Core API     - Fix Sound::Release() freeing memory still in use by the mixer.
 | |
| * Core API     - Fix convolution reverb not correctly producing tails on long impulse 
 | |
|                  responses when it has no input.
 | |
| * Unity 2      - Fixed issue with plugins not being loaded correctly.
 | |
| * Unity 2      - Work around DLL loading issues on some standalone Windows builds.
 | |
| * Unity 2      - Fix leaking system objects leading to ERR_MEMORY.
 | |
| * Unity 2      - Updated signature of DSP::setWetDryMix, DSP::getWetDryMix.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - FMOD_DSP_STATE::channelmask is now passed down through the dsp chain 
 | |
|                  so plugin developers can see the original signal channel format even 
 | |
|                  if a sound was upmixed.
 | |
| 
 | |
| 17/11/15 1.07.03 - Studio API patch release (build 69975)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - When using System::recordStart the provided FMOD::Sound can now be
 | |
|                  any channel count, up/down mixing will be performed as necessary.
 | |
| * Core API     - Improved performance of convolution reverb effect when wet is 0
 | |
|                  or input goes idle.
 | |
| * Core API     - PS4 - Added FMOD_THREAD_CORE6 to allow access to the newly unlocked
 | |
|                        7th core.
 | |
| * Core API     - PS4 - Added FMOD_PS4_GetPadVolume() to retrieve the output volume
 | |
|                        of the pad speaker as set by the user in the system software.
 | |
| * Core API     - Added FMOD_DSP_TYPE_TRANSCEIVER.  Send signals from multiple sources
 | |
|                  to a single 'channel' (out of 32 global 'channels') and receieve from
 | |
|                  that or any channel from multiple receivers.  Great for receiving 
 | |
|                  and broadcasting a submix from multiple 3d locations (amongst other
 | |
|                  uses).
 | |
| * Unity        - FMOD_StudioSystem.GetEvent() can now be used with snapshot paths.
 | |
| * Unity        - Ignore OSX resource fork files when importing from FAT32 file systems.
 | |
| * UE4          - Deployment will also copy any plugins listed in a file plugins.txt
 | |
|                  in the FMODStudio/Binaries/Platform directory.  See the Using
 | |
|                  Plugins page for more information.
 | |
| * UE4          - Console platforms set up thread affinity in FMODPlatformSystemSetup.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed snapshot applied to VCA level not working in game.
 | |
| * Studio API   - Fixed profiler session timing when recording a game with a non-standard
 | |
|                  sample rate.
 | |
| * Studio API   - PS4 - Fix linker error in examples.
 | |
| * Core API     - Fixed buffer overrun when convolution reverb is set up with 
 | |
|                  mismatched input and output channels.
 | |
| * Core API     - Fix crash with invalid .mp3 files.
 | |
| * Core API     - Fix Sound::getName() not returning a valid UTF8 string when
 | |
|                  loading a sound with ID3 tags specifying the title as a latin1 
 | |
|                  string.
 | |
| * Core API     - Fix pops in flange and chorus effects.
 | |
| * Core API     - Fix crash when using flange effect on a channel group with
 | |
|                  channel count greater than the system channel count.
 | |
| * Core API     - FLAC - Fix crash when seeking in certain flac files.
 | |
| * Core API     - Android - Automatic selection of OpenSL output mode will now
 | |
|                            be stricter to reduce stuttering on devices that
 | |
|                            incorrectly report they are low latency. 
 | |
| * Core API     - PS4 - Fix signal not being routed back to the main output when
 | |
|                        detaching a channel group from a port.
 | |
| * Core API     - Fix FMOD_ADVANCEDSETTINGS::reverb3Dinstance not working.
 | |
| 
 | |
| Notes:
 | |
| * Android       - Now built with NDK r10e.
 | |
| * PS Vita       - Now built with SDK 3.550.
 | |
| * Core API      - FMOD_DSP_CHANNELGAIN_OUTPUT_DEFAULT ... FMOD_DSP_CHANNELGAIN_OUTPUT_ALLLFE 
 | |
|                   (from the FMOD_DSP_CHANNELMIX_OUTPUT enum) have been renamed to 
 | |
|                   FMOD_DSP_CHANNELMIX_OUTPUT_DEFAULT ... FMOD_DSP_CHANNELMIX_OUTPUT_ALLLFE
 | |
|                   (ie CHANNELGAIN renamed to CHANNELMIX) to fit with the correct naming 
 | |
|                   convention. Rename required if using this effect.
 | |
| 
 | |
| 02/11/15 1.07.02 - Studio API patch release (build 69450)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * AppleTV platform support is now part of the iOS package.
 | |
| 
 | |
| Features:
 | |
| * Core API     - Improved performance of System::getChannelsPlaying.
 | |
| * Core API     - Added System::getChannelsReal to get the number of
 | |
|                  non-virtual playing channels.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed internal error during playback caused by inaccuracies
 | |
|                  in quantization calculation when timeline position is greater
 | |
|                  than 5 minutes.
 | |
| * Core API     - Fix mixer not running if mixer sample rate is lower than output
 | |
|                  sample rate.
 | |
| * Core API     - Fix Sound::getOpenState returning FMOD_OPENSTATE_READY when a
 | |
|                  sounded ended, when it should have returned 
 | |
|                  FMOD_OPENSTATE_PLAYING for a bit longer, which meant 
 | |
|                  Sound::release could stall.
 | |
| * Core API     - iOS - Fixed output being mono on some devices, minimum detected
 | |
|                  hardware channel count is now 2 to ensure stereo.
 | |
| 
 | |
| Notes:
 | |
| * iOS          - Now built with iOS SDK 9.1 and tvOS SDK 9.0 (Xcode 7.1).
 | |
| * Mac          - Now built with SDK 10.11 (Xcode 7.1).
 | |
| 
 | |
| 27/10/15 1.07.01 - Studio API patch release (build 69235)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added support for multiple parameter conditions.
 | |
| * Studio API   - Added Studio::EventDescription::getSoundSize.
 | |
| * UE4          - Added validation help menu option to diagnose common issues.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed auto-pitch, cutoff and looping not live updating properly.
 | |
| * Core API     - Fixed potential crash on ARM platforms when seeking Vorbis
 | |
|                  compressed FSBs.
 | |
| * Core API     - Fix ChannelGroup::setReverbProperties from returning
 | |
|                  FMOD_ERR_REVERB_CHANNELGROUP if a child channel had a reverb
 | |
|                  connection previously.
 | |
| * Core API     - Fixed FMOD_CREATESOUNDEXINFO::suggestedsoundtype being ignored if
 | |
|                  a custom codec of higher priority has been registered.
 | |
| * Core API     - Fixed System::getRecordNumDrivers incorrectly reporting 0 if
 | |
|                  called within 1 second of application start on some platforms.
 | |
| * Core API     - Fixed stereo AIFF files producing static.
 | |
| * Core API     - Xbox One - Fixed rare crash for stereo XMA streams.
 | |
| * Core API     - iOS - Fixed MP3 decoding being performed by FMOD cross-platform
 | |
|                  decoder instead of native AudioQueue.
 | |
| * Core API     - Fix mp3 crash seeking, introduced in 1.07.00 if using certain types
 | |
|                  of MP3 file in FMOD_CREATECOMPRESSEDSAMPLE mode.
 | |
| * Unity        - Change Android to read banks straight from APK
 | |
| * Unity        - Will automatically append a "64" suffix to plugins if required.
 | |
| * Unity        - Fix OSX bundles having incorrect settings
 | |
| * Unity        - Fix compatibility with Unity 5.2.2
 | |
| * Unity        - Fix crashes when creating a standalone OSX build.
 | |
| * UE4          - Fix for audio component direction not being set into FMOD.
 | |
| * UE4          - Fixed IOS deployment error "libfmod does not exist"
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - The FMOD_STUDIO_EVENT_CALLBACK_PLUGIN_CREATED and
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_PLUGIN_DESTROYED callbacks now
 | |
|                  fire from nested events, for both plugin effects and plugin
 | |
|                  sounds.
 | |
| * Studio API   - For the FMOD_STUDIO_PLUGIN_INSTANCE_PROPERTIES callback
 | |
|                  argument, the 'name' field will contain just the user defined
 | |
|                  name of the plugin sound if one has been set. Otherwise it
 | |
|                  will be empty. You can use the 'dsp' field to determine the
 | |
|                  plugin type.
 | |
| * Studio API   - Programmer sounds with no name will have an empty string for
 | |
|                  FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES.name, previously it
 | |
|                  was an arbitrary hex sequence.
 | |
| * Core API     - Plugin developers - FMOD_DSP_SYSTEM_GETSPEAKERMODE added to 
 | |
|                  FMOD_DSP_STATE_SYSTEMCALLBACKS.  Plugin SDK version updated to 1.07 meaning
 | |
|                  plugins created from this point onwards wont work with older versions of 
 | |
|                  FMOD.
 | |
| * Android      - Replaced all Eclipse examples with Visual Studio using NVIDIA
 | |
|                  Nsight Tegra integration.
 | |
| * PS4          - Now built with SDK 3.008.041
 | |
| * PS3          - Now built with SDK 475.001.
 | |
| 
 | |
| 05/10/15 1.07.00 - Studio API minor release (build 68517)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio is now a 64-bit application. All plugin libraries must be built for
 | |
|   64-bit architecture to be compatible with the 64-bit version of the tool.
 | |
| * Added Universal Windows Platform (UWP) support.
 | |
| * Added AppleTV platform support. Contact support@fmod.org for beta access.
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Support for bus polyphony.
 | |
| * Studio API   - Added FMOD_STUDIO_EVENT_PROPERTY_MINIMUM_DISTANCE and
 | |
|                  FMOD_STUDIO_EVENT_PROPERTY_MAXIMUM_DISTANCE to override the
 | |
|                  minimum and maximum panner distance for an instance.
 | |
| * Studio API   - Added FMOD_STUDIO_INIT_DEFERRED_CALLBACKS to defer event
 | |
|                  callbacks to the main thread. See
 | |
|                  Studio::EventInstance::setCallback for more information.
 | |
| * Core API     - Added FMOD_DSP_TYPE_CHANNELMIX effect. Allows user to control
 | |
|                  gain levels for up to 32 input channel signals, and pipe the
 | |
|                  output to a range of speaker formats i.e. repeating mono,
 | |
|                  stereo, quad, 5.1, 7.1 or only LFE out.
 | |
| * Core API     - Improved CPU performance when using metering or profiling.
 | |
| * Core API     - Added support for loading multi-channel FSBs with the
 | |
|                  FMOD_CREATECOMPRESSEDSAMPLE flag.
 | |
| * Core API     - Improved record driver enumeration, list is now persistent,
 | |
|                  removed devices will remain to ensure record IDs stay valid.
 | |
|                  See record_enumeration example for new functionality.
 | |
| * Core API     - Added full record device add/removal detection for Windows,
 | |
|                  Mac, Xbox 360, Xbox One, PS3 and PS4.
 | |
| * Core API     - Reduced recording latency on Windows, XboxOne and PS4.
 | |
| * Core API     - Mac - Added support for recording from multiple microphones at
 | |
|                        the same time.
 | |
| * Core API     - Win - Improved CPU performance for FSB Vorbis decoding. See
 | |
|                        Performance Reference section of the documentation for
 | |
|                        updated benchmark results.
 | |
| * Core API     - iOS - Added support for bitcode.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed the scatterer module's random distance calculation to
 | |
|                  ensure it is within the limit set in Studio. In previous
 | |
|                  versions the random distance may have exceeded the max limit.
 | |
|                  This change may affect the loudness of sounds with scatterer
 | |
|                  modules compared to 1.06.xx releases.
 | |
| * Core API     - Fix rare crash when releasing a streamed sound.
 | |
| * Core API     - Fix output plugins with GUIDs of zero stopping setDriver
 | |
|                  working.
 | |
| * Core API     - PS3 - Fixed send/returns not respecting volume changes or
 | |
|                        rarely failing with an error when setting return IDs.
 | |
| * Core API     - PS4 - Rewrote output to use sceAudioOutOutputs instead of
 | |
|                        multiple sceAudioOutOutput calls on a single thread.
 | |
| * Core API     - Win - Fixed the audible output driver from resetting when an
 | |
|                        unrelated device is removed or disabled.
 | |
| * Core API     - Xbox One - Fixed the first couple of samples of decoded XMA
 | |
|                             being lost due to SHAPE SRC.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Incremented bank version, requires runtime 1.07.00 or later.
 | |
| * Studio API   - Latest runtime supports loading old bank versions from 1.03.00.
 | |
| * Studio API   - Improved compatibility for plugin effects. Adding extra DSP
 | |
|                  parameters to an effect no longer breaks bank version
 | |
|                  compatibility.
 | |
| * Studio API   - Studio::Bank::getEventCount and Studio::Bank::getEventList only
 | |
|                  return events directly added to the bank, not implicit events
 | |
|                  that are included in the bank due to event instrument references.
 | |
| * Studio API   - The asynchronous command buffer for the Studio API will now
 | |
|                  grow as necessary, avoiding stalls that could occur if it was too
 | |
|                  small. The commandQueueSize field in FMOD_STUDIO_ADVANCEDSETTINGS
 | |
|                  now specifies the initial size of the buffer.
 | |
| * Studio API   - Studio now enables FMOD_INIT_VOL0_BECOMES_VIRTUAL by default.
 | |
| * Studio API   - WinStore - Fixed inconsistent naming of X64 libraries.
 | |
| * Core API     - Increased FMOD_MAX_LISTENERS from 5 to 8.
 | |
| * Core API     - System::getCPUUsage update time now includes the metering and
 | |
|                  profiling part of the update.
 | |
| * Core API     - Removed support for FSB Vorbis files built using FMOD Ex 4.42 or
 | |
|                  earlier.
 | |
| * Core API     - PS4 - Changed default mix buffer size to 512 samples to reduce
 | |
|                        CPU cost. Previous setting of 256 can be set using
 | |
|                        System::setDSPBufferSize.
 | |
| * Core API     - PS4 - The size of each pre-allocated AT9 instance has increased
 | |
|                        by 8kB.
 | |
| * Core API     - PS4 - Prebuilt static libraries are no longer provided,
 | |
|                        only dynamic libraries.
 | |
| * Core API     - WinStore - Fixed inconsistent naming of X64 libraries.
 | |
| 
 | |
| 05/10/15 1.06.11 - Studio API patch release (build 68487)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Win - Reduced dll and exe sizes.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed input buses not being released when there are no longer
 | |
|                  any event instances routed into the bus.
 | |
| * Studio API   - Fixed API capture recording the initial VCA level as 0.
 | |
| * Core API     - Fix rare crash when changing the master channel group head DSP
 | |
|                  when the software format and system output don't match.
 | |
| * Core API     - Fix Channel::AddDSP() and ChannelGroup::AddDSP() not correctly
 | |
|                  moving a DSP if it's already a member.
 | |
| * Core API     - Fix for noise being produced when panning a surround input
 | |
|                  when the system format doesn't match the panner input format.
 | |
| * Unity        - FMOD RNG seed set at initialization time.
 | |
| * Unity        - Can now properly cancel the copy step of the import process.
 | |
| * Unity        - Updated documentation links in menu.
 | |
| 
 | |
| Notes:
 | |
| * iOS - Now built with SDK 9.0 (Xcode 7.0).
 | |
| * Mac - Now built with SDK 10.11 (Xcode 7.0).
 | |
| 
 | |
| 15/09/15 1.06.10 - Studio API patch release (build 67958)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Add Sound::seekData support to HTTP streams.
 | |
| * UE4          - Added blueprint functions for loading and unloading sample data.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix small reverb pop on sounds that had Channel::setPosition
 | |
|                  called on then and were muted via a parent channelgroup.
 | |
| * Core API     - Fix https netstream redirects not working.
 | |
| * Core API     - Fix user DSP read callback firing with no data if
 | |
|                  Channel::setPaused(false) is used after a System::playSound.
 | |
| * Studio API   - Fixed Trigger Delay not being applied to sounds on parameters
 | |
|                  that trigger immediately when an event starts.
 | |
| 
 | |
| Notes:
 | |
| * Xbox One - Now built with August 2015 XDK.
 | |
| 
 | |
| 01/09/15 1.06.09 - Studio API patch release (build 67431)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Additional logging when banks have been exported with out of
 | |
|                  date plugin effects.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix automatic device changing support if a user called
 | |
|                  System::update from their own thread.
 | |
| * Core API     - Fix crash when a channel group cannot be attached to port.
 | |
| * Core API     - Fixed incorrect loop length being set for ADPCM files.
 | |
| * Core API     - Win64 - Enable automatic device changing support.
 | |
| * Core API     - iOS - Fixed error creating the file thread on iOS 9.0.
 | |
| * Core API     - Fix distance filtering not resetting its parameters properly
 | |
|                  for channels.
 | |
| * Core API     - MIDI support - Fix note keyoff when evelope is in decay phase
 | |
|                  causing note to finish early.
 | |
| * Studio API   - Fix crash that could occur when auditioning an event in
 | |
|                  Studio while changing the path to waveforms.
 | |
| 
 | |
| Notes:
 | |
| * UE4          - Updated oculus rift plugin to version 0.11
 | |
| 
 | |
| 12/08/15 1.06.08 - Studio API patch release (build 66772)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * UE4          - Added FMOD init settings.
 | |
| * UE4          - Added preliminary support for 4.9 engine preview build.
 | |
| * Core API     - Add Channel::setPosition support to HTTP streams.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed System::getDefaultMixMatrix crashing if passed
 | |
|                  FMOD_SPEAKERMODE_RAW. Now returns FMOD_ERR_INVALID_PARAM.
 | |
| * Core API     - Xbox One - Fixed crash if all SHAPE contexts are consumed.
 | |
| * Core API     - Xbox One - Fixed XMA loops not being seamless.
 | |
| * Studio API   - Fixed potential crash when disconnecting from live update
 | |
|                  while recording a profiling session.
 | |
| * Studio API   - WiiU - Fixed hang on shutdown when exiting game from home menu.
 | |
| * Core API     - Fix for inaccurate metering levels when the calculation spanned
 | |
|                  multiple mix blocks.
 | |
| * Core API     - Fixed System::getRecordPosition race condition that could cause
 | |
|                  the returned value to be out of bounds.
 | |
| * Unity        - Fixed missing functionality from C# wrapper for beat callbacks
 | |
|                  and metering.
 | |
| * Unity        - Fix leaking native system objects in editor.
 | |
| * UE4          - Fixed multiple listeners.
 | |
| * FSBank       - Fixed crash encoding FADPCM format in 64bit version of tool.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Reduced memory usage for instruments that do not require
 | |
|                  up/down mix.
 | |
| * Core API     - Improved performance of DSP::getParameterFloat,
 | |
|                  DSP::getParameterInt, DSP::getParameterBool and
 | |
|                  DSP::getParameterData when 'valuestr' argument is NULL.
 | |
| 
 | |
| 22/07/15 1.06.07 - Studio API patch release (build 66161)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Win - Fix audio glitches at initialization time when using
 | |
|                        the WASAPI output mode on Windows 10.
 | |
| * Core API     - Fix UTF8 strings in MP3 ID3V2 tags not being null terminated
 | |
|                  properly leading to possible string overflow crash.
 | |
| * Core API     - PS4 - Fixed issue with non-1024 sample aligned loop-points and AT9
 | |
|                        compressed samples.
 | |
| * Core API     - Fixed memory leak when releasing connections that have a user
 | |
|                  allocated mix matrix.
 | |
| * Core API     - Added pre-wet and post-wet arguments to WetDryMix in C# wrapper.
 | |
| * Core API     - Fixed crash with FADPCM streams.
 | |
| * Core API     - Fixed another potential crash in PitchShifter DSP if changing
 | |
|                  channel count while running.
 | |
| * Core API     - Win - Fix issues caused by WASAPI allocating the output buffer at
 | |
|                        the mixer's sample rate instead of the device's sample rate.
 | |
| * Studio API   - XboxOne - Fix setting the thread affinity of the studio loading thread.
 | |
| * Studio API   - Fixed case of nested events on parameters being stopped while
 | |
|                  still active. Introduced in 1.06.04.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Incremented bank version, requires runtime 1.06.06 or later.
 | |
| * Studio API   - Latest runtime supports loading old bank versions from 1.03.00.
 | |
| * Core API     - XboxOne - Thread affinity can now be set as a mask of allowed cores.
 | |
| 
 | |
| 08/07/15 1.06.06 - Studio API patch release (build 65638)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added FMOD_DSP_COMPRESSOR_LINKED parameter to DSP compressor.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed potential invalid memory access when a bank is unloaded
 | |
|                  while create instance commands are queued.
 | |
| * Studio API   - Removed one frame delay between setting a parameter and having
 | |
|                  conditional timeline transitions occur.
 | |
| * Studio API   - Studio gracefully handles the case of a programmer sound being
 | |
|                  returned in a streaming not-ready state when the instrument is
 | |
|                  being used with timelocked seeks.
 | |
| * Core API     - Fixed rare crash when streams go virtual.
 | |
| * Core API     - Fixed 3EQ DSP not waiting an extra mix block before going idle,
 | |
|                  possibly cutting off a tail.
 | |
| * Core API     - Fixed potential crash in PitchShifter DSP if changing channel
 | |
|                  count or FFT size while running.
 | |
| * Core API     - Fixed rare volume pop when ramping with fade points as a channel
 | |
|                  goes emulated.
 | |
| * Core API     - Linux - Fixed record position not advancing with ALSA output mode.
 | |
| * Core API     - Fix race condition when setting the impulse response on an active
 | |
|                  convolution reverb DSP.
 | |
| * Unity        - Fix compatibility with Unity 5.1
 | |
| 
 | |
| 24/06/15 1.06.05 - Studio API patch release (build 65161)
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added FMOD_STUDIO_LOAD_BANK_DECOMPRESS_SAMPLES flag to
 | |
|                  force bank sample data to decompress into memory, saving
 | |
|                  CPU on low end platforms.
 | |
| * Studio API   - Improved responsiveness when reducing steal oldest polyphony
 | |
|                  over live update.
 | |
| * Studio API   - Studio profiling now includes nested instance information.
 | |
| * UE4          - Exposed beat and marker callbacks as Blueprint events.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed Scatterer sounds having incorrect volume when min and
 | |
|                  max scatter distances are equal. Introduced in 1.06.00.
 | |
| * Studio API   - Fixed FMOD_STUDIO_TIMELINE_BEAT_PROPERTIES position to
 | |
|                  return the beat position, rather than the tempo marker
 | |
|                  position.
 | |
| * Studio API   - Fix deadlock in studio when removing an output device that
 | |
|                  runs at a different sample rate to the system.
 | |
| * Studio API   - Fix deadlock in studio when removing certain USB headsets.
 | |
| * Core API     - Fixed rare case of DSP mixer not responding momentarily if
 | |
|                  output mode was switched during playback.
 | |
| * Core API     - Fix declaration of DSP.getMeteringInfo in C# wrapper.
 | |
| 
 | |
| Notes:
 | |
| * UE4          - Now built against Unreal 4.8
 | |
| 
 | |
| 09/06/15 1.06.04 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added tempo and marker event callbacks.  See
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_MARKER and
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_TIMELINE_BEAT.
 | |
| * Core API     - Add FMOD_DSP_DESCRIPTION::sys_register, sys_deregister and
 | |
|                  sys_mix for DSP plugin developers, to allow a per type (not
 | |
|                  instance) level init/shutdown/mix callback for a plugin.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed MIDI playback not correctly handling CC1 (mod wheel).
 | |
| * Studio API   - Fixed livelock when scheduling nested events in a playlist that
 | |
|                  have 0 duration.
 | |
| * Studio API   - Fixed events staying active when they have active but idle
 | |
|                  nested events on parameters.  Events now finish once their
 | |
|                  nested parameter events go idle.
 | |
| * Studio API   - Fixed Scatterer sounds not being spatialized properly.
 | |
|                  Introduced in 1.06.00.
 | |
| * FSBank       - Fix bug that prevented selection of FMOD ADPCM in the tool.
 | |
| * Core API     - Fix set3DPanLevel not respecting reverb mix when pan level
 | |
|                  was approaching 0.
 | |
| * Core API     - Fix 2d channels not having the wet mix scaled for reverb when
 | |
|                  parent ChannelGroup volume/mute functions were called.
 | |
| * Unity        - Remove warnings about banks already loaded
 | |
| * Unity        - Fix Unity Editor crashing when using FMOD_LIVEUPDATE and
 | |
|                  FMOD_DEBUG pre-processor commands simultaneously.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Incremented bank version, requires runtime 1.06.00 or later.
 | |
| * Studio API   - Latest runtime supports loading old bank versions from 1.03.00.
 | |
| * Studio API   - Added a warning for events that haven't finished because they
 | |
|                  are waiting for a DSP effect to go idle.
 | |
| * Core API     - WiiU - To comply with LotCheck requirements only the logging version
 | |
|                         of FMOD will link with networking APIs
 | |
| * Xbox One - Now built with May 2015 QFE 1 XDK.
 | |
| * WiiU - Now built with SDK 2.12.13.
 | |
| 
 | |
| 22/05/15 1.06.03 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Reduced memory overhead of bank metadata.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed steal oldest polyphony behaviour using instance creation
 | |
|                  instead of instance start time.
 | |
| * Studio API   - Fixed playlist instrument cutoff not applying a volume ramp down
 | |
|                  which could cause pops when using polyphony.
 | |
| * Core API     - Fixed invalid memory access when loading an incorrectly formatted
 | |
|                  or truncated IMA ADPCM wav file using FMOD_OPENMEMORY_POINT and
 | |
|                  FMOD_CREATECOMPRESSEDSAMPLE.
 | |
| * Core API     - Fix rare crash due to race condition when calling Sound::Release()
 | |
|                  just after the sound has been loaded using NON_BLOCKING.
 | |
| * Core API     - PS3 - Fix deadlock in streaming when using SPU Threads.
 | |
| * Core API     - Attempting to attach the Master ChannelGroup to a port will now
 | |
|                  return FMOD_ERR_INVALID_PARAM.
 | |
| * Core API     - PS4 - Fix issues with recording at rates other than the driver
 | |
|                        default.
 | |
| * Core API     - Fix crash in DSPFader when voice goes virtual with DSP effect added
 | |
|                  at a position lower than the fader (ie post fader), and the effect
 | |
|                  is freed.
 | |
| * UE4 Integration - Fixed incorrect listener orientation.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Changed envelope follower DSP sidechain parameter to ignore
 | |
|                  invalid values.
 | |
| * Xbox One - Now built with April 2015 XDK.
 | |
| * 7.1 to 5.1 downmix now lowers the volumes of the back speakers'
 | |
|   contribution to the surround speakers by 1.5db to lessen volume bulge
 | |
|   in the middle.
 | |
| 
 | |
| 06/05/15 1.06.02 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Sounds on parameters that are cross-fading in will now apply a
 | |
|                  ramp volume up to the initial cross-fade value.  This avoids pops
 | |
|                  even if the sound has been improperly authored.
 | |
| * UE4 Integration - Added support for Reverb zones.
 | |
| * UE4 Integration - Exposed Studio::EventInstance::getTimelinePosition and
 | |
|                     Studio::EventInstance::setTimelinePosition as blueprint
 | |
|                     functions.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed transition timeline modules not crossfading their
 | |
|                  volume properly when overlapping the lead out region.
 | |
| * Studio API   - Fixed C# wrapper not linking against 64bit dll when WIN64 is defined.
 | |
| * Studio API   - Fixed events with sidechains never naturally stopping.
 | |
| * Studio API   - Fixed runtime crash caused by a compiler bug for customers compiling
 | |
|                  from source using VS2015 CTP.
 | |
| * Core API     - WiiU - Fixed incorrect pitch for DRC if System is running a
 | |
|                         rate other than 48KHz or 32KHz.
 | |
| * Core API     - PS4 - Fix small memory leak when closing output ports.
 | |
| * Core API     - Fixed documentation regarding FMOD_DSP_COMPRESSOR_USESIDECHAIN and
 | |
|                  FMOD_DSP_ENVELOPEFOLLOWER_USESIDECHAIN.
 | |
| * Core API     - WinStore - Fix System::Init() freezing when called from the UI thread.
 | |
| 
 | |
| * UE4 Integration - Fixed bad editor performance when selecting audio components.
 | |
| * UE4 Integration - Fixed several Android deployment issues.
 | |
| 
 | |
| * Unity Integration - Fix compilation issues on iOS when using IL2CPP.
 | |
| * Unity Integration - Logging libs for OSX are now included. Defining FMOD_DEBUG
 | |
|                       will now route FMOD internal logging to the Unity console in the
 | |
|                       OSX editor and standalone OSX builds.
 | |
| * Unity Integration - Make members of the REVERB_PROPERTIES structure public.
 | |
| * Unity Integration - Fix compile error on XBox One when defining FMOD_DEBUG.
 | |
| 
 | |
| Notes:
 | |
| * UE4 Integration - Merged documentation with main API documentation.
 | |
| 
 | |
| 17/04/15 1.06.01 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added FMOD_STUDIO_EVENT_CALLBACK_CREATED,
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_DESTROYED and
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_START_FAILED callback types.
 | |
| * Studio API   - Exposed FMOD_STUDIO_EVENT_PROPERTY_SCHEDULE_DELAY and
 | |
|                  FMOD_STUDIO_EVENT_PROPERTY_SCHEDULE_LOOKAHEAD as advanced
 | |
|                  properties that can be set per instance.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed Channel userdata not being reset to 0 each playSound.
 | |
| * Core API     - Fixed the C# wrapper for DSP.AddInput and DSP.disconnectFrom.
 | |
| * Core API     - PS4 - Fixed playback issue with AT9 compressed samples that have
 | |
|                        a non-zero loop start point.
 | |
| * Core API     - Fix rare issues with generator DSPs or compressed channels getting
 | |
|                  stuck looping the same fragment of audio.
 | |
| * Core API     - PS3 - Fix rare crash if sound stops on a channelgroup with a matrix
 | |
|                  set in it.
 | |
| 
 | |
| * Unity Integration - Fix banks not being loaded on standalone OSX builds.
 | |
| * Unity Integration - Logging libs for windows are now included. Defining FMOD_DEBUG
 | |
|                       will now route FMOD internal logging to the Unity console in the
 | |
|                       Windows editor and standalone Windows builds.
 | |
| 
 | |
| Notes:
 | |
| * PS4 - Now built with SDK 2.508.051.
 | |
| 
 | |
| 10/04/15 1.06.00 - Studio API minor release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio API   - Scatterer sounds now steal the oldest spawned sound if the
 | |
|                  polyphony limit has been reached when spawning a new sound.
 | |
| 
 | |
| Features:
 | |
| * Added new compression format FADPCM as a higher quality, lower CPU cost drop
 | |
|   in replacement for standard IMA ADPCM. This custom developed format is our new
 | |
|   recommendation for mobile, PS Vita and Wii U delivered exclusively via FSB.
 | |
| * Core API     - Improved CPU performance of convolution reverb by 30%
 | |
| * Core API     - Android - Improved latency by automatically resampling to the
 | |
|                            native rate to enable the fast mixer.
 | |
| * Core API     - PS Vita - Removed requirement to use 48KHz mixing, default is
 | |
|                            now 24KHz for better performance.
 | |
| * Core API     - Xbox One - Optimized performance for looping compressed XMA.
 | |
| * Core API     - Xbox One - Added support for greater than stereo XMA streams.
 | |
| * Core API     - Xbox One - Reduced output latency by 20ms.
 | |
| * Studio API   - Significantly reduced memory usage.
 | |
| * Studio API   - Added Studio bank loading thread.
 | |
| * Studio API   - Added Studio::Bank::getUserData and Studio::Bank::setUserData.
 | |
| * Studio API   - Added FMOD_STUDIO_SYSTEM_CALLBACK_BANK_UNLOAD callback.
 | |
| * Studio API   - Support for transition timeline lead-in and lead-out.
 | |
| * Studio API   - Added support for setting Studio async update period via
 | |
|                  FMOD_STUDIO_ADVANCEDSETTINGS.
 | |
| * Core API     - PS4 - Added support for High Quality Recording API by default.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed parameter modulation being unable to go below the value
 | |
|                  set from the public API.
 | |
| * Studio API   - Fixed effect bypass setting not being saved to banks.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - The C# wrapper now uses System.Guid instead of FMOD.GUID.
 | |
| * Studio API   - Default command buffer size has been increased to 32K.
 | |
| * Studio API   - Studio::System::setListenerAttributes and
 | |
|                  Studio::System::getListenerAttributes now take a listener
 | |
|                  index in preparation for multiple listener support.
 | |
| * Studio API   - Deprecated Studio::ID typedef. Please use FMOD_GUID type.
 | |
| * Studio API   - Changed FMOD_STUDIO_EVENT_CALLBACK_TYPE from an enum to a
 | |
|                  bitfield. Added 'callbackmask' parameter to
 | |
|                  Studio::EventDescription::setCallback and
 | |
|                  Studio::EventInstance::setCallback.
 | |
| * Studio API   - Studio::System::startRecordCommands and
 | |
|                  Studio::System::stopRecordCommands has been renamed to
 | |
|                  Studio::System::startCommandCapture and
 | |
|                  Studio::System::stopCommandCapture.
 | |
| * Studio API   - Studio::System::playbackCommands has been renamed to
 | |
|                  Studio::System::loadCommandReplay and now returns
 | |
|                  a CommandReplay object.
 | |
| * Studio API   - Schedule delay and look-ahead has been reduced for Studio
 | |
|                  async mode.  This reduces latency and improves responsiveness
 | |
|                  of events to parameter changes.
 | |
| * Core API     - System::set3DListenerAttributes checks for invalid
 | |
|                  arguments in release.
 | |
| * Core API     - Thread safety no longer uses a command queue for deferring
 | |
|                  selected API functions until the next update.  The queue of
 | |
|                  deferred functions was most often flushed by a subsequent
 | |
|                  getter function or other setter function anyway.
 | |
| * Core API     - Added 'numconnected' to System::getRecordNumDrivers and
 | |
|                  'state' to System::getRecordDriverInfo in preperation for
 | |
|                  changes to how recording device removal is handled. Currently
 | |
|                  'numconnected' will equal 'numdrivers' and 'state' will
 | |
|                  be FMOD_DRIVER_STATE_CONNECTED.
 | |
| * Core API     - Some of the FMOD_PAN_ types have been renamed FMOD_DSP_PAN_
 | |
|                  for consistency.
 | |
| * Core API     - Calling ChannelControl::getAudibility on a ChannelGroup now
 | |
|                  returns the combined audibility of itself and the parent
 | |
|                  audibility.
 | |
| 
 | |
| 02/04/15 1.05.15 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Win - Fixed occasional deadlock when removing audio devices.
 | |
| * Core API     - Fixed stream crackling if initialseekposition was used immediately
 | |
|                  followed by Channel::setPosition with a close position value.
 | |
| * Core API     - PS3 - Fixed six or eight channels vorbis streams crashing the SPU.
 | |
| * Core API     - Xbox One - Fixed rare hang when decoding small XMA compressed audio.
 | |
| * Core API     - Fixed DSP::getInfo not returning configwidth and confighheight
 | |
|                  information for VST plugins.
 | |
| * Core API     - Fixed rare crash calling DSP::reset on the fader DSP, after
 | |
|                  ChannelGroup::setPan/setMixLevelsOutput/setMixMatrix. This
 | |
|                  could occur when a Studio event is started or stopped.
 | |
| * Core API     - PS4 - Fixed issue with non-1024 sample aligned loop-points and AT9
 | |
|                        compressed samples.
 | |
| * Core API     - Fixed DSP effect being un-removable with FMOD_ERR_DSP_INUSE after
 | |
|                  being added to a channel and the channel stops (becoming invalid).
 | |
| 
 | |
| Notes:
 | |
| * PS3 - Now built with SDK 470.001.
 | |
| 
 | |
| 16/03/15 1.05.14 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed some cases where channel group audibility was not refreshed
 | |
|                  when fade points are active. This could happen when a Studio event
 | |
|                  instance is paused and unpaused.
 | |
| * Core API     - PS3 - Fixed FMOD_PS3_INITFLAGS overlapping FMOD_INITFLAGS causing
 | |
|                        certain FMOD_INITFLAGS to affect PS3 specific bit-stream
 | |
|                        encoding options.
 | |
| * Core API     - PS3 - Fixed a rare hang when releasing a DSP that exposes
 | |
|                        a FMOD_DSP_PARAMETER_OVERALLGAIN parameter.
 | |
| * Core API     - PS3 - Fixed opening URL failing with network streams.
 | |
| * Core API     - Xbox One - Fixed recording API, you can now specify any sample rate
 | |
|                             to record at. Native rate of 48KHz is still recommended
 | |
|                             for lowest latency.
 | |
| * Studio API   - Fixed virtualized event failing to become real if the number
 | |
|                  of playing instances drops back below max polyphony.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - PS3 - Deprecated FMOD_PS3_EXTRADRIVERDATA::initflags. Due to a
 | |
|                        bug it was being ignored. Pass the flags to System::init instead.
 | |
| 
 | |
| 25/02/15 1.05.13 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Studio::System::getBank now accepts bank filenames as input.
 | |
| * Core API     - Added 64bit versions of fsbank and fsbankcl tools.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed case of nested event not being destroyed even after it
 | |
|                  had finished producing sound.
 | |
| * Studio API   - Fixed crash when changing output bus on an event when live update
 | |
|                  is connected.
 | |
| * Studio API   - Fixed deadlock when calling Studio commands when mixer is suspended.
 | |
| * Studio API   - System::release now ensures release even if flushing pending commands
 | |
|                  causes an error.
 | |
| * Studio API   - The name of the string bank is now added to the string bank.
 | |
| * Studio API   - Event instance restart now flushes parameter values before timeline
 | |
|                  rescheduling occurs.  This avoids a potential issue for transitions
 | |
|                  with parameter conditions, where they may not have used the most
 | |
|                  recent parameter value.
 | |
| * Core API     - Fix unnecessary querying of recording driver capabilities during
 | |
|                  recording.
 | |
| * Core API     - PS4 - Remove AT9 workaround added in 1.05.12. Fix AT9 compressed
 | |
|                        codecs with finite loop counts.
 | |
| * Core API     - PS4 - Removed stalls when an AT9 compressed sample channel is started.
 | |
| * Core API     - PS4 - Fix crash in recording.
 | |
| * Core API     - Fix multiple listener support not working properly.
 | |
| * Core API     - Fix user file crash if using asyncfileread callback, and file
 | |
|                  open and close happens without any read occuring.
 | |
| * Core API     - Fix rare crash with Sound::release if a nonblocking setPosition
 | |
|                  is in process and it is an FSB sound.
 | |
| * Core API     - Fix thread safety issue loading multiple mod/s3m/xm/it files
 | |
|                  simultaneously.
 | |
| * Core API     - Fix rare crash if FMOD_ACCURATETIME was used with .mp3 file
 | |
|                  followed by mp3 encoded FSB file after a time, both using
 | |
|                  FMOD_CREATECOMPRESSEDSAMPLE.
 | |
| * Core API     - PS3 - Fixed custom DSP that use the plugindata member.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Updated programmer_sound example.
 | |
| * Core API     - Added plug-in inspector example.
 | |
| * Xbox One - Now built with February 2015 XDK.
 | |
| 
 | |
| 06/02/15 1.05.12 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Improved memory use for events with repeated nested events.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed crash when stopping multiple one-shot events on a bus.
 | |
| * Studio API   - Fixed nested event polyphony from cutting off immediately,
 | |
|                  causing pops.
 | |
| * Core API     - Fixed rare crash in mixer if DSP::reset is called on a
 | |
|                  FMOD_DSP_TYPE_FADER dsp (ie ChannelControl head DSP)
 | |
|                  after DSP::setPan/setMixLevelsOutput/setMixMatrix.
 | |
| * Core API     - Fixed race condition setting resampling speed while resampling
 | |
|                  is occurring.
 | |
| * Core API     - Fixed crash loading mod/s3m/xm/it file using FMOD_NONBLOCKING
 | |
|                  and FMOD_CREATECOMPRESSEDSAMPLE and then immediately calling
 | |
|                  SoundI::release
 | |
| * Core API     - PS4 - Work around AT9 codec issues that have appeared when using SDK 2.000
 | |
| 
 | |
| 22/01/15 1.05.11 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Xbox One - Added access to 7th CPU core.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed crash setting Studio event callback to null as it is
 | |
|                  being invoked.
 | |
| * Studio API   - Fixed crash in hashmap reallocation when running out of memory.
 | |
| * Studio API   - Fixed Studio::loadBankCustom from freeing its custom userdata
 | |
|                  before the close callback for failed banks.
 | |
| * Studio API   - If FMOD_OUTTPUTTYPE_WAVWRITER_NRT or NOSOUND_NRT is used as an
 | |
|                  output mode, Studio runtime will now internally force
 | |
|                  FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE to avoid a hang.
 | |
| * Core API     - Fix pop noise when 3d sound goes virtual then becomes real again,
 | |
|                  only if ChannelControl::addDSP was used.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Studio::EventInstance::getPlaybackState will now return the state
 | |
|                  as FMOD_STUDIO_PLAYBACK_STOPPED if the instance is invalid.
 | |
| * Studio API   - Studio::Bank::getLoadingState, Studio::Bank::getSampleLoadingState,
 | |
|                  and Studio::EventDescription::getSampleLoadingState will now return
 | |
|                  the state as FMOD_STUDIO_LOADING_STATE_UNLOADED if the object
 | |
|                  is invalid.
 | |
| 
 | |
| 12/01/15 1.05.10 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Xbox One - Added support for recording from microphones.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - PS3 - Fix deadlock in streaming sounds when linking against the
 | |
|                        SPU thread libraries.
 | |
| * Core API     - Windows - Fixed crash when initializing a second ASIO system.
 | |
| * Core API     - Fix ChannelControl::getDSPIndex not returning an error if the dsp
 | |
|                  did not belong in the Channel or ChannelGroup
 | |
| * Core API     - PS3 - Fix linker error when using libfmod_sputhreads.a
 | |
| * Core API     - Fixed AT9 and ACP XMA incorrectly allowing FMOD_OPENMEMORY_POINT
 | |
|                  and FMOD_CREATESAMPLE.
 | |
| * Core API     - Fixed reverb wetlevel from ChannelControl::setReverbProperties
 | |
|                  being reset after a voice goes virtual then returns as real.
 | |
| * Core API     - Fixed removing/adding DSPs in a ChannelControl chain copying
 | |
|                  setDelay commands incorrectly and making channels pause when
 | |
|                  they shouldnt
 | |
| * Studio API   - Reinstated support for embedded loop points in source sounds,
 | |
|                  and fixed issue with playback of timelocked sounds.
 | |
| 
 | |
| 12/12/14 1.05.09 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added System::registerOutput to allow the creation of
 | |
|                  statically linked custom output modes.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed looping event cursor position from getting slightly
 | |
|                  out of sync with scheduled position when running at 44.1kHz.
 | |
| * Studio API   - Fixed playlist steal-oldest polyphony returning errors
 | |
|                  when used with extremely small durations.
 | |
| * Studio API   - Fixed silence after unpausing an event instance.
 | |
|                  Introduced in 1.05.08.
 | |
| * Core API     - Fixed crash after setting the input format of a Return DSP
 | |
|                  to stereo, when the mixer output format is mono.
 | |
| * Core API     - Windows - Fix crash calling FMOD_ASYNCREADINFO::done function
 | |
|                            pointer when default calling convention is not cdecl.
 | |
| * Core API     - Fixed FMOD_SPEAKERMODE_RAW panning incorrectly during an
 | |
|                  up or down mix.
 | |
| * Core API     - Fix crash when a Channel::setPosition is called on a
 | |
|                  non-blocking stream that is going virtual.
 | |
| * Core API     - Fixed potential audio corruption when playing sounds with
 | |
|                  more than 8 channels.
 | |
| * Core API     - Fixed emulated channels not updating their parent when
 | |
|                  when Channel::setChannelGroup is called.
 | |
| * Core API     - Fixed channels having their volume reset when changing
 | |
|                  channel group parents.
 | |
| * Core API     - Fixed channels not going virtual when being paused if no
 | |
|                  other volume changes were occurring.
 | |
| * Core API     - Fixed FMOD_INIT_PROFILE_ENABLE enabling all DSP metering
 | |
|                  regardless of whether FMOD_INIT_PROFILE_METER_ALL was used.
 | |
| * Core API     - Added volume ramp up for 3d channels coming back from virtual
 | |
|                  to real.
 | |
| * Core API     - Fixed rare crash if the master channelgroup's DSP Head unit
 | |
|                  was changed then released.
 | |
| * Core API     - PS3 - Fix loudness meter not functioning.
 | |
| * Core API     - PS3 - Re-enabled playDSP.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Xbox One - Added check to ensure DSP buffer size is specified
 | |
|                             as the default 512 samples to avoid performance
 | |
|                             degradation of XMA decoding.
 | |
| * Core API     - Windows - Changed default ASIO speaker mapping to 1:1 for
 | |
|                            outputs with more than 8 channels.
 | |
| 
 | |
| 28/11/14 1.05.08 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added ChannelControl::setFadePointRamp helper function
 | |
|                  that automatically adds a volume ramp using fade points.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed pops that could occur when stopping events that have
 | |
|                  instruments scheduled to stop already.
 | |
| * Studio API   - Fixed pop that could occur when playing an sound
 | |
|                  that has an AHDSR fade in.
 | |
| * Studio API   - Fixed indeterminism when exporting string banks that have
 | |
|                  multiple string entries with inconsistent case.
 | |
| * Core API     - Android - Improved compatibility with Java 1.6.
 | |
| * Core API     - iOS - Added armv7s back to the universal binary.
 | |
| * Core API     - Windows - Fix System::getRecordDriverInfo returning
 | |
|                            incorrect device names. Introduced in 1.05.00.
 | |
| * Core API     - Fix FMOD_SPEAKERMODE_RAW creating silence if playing more than
 | |
|                  1 sound, introduced in 1.04.15.
 | |
| * Core API     - Fix CELT and Vorbis FSB being allowed with FMOD_OPENMEMORY_POINT
 | |
|                  and FMOD_CREATESAMPLE when it should in fact
 | |
|                  return FMOD_ERR_MEMORY_CANTPOINT
 | |
| 
 | |
| 21/11/14 1.05.07 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio API   - Fixed scheduling for looping nested events which are cut off
 | |
|                  from the parent event.  Previously the looping nested event
 | |
|                  would attempt to play to end but would cut off halfway through
 | |
|                  with a noticeable click.  The nested event now cuts off
 | |
|                  immediately with a fade out ramp.
 | |
| 
 | |
| Features:
 | |
| * Core API     - Android - Added ARM64 support.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix ChannelGroup::setMixLevelsOutput causing corrupted audio
 | |
|                  when the channel group has an input with a channel count greater
 | |
|                  than the system channel count.
 | |
| * Core API     - Fixed ChannelControl::setMute not refreshing channel audibility.
 | |
| * Core API     - Windows - Fix calls to DSP::getInfo() from within a custom DSP
 | |
|                            deadlocking the system during audio device change.
 | |
| * Core API     - Fixed some DSP configurations with an idle first input causing
 | |
|                  signal to be downmixed to mono.
 | |
| * Core API     - Fix invalid characters being printed in log messages when open
 | |
|                  certain types of media files.
 | |
| * Studio API   - Fixed Studio::Bank::getEventCount and Studio::Bank::getEventList
 | |
|                  incorrectly enumerating nested events.
 | |
| * Studio API   - Fixed Studio::Bus::stopAllEvents not working when snapshots or
 | |
|                  nested events are playing.
 | |
| * Studio API   - Fixed "state->mInstanceCount > 0" assert that could occur when
 | |
|                  instruments were stopped repeated times.
 | |
| 
 | |
| Notes:
 | |
| * PS Vita - Now built with SDK 3.300.
 | |
| * WiiU - Now built with SDK 2.11.13.
 | |
| 
 | |
| 13/11/14 1.05.06 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Windows - Add 64bit VST support
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed thread safety issue when accessing sound tables as
 | |
|                  new banks with sound tables are being added.
 | |
| * Studio API   - Fixed duplicate streaming sounds keeping playing when unloading
 | |
|                  the memory bank that it is streaming from.  Now the stream
 | |
|                  will stop if the memory bank is unloaded.
 | |
| * Core API     - Fixed sound going mono in certain DSP configurations.
 | |
|                  Introduced 1.05.00.
 | |
| * Core API     - Fixed rare timing issue with fade points that caused the fader
 | |
|                  DSP to generate invalid floats.
 | |
| * Core API     - Android - Fixed crashes due to insufficient stack size when
 | |
|                            running ART instead of Dalvik.
 | |
| * Core API     - Windows - Fixed potential crash if using multiple FMOD::System
 | |
|                            with ASIO output mode. This is not supported by ASIO
 | |
|                            and is now disabled.
 | |
| * Core API     - Linux - Fixed PulseAudio device enumeration not placing the
 | |
|                          default device at position 0.
 | |
| 
 | |
| Notes:
 | |
| * Xbox One - Now built with November 2014 XDK.
 | |
| * Android - Now built with NDK r10c.
 | |
| * iOS - Now built with SDK 8.1 (Xcode 6.1).
 | |
| * Mac - Now built with SDK 10.10 (Xcode 6.1).
 | |
| * PS4 - Now built with SDK 2.000.071
 | |
| 
 | |
| 30/10/14 1.05.05 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added convolution reverb example.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed various errors after deleting objects via Live Update
 | |
| * Studio API   - Fixed possible crash using shared waveforms across multiple banks
 | |
|                  after some of the duplicate banks have been unloaded.
 | |
| * Studio API   - Fixed duplicate events becoming invalidated when the first bank that
 | |
|                  contains them is unloaded.
 | |
| * Studio API   - Fixed bug in load_banks example.
 | |
| * Studio API   - Fixed crash when calling Studio::Bus::stopAllEvents while
 | |
|                  playing event instances that have had release called.
 | |
| * Core API     - Fixed memory leaks.
 | |
| 
 | |
| 22/10/14 1.05.04 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed transition markers failing at the start of the timeline.
 | |
| * Core API     - PS3/X360/Wii-U - Fix vorbis seek getting stuck in an infinite loop.
 | |
| * Core API     - Fixed incorrect behaviour when changing the channel mode from 3D to 2D.
 | |
| * FSBank       - Fixed setting the cache directory and printing log messages.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Timeline transitions can be chained together with no delay.
 | |
| 
 | |
| 13/10/14 1.05.03 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added Studio::Bus::lockChannelGroup and
 | |
|                  Studio::Bus::unlockChannelGroup.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed event fadeout cutting off DSP effects with long tails.
 | |
| * Studio API   - Fixed crash when accessing events with a lifetime across
 | |
|                  duplicate banks.  Note that when unloading the initial
 | |
|                  bank for an event, that event will be invalidated.
 | |
| * Core API     - Fixed for enum mismatches in C# wrapper.
 | |
| * Core API     - Fixed FMOD_DSP_LOWPASS click when being reused, ie stopping
 | |
|                  then starting a new sound.
 | |
| * Core API     - Fixed rare hang during Sound::release for sounds created as
 | |
|                  FMOD_NONBLOCKING.
 | |
| * Core API     - Fixed corrupted playback of MOD/S3M/XM/IT/MID sequenced
 | |
|                  formats.  Introduced 1.04.05
 | |
| * Core API     - Fixed ChannelGroup::setReverbProperties on the master channel
 | |
|                  group causing a stack overflow. This is now disallowed as it
 | |
|                  creates a circular dependency.
 | |
| * Core API     - Mac - Replaced error condition if initializing FMOD before
 | |
|                        activating the AudioSession with a TTY warning.
 | |
| * Core API     - Android - Fixed Sound::readData going forever when reading
 | |
|                            AAC audio.
 | |
| * Core API     - Fix the pancallbacks member of the FMOD_DSP_STATE_SYSTEMCALLBACKS
 | |
|                  structure passed into custom DSP callbacks being NULL.
 | |
| * Core API     - Fix crash in mixer if user used System::playDSP and made
 | |
|                  the dsp inactive with DSP::setByPass or DSP::setActive
 | |
| 
 | |
| 01/10/14 1.05.02 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed a bug where event sounds could have incorrectly
 | |
|                  synchronized playback.
 | |
| * Core API     - Fixed compiler warning in public header.
 | |
| * Studio API   - Disabled embedded loop points on all sounds played by the
 | |
|                  Studio API to fix incorrect playback of timelocked sounds.
 | |
| * Studio API   - Snapshot volumes are now interpolated in terms of linear gain.
 | |
| * Core API     - Fixed 3EQ DSP not clearing out internal state when DSP::reset is
 | |
|                  called, potentially causing audible artifacts when reused.
 | |
| * Core API     - Fixed resampler inaccuracies when reading partial looping data.
 | |
| * Core API     - Mac - CoreAudio output mode will now allow any DSP block size
 | |
|                        and will correctly use the desired buffer count.
 | |
| * Core API     - Mac - CoreAudio now correctly exposes its output AudioUnit
 | |
|                        via the System::getOutputHandle function.
 | |
| * Core API     - PS3 - Fixed resampler strict aliasing bug on PPU release builds.
 | |
| * Core API     - PS3 - Fixed playDSP crash.
 | |
| * Core API     - Fixed convolution reverb input downmix
 | |
| * Core API     - Greatly increase speed of mixing multichannel source data.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Loudness meters saved in banks will now be bypassed to improve
 | |
|                  performance when profiler isn't attached.
 | |
| * Xbox One - Now built with September 2014 QFE 1 XDK.
 | |
| 
 | |
| 22/09/14 1.05.01 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Fixed possible large memory blowout if certain DSP pools were exceeded.
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added FMOD_SYSTEM_CALLBACK_PREUPDATE and
 | |
|                  FMOD_SYSTEM_CALLBACK_POSTUPDATE callbacks.
 | |
| * Core API     - iOS - Added support for multichannel output via accessory.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Implemented Studio::Bus::stopAllEvents.
 | |
| * Studio API   - Fixed bus going silent when output format is stereo and system
 | |
|                  speaker mode is 5.1.
 | |
| * Studio API   - Fixed Studio::System::getAdvancedSettings clearing
 | |
|                  FMOD_STUDIO_ADVANCEDSETTINGS.cbSize and not returning
 | |
|                  default values.
 | |
| * Studio API   - Fixed a bug where looping or sustaining events could
 | |
|                  incorrectly be treated as oneshot.
 | |
| * Studio API   - Fixed a bug where event sounds could have incorrectly
 | |
|                  synchronized playback.
 | |
| * Core API     - Fix bug with custom 3D rolloff curve points getting corrupted.
 | |
| * Core API     - Fixed incorrect documentation for FMOD_CHANNELCONTROL_CALLBACK.
 | |
| * Core API     - Fix sub-mix channel count being incorrect when playing multiple
 | |
|                  sounds with different channel counts together.  Introduced in
 | |
|                  1.04
 | |
| * Core API     - Fix a channel DSP head's ChannelFormat not being reset if a sound
 | |
|                  with a channel mask was played on it previously
 | |
| 
 | |
| Notes:
 | |
| * iOS - Now built with SDK 8.0 (Xcode 6.0).
 | |
| * Mac - Now built with SDK 10.9 (Xcode 6.0).
 | |
| 
 | |
| 09/09/14 1.05.00 - Studio API minor release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio API   - Studio::MixerStrip has been replaced by Studio::Bus and Studio::VCA.
 | |
|                  The new classes do not have a release method, as their handles
 | |
|                  remain valid until the bank containing them is unloaded.
 | |
| * Studio API   - Studio::System::getEvent, Studio::System::getBus, Studio::System::getVCA,
 | |
|                  and Studio::System::getBank now take a string path.
 | |
|                  Functions that take an ID are now named Studio::System::getEventByID,
 | |
|                  Studio::System::getBusByID, Studio::System::getVCAByID, and
 | |
|                  Studio::System::getBankByID.
 | |
| * Studio API   - Studio::EventInstance::release no longer invalidates the
 | |
|                  handle immediately. The handle remains valid until the event
 | |
|                  stops and is actually destroyed. In addition, this function
 | |
|                  now succeeds even if the event will not stop naturally.
 | |
| * Studio API   - Events with sounds triggered by parameters will now stop rather
 | |
|                  than going idle when all sounds have finished and the timeline
 | |
|                  cursor has reached the end.
 | |
| * Core API     - The wide string argument of System::getDriverInfo() and
 | |
|                  System::getRecordDriverInfo() has been removed. These functions
 | |
|                  now return UTF-8 encoded strings.
 | |
| * Core API     - FMOD_UNICODE flag for System::createSound() and System::createStream()
 | |
|                  has been removed. These functions now accept UTF-8 encoded file names
 | |
|                  to load sounds with non-ASCII characters on Windows, PS3, PS4, PS Vita,
 | |
|                  XBox One, iOS, Android, Mac, Linux, Windows Phone, and Windows Store.
 | |
| * FSBank API   - FSBANK_INIT_UNICODE flag has been removed. All file name structure
 | |
|                  members and function arguments now accept UTF-8 encoded strings.
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added FMOD_STUDIO_EVENT_CALLBACK_PLUGIN_CREATED and
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_PLUGIN_DESTROYED callback types.
 | |
| * Studio API   - Added Studio::Bank::getStringCount and Studio::Bank::getStringInfo.
 | |
| * Core API     - Added FMOD::Debug_Initialize to configure the destination and
 | |
|                  level of debug logging when using the logging version of FMOD.
 | |
|                  This is a more flexible replacement for the previous
 | |
|                  FMOD::Debug_SetLevel API.
 | |
| * Core API     - Android - Added support for playing AAC files (requires Android 4.2).
 | |
| * Core API     - Android - Reduced latency for devices that support FastMixer, see
 | |
|                            "Basic Information" section of the docs CHM for details.
 | |
| * Core API     - Added DSP::setWetDryMix so any effect can have generic wet/dry
 | |
|                  signal level control.
 | |
| * Core API     - Added 3D ChannelGroup support.  A ChannelGroup is a 'group bus'
 | |
|                  and it can now be positioned in 3d space, affecting the mix for
 | |
|                  buses and channels below it.  3D Cones, geometry etc all work.
 | |
|                  Use ChannelGroup::setMode(FMOD_3D) to enable a 3D ChannelGroup.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed transitions to the end of a loop region failing to escape
 | |
|                  the loop.
 | |
| * Studio API   - Fixed sends inside events occasionally having a brief period
 | |
|                  of full volume when the event is started.
 | |
| * Core API     - Fix for crash when creating multiple Systems with profiling enabled.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Transition regions no longer include the end of their range.
 | |
| * Studio API   - FMOD_ERR_EVENT_WONT_STOP has been removed.
 | |
| * Studio API   - Studio::EventInstance::start now resets all DSPs inside the
 | |
|                  event to prevent incorrect ramping. This relies on
 | |
|                  FMOD_DSP_RESET_CALLBACK leaving public parameters unchanged.
 | |
| * Studio API   - Studio::System::getEvent's unimplemented mode parameter has
 | |
|                  been removed, along with FMOD_STUDIO_LOADING_MODE.
 | |
| * Studio API   - FMOD_STUDIO_PLAYBACK_IDLE and FMOD_STUDIO_EVENT_CALLBACK_IDLE
 | |
|                  have been removed.
 | |
| * Studio API   - Removed deprecated function Studio::EventInstance::createSubEvent.
 | |
| * Core API     - Changed FMOD_FILE_ASYNCCANCEL_CALLBACK to take FMOD_ASYNCREADINFO
 | |
|                  structure rather than void *handle.
 | |
| * Core API     - The FMOD_DSP_RESET_CALLBACK documentation has been updated to
 | |
|                  make it clear that it should leave public parameters unchanged.
 | |
| * Core API     - PS4 - Thread affinity can now be set as a mask of allowed cores.
 | |
| * Core API     - iOS / Mac - Reduced default block size to 512 for lower latency.
 | |
| * Core API     - Android - Renamed Java interface from FMODAudioDevice to simply
 | |
|                            FMOD, i.e. org.fmod.FMOD.init().
 | |
| * Core API     - Channel::setMode moved to ChannelControl::setMode so that
 | |
|                  ChannelGroups can now also have 2D/3D mode bits set.
 | |
| 
 | |
| 09/09/14 1.04.08 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed crash when a second system is created but never initialized.
 | |
| * Studio API   - Fixed a few ordering issues that can cause binary changes in
 | |
|                  identical banks.
 | |
| * Core API     - Fix for pop due to unwanted volume ramping after calling
 | |
|                  DSP::reset on fader DSP. This can happen when a Studio event
 | |
|                  instance is stopped and then restarted. Caused by timing issue
 | |
|                  with ChannelControl::setVolumeRamp.
 | |
| * Core API     - Fix crash if FMOD_DSP_TYPE_MIXER or DSP with no read/process
 | |
|                  function is passed to System::playDSP.
 | |
| * Core API     - iOS - Fixed MP2 files being intercepted by AudioQueue causing an
 | |
|                        internal error.
 | |
| * Core API     - XboxOne - Fixed network connect not resolving host names and
 | |
|                            not honoring the requested time out.
 | |
| * Core API     - Fix rare crash if calling Channel::stop() which a non blocking
 | |
|                  Channel::setPosition is happening with a stream.
 | |
| * Core API     - Winphone and Windows Store Apps - fixed detection of socket errors.
 | |
| * Core API     - If a user DSP is added after the master ChannelGroup's fader that
 | |
|                  changes the output channel count to something other than the
 | |
|                  software mixer's channel count, stuttering could occur.  Fixed.
 | |
| * Studio API   - Windows - Fixed Studio API functions deadlocking when in
 | |
|                  asynchronous mode and a sound device is removed.
 | |
| * Core API     - PS3 - Fixed some DSP parameter sets being ignored
 | |
|                  (overwritten by SPU DMA)
 | |
| * Core API     - Fix System::playDSP not working with custom DSP effects that
 | |
|                  use the read callback
 | |
| * Core API     - Added Memory.Initialize function to the C# wrapper.
 | |
| * Core API     - Fixed incorrect truncation of FMOD_CREATECOMPRESSEDSAMPLE
 | |
|                  sounds created from MP3 or MP2 files (does not affect FSB).
 | |
| * Core API     - Fixed FMOD_ACCURATETIME for FMOD_CREATECOMPRESSEDSAMPLE
 | |
|                  sounds created from MP3 or MP2 files (does not affect FSB).
 | |
| 
 | |
| Notes:
 | |
| * Core API     - The master ChannelGroup's fader/head now is not responsible for
 | |
|                  up or downmixing the signal.  It is now done beyond the dsp tree,
 | |
|                  internally within FMOD.  The Master ChannelGroup's Fader can still
 | |
|                  be forced to upmix if required with DSP::setChannelFormat.
 | |
| 
 | |
| 20/08/14 1.04.07 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed an internal error when instantiating a snapshot that
 | |
|                  exposes intensity as a parameter.
 | |
| * Core API     - PS3 - Fix audio dropout/corruption when using
 | |
|                  FMOD_SPEAKERMODE_STEREO.  Usually when sidechain is involved.
 | |
| * Core API     - iOS - Fixed System::recordStart returning FMOD_ERR_RECORD.
 | |
| * Core API     - Fixed possible click noise on end of sound if using
 | |
|                  FMOD_CREATECOMPRESSEDSAPMLE or PCM on PS3.
 | |
| 
 | |
| Notes:
 | |
| * Xbox One - Now built with July 2014 QFE1 XDK.
 | |
| * PS4 - Now built with SDK 1.750.061
 | |
| 
 | |
| 06/08/14 1.04.06 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added FMOD_STUDIO_PROGRAMMER_SOUND_PROPERTIES.subsoundIndex
 | |
|                  to support non-blocking loading of FSB subsounds.
 | |
| * Core API     - Windows - FMOD now handles sound card removal
 | |
|                  and insertion without any programmer intervention.  If
 | |
|                  System::setCallback is called with
 | |
|                  FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED bit set, this feature
 | |
|                  is disabled.
 | |
| * Core API     - Windows - System::setOutput can be called post-init now,
 | |
|                  allowing dynamic switching between any output mode at runtime.
 | |
| * Core API     - iOS - Improved IMA ADPCM decoding performance especially for
 | |
|                  arm64 variant.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed bug where channels with post-fader DSP units would not play
 | |
|                  after transitioning from virtual to real.
 | |
| * Core API     - Fix pops with resampler on loops.
 | |
| * Core API     - Fix playDSP returning FMOD_ERR_DSP_SILENCE or
 | |
|                  FMOD_ERR_DSP_DONTPROCESS if the dsp played returned that during
 | |
|                  query mode.
 | |
| * Core API     - PS3 - Fix ITEcho, SFXReverb, FFT DSP effects rarely getting
 | |
|                  parameters reset to old values.
 | |
| * Core API     - Xbox One - Fixed audio corruption when playing mono streams from an
 | |
|                             XMA FSB that has both mono and stereo subsounds.
 | |
| * Core API     - PS3 - Moved vorbis decode work during stream setPosition to the SPU.
 | |
| * Core API     - Windows - Fix System::setSoftwareFormat with differing samplerate and
 | |
|                  speaker mode causing static.
 | |
| * FSBank API - Fixed cache being incorrectly reused when replacing source files
 | |
|                of identical name with a different file that has an old time stamp.
 | |
| 
 | |
| Notes:
 | |
| * PS3 - Now built with SDK 460.001
 | |
| 
 | |
| 25/07/14 1.04.05 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fix for pop when stopping events with FMOD_STUDIO_STOP_ALLOWFADEOUT.
 | |
| * Studio API   - Fix incorrect scheduling when Multi Sounds contain nested
 | |
|                  events with timeline transitions.
 | |
| * Studio API   - Fix for nested event modules not being cleaned up when used
 | |
|                  in a playlist module.
 | |
| * Studio API   - Fix for events failing to stop when they have instruments on
 | |
|                  parameters that have Hold enabled.
 | |
| * Core API     - Fix combined volume ramp and fade point ramp having an incorrect
 | |
|                  volume.
 | |
| * Core API     - Fix for pop when setting zero volume with vol0virtual enabled.
 | |
| * Core API     - Fix for pop when scheduling fade point ramps in the past.
 | |
| * Core API     - Fix for pop on a return bus when all incoming sends go idle.
 | |
| * Core API     - Fix for faders delaying going idle for a mix when volume is set
 | |
|                  to zero without ramping.
 | |
| * Core API     - Fixed FSB forwards compatibility issue causing load failures.
 | |
| * Core API     - XboxOne - Fixed ACP race condition when shutting down / initializing
 | |
|                            System causing XMA channels to not play.
 | |
| * Core API     - XboxOne - Fixed XMA compressed sample channel leak that would
 | |
|                            eventually result in all sounds playing emulated (silent).
 | |
| * Core API     - WinPhone and WSA - Fixed network connection not respecting system
 | |
|                                     timeout value.
 | |
| * Core API     - PS3 - Fix IMA ADPCM support for ps3 not working.
 | |
| * Core API     - iOS - Fixed potential duplicate symbol error on link.
 | |
| 
 | |
| Notes:
 | |
| * Xbox One - Now built with July 2014 XDK.
 | |
| * iOS - Now built with SDK 7.1 (Xcode 5.1.1).
 | |
| 
 | |
| 11/07/14 1.04.04 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed a bug where quantized timeline transitions could fail to
 | |
|                  play the audio at the destination marker.
 | |
| * Core API     - Fix channel stealing not calling end callback in playDSP case.
 | |
| * Core API     - Fix rare crash if System::playDSP is called, and it steals a
 | |
|                  channel with a sound on it, and System::update wasnt called in
 | |
|                  between.
 | |
| * Core API     - Mac, iOS and Android - Improved network error reporting.
 | |
| 
 | |
| 08/07/14 1.04.03 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added FMOD_ADVANCEDSETTINGS.randomSeed, which specifies a seed
 | |
|                  value that FMOD will use to initialize its internal random
 | |
|                  number generators.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Changed isValid() functions in C# wrapper to call through to C++.
 | |
| * Studio API   - Fixed Studio::System::loadBankCustom file callbacks being ignored
 | |
|                  when System::setFileSystem is using async read functions.
 | |
| * Studio API   - Fixed incorrect playback when starting an event instance
 | |
|                  immediately after creating it.
 | |
| * Studio API   - Fixed some snapshot types causing silence on busses if loading
 | |
|                  files older than those created with FMOD Studio 1.04.02.
 | |
| * Core API     - Fixed incorrect FMOD_ASYNCREADINFO.offset value passed to
 | |
|                  FMOD_FILE_ASYNCREAD_CALLBACK when file buffering is disabled.
 | |
| * Core API     - Windows - Fixed WASAPI failing to initialize on certain old drivers.
 | |
| * Core API     - Fix FMOD_SPEAKERMODE_RAW being broken.
 | |
| * Core API     - Fixed System::set3DRolloffCallback not working.
 | |
| * Core API     - Fixed Sound::set3DCustomRolloff not working.
 | |
| * Core API     - Fix Geometry API not running in its own thread like it was in FMOD Ex.
 | |
| * Core API     - Fixed incorrect DSP clock when re-routing a ChannelGroup
 | |
|                  immediately after adding DSPs to it.
 | |
| * Profiler     - Fixed nodes appearing to overlap each other if multiple outputs were
 | |
|                  involved.
 | |
| * Core API     - PS4 - Fixed unnecessary file reads when playing an AT9 stream.
 | |
| 
 | |
| 27/06/14 1.04.02 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed incorrect virtualization of events that have more than
 | |
|                  one 3D position dependent effect.
 | |
| * Studio API   - Studio::EventDescription::getInstanceList,
 | |
|                  Studio::Bank::getEventList, Studio::Bank::getMixerStripList
 | |
|                  and Studio::System::getBankList now accept a capacity of 0.
 | |
| * Core API     - Fixed a race condition that could lead to DSP graph changes not
 | |
|                  being handled correctly.
 | |
| * Core API     - Linux - Fixed "spurious thread death event" messages appearing
 | |
|                  when attached with GDB.
 | |
| * Core API     - Linux - Fixed internal PulseAudio assert if System::getNumDrivers
 | |
|                  or System::getDriverInfo is used before System::init.
 | |
| * Core API     - Linux - Fixed ALSA not using correct default driver in some cases.
 | |
| * Core API     - Send levels set before connecting the Return DSP are now
 | |
|                  applied immediately rather than fading in over a short time.
 | |
| 
 | |
| 19/06/14 1.04.01 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added event playback states FMOD_STUDIO_PLAYBACK_STARTING
 | |
|                  and FMOD_STUDIO_PLAYBACK_STOPPING.
 | |
|                  FMOD_STUDIO_PLAYBACK_STARTING will be returned after
 | |
|                  Studio::EventInstance::start until the event
 | |
|                  actually starts.  FMOD_STUDIO_PLAYBACK_STOPPING will
 | |
|                  be returned after Studio::EventInstance::stop until
 | |
|                  the event actually stops.
 | |
| * Core API     - PS4 - Added support for background music that cannot be broadcast.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed playlist module upmixing to system speakermode when playing
 | |
|                  multiple overlapping sounds.
 | |
| * Core API     - Fix streams opened with FMOD_NONBLOCKING from playing at the
 | |
|                  incorrect position if they go virtual shortly after setPosition
 | |
|                  is called.
 | |
| * Core API     - Fix EOF detection in file system causing rare extra file read past
 | |
|                  end of file.
 | |
| * Core API     - Fix some FMOD_CREATECOMPRESSEDSOUND based samples finishing early
 | |
|                  if they were playing back at a low sample rate.
 | |
| * Core API     - Fix a bug where DSP nodes could get stuck in an inactive state
 | |
|                  after setting pitch to 0.
 | |
| 
 | |
| 11/06/14 1.04.00 - Studio API minor release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Added PS3 platform support.
 | |
| * Added WiiU platform support using SDK 2.10.04.
 | |
| * Added Linux platform support.
 | |
| * Added Windows Phone 8.1 platform support.
 | |
| * FMOD_HARDWARE and FMOD_SOFTWARE flags have been removed. All voices are software
 | |
|   mixed in FMOD Studio.
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added Studio::System::getSoundInfo for accessing sound table entries
 | |
| * Studio API   - Added Studio::EventInstance::setProperty,
 | |
|                  Studio::EventInstance::getProperty and
 | |
|                  FMOD_STUDIO_EVENT_PROPERTY_CHANNELPRIORITY
 | |
| * Studio API   - Added doppler effect support
 | |
| * Studio API   - Added libfmodstudio.a import library for MinGW/Cygwin.
 | |
|                  C API only, C++ linking not supported.
 | |
| * Core API     - Improved DSP mixing performance by about 30%
 | |
| * Core API     - Added new System callback type FMOD_SYSTEM_CALLBACK_THREADDESTROYED.
 | |
| * Core API     - System::attachChannelGroupToPort now has an argument to allow
 | |
|                  signal to be passed to main mix.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed nested events never ending if they have a parameter with
 | |
|                  non-zero seek speed.
 | |
| * Studio API   - Fixed AHDSR modulation on snapshot intensity
 | |
| * Core API     - Fixed incorrect fader interpolation when reparenting channels
 | |
|                  with propagate clocks.
 | |
| * Core API     - Win - Fixed several issues with ASIO playback.
 | |
| * Core API     - Android - Fixed audio corruption on devices without NEON support.
 | |
| * Core API     - Fixed FMOD_CREATESOUNDEXINFO.length being handled incorrectly for
 | |
|                  memory sounds. This length represents the amount of data to access
 | |
|                  starting at the specified fileoffset.
 | |
| * Core API     - Fix truncated FSB causing zero length subsounds, now returns
 | |
|                  FMOD_ERR_FILE_BAD
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Renamed C# wrapper SYSTEM_CALLBACKTYPE to SYSTEM_CALLBACK_TYPE
 | |
|                  so it matches the C++ API.
 | |
| * Core API     - Renamed MinGW/Cygwin import library to libfmod.a
 | |
| * Studio API   - Deprecated C# wrapper functions Studio.Factory.System_Create
 | |
|                  and Studio.System.init have been removed.
 | |
|                  Use Studio.System.create and Studio.System.initialize instead.
 | |
| * Studio API   - Deprecated function Studio::EventInstance::getLoadingState has
 | |
|                  been removed.
 | |
|                  Use Studio::EventDescription::getSampleLoadingState instead.
 | |
| * Studio API   - FMOD_STUDIO_EVENT_CALLBACK now takes an
 | |
|                  FMOD_STUDIO_EVENTINSTANCE* parameter.
 | |
| * Xbox One - Now built with June 2014 XDK.
 | |
| 
 | |
| 29/05/14 1.03.09 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed truncation error when loading sample data from bank
 | |
|                  opened with Studio::System::loadBankMemory.
 | |
| * Studio API   - Fixed numerical error when blending multiple snapshots with
 | |
|                  zero intensity.
 | |
| * Studio API   - Fixed incorrect pitch when an instrument has a non-zero base
 | |
|                  pitch combined with pitch automation or modulation.
 | |
| * Core API     - Xbox One - Fixed potential seeking inaccuracies with XMA sounds.
 | |
| * Core API     - Fix occasional audio pops when starting a channel or channel group.
 | |
| * Core API     - Fix crash when running out of memory during channel group creation.
 | |
| * Core API     - Fixed the C# wrapper for Sound.setDefaults and Sound.getDefaults.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - C# wrapper now takes care of setting the
 | |
|                  FMOD_STUDIO_ADVANCEDSETTINGS.cbSize and
 | |
|                  FMOD_STUDIO_BANK_INFO.size fields.
 | |
| * Core API     - C# wrapper now takes care of setting the
 | |
|                  FMOD_ADVANCEDSETTINGS.cbSize and
 | |
|                  FMOD_CREATESOUNDEXINFO.cbsize fields.
 | |
| * PS Vita - Now built with SDK 3.150.021.
 | |
| 
 | |
| 21/05/14 1.03.08 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Add FMOD_INIT_ASYNCREAD_FAST and FMOD_ASYNCREADINFO.done
 | |
|                  method, to improve performance of asyncread callback
 | |
|                  significantly.  Instead of setting 'result', call 'done'
 | |
|                  function pointer instead.
 | |
| * Core API     - Multiple channel groups can now be attached to the same output port.
 | |
| * Core API     - PS4 - Minor performance improvements in AT9 decoding using new SDK
 | |
|                  features.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Windows Store - Fixed networking issues.
 | |
| * Core API     - Windows Store - Fixed System::getRecordDriverInfo() returning
 | |
|                  incorrect number of channels.
 | |
| * Core API     - Fix System::setFileSystem asyncread callback not setting priority
 | |
|                  values properly.
 | |
| * Core API     - Releasing a channel group attached to an auxiliary output port now
 | |
|                  cleans up resources correctly.
 | |
| * Core API     - Channel groups attached to an auxiliary output port can now be
 | |
|                  added as children of other channel groups.
 | |
| * Core API     - Fix DSPConnection::setMix() not being applied properly.
 | |
| * Core API     - PS Vita - Fixed potential crash during System::init if any output
 | |
|                  related pre-init APIs are used, such as System::getNumDrivers.
 | |
| * Core API     - PS Vita - Fixed crash if an attempt is made to load AT9 FSBs as
 | |
|                  a compressed sample, for PS Vita this is a streaming only format.
 | |
| * Core API     - Xbox One - Small improvement to XMA performance.
 | |
| * Core API     - Fixed the C# wrapper for System.playDSP.
 | |
| * Core API     - Fixed potential crash on ARM platforms when loading an FSB.
 | |
| 
 | |
| Notes:
 | |
| * PS4 - Now built with SDK 1.700.
 | |
| * Android - Now built with NDK r9d.
 | |
| 
 | |
| 08/05/14 1.03.07 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Improved performance for projects with many events.
 | |
| * Studio API   - Improved memory usage for projects with many bus instances.
 | |
| * Studio API   - Added Studio::System::setCallback, Studio::System::setUserData
 | |
|                  and Studio::System::getUserData.
 | |
| * Core API     - Added gapless_playback example for scheduling/setDelay usage.
 | |
| * Core API     - Improved performance of logging build.
 | |
| * Core API     - Added FMOD_SYSTEM_CALLBACK_MIDMIX callback.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed AHDSR Release not working when timelocked sounds are
 | |
|                  stopped by a parameter condition.
 | |
| * Studio API   - Removed some unnecessary file seeks.
 | |
| * Studio API   - Fixed AHDSR Release resetting to Sustain value when instruments
 | |
|                  with limited Max Voices are stopped repeatedly.
 | |
| * Studio API   - Fixed channels within paused events not going virtual.
 | |
| * Studio API   - Fixed AHDSR Release not working inside nested events
 | |
| * Core API     - Fixed downmixing to a quad speaker setup.
 | |
| * Core API     - Fixed fsb peak volume levels on big endian platforms.
 | |
| * Core API     - Fixed paused channels not going virtual.
 | |
| 
 | |
| 17/04/14 1.03.06 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Improved performance of automation and modulation
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed crash when creating new automation via LiveUpdate
 | |
| * Studio API   - Fixed possible internal error being returned from
 | |
|                  Studio::Bank::getSampleLoadingState when called on an
 | |
|                  unloading bank.
 | |
| 
 | |
| 14/04/14 1.03.05 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Added ChannelControl to the C# wrapper to match the C++ API.
 | |
| * Core API     - Fixed the definition of ChannelControl.setDelay and
 | |
|                  ChannelControl.getDelay in the C# wrapper.
 | |
| * Core API     - Replaced broken C# wrapper System.set3DSpeakerPosition and
 | |
|                  System.get3DSpeakerPosition functions with
 | |
|                  System.setSpeakerPosition and System.getSpeakerPosition.
 | |
| * Core API     - Fixed the capitalization of DSP.setMeteringEnabled,
 | |
|                  DSP.getMeteringEnabled and DSP.getMeteringInfo in the C#
 | |
|                  wrapper.
 | |
| * Core API     - Xbox 360 - Fix hang on XMA playback
 | |
| * Core API     - Fix crash when running out of memory loading an ogg vorbis
 | |
|                  file.
 | |
| * Core API     - Fix symbol collisions when statically linking both FMOD
 | |
|                  and Xiph libvorbis or libtremor.
 | |
| 
 | |
| 08/04/14 1.03.04 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Studio::EventInstance::start now does a full restart of the
 | |
|                  event if already playing.  Restarting events will trigger the
 | |
|                  FMOD_STUDIO_EVENT_CALLBACK_RESTARTED callback type.
 | |
| * Studio API   - Added Studio::MixerStrip::setMute, and Studio::MixerStrip::getMute
 | |
|                  for muting buses.
 | |
| * Studio API   - Added Studio::System::getBufferUsage and
 | |
|                  Studio::System::resetBufferUsage for querying command and handle
 | |
|                  buffer size usage.
 | |
| * Core API     - System::createSound and System::createStream now faster due to
 | |
|                  file extension check and immediate prioritization of the relevant
 | |
|                  codec, before scanning rest of codec types.
 | |
| * Core API     - Paused channels now have an effective audibility of 0 and
 | |
|                  will go virtual if FMOD_INIT_VOL0_BECOMES_VIRTUAL is enabled.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Added Studio.System.initialize to the C# wrapper to match the C++ API
 | |
|                  (replacing Studio.System.init, which is now deprecated).
 | |
| * Studio API   - Added Studio.System.create to the C# wrapper to match the C++ API
 | |
|                  (replacing Studio.Factory.System_Create, which is now deprecated).
 | |
| * Studio API   - Added missing functions to the C# wrapper:
 | |
|                  Studio.EventInstance.get3DAttributes,
 | |
|                  Studio.EventInstance.isVirtual,
 | |
|                  Studio.EventInstance.setUserData,
 | |
|                  Studio.EventInstance.getUserData,
 | |
|                  Studio.MixerStrip.getChannelGroup,
 | |
|                  Studio.EventDescription.getUserProperty,
 | |
|                  Studio.EventDescription.getUserPropertyCount,
 | |
|                  Studio.EventDescription.getUserPropertyByIndex,
 | |
|                  Studio.EventDescription.setUserData,
 | |
|                  Studio.EventDescription.getUserData and
 | |
|                  Studio.System.loadBankCustom.
 | |
| * Core API     - Fix for VBR sounds that dont use FMOD_CREATECOMPRESSEDSAMPLE
 | |
|                  and FMOD_ACCURATETIME not looping when FMOD_LOOP_NORMAL was set.
 | |
| * Core API     - XboxOne - Fixed rare mixer hang when playing XMA as a compressed
 | |
|                            sample.
 | |
| * Core API     - Fix crash with combination of FMOD_OPENUSER + FMOD_NONBLOCKING and
 | |
|                  a null pointer being passed to System::createSound/createStream.
 | |
| 
 | |
| Notes:
 | |
| * Added examples to the Programmer API documentation.
 | |
| * Xbox One - Now built with March 2014 QFE1 XDK.
 | |
| * Studio API   - In the C# wrapper, Studio.System.init is now deprecated in favour of
 | |
|                  Studio.System.initialize.
 | |
| * Studio API   - In the C# wrapper, Studio.Factory.System_Create is now deprecated in
 | |
|                  favour of Studio.System.create.
 | |
| * Studio API   - Studio::EventDescription::is3D now returns true if any of its nested
 | |
|                  events are 3D.
 | |
| * Core API     - FMOD_CREATESOUNDEXINFO.suggestedsoundtype now tries the suggested
 | |
|                  type first, then tries the rest of the codecs later if that fails,
 | |
|                  rather than returning FMOD_ERR_FORMAT.
 | |
| * Core API     - Custom codecs.  The open callback for a user created codec plugin
 | |
|                  now does not have to seek to 0 with the file function pointer before
 | |
|                  doing a read.
 | |
| 
 | |
| 28/03/14 1.03.03 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed Studio::EventDescription::getInstanceCount and
 | |
|                  Studio::EventDescription::getInstanceList incorrectly providing
 | |
|                  data for all events in the bank, not just the queried event.
 | |
| * Studio API   - Added Studio::EventDescription::loadSampleData,
 | |
|                  Studio::EventDescription::unloadSampleData and
 | |
|                  Studio::EventDescription::getSampleLoadingState to C# wrapper.
 | |
| 
 | |
| 26/03/14 1.03.02 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added Studio::EventDescription::loadSampleData,
 | |
|                  Studio::EventDescription::unloadSampleData and
 | |
|                  Studio::EventDescription::getSampleLoadingState functions.
 | |
| * Core API     - Added FMOD_ChannelGroup_IsPlaying to C API.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fix for setting parameter values that could cause volume
 | |
|                  changes without the appropriate volume ramp.
 | |
| * Core API     - Fix for some incorrect declarations in the C header files.
 | |
| * Core API     - Fixed a linker error when calling some C API functions.
 | |
| * Core API     - Fixed FMOD_ChannelGroup_AddGroup not returning the DSP
 | |
|                  connection on success.
 | |
| * Core API     - PS4 - Fixed FMOD macros for declaring plugin functions.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Studio::EventInstance::getLoadingState is now deprecated in
 | |
|                  favour of Studio::EventDescription::getSampleLoadingState.
 | |
| 
 | |
| 18/03/14 1.03.01 - Studio API patch release
 | |
| ---------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Core API     - Blocking commands are not allowed to be called from the 
 | |
|                  non-blocking callback.  Attempting to do so will log an error
 | |
|                  and return FMOD_ERR_INVALID_THREAD.  See FMOD_SOUND_NONBLOCK_CALLBACK
 | |
|                  for more information.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed simple nested events not terminating properly when inside
 | |
|                  multi sounds
 | |
| * Core API     - Fix SRS downmix crash on startup if software mixer was set to 5.1,
 | |
|                  and the OS was set to stereo, and the system sample rate was not
 | |
|                  44/48/96khz
 | |
| * Core API     - Fix for deadlock that could occur when executing commands in the
 | |
|                  non-blocking callback as another thread is releasing sounds.
 | |
| * Core API     - Fix for Channel::getPosition and ChannelControl::getDSPClock
 | |
|                  returning errors when called on emulated channels created with
 | |
|                  System::playDSP.
 | |
| * Core API     - PS4 - Fixed leak of audio output handles on shutdown.
 | |
| * Core API     - Fix crash in compressor when placed on a channel with a delay.
 | |
| 
 | |
| Notes:
 | |
| * PS4 - Now built with SDK 1.600.071.
 | |
| 
 | |
| 03/03/14 1.03.00 - Studio API minor release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Added PS Vita platform support.
 | |
| * Updated FMOD Studio Programmers API documentation.
 | |
| * Studio API   - Changed .bank file format - ALL BANKS MUST BE REBUILT
 | |
| * Studio API   - Studio API is now asynchronous by default, with the processing
 | |
|                  occuring on a new Studio thread.  Asynchronous behaviour can be
 | |
|                  disabled with the FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE init flag.
 | |
| * Studio API   - Studio API classes are now all referenced as pointers.  This
 | |
|                  reflects a change in the handle system to make it thread-safe,
 | |
|                  more performant and match the C and Core API interface.
 | |
| * Studio API   - Event and mixer strip paths now include a prefix in order to
 | |
|                  guarantee uniqueness. See Studio::System::lookupID.
 | |
| * Core API     - Core API is now thread-safe by default.  Thread safety can be
 | |
|                  disabled with the FMOD_INIT_THREAD_UNSAFE init flag.
 | |
| * Core API     - Codecs must set waveformatversion to FMOD_CODEC_WAVEFORMAT_VERSION
 | |
|                  in the FMOD_CODEC_OPEN_CALLBACK.
 | |
| * Core API     - Removed support for digital CD audio
 | |
| 
 | |
| Features:
 | |
| * Studio API   - The new .bank file format provides improved support for backward
 | |
|                  and forward compatibility. Future version updates will not
 | |
|                  generally require banks to be rebuilt.
 | |
| * Studio API   - Added support for events duplicated across banks.
 | |
| * Studio API   - Added support for transition marker and loop region probability.
 | |
| * Studio API   - Added support for sounds on transition timelines.
 | |
| * Studio API   - Added asset enumeration functions: Studio::System::getBankCount,
 | |
|                  Studio::System::getBankList, Studio::Bank::getEventCount,
 | |
|                  Studio::Bank::getEventList, Studio::Bank::getMixerStripCount,
 | |
|                  Studio::Bank::getMixerStripList.
 | |
| * Studio API   - Added path retrieval functions: Studio::System::lookupPath,
 | |
|                  Studio::EventDescription::getPath, Studio::MixerStrip::getPath,
 | |
|                  Studio::Bank::getPath.
 | |
| * Studio API   - Bank loading now takes an extra flags argument.  It is possible
 | |
|                  to load banks in non-blocking mode in which case the function
 | |
|                  will return while the bank is still in the process of loading.
 | |
| * Studio API   - Added Studio::System::setAdvancedSettings.
 | |
| * Studio API   - Added Studio::System::getCPUUsage.
 | |
| * Studio API   - Studio repositories have improved performance and no longer depend
 | |
|                  on the standard library map.
 | |
| * Core API     - The system callback now includes the error callback type which
 | |
|                  will be invoked whenever a public FMOD function returns a result
 | |
|                  which is not FMOD_OK.
 | |
| * Core API     - Optimize Sound::getNumSyncPoints when using large FSB files with
 | |
|                  many subsounds and many syncpoints.
 | |
| * Core API     - Made improvements to virtual voices for DSP graphs using sends,
 | |
|                  returns, fade points, and sounds with varying peak volumes.
 | |
| * Core API     - PS4 - Added recording support.
 | |
| * Core API     - XBox One - Added dll loading support.
 | |
| * FSBank API   - Added support for exporting peak volume per sound using the
 | |
|                  FSBANK_BUILD_WRITEPEAKVOLUME flag.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Channels now take fade points into account for virtualisation
 | |
| * Core API     - Fixed pops when changing Echo DSP Delay parameter
 | |
| * Core API     - Xbox One - Removed a CPU spike when first playing a compressed
 | |
|                             sample XMA.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Replaced Studio::System::lookupEventID and Studio::System::lookupBusID
 | |
|                  with Studio::System::lookupID.
 | |
| * Core API     - The system callback now has an extra userdata argument that matches
 | |
|                  the userdata specified in System::setUserData.
 | |
| * Core API     - Xbox One - APU allocations are now handled internally for developers
 | |
|                             using memory callbacks or memory pools.
 | |
| 
 | |
| 24/02/14 1.02.13 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Removed stalls when removing a DSP chain from a channel
 | |
| * Core API     - Fixed Channel::getPosition returning incorrect value for streams
 | |
|                  with very short loops.
 | |
| * Core API     - Fixed rare bug with DSP nodes not being set active in the mixer graph.
 | |
| * Core API     - Fixed rare bug with DSP metering not being set.
 | |
| * Core API     - Fixed incorrect playback of multi-channel PCM8 data.
 | |
| * Core API     - PS4 - Fixed issues with calling ChannelControl::setPosition on AT9
 | |
|                        streams and compressed samples.
 | |
| * Core API     - PS4 - Fixed audio glitches when using the background music port and
 | |
|                        the system format is not 7.1
 | |
| * Core API     - PS4 - Added loading of plugins from PRX files.
 | |
| * Core API     - Android - Fixed crash on low quality Vorbis encoded FSBs.
 | |
| * Core API     - Android - Fixed one time memory leak on System::release when using
 | |
|                            OpenSL output mode.
 | |
| * Studio API   - Fixed playlist instruments occasionally cutting off too early.
 | |
| * Studio API   - Fixed rare timing issue that caused spawning instruments to trigger
 | |
|                  too early.
 | |
| 
 | |
| Notes:
 | |
| * Xbox One - Now built with August QFE11 XDK.
 | |
| * PS4 - Now built with SDK 1.600.051.
 | |
| 
 | |
| 07/01/14 1.02.12 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed potential crash with net streams.
 | |
| * Core API     - PS4 - Fixed rare internal error in AT9 codec when channels are
 | |
|                        reused after stopping.
 | |
| * Studio API   - Fixed nested events getting incorrect 3D position information
 | |
| 
 | |
| 17/12/13 1.02.11 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added ChannelControl::setVolumeRamp and ChannelControl::getVolumeRamp
 | |
|                 to control whether channels automatically ramp their volume changes.
 | |
| * Studio API   - Added FMOD_STUDIO_EVENT_CALLBACK_IDLE callback type, fired
 | |
|                  when an event instance enters the idle state.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed FMOD_STUDIO_EVENT_CALLBACK_STOPPED callback firing when
 | |
|                  an event instance is already stopped.
 | |
| * Studio API   - Fixed Studio::EventInstance::getCueCount returning 1 even on events
 | |
|                  with no sustain points.
 | |
| * Core API     - Fixed ChannelControl::setDelay rarely being ignored.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - PCM data will now be read the main data in a single read instead
 | |
|                  of breaking the reads up into 16kb chunks.
 | |
| * Studio API   - Changed behavior of Studio::EventInstance::getCue to return
 | |
|                  FMOD_ERR_EVENT_NOTFOUND if the event has no sustain points.
 | |
| 
 | |
| 02/12/13 1.02.10 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Core API     - Updated the C ChannelGroup functions to take 64 bit integer argument.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix FMOD_SPEAKERMODE_SURROUND upmixing to 5.1 or 7.1 incorrectly,
 | |
|                  ie surround left mixing into LFE and surround right into surround
 | |
|                  right.
 | |
| * Core API     - PS4 - Fix playback of background music when system software format
 | |
|                  is not 7.1.
 | |
| 
 | |
| 26/11/13 1.02.09 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Notes:
 | |
| * PS4 - Now built with SDK 1.500.111
 | |
| 
 | |
| 19/11/13 1.02.08 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Core API     - DSP clock now uses 64 bit integers.  The following functions have
 | |
|                  been modified to accept a 64 bit integer argument: ChannelControl::getDSPClock,
 | |
|                  ChannelControl::setDelay, ChannelControl::getDelay, ChannelControl::addFadePoint,
 | |
|                  ChannelControl::removeFadePoints, ChannelControl::getFadePoints.
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added setParameterValue and setParameterValueByIndex functions in
 | |
|                  eventInstance to wrap finding and then setting a parameter value.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed positioning of 5.1 surround speakers when soundcard is
 | |
|                  set to other surround formats
 | |
| * Core API     - Fixed excessive log spam making the logging version much slower
 | |
| * Core API     - Xbox One - Fixed rare XMA codec hang which could also manifest as
 | |
|                             FMOD_ERR_INTERNAL.
 | |
| * Core API     - PS4 - Fixed crash when assigning a channel group to the controller speaker.
 | |
| * Studio API   - Fixed MixerStrip release not working when the user has multiple
 | |
|                  handles to the same strip
 | |
| * Studio API   - Fixed pops when playing nested events that have silent tracks
 | |
| * Studio API   - Fixed crash when shutting down with profiler connected.
 | |
| * Studio API   - Fixed unused streams being created during event preloading
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Turned off optimization for user created DSP effects that do not call the read
 | |
|                  callback if no sound is coming in.  read callbacks will now always fire
 | |
|                  regardless.  'shouldiprocess' callback can be defined to optimize out no input.
 | |
| 
 | |
| 12/11/13 1.02.07 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - iOS - Fixed streams returning FMOD_ERR_INTERNAL on ARM64 devices.
 | |
| * Core API     - iOS - Fixed automatic interruption handling not working for ARM64
 | |
|                        devices.
 | |
| * Core API     - Fix possible crash on startup, if using 5.1 mixing on a
 | |
|                  stereo output (downmixer enabled).
 | |
| * Core API     - Fix setMute on master channelgroup not working.
 | |
| * Studio API   - Fixed AHDSR modulators starting at the wrong value when
 | |
|                  attack time is 0
 | |
| * Studio API   - Fixed Multi Sounds and Scatterer Sounds not randomizing
 | |
|                  correctly after deleting all entries
 | |
| 
 | |
| 06/11/13 1.02.06 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - iOS - Added support for ARM64 devices and x86_64 simulator.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fix playback issues after running for more than 12 hours
 | |
| * Core API     - Fixed net streaming truncating or repeatings parts of the end
 | |
|                  of a netstream.
 | |
| * Core API     - Fix crash due to missing functions in kernel32.dll on Windows XP.
 | |
| 
 | |
| 29/10/13 1.02.05 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Improved performance of Studio::System::setListenerAttributes
 | |
| * Studio API   - FMOD profiler can now show Studio Bus and Event instances in
 | |
|                  the DSP node graph.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed pan jittering on events that move with the listener
 | |
| 
 | |
| 22/10/13 1.02.04 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added ability to continue loading banks when missing plugins.
 | |
| * Studio API   - Added FMOD_STUDIO_PARAMETER_TYPE enum to describe the type of a
 | |
|                  parameter to FMOD_STUDIO_PARAMETER_DESCRIPTION.
 | |
| * Core API     - Added function to get parent sound from a subsound.
 | |
| * Core API     - Android - Added support for dynamic plugins.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Trying to set an automatic parameter will return FMOD_ERR_INVALID_PARAM.
 | |
| * Core API     - Fix restarting a channel corrupting fader and panner positions
 | |
|                  if effects are added.
 | |
| * Core API     - Fix channel restarting if 1. sound ended, 2. Channel::setVolume(0)
 | |
|                  with FMOD_VOL0BECOMESVIRTUAL happened, 3. setVolume(>0) happened,
 | |
|                  in between 2 system updates.
 | |
| * Core API     - Fixed issues on PS4 after opening an output audio port fails.
 | |
| * Core API     - Calling playSound on a fsb loaded with createStream will now
 | |
|                  return FMOD_ERR_SUBSOUND.
 | |
| 
 | |
| 15/10/13 1.02.03 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - iOS - Fixed potential crash when stopping virtual channels.
 | |
| * Studio API   - Fixed click with cross-fade for nested events
 | |
| * Studio API   - Mac - Fixed link issues from certain API functions.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - FMOD_Studio_System_Create now takes a headerVersion parameter
 | |
|                  to match the C++ API
 | |
| 
 | |
| 07/10/13 1.02.02 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed rare crash when using virtual voices.
 | |
| * Core API     - Fixed channel fade state not being preserved when switching to virtual.
 | |
| * Core API     - Fixed 5.1 and 7.1 downmix to stereo being off-center.
 | |
| * Core API     - Mac - Fixed incorrect downmix logic causing excess channels to
 | |
|                        be dropped.
 | |
| 
 | |
| Notes:
 | |
| * Core API     - changed FMOD_DSP_LIMITER_MODE parameter to bool
 | |
| 
 | |
| 01/10/13 1.02.01 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Improved performance of compressor on X86/x64 platforms.
 | |
| * Studio API   - Added support for new automatic parameters: Event Orientation,
 | |
|                  Direction, Elevation and Listener Orientation
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed crash when downmixing to 16-bit output.
 | |
| * Core API     - Fixed floating point issue when setting very low pitch values.
 | |
| * Studio API   - Fixed sound glitch that could occur after crossfade.
 | |
| * Studio API   - Fix for assert when rescheduling with modified pitch.
 | |
| 
 | |
| Notes:
 | |
| * iOS - Now built with SDK 7.0.
 | |
| * Mac - Now built with SDK 10.8.
 | |
| 
 | |
| 23/09/13 1.02.00 - Studio API minor release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Added Android platform support.
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added FMOD_CREATESOUNDEXINFO.fileuserdata to hold user data
 | |
|                  that will be passed into all file callbacks for the sound
 | |
| * Core API     - Added System::mixerSuspend and System::mixerResume for mobile
 | |
|                  platforms to allow FMOD to be suspended when interrupted or
 | |
|                  operating in the background.
 | |
| * Core API     - Added float parameter mappings support to plug-ins
 | |
| * Core API     - PS4 - Added Output Ports example
 | |
| * Studio API   - Reduced memory overhead for several core types.
 | |
| * Studio API   - Added Studio::System::loadBankMemory to support loading banks
 | |
|                  from a memory buffer
 | |
| * Studio API   - Added Studio::System::loadBankCustom to support loading banks
 | |
|                  using bank-specific custom file callbacks
 | |
| * Studio API   - Added support for placing multiple tempo markers on a timeline.
 | |
| * Studio API   - Better error reporting for instruments scheduled in the past.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix incorrect error codes being returned by C# wrapper.
 | |
| * Core API     - Fix bug in stereo-to-surround and surround-to-surround panning
 | |
| * Core API     - Fix System::playDSP not working
 | |
| * Core API     - Fix rare crash with DSPConnection::setMixMatrix.  Studio API
 | |
|                  could also be affected.
 | |
| * Core API     - Fix getMeteringInfo not clearing its values when pausing.
 | |
| * Core API     - Fix audio pops when restarting sounds due to downmixing.
 | |
| * Core API     - PS4 - Fix crash when disconnecting a channel group from an output
 | |
|                        port.
 | |
| * Core API     - PS4 - Fix issue with audio channels not finishing correctly when
 | |
|                        being played through a port.
 | |
| * Core API     - Xbox One - Fixed 'clicking' when a realtime decoded XMA sample
 | |
|                             loops if adjusting pitch during playback.
 | |
| * Studio API   - Fix event priority not working
 | |
| * Studio API   - Fix Studio::EventInstance::start() returning incorrect result with
 | |
|                  non-blocking sounds.
 | |
| * Studio API   - Fix memory leaks when loading corrupt banks
 | |
| * Studio API   - Fix channels leaking with nested instruments
 | |
| * Studio API   - Fix MixerStrip::setFaderLevel on the game side affecting volume
 | |
|                  levels in the tool when connected via Live Update
 | |
| * Studio API   - Fix a potential crash when getting a string property with
 | |
|                  Studio::EventDescription::getUserPropertyByIndex
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Renamed Studio::System::loadBank to Studio::System::loadBankFile
 | |
| * Studio API   - Updated the API examples to use the new example project
 | |
| * Core API     - Changed FMOD_FILE_OPEN_CALLBACK userdata parameter from void**
 | |
|                  to void* (it now comes from FMOD_CREATESOUNDEXINFO.fileuserdata
 | |
|                  rather than being set by the open callback)
 | |
| * Core API     - iOS - Removed automatic handling of interruptions. Developers
 | |
|                        should call the new System::mixerSuspend /
 | |
|                        System::mixerResume API from their interruption handler.
 | |
| * Core API     - iOS - Removed all usage of AudioSession API, developers are
 | |
|                        now encouraged to use the platform native APIs as there
 | |
|                        is no possible conflict with FMOD.
 | |
| * PS4 - Now built with SDK 1.020.041.
 | |
| 
 | |
| 02/09/13 1.01.15 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Performance optimizations.
 | |
| * Studio   API - Performance optimizations.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix oscillators not changing pitch if System::playDSP was used.
 | |
| * Core API     - Fix crash when setting 0 or invalid pitch.
 | |
| * Studio   API - Fix for some allocations not propagating FMOD_ERR_MEMORY errors.
 | |
| * Studio   API - Fix for memory leak when failing to load a bank.
 | |
| 
 | |
| 26/08/13 1.01.14 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix crash if adding an FMOD_DSP_TYPE_FADER dsp to a channelgroup.
 | |
| * Core API     - Xbox One - Internal WASAPI (mmdevapi.dll) threads will now have
 | |
|                             their affinity set to match the FMOD feeder thread.
 | |
| 
 | |
| Notes:
 | |
| * Xbox One - Now built with August XDK.
 | |
| 
 | |
| 19/08/13 1.01.13 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Global mixer strips will now be automatically cleaned up when
 | |
|                  when the events routed into them complete.
 | |
| 
 | |
| * Studio API   - Improved performance of Studio::System::Update by removing stalls
 | |
|                  waiting on the mixer the complete.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Channel::setPitch() now returns an error if a NaN is passed in.
 | |
|                  Fixes crashes occuring later in the mixer thread.
 | |
| * Studio API   - Fixed sustain points at the start of the timeline not working
 | |
| * Studio API   - Fixed sustain point keyoff incorrectly being ignored if the
 | |
|                  cursor is not currently sustaining
 | |
| * Studio API   - Fixed sustain point keyoff incorrectly skipping sustain points
 | |
|                  repeatedly when looping
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Changed behavior of Studio::EventInstance::getCue to return
 | |
|                  FMOD_ERR_INVALID_PARAM if the event contains no sustain points.
 | |
| 
 | |
| 12/08/13 1.01.12 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Added FMOD SoundBank Generator tool for creating .fsb files. Both a GUI version
 | |
|   (fsbank.exe) and a command line version (fsbankcl.exe) are provided.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix FSB Vorbis seek table containing an invalid entry at the end.
 | |
| * Core API     - Fix cpu stall when using System::playDSP.  Also if using
 | |
|                  oscillator in studio.
 | |
| * Core API     - Xbox One - Fixed rare crash on System::init when using WASAPI.
 | |
| 
 | |
| 05/08/13 1.01.11 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed resource leak.
 | |
| * Studio API   - Fixed a crash when releasing an event instance with sub events.
 | |
| * Core API     - Fixed FMOD_SYSTEM_CALLBACK_MEMORYALLOCATIONFAILED not being
 | |
|                  passed to the application.
 | |
| * Core API     - PS4 - Fix crashes caused by out-of-memory conditions.
 | |
|                        FMOD_ERR_MEMORY is now returned correctly.
 | |
| * Core API     - Xbox One - Fixed race condition that causes a hang when playing
 | |
|                             compressed XMA samples and streams at the same time.
 | |
| * Core API     - Xbox One - Fixed leak of SHAPE contexts that would cause
 | |
|                             createSound to fail if playing and releasing lots of
 | |
|                             XMA streams.
 | |
| * Core API     - Xbox One & Win - Fixed surrounds and rears being swapped in 7.1.
 | |
| 
 | |
| 29/07/13 1.01.10 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio API   - Changed .bank file format - API is backward compatible but must
 | |
|                  be upgraded for compatibility with Studio tool 1.01.10 or newer.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed plugin effect sounds not working in game.
 | |
| * Studio API   - Fixed a crash in Studio::System::update after calling
 | |
|                  Studio::EventDescription::releaseAllInstances
 | |
| * Studio API   - Fixed sustain points at the start of the timeline not working
 | |
| * Studio API   - Fixed sustain point keyoff incorrectly being ignored if the
 | |
|                  cursor is not currently sustaining
 | |
| * Studio API   - Fixed sustain point keyoff incorrectly skipping sustain points
 | |
|                  repeatedly when looping
 | |
| * Studio API   - Fixed a crash when unloading a bank that contains a nested
 | |
|                  event that is currently playing
 | |
| * Studio API   - Fixed Studio::System::update sometimes failing with FMOD_ERR_INTERNAL
 | |
|                  and leaving the system in an inconsistent state
 | |
| * Core API     - Xbox One - Fixed FMOD_CREATECOMPRESSEDSAMPLE XMA playback issues.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Changed behavior of Studio::EventInstance::getCue to return
 | |
|                  FMOD_ERR_INVALID_PARAM if the event contains no sustain points.
 | |
| 
 | |
| 22/07/13 1.01.09 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Core API     - Fixed rare crash in mixer.
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Fixed spawning sounds not playing at correct 3D position.
 | |
| * Studio API   - Fixed 40ms of latency getting added for each layer of event
 | |
|                  sound nesting.
 | |
| * Core API     - Optimized mixer by about 30% in some configurations.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Remove FMOD_CHANNELCONTROL union, used in ChannelControl type
 | |
|                  callbacks, as it was incorrect and using it as a union would
 | |
|                  have lead to corruption/crash.  A simple opaque
 | |
|                  FMOD_CHANNELCONTROL type is now used for callbacks, and the
 | |
|                  user should just cast to the relevant channel or channelgroup
 | |
|                  type.
 | |
| * Core API     - Fixed fade point interpolation on channels with pitch.
 | |
| * Core API     - Fixed race condition when channels were reused after stopping.
 | |
| * Core API     - Xbox One - Fixed hang for short (2KB) XMA files.
 | |
| * Core API     - Xbox One - Fixed incorrect seek offset for XMA files.
 | |
| * Core API     - PS4 - Added support for AT9 streams with greater than 2 channels.
 | |
| * Studio API   - PS4 - Fixed crash when Handle derived classes went out of scope after
 | |
|                        the dynamic lib was unloaded
 | |
| 
 | |
| Notes:
 | |
| * PS4 - Now built with SDK 1.0.
 | |
| 
 | |
| 15/07/13 1.01.08 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added Studio::EventDescription::getMinimumDistance
 | |
| * Studio API   - Added Studio::EventDescription::isStream
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed crash / corruption from DSP Fader/Panner objects.
 | |
| * Core API     - Fixed mod/s3m/xm/mid playback.
 | |
| * Studio API   - Fixed Studio::EventDescription::isOneshot() incorrectly returning true
 | |
|                  for an event that has a loop on the logic track.
 | |
| * Linux - Fixed crash on playback of certain CELT streams.
 | |
| * Xbox One - Fixed potential hangs with compressed XMA samples.
 | |
| * Xbox One - Fixed potential silence if XMA sample rate was not one of 24K, 32K,
 | |
|              44.1K or 48K.
 | |
| 
 | |
| 10/07/13 1.01.07 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix "Sample Rate Change" tag from passing through 0 rate when
 | |
|                  EOF was hit on certain MP3 files.
 | |
| * Core API     - Fix crash when using FMOD_CREATECOMPRESSEDSAMPLE introduced in
 | |
|                  1.01.06
 | |
| * Core API     - iOS - Fixed crash when using DSP Echo.
 | |
| * Core API     - iOS - Fixed crash in mixer due to misaligned buffers.
 | |
| 
 | |
| 08/07/13 1.01.06 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * XboxOne - Officially added support for XMA. Please note this requires the July
 | |
|             XDK to avoid a hang.
 | |
| * Studio API - Added Studio::ParameterInstance::getDescription
 | |
| * Studio API - Added EventDescription getParameter, getParameterCount and
 | |
|                getParameterByIndex functions
 | |
| 
 | |
| Fixes:
 | |
| * Fix Sound userdata being overwritten when FMOD_SOUND_NONBLOCKCALLBACK was
 | |
|   called for a 2nd or more time.
 | |
| * Core API     - Fix rare crash in mixer when releasing a ChannelGroup
 | |
| * Core API     - Fix 3D Panner DSPs and Studio Event 3d volumes not being
 | |
|                  considered by virtual voice system.
 | |
| * Core API     - Fixed compressor sounding erratic and unresponsive
 | |
| * Studio API   - Fixed clicks when a Studio::ParameterInstance::setValue call causes
 | |
|                  sounds to be cut off
 | |
| 
 | |
| Notes:
 | |
| * XboxOne - Now built with July XDK.
 | |
| * Core API     - Changed FMOD_DSP_TYPE_PAN FMOD_DSP_PAN_STEREO_POSITION
 | |
|                  parameter to go from -100 to 100.
 | |
| * Core API     - Changed FMOD_DSP_TYPE_COMPRESSOR FMOD_DSP_COMPRESSOR_ATTACK
 | |
|                  parameter to go from 0.1 to 500ms.
 | |
| 
 | |
| 28/06/13 1.01.05 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Core API     - Changed .fsb file format - ALL BANKS MUST BE REBUILT
 | |
| * Studio API - Changed .bank file format - ALL BANKS MUST BE REBUILT
 | |
| 
 | |
| Features:
 | |
| * Studio API   - Added Studio::System::unloadAll function
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - PS4 - Improved AT9 decoding performance, fixed issue with
 | |
|                        when a sound has loop points not aligned to frame size,
 | |
|                        fixed seamless looping playback glitches.
 | |
| * Core API     - Fixed bug that was causing virtual channels to stop prematurely.
 | |
| * Core API     - Fixed fade points leaking when channels go virtual.
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Effect data parameter buffers are now 16-byte aligned
 | |
|                  (128-byte aligned on PS3)
 | |
| * Studio API   - Added automatic header version verification to
 | |
|                  Studio::System::create
 | |
| 
 | |
| 19/06/13 1.01.04 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix rare crash with Fader DSP unit.
 | |
| * Studio API   - Fixed some effects causing events to not stop correctly
 | |
| * Studio API   - Fixed multiple concurrent playbacks of one event sometimes
 | |
|                  failing with FMOD_ERR_SUBSOUNDS returned from Studio::System::update
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Changed Studio::EventInstance::getTimelinePosition to const
 | |
| * PS4 - Now built with SDK 0.990.020.
 | |
| 
 | |
| 07/06/13 1.01.03 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Optimized mixer when pausing or delaying nodes.  Should
 | |
|                  provide significant speed increase for Studio runtime
 | |
|                  projects.
 | |
| * Core API     - Add FMOD_DSPCONNECTION_TYPE_SEND_SIDECHAIN.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed silence in certain DSP configurations.
 | |
| * Core API     - Fixed virtual channels not stopping correctly when a parent
 | |
|                  channelgroup stops due to an end delay
 | |
| * Core API     - Fixed virtual channels not cleaning up fade points correctly
 | |
| * Core API     - Fixed fade points being ignored when channels go from virtual
 | |
|                  to non-virtual
 | |
| * Studio API   - Fixed crash when playing a multisound after unloading and
 | |
|                  reloading it's bank.
 | |
| * Studio API   - Implemented Studio::Bank::loadSampleData, Studio::Bank::unloadSampleData and
 | |
|                  Studio::Bank::getSampleLoadingState (they previously did nothing)
 | |
| * Studio API   - Fixed crashes and unexpected behavior with sidechains when they
 | |
|                  are connected to multiple compressors.
 | |
| * Studio API   - Fixed a linker error when calling handle assignment operators
 | |
| * Studio API   - Fixed a crash in the game when adding a sound to an event
 | |
|                  while connected via Live Update
 | |
| 
 | |
| Notes:
 | |
| * Core API     - Specific parameter description structures like
 | |
|                  FMOD_DSP_PARAMETER_DESC_FLOAT no longer inherit from
 | |
|                  FMOD_DSP_PARAMETER_DESC; instead, FMOD_DSP_PARAMETER_DESC
 | |
|                  includes a union of all the specific structures with
 | |
|                  floatdesc, intdesc, booldesc and datadesc members.
 | |
|                  The FMOD_DSP_INIT_PARAMDESC_xxxx macros have been updated
 | |
|                  to reflect this.
 | |
| * PS4 - Now built with SDK 0.930.060.
 | |
| 
 | |
| 31/05/13 1.01.02 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API   - Fixed getMixerStrip not returning a valid handle when
 | |
|                  retrieving a VCA.
 | |
| 
 | |
| 30/05/13 1.01.01 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix rare crash in DSPFader.
 | |
| * Studio API   - Studio::EventInstance::getParameter and Studio::EventInstance::getCue now use
 | |
|                  case-insensitive name comparison
 | |
| 
 | |
| Notes:
 | |
| * Studio API   - Renamed Studio::EventInstance::getNumCues to Studio::EventInstance::getCueCount
 | |
| 
 | |
| 27/05/13 1.01.00 - Studio API minor release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio API - Changed .bank file format - ALL BANKS MUST BE REBUILT
 | |
| 
 | |
| Features:
 | |
| * PS4 - Added support for mono and stereo AT9 FSBs.
 | |
| * Core API     - Optimized mixer by about 10%
 | |
| * Core API     - Added 'sends' which is a special type of DSPConnection that
 | |
|                  does not try and execute the input, the output (return) just
 | |
|                  consumes what was generated by the input (the send). See
 | |
|                  FMOD_DSPCONNECTION_TYPE_SEND
 | |
| * Core API     - Added DSP::getIdle.  Very useful for seeing if a signal is
 | |
|                  still running to a DSP unit.
 | |
| * Core API     - Added FadePoint API - now arbitrary volume ramps can be set
 | |
|                  anywhere on the timeline.  ChannelControl::SetDelay removes
 | |
|                  ramp in/ramp out in favour of this.  See
 | |
|                  ChannelControl::addFadePoint/removeFadePointsgetFadePoints.
 | |
| * Studio API - Added Studio::EventInstance::setTimelinePosition and
 | |
|                Studio::EventInstance::getTimelinePosition
 | |
| * Studio API - Disconnect stopped events from the DSP graph to reduce CPU usage
 | |
| * Core API     - removed 'sidechain' API, added FMOD_DSPCONNECTION_TYPE which is now
 | |
|                  a parameter to DSP::addInput.  FMOD_DSPCONNECTION_TYPE_STANDARD,
 | |
|                  FMOD_DSPCONNECTION_TYPE_SIDECHAIN, and FMOD_DSPCONNECTION_TYPE_SEND
 | |
|                  are now supported.   DSPConnection::getType replaces DSPConnection::isSideChain
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed FSB Vorbis not working with encryption key enabled.
 | |
| * Core API     - Fixed virtual voices not respecting ChannelControl::setDelay
 | |
| * Core API     - Fixed parameter index validation when getting/setting DSP parameters.
 | |
| * Core API     - Fixed reverb not always idling when it should.
 | |
| * Core API     - Fixed bug with loop count being incorrectly set to infinite
 | |
| * Core API     - Optimised Echo DSP effect on x86/x64 architectures
 | |
| * Core API     - Fixed ChannelControl::set3DLevel, ChannelControl::set3DSpeakerSpread
 | |
|                  and stereo 3d sounds not working
 | |
| * Core API     - Fixed flange effect not updating 'rate' parameter if the rate was
 | |
|                  set before adding it to a channel or channelgroup or system object.
 | |
| * Core API     - PS4 - Added support for music, voice, personal device and pad speaker routing.
 | |
|                        See System::AttachChannelGroupToPort and fmod_ps4.h
 | |
| * Core API     - PS4 - Added dynamic linking option.
 | |
| * Studio API - Fixed stop/release behaviour of event instances containing logic markers.
 | |
| * Studio API - Fixed memory corruption in Studio::System::release
 | |
| * Studio API - Fixed FMOD_STUDIO_STOP_ALLOWFADEOUT cutting off delay and reverb
 | |
| * PS4 - Fixed closing the FMOD::System causing platform wide networking to be shutdown
 | |
|         even if the system did not initialize it.
 | |
| 
 | |
| Notes:
 | |
| * XboxOne - Now built with April XDK.
 | |
| * PS4 - Now built with SDK 0.930.
 | |
| 
 | |
| 09/05/13 1.00.03 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Core API     - Added memory callbacks for DSP plugins
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fixed true peak calculation in loudness meter
 | |
| * Core API     - Fix thread related crash in fader DSP and possibly panner DSP.
 | |
| * Studio API - Fixed automatic angle parameter calculation
 | |
| 
 | |
| 12/04/13 1.00.02 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API - Fixed snapshots sometimes not working on some properties
 | |
| * Studio API - Fixed VCAs applying fader level twice to controlled buses
 | |
| 
 | |
| 09/04/13 1.00.01 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio API - Changed .bank file format - ALL BANKS MUST BE REBUILT
 | |
| 
 | |
| Features:
 | |
| * PS4 & XboxOne - Reduced CPU usage with optimized SSE and AVX functions.
 | |
| 
 | |
| Fixes:
 | |
| * Core API     - Fix potential crash when stopping and starting sounds quickly
 | |
|                  and a leak for FMOD_CREATECOMPRESSED codecs which made all
 | |
|                  sounds go virtual.
 | |
| * Studio API - Fixed a crash when connecting to the game via Live Update
 | |
| * Studio API - Fixed serialization of snapshots with automation
 | |
| 
 | |
| Notes:
 | |
| * XboxOne - Now built with March XDK.
 | |
| 
 | |
| 25/03/13 1.00.00 - Studio API major release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio API - Changed .bank file format - ALL BANKS MUST BE REBUILT
 | |
| 
 | |
| Features:
 | |
| * Mac - Reduced CPU usage with optimized SSE and AVX functions.
 | |
| * XboxOne - Added ability to set affinity via FMOD_XboxOne_SetThreadAffinity.
 | |
| * PS4 - Added ability to set affinity via FMOD_PS4_SetThreadAffinity.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API - Fixed Studio::EventDescription::getLength return incorrect values
 | |
| * Studio API - Fixed playback glitches when sounds are placed end-to-end on the
 | |
|                timeline
 | |
| * Studio API - Studio::System::lookupEventID and Studio::System::lookupBusID
 | |
|                now ignore case
 | |
| * Studio API - Fixed playback of Sound Scatterers with non-zero pitch
 | |
| * Made return DSPs go idle when there is no input from sends
 | |
| * Fixed sends sometimes going silent if there are multiple sends to a
 | |
|   single return
 | |
| * Fixed rare hang in mixer when using setDelay with a pitch on the parent
 | |
| 
 | |
| Notes:
 | |
| * Studio API - Replaced Studio::System::lookupID with Studio::System::lookupEventID
 | |
|                and Studio::System::lookupBusID.
 | |
| * FSBank API will now always encode PCM FSBs as PCM16 instead of deciding based
 | |
|   on the source file format.
 | |
| * PS4 - Now built with SDK 0.920.
 | |
| 
 | |
| 25/02/13 0.02.04 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API - Studio::System::loadBank now returns FMOD_ERR_PLUGIN_MISSING instead of
 | |
|                FMOD_ERR_FILE_BAD when the bank uses a missing plugin
 | |
| 
 | |
| 15/02/13 0.02.03 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Studio API - Added Studio::System::lookupID() to look up event IDs from paths
 | |
|                (using any string tables present in currently loaded banks).
 | |
| * Studio API - Added Studio::Bank::unload() to free loaded bank data.
 | |
| * Windows - Added optimisations to the 64 bit build.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API - Fixed a linker error when calling Studio::EventDescription::getID
 | |
| * Fixed constant FMOD_ERR_MEMORY in the TTY and hang if FMOD_ADVANCEDSETTINGS is
 | |
|   used with DSPBufferPoolSize being set to 0.
 | |
| * Changed custom DSPs with no shouldiprocess callback to only be processed when
 | |
|   their inputs are active.
 | |
| * Fixed high freqency noise coming from send DSP when channel counts mismatches
 | |
|   the return DSP.
 | |
| * Fixed metering not working via LiveUpdate
 | |
| * Windows - fixed bug in 5.1 mixing in 32bit builds.
 | |
| 
 | |
| Notes:
 | |
| * XboxOne - Now built with January XDK.
 | |
| * PS4 - Now built with SDK 0.915.
 | |
| 
 | |
| 18/01/13 0.02.02 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio API - Changed .bank file format - ALL BANKS MUST BE REBUILT
 | |
| * Studio API - Changed function signature for Studio::System::initialize, added
 | |
|                STUDIO_FLAGS field
 | |
| 
 | |
| Features:
 | |
| * Studio API - Added FMOD_STUDIO_INIT_LIVEUPDATE flag to make Live Update optional
 | |
| 
 | |
| Fixes:
 | |
| * Studio API - Fixed an internal error on instantiating a VCA when not all of
 | |
|                the mixer strips it controls are loaded
 | |
| 
 | |
| Notes:
 | |
| * XboxOne - Now built with December XDK.
 | |
| 
 | |
| 11/01/13 0.02.01 - Studio API patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Studio API - Fixed Distance and Angle parameters not being created properly
 | |
|                by live update
 | |
| * Fixed reverb effect generating denorm floats after silence
 | |
| 
 | |
| 20/12/12 0.02.00 - Studio API minor release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Added Xbox360 support.
 | |
| * Added iOS support.
 | |
| * Studio API - Added sub-event instantiation via Studio::EventInstance::createSubEvent
 | |
| 
 | |
| 23/11/12 0.01.04 - Patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Fixed a crash when calling Studio::EventInstance::release in a callback fired from
 | |
|   Studio::EventInstance::stop with FMOD_STUDIO_STOP_IMMEDIATE
 | |
| * Fixed a linker error when using Studio::CueInstance::trigger
 | |
| * Fixed a bug in volume conflict resolver
 | |
| 
 | |
| 9/11/12 0.01.03 - Patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Fixed a linker error when using Studio::EventInstance::setPaused
 | |
| 
 | |
| 29/10/12 0.01.02 - Patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Fixed distortion when the distance between 3D sound and the listener is greater
 | |
|   than the maximum attenuation distance.
 | |
| * Fixed memory leaks when playing a persistent event and triggering sounds via
 | |
|   parameter changes.
 | |
| 
 | |
| 16/10/12 0.01.00 - Minor release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Features:
 | |
| * Implemented side chaining for FMOD Compressor
 | |
| 
 | |
| Fixes:
 | |
| * Studio API - Fixed linker error when calling Studio::EventInstance::isVirtual
 | |
| * Studio API - Added log message for asset not found error
 | |
| 
 | |
| Notes:
 | |
| * Second Developer Preview release
 | |
| 
 | |
| 28/09/12 0.00.04 - Patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio API - Changed .bank file format - ALL BANKS MUST BE REBUILT
 | |
| 
 | |
| Features:
 | |
| * Add DSP::addSideChain and FMOD_DSP_STATE::sidechainbuffer to allow a DSP unit
 | |
|   to support sidechaining from the output of another DSP.
 | |
| 
 | |
| Fixes:
 | |
| * Studio API - Fixed Event::getParameter() and retrieving the name of a parameter
 | |
|                via EventParameter::getInfo()
 | |
| * Studio API - Added version checking to bank loading, the runtime will
 | |
|                return FMOD_ERR_FORMAT when attempting to load an old bank
 | |
| 
 | |
| 19/09/12 0.00.03 - Patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Fixes:
 | |
| * Fix panning issue introduced in 5.00.02
 | |
| * Fix possible crackling noises from mixer optimization in 5.00.02
 | |
| 
 | |
| 14/09/12 0.00.02 - Patch release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Important:
 | |
| * Studio API - Changed .bank file format - ALL BANKS MUST BE REBUILT
 | |
| 
 | |
| Features:
 | |
| * Optimized mixer to be 20% faster in some cases.
 | |
| * Studio API - Improved performance of event playback containing mono/stereo tracks
 | |
| 
 | |
| Fixes:
 | |
| * Studio API - Fixed panning different in game to tool
 | |
| 
 | |
| 27/08/12 0.00.00 - Initial release
 | |
| ----------------------------------------------------
 | |
| 
 | |
| Notes:
 | |
| * First Developer Preview release
 | |
| 
 | 
