68 Commits

Author SHA1 Message Date
marc audy
56a32fea9d Silence false V621, V654, and V1078 warnings mostly caused by TStaticArray, placement new, or population of the array inside a lambda
[CL 30587485 by marc audy in ue5-main branch]
2024-01-12 00:52:57 -05:00
AdricEpic
473f754908 - Registration Race Condition Fixes (Attempt #2 w/ cook fixes)
- Part 1/2 fixing inconsistent file naming that is causing code query tool slowdowns (2/2 will be deprecating old MetasoundFrontendRegistries.h header path)
- Replace SoftObjectPaths with TopLevelAssetPaths for perf (ObjPaths do string copies all over, TopLevelAssetPaths are just two FNames)
#rb helen.yang
#rnx
[FYI] sondra.moyls
#tests AudioQA/EngineTest MetaSound Automated Tests, AudioTests, cook WindowsClient, submit and backout and then fix those problems
#jira UE-198785

[CL 30354102 by AdricEpic in ue5-main branch]
2023-12-15 13:21:12 -05:00
rob gay
65111a0774 Fix for cook errors, undo changelist 30246187
#rb helen.yang
#rnx

[CL 30255375 by rob gay in ue5-main branch]
2023-12-11 20:36:24 -05:00
rob gay
a876bffd23 - Registration Race Condition Fixes
- Part 1/2 fixing inconsistent file naming that is causing code query tool slowdowns
- Replace SoftObjectPaths with TopLevelAssetPaths for perf (ObjPaths do string copies all over, TopLevelAssetPaths are just two FNames)
#rb helen.yang
#rnx
#tests AudioQA MetaSound Automated Tests, AudioTests
#jira UE-198785

[CL 30246215 by rob gay in ue5-main branch]
2023-12-11 14:43:42 -05:00
rob gay
500da9cd81 Fix async references not yet registered when auto-updating in editor
[FYI] phil.popp
#rb phil.popp

[CL 29283719 by rob gay in ue5-main branch]
2023-10-31 14:24:48 -04:00
rob gay
94048f43ca - Make FNodeRegistryKey an actual struct as opposed to a string alias
- Avoids string format/copies/conversions in most cases where its just used as a key
- Deprecate NodeRegistryKey namespace calls
#rb phil.popp
#rb helen.yang

[CL 28727626 by rob gay in ue5-main branch]
2023-10-12 16:37:45 -04:00
helen yang
1dd6972b5c Change MetaSound AutoUpdate warning verbosity level for cook
#rb rob.gay

[CL 28688359 by helen yang in ue5-main branch]
2023-10-11 18:37:59 -04:00
Rob Gay
86015d61b0 - Refactor node template transforms to support addition/removal of self (iterate & pass node ID instead of reference to avoid invalidating calling iterator)
- Misc clean-up to reroute transform to make clearer and more concise
- Add ability to override tooltip for template node warnings & place existing reroute specific warning in reroute transform
#jira UE-194159
#rnx

[CL 27640602 by Rob Gay in ue5-main branch]
2023-09-06 12:54:02 -04:00
Rob Gay
0ce9da005d Prepare code to preprocess MetaSound cooked layers/pages
- Move reroute preprocessing to Builder API
- Fix for potential memory scribble when deleting output edges in builder
- Move builder to use deterministic guid generation where necessary
#rb helen.yang
#rb phil.popp
#jira UE-194159
#rnx

[CL 27615214 by Rob Gay in ue5-main branch]
2023-09-05 17:54:02 -04:00
Rob Gay
b8c30dfd08 Remove creation of redundant document handle
#rb helen.yang
#rnx
#jira none

[CL 27145259 by Rob Gay in ue5-main branch]
2023-08-16 13:21:17 -04:00
Rob Gay
e78fce4c68 Add tags for InitParams & RebuildGraph MS transforms for more perf analysis datapoints
#rb trivial
#jira none
#rnx

[CL 27018471 by Rob Gay in ue5-main branch]
2023-08-10 20:04:23 -04:00
helen yang
fa585989cf Fix ensures when migrating MetaSound assets
- Create new class names for temporary packages created during migration to avoid duplicate node registration
- Change duplicate node registration ensure to if check with better logging of asset causing collision

#jira UE-161039
#jira UE-175059
#jira UE-188854
#rb rob.gay

[CL 26299244 by helen yang in ue5-main branch]
2023-06-28 17:08:29 -04:00
helen yang
07268d51d2 MetaSound deterministic id generation
- Deterministic generation of ids for various FGuids used in MetaSound documents so that Autoupdate can be moved from runtime to cook in the future while maintaining cook determinism
- cvar for enabling in editor au.MetaSound.EnableDeterministicIDGenerationInEditorCVar

#jira UE-176939
#jira UE-176940
#rb phil.popp

[CL 26126897 by helen yang in ue5-main branch]
2023-06-20 13:12:39 -04:00
helen yang
cc09fda972 Expand and consolidate MetaSound builder preset asset functionality
- Added document builder and BP functions for SetGraphInputDefault, ConvertFromPreset, ConvertToPreset, CreatePatch/SourcePresetBuilder, IsPreset
- Refactor MetaSound asset and preset initialization to use builder architecture more

#jira UE-185391
#rb rob.gay
#preflight 64710f423b73ebeef4c295bb

[CL 25683338 by helen yang in ue5-main branch]
2023-05-30 14:39:48 -04:00
rob gay
d3e70524dc - Migrate and deprecate modify interfaces transform to frontend document builder with broken up, useful functionality available now to the API (ex. SwapInput/Output)
- New version no longer uses expensive controller system
- Fix-up & condense asset/builder initialization logic that utilizes modify interface transform functionality
- Misc clean-up
#rb helen.yang
#jira UE-120184
#rnx
#preflight 645bfd468e01daf0e5b92c30

[CL 25420172 by rob gay in ue5-main branch]
2023-05-10 20:28:39 -04:00
rob gay
531ba75ad7 - Fix to avoid not adding graph vertices to graph on creation
- Fix to MetaSound doc builder ClassIdToNodeIndices not initializing properly
#rb trivial
#rnx
#preflight 6459346c2d27fa25b3a2bff9

[CL 25375972 by rob gay in ue5-main branch]
2023-05-08 15:47:42 -04:00
rob gay
5f1dc4979e Refactor interface modification placement algorithm to position newly added nodes using sort order of adjacent graph members
- Clean-up & remove dead code in FModifyRootGraphInterfaces transform
#rb helen.yang
#jira UE-120184
#rnx
#preflight 6453fbf34574b81df482a79a

[CL 25343968 by rob gay in ue5-main branch]
2023-05-04 18:12:21 -04:00
phil popp
9dfb3b30ba Adding diagnostcis for metasounds which load before interfaces are registered.
#jira UE-184499
#preflight 644be5919c50ddcc0bb0167f

[CL 25240412 by phil popp in ue5-main branch]
2023-04-28 16:43:19 -04:00
rob gay
cff304e9da Interface Registry Tidying
1.) Move Bindings to own registry
2.) Nuke source files & left over cruft relating to archetypes
3.) Move deprecated interface registration next to respective interfaces for clarity
4.) Rename "FMetasoundFrontendInterfaceBindingConnections" to "FMetasoundFrontendInterfaceVertexBindings"
#rb phil.popp
#preflight 640f6852d778f889752a5bd1

