Commit Graph

579 Commits

Author SHA1 Message Date
rob gay
5287a41c57 Fix for spamming logs when project has MetaSound assets with duplicate guid keys
- Moved warning to when asset is added to registry rather than every query
- Minor clean-up in asset registry
#jira UE-216371
#rb helen.yang
#rnx

[CL 34072744 by rob gay in ue5-main branch]
2024-06-03 14:44:36 -04:00
phil popp
56737d13eb MetaSound Graph Render Cost
The main elements of this change are:
- Incorporation of "Relative Render Cost" to the AudioDevice in order to do more nuanced voice limiting
- Added a method for tracking a RenderCost in MetaSounds
- Live information on RenderCost is displayed in the MetaSound editor when a sound is previewed

There was some small cleanup as well
- Moved the GraphHierarhcy MetaSound environment variable
- Renamed the MetaSound Environment Variable  TransmissionID to InstanceID
- Put CPU cost and Render Cost into their own widget in the MS editor.

#jira UE-215467
#rb Rob.Gay, Jimmy.Smith

[CL 34020333 by phil popp in ue5-main branch]
2024-05-30 19:36:18 -04:00
nicholas howe
5d347fd06f Bus Reader-Writer Node Crash Fix
[CL 34020204 by nicholas howe in ue5-main branch]
2024-05-30 19:35:23 -04:00
rob gay
064e244218 - Make Version call to generate MetaSound Builder async GC-safe
- Misc clean-up
#rb phil.popp
#rnx
[FYI] helen.yang
#jira UE-216029

[CL 34017798 by rob gay in ue5-main branch]
2024-05-30 18:56:24 -04:00
brandon schaefer
e64748d3de Disable the top modules that are not currently set to enable AutoRTFM
#rb neil.henning

[CL 34015003 by brandon schaefer in ue5-main branch]
2024-05-30 17:59:48 -04:00
nicholas howe
5921988c1f Bus Reader-Writer Node Consistent Latency Fix
#tests EngineTest Audio Bus functional tests all pass
#rb Aaron.McLeran, Rob.Gay, phil.popp

[CL 34003097 by nicholas howe in ue5-main branch]
2024-05-30 10:27:00 -04:00
rob gay
69725d945e - Checkpoint for Initial MetaSound Pages document model support
- Fix-ups for MS AssetManager leaking asset names if not registered by moving to MultiMap
- Fix-up for ResetBuilder call passing off initial delegates properly
- Make builders map mutation thread safe when loading assets async
#rnx
#tests -game, AudioQA, Unit Tests, Automated Tests
#rb phil.popp
#jira UE-194160

[CL 33983705 by rob gay in ue5-main branch]
2024-05-29 15:33:29 -04:00
buzz burrowes
f662ec795e Massive Midi Clock Refactor
- Entirely new data structure for FMidiClock
- New FMidiCursor to replace old FMidiPlayCursorMgr & FMidiPlayCursor
- Heavily modified FMetasoundMidiClockDriverto handle new clock system
- New Midi clock vertex analyzer that saves a clock history

#rb charlie.huguenard, jake.burga, nicholas.howe

[CL 33976126 by buzz burrowes in ue5-main branch]
2024-05-29 11:58:19 -04:00
rob gay
c97856654f [Backout] - CL33854938
[FYI] bob.tellez
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL33838807
[FYI] Rob.Gay
Original CL Desc
-----------------------------------------------------------------
- Move MetaSound input/output editor validation, GetMemberName/Description, IsInterfaceMember to builder API
- Add warnings on register for interface vertex members (disabled until projects are complaint) to ensure they are following the expected naming convention (i.e. namespace matches that of owning interface)
    - Note this is editor only to avoid spamming cook and failing builds
- Move versioning to use shared builder now that IDocumentBuilderRegistry is available prior to all asset serialize load calls. This ensures that multiple builders are not accessing the same asset when loading and versioning/migrating old editor data
#jira UE-194160
#rb phil.popp
#rnx

[CL 33957350 by rob gay in ue5-main branch]
2024-05-28 18:51:03 -04:00
martin sevigny
15afa78dab Add test to make sure the module name in the IMPLEMENT_MODULE macros matches the name declared in the uproject, uplugin or the name of the folder for engine modules.
A mismatch for Runtime module results in a error in FModuleManager::LoadModuleWithFailureReason because it can't find the ModuleInitializerPtr

See ModuleManager.h for the actual change. The rest are fixes of wrong names.
#rb Steve.Robb
#jira UE-215245

[CL 33938229 by martin sevigny in ue5-main branch]
2024-05-28 08:46:41 -04:00
helen yang
7e54e11452 MetaSound Array Random Get node fixes for passthrough inputs and node id for Same Node shared state behavior
- Make trigger inputs passthrough
- Use both node id and containing graph id to avoid shared state in duplicated assets when using Same Node shared state behavior
- Use asset class id instead of a newly generated id for FFrontendGraph graph id to guarantee ids are shared for a given asset, and clean up now unneeded id map in the Operator Cache

#jira UE-215243
#jira UE-215587
#rb phil.popp

[CL 33901385 by helen yang in ue5-main branch]
2024-05-24 14:33:22 -04:00
maxwell hayes
1c89213cf7 [Metasounds] setting object arrays from bp not working (Fix fallout from UE-213913)
#jira UE-215523
#rb phil.popp
#rnx
#tests Metasound Blueprint Engine tests, AQ_Metasounds test map

