22 Commits

Author SHA1 Message Date
helen yang
f67de70815 Fix MetaSound trigger parameter being retriggered on realizing virtualized sounds and unneeded parameter updates being cached while virtualized
#jira UE-194378
#rb phil.popp, rob.gay

[CL 31581978 by helen yang in 5.4 branch]
2024-02-16 16:59:49 -05:00
steve robb
f029468598 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00
evgenii babinets
3c155122fc Isolating out some easy wins from deeper investigations into audio parameter optimizations. The biggest change is to the array parameter version of FAudioParameter::Merge where we'll now avoid sorting both arrays and just doing a binary search into the output array. This results in fewer shifting inserts as well, since the order of the output array is not required to be sorted.
Saves about 0.15ms with a dozen AudioComponentGroups updating parameters per frame.

#rb jordan.cristiano, miles.flanagan, Rob.Gay

[CL 30156944 by evgenii babinets in ue5-main branch]
2023-12-06 11:14:23 -05:00
rob gay
39b3a6f74c [MetaSounds] Report changes to transmitter and runtime input map when live edits are enabled during Builder audition
#rb charlie.huguenard
#rnx
#tests Audio Engine Tests including ConnectInputAfterAuditionAndThenSetParameter, Audio Unit Tests
#jira UE-201185
[FYI] sondra.moyls

[CL 30045928 by rob gay in ue5-main branch]
2023-12-01 12:57:59 -05:00
phil popp
28544b44bd Fix data channel management on MetaSounds
#rnx
[FYI] Miles.Flanagan
#preflight 642f1db1b306e98c6328cecc
#rb Rob.Gay

[CL 24959616 by phil popp in ue5-main branch]
2023-04-06 18:47:28 -04:00
phil popp
274f01210e Remove transmittable input nodes and move updating parameters to the metasound generator
#jira UE-179992
#rb Rob.Gay
#preflight 642d9f944847065878db1c64

[CL 24937473 by phil popp in ue5-main branch]
2023-04-05 17:38:47 -04:00
phil popp
b231f62c22 Fix default values not being retained when sound is virtualized.
#jira UE-181571
#rnx
#rb Rob.Gay
#preflight 642afc938f078cc7032ce840
#lockdown aaron.mcleran

[CL 24899626 by phil popp in ue5-main branch]
2023-04-03 16:20:21 -04:00
miles flanagan
12db51511d Add Trigger type to EAudioParameter so triggers can be differentiated from Boolean paramters
#preflight 63bc9d5f68068a8bd611ec28
#rb rob.gay

[CL 23748006 by miles flanagan in ue5-main branch]
2023-01-17 18:39:44 -05:00
phil popp
96ab5837f2 Deprecate use of TUniquePtr in Audio::IProxyData
Introduce TSharedPtr<Audio::IProxyData> CreateProxyData()
Fix up deprecated callsites.

#jira UE-162062
#rb Rob.Gay
#fyi Miles.Flanagan
#preflight 639a0f262960b732207fc1e3

[CL 23515287 by phil popp in ue5-main branch]
2022-12-14 13:56:22 -05:00
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00
rob gay
08f64dc10a [MetaSounds] Param loop virtualization fixes
- Split default param transmitter to SoundCueTransmitter & ParameterTransmitterBase to avoid generating transmitters for SoundBase child classes that don't support/require one (ex. SoundWaves)
- Move param transmitter to sharedptrs to avoid a bunch of unnecessary copy/clone logic when virtualizing loops
- Remove DefaultParameters field on ActiveSound in favor of shared impl in FParameterTransmitterBase that caches current state of parameters
- Fix for move that clears out active sound's current parameters when sound could have multiple wave instances that need said parameters
#rb phil.popp
#jira UE-164898
#preflight 6334a0a1ee7b13756dcd20ea

[CL 22240385 by rob gay in ue5-main branch]
2022-09-28 22:19:31 -04:00
phil popp
1cd4208860 Make MetaSound parameter error logs into warnings
Add log warning when constructor input value is ignored on runnign instance.
#jira UE-162285
#rb Rob.gay
#preflight 632b4cf72c7bc831f867d2c1

[CL 22121048 by phil popp in ue5-main branch]
2022-09-21 15:42:38 -04:00
Rob Gay
25826b9069 Summer Cleaning
- Rename MetasoundArchetype Source file to MetasoundFrontendInterface
- Move MetaSound interface files to subdirectory.
- Break out document versioning transforms to own impl/header
#rb todo
#rnx
#jira none
#preflight 62fed263200ff87e07d77340

[CL 21458865 by Rob Gay in ue5-main branch]
2022-08-19 12:14:31 -04:00
rob gay
1f287a42ac Parameter Update Perf Regression Fix-ups
- Use cached transmissable inputs when initializing/sanitizing parameters
- Update internal API to promote batching & keeping AudioParameters sorted/using faster merge logic where possible
- Swap CitySample vehicle controller to use batched parameter update call
- Clarify When RuntimeData is cached for safety (in InitResources or InitParameters, whichever comes first)
- Alleviate extreme confusion around AudioParameter setters requiring type by adding static conversion functions
#rb helen.yang
#rnx
#jira UE-145211
#preflight 6229424e6e026fc824b24861

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19328764 in //UE5/Release-5.0/... via CL 19329587
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19348372 by rob gay in ue5-main branch]
2022-03-10 22:07:08 -05:00
phil popp
201d40c8fc Fix for race condition in metasound BP interface causing data channels to get removed
#jira UE-137548
#rb aaron.mcleran
#preflight 61fd41682839dd07cb9fa8cf
#lockdown aurel.cordonnier