[CL 24622079 by rob gay in ue5-main branch]
2023-03-13 17:23:05 -04:00
helen yang
281a6f7fb3 Fix ensure when creating variables on a MetaSound graph that has been converted from preset
#jira UE-179044
#rb rob.gay
#preflight 6406736d3206d45d2039b8ab

[CL 24564460 by helen yang in ue5-main branch]
2023-03-08 14:25:19 -05:00
rob gay
aeb25bb49d - Add Runtime MetaSound Builder support
- Add MetaSound Patch Interface support
- Add MetaSound Interface Bindings
#rb phil.popp
#preflight 640783bd5515f4f57b4b1268
[FYI] Sondra.Moyls
[FYI] Dan.Reynolds

[CL 24548617 by rob gay in ue5-main branch]
2023-03-07 17:01:52 -05: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
2b17ace435 Node Template Preprocessor Updates
- Conform template build step nominclature to "Document Preprocessing" (as it may be used either directly before building or at time post serialization)
- Use new preprocessor to cache edge data for more performant reroute template processing
#rb phil.popp
#rnx
#jira UE-160476
#preflight 62fbe79fad3bd8ad645963ec

[CL 21413130 by Rob Gay in ue5-main branch]
2022-08-16 16:19:43 -04:00
helen yang
abcf114f57 MetaSound Constructor pin editor-frontend integration checkpoint
- Both inputs and outputs can be constructor vertices, not just inputs
- Enforce connection and data type constraints for access types
- Prevent default value constructor value from being changed while playing
- Added cvar (default disabled) for enabling constructor pin option in editor

#jira UE-151661
#rb phil.popp
#preflight 62d59f4bf156340c79cfcbf5

[CL 21152841 by helen yang in ue5-main branch]
2022-07-18 17:14:25 -04:00
phil popp
b0380ec246 Metasound Frontend Search Engine Memory Improvements
- Split out search engine into Core functionality and EditorOnly functionality
- Removed some ISearchEngine integration in the INodeController
- Fixed up callsites that were relying on EditorOnly ISearchEngine functionality on non-editor builds.
#jira UE-147632
#rb Aaron.McLeran
#preflight 626709dc0231ca6c0d8d892e

[CL 19908865 by phil popp in ue5-main branch]
2022-04-25 16:59:41 -04:00