[CL 33874514 by maxwell hayes in ue5-main branch]
2024-05-23 16:53:33 -04:00
bob tellez
0cc74d8f40 [Backout] - CL33838807
[FYI] Rob.Gay
Original CL Desc
-----------------------------------------------------------------
- Move MetaSound input/output editor validation, GetMemberName/Description, IsInterfaceMember to builder API
- Add warnings on register for interface vertex members to ensure they are following the expected naming convention (i.e. namespace matches that of owning interface)
    - Note this is editor only to avoid spamming cook and failing builds
- Move versioning to use shared builder now that IDocumentBuilderRegistry is available prior to all asset serialize load calls. This ensures that multiple builders are not accessing the same asset when loading and versioning/migrating old editor data
#jira UE-194160
#rb phil.popp
#rnx

[CL 33854944 by bob tellez in ue5-main branch]
2024-05-23 01:06:39 -04:00
rob gay
123d8fa4e8 - Move MetaSound input/output editor validation, GetMemberName/Description, IsInterfaceMember to builder API
- Add warnings on register for interface vertex members to ensure they are following the expected naming convention (i.e. namespace matches that of owning interface)
    - Note this is editor only to avoid spamming cook and failing builds
- Move versioning to use shared builder now that IDocumentBuilderRegistry is available prior to all asset serialize load calls. This ensures that multiple builders are not accessing the same asset when loading and versioning/migrating old editor data
#jira UE-194160
#rb phil.popp
#rnx

[CL 33838957 by rob gay in ue5-main branch]
2024-05-22 14:55:35 -04:00
miro salminen
a81c4fbbc4 UE-213567
[MetaSounds][Get Wave Info] - Node name change impedes discoverability of Get Wave Duration
#rb Aaron.McLeran, phil.popp
#rnx
#jira UE-213567

[CL 33821967 by miro salminen in ue5-main branch]
2024-05-22 02:38:07 -04:00
maxwell hayes
2a6834cc22 [MetaSounds] Maintain object parameters set in blueprint after un-virtualization.
#jira UE-213913
#rb Rob.Gay
[FYI] Seth.Weedin, Helen.Yang

[CL 33781662 by maxwell hayes in ue5-main branch]
2024-05-20 18:08:51 -04:00
rob gay
00528d9559 Fix incorrect asset being used by Builder API to generate cached dependency asset registry keys
#rb helen.yang
#tests
#rnx

[CL 33779147 by rob gay in ue5-main branch]
2024-05-20 17:08:47 -04:00
rob gay
012e171024 Move log to display instead of warning to avoid build spam
#rb rob.gay
#rnx

[CL 33695371 by rob gay in ue5-main branch]
2024-05-16 14:44:50 -04:00
dan nottingham
3f36d6d28a Fix potential PIE crash from FMetasoundGeneratorHandle::UpdateOutputWatchersInternal triggering Blueprint callbacks during PostLoad. Have FMetasoundGeneratorHandle::HandleOutputChanged call back to the game thread using ExecuteOnGameThread rather than AsyncTask(ENamedThreads::GameThread). And fix up several other locations that might trigger BP events.
[REVIEW] [at]Charlie.Huguenard
#rb charlie.huguenard

[CL 33644758 by dan nottingham in ue5-main branch]
2024-05-14 20:54:45 -04:00
rob gay
b411ae1cdf More MetaSound Asset/Builder registry clean-up
- Distinguish executing finish call from removal of register's weak pointer entry to avoid leaking stale builder registry entries
- Fix for removal calls to asset registry entries leaking during cook (due to cook package data being stripped when BeginDestroy is called)
- Fix for removing an asset manager entry that hasn't been registered with the node registry not getting removed due to the RegistryGraphKey referenced not being set on AssetBase
- Remove AssetRegistry MetaSoundEditor delegate handlers during cook that aren't used
- Add thread checks for safety to MetaSoundAssetManager
- Add better logging around AssetManager/BuilderRegistry destruction if applied prior to underlying respective entry/entries destruction
#jira UE-212969
#rb phil.popp

#rnx
#tests local AudioQA cook, loading all assets in editor, PIE, -game, automated tests, loading all assets in editor, PIE, -game

[CL 33641926 by rob gay in ue5-main branch]
2024-05-14 20:20:01 -04:00
rob gay
a1f758c5e4 Fix for assert due to using wrong flavor of NodeRegistryKey constructor
#jira UE-214842
#rb rob.gay
#rnx

#tests EngineTest

[CL 33610284 by rob gay in ue5-main branch]
2024-05-13 18:11:38 -04:00
helen yang
c4d40024ab Protect against invalid proxies in MetaSound proxy type hash functions
#jira UE-214730
#rb Maxwell.Hayes

[CL 33587858 by helen yang in ue5-main branch]
2024-05-10 17:01:47 -04:00
rob gay
a50228584e Remove spamming error to fix cook.
#rb rob.gay
#jira UE-212969
#rnx

[CL 33582059 by rob gay in ue5-main branch]
2024-05-10 14:22:40 -04:00
rob gay
8c0905af1d Missing string arg to fix build, I can has program I swear (...perforce lately, apparently not so much)!
#rb rob.gay
#jira UE-212969
#rnx

[CL 33580359 by rob gay in ue5-main branch]
2024-05-10 13:29:00 -04:00
rob gay
ba836a04dc Round 3 w/registry validity check
- Fix for rename ensure regression from AssetManager refactor
- Add logging and track case when multiple assets are registered with the AssetManager with the same key for better debugging
- Add ability to force unregistration when request to finish building & utilize on destruction of MetaSound assets
#rb phil.popp
#jira UE-212969
#rnx
[FYI] sondra.moyls

[CL 33578794 by rob gay in ue5-main branch]
2024-05-10 12:40:21 -04:00