#ROBOMERGE-AUTHOR: phil.popp
#ROBOMERGE-SOURCE: CL 18894693 in //UE5/Release-5.0/... via CL 18894958 via CL 18895150
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18895179 by phil popp in ue5-main branch]
2022-02-07 17:43:09 -05:00
rob gay
3bdc09e2a5 Backout out backed out changelist 18369256 (includes AudioComponent redirect fix)
-----------------------------------------------------------------
MetaSounds Interfaces Checkpoint 2:
- Version up source archetypes to become two interfaces: channel interfaces (mono/stereo) & base source namespace
- Clean-up Interface panel to support namespacing better
- Fix bugs with assuming interfaces are always and the only base namespace members
- Allow namespacing for any arbitrary interface member
- Add lock icon to clarify what interface members cannot be modified individually (i.e. cannot add, remove, or rename them as they are interface members)
- Organize members alphabetically
#jira UE-135000
#rnx
#rb phil.popp
#preflight 61a7d1079c77d610079303ec
#p4v-cherrypick 18344347

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18413245 via CL 18413381 via CL 18413401 via CL 18434953 via CL 18437303
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18437360 by rob gay in ue5-release-engine-test branch]
2021-12-10 20:37:31 -05:00
aurel cordonnier
3e68a3edef [Backout] - CL18345215
[FYI] rob.gay
Original CL Desc
-----------------------------------------------------------------
MetaSounds Interfaces Checkpoint 2:
- Version up source archetypes to become two interfaces: channel interfaces (mono/stereo) & base source namespace
- Clean-up Interface panel to support namespacing better
- Fix bugs with assuming interfaces are always and the only base namespace members
- Allow namespacing for any arbitrary interface member
- Add lock icon to clarify what interface members cannot be modified individually (i.e. cannot add, remove, or rename them as they are interface members)
- Organize members alphabetically
#jira UE-135000
#rnx
#rb phil.popp
#preflight 61a7d1079c77d610079303ec
#p4v-cherrypick 18344347

#ROBOMERGE-AUTHOR: aurel.cordonnier
#ROBOMERGE-SOURCE: CL 18369256 via CL 18369273 via CL 18369290 via CL 18434224 via CL 18435611
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18436532 by aurel cordonnier in ue5-release-engine-test branch]
2021-12-10 19:13:22 -05:00
rob gay
d2e6910760 MetaSounds Interfaces Checkpoint 2:
- Version up source archetypes to become two interfaces: channel interfaces (mono/stereo) & base source namespace
- Clean-up Interface panel to support namespacing better
- Fix bugs with assuming interfaces are always and the only base namespace members
- Allow namespacing for any arbitrary interface member
- Add lock icon to clarify what interface members cannot be modified individually (i.e. cannot add, remove, or rename them as they are interface members)
- Organize members alphabetically
#jira UE-135000
#rnx
#rb phil.popp
#preflight 61a7d1079c77d610079303ec

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18344347 in //UE5/Release-5.0/... via CL 18344412
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18344446 by rob gay in ue5-release-engine-test branch]
2021-12-01 15:59:03 -05:00
rob gay
ff8b5954ac MetaSounds Interface Checkpoint
- Archetype to Interface rename & support for multiple interface versions stored on MetaSoundBase
- Added ability to register interfaces
- Added spatialization/attenuation interfaces
- Added UX to add/remove Interfaces
- Fix ensure when deleting UMetaSound asset
#rb phil.popp
#jira UE-135000
#jira UE-120656
#rnx
#preflight 619bd9e33a7219926732337c

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18262648 in //UE5/Release-5.0/... via CL 18262703
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18262725 by rob gay in ue5-release-engine-test branch]
2021-11-22 15:55:50 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
rob gay
38332680ea Move FString/FText VertexName identifers to FNames. Convention is as follows:
- FGuid IDs are used to identify unique verticies within an entire graph (currently may be duplicated if graph is duplicated).
- FNames are used to be readible vertex identifiers that are only unique within a node's API.
- FText is only for ***OPTIONAL*** DisplayNames that can be provided as a more descriptive, readible descriptor of a given vertex (But are not necessarily unique). Currently disabled until loc tool on FText property in MetaSoundDetailsCustomization is properly displayed.
#rb phil.popp
#jira UE-123982
#preflight 613f6ff892b32b00016cf188

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 17494445 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17494469 by rob gay in ue5-release-engine-test branch]
2021-09-13 14:14:37 -04:00
rob gay
1328563c0e - Add ability to send MetaSound object parameter types that are not SoundWaves
- Cache Audio Parameters on AudioComponent properly so they can be modified prior to playback.
- Migrate AudioComponentParameterization to SoundGeneratorParameterInterface
- AudioComponent now inherits from SoundGeneratorParameterInterface
- Unify code path with default transmitter implemented in SoundBase for legacy SoundCue parameter system

Other Minor updates:
- Rename to "Audio Instance" to "Audio Parameter" for clarity

#rb phil.popp
#jira UE-123951
#jira UE-123979
#preflight 612d0053423a8f00012ba195

#ROBOMERGE-SOURCE: CL 17355572 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17355596 by rob gay in ue5-release-engine-test branch]
2021-08-30 14:08:45 -04:00