-
Notifications
You must be signed in to change notification settings - Fork 0
/
REVISION.TXT
5494 lines (4881 loc) · 298 KB
/
REVISION.TXT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
==========================================================================================
REVISION HISTORY : FMOD Studio API
Copyright (c) Firelight Technologies, Pty, Ltd, 2011-2022
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 Stadia: Google Stadia
UWP: Microsoft Universal Windows Platform
17/5/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.00 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.
* 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.00 (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