65 Commits

Author SHA1 Message Date
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
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
Rob Gay
d759aee3d7 MetaSound Reroute Nodes
- Minor play button/transport bar updates using new icons from RobbieK
- Validation Clean-up to better report final message severity state & accomidate template node validation (i.e. reroute validation & visual reporting/user feedback)
#rb helen.yang
#jira UE-150599
#rnx
#preflight 62f6949acf7afa018ba94144

[CL 21359529 by Rob Gay in ue5-main branch]
2022-08-12 14:22:05 -04:00
phil popp
6eae6a1e3f [Metasound] Move various members to WITH_EDITORONLY_DATA to save on non-editor memory.
#jira UE-147633
#rb Rob.Gay
#preflight 6270074aad00dced62d0f685

[CL 20010513 by phil popp in ue5-main branch]
2022-05-02 12:35:54 -04:00
rob gay
655f3ea998 Tidy up feedback from earlier CL
- Rename 'GenerateClassDescription' functions/comments for clarity regarding what they're acting upon
- Remove global, unused 'GenerateClassMetadata'
#rb phil.popp
#jira none
#rnx
#preflight 61f84e025a026d2d19b70e11

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18797042 in //UE5/Release-5.0/... via CL 18797879 via CL 18799090
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18799213 by rob gay in ue5-main branch]
2022-01-31 17:23:08 -05:00
rob gay
4aa9fc06e5 Fix missing copy for style to registry from code-defined MetaSound node classes, causing math nodes to show inputs, outputs, names, & no icons & sort order for pins to be wrong.
#preflight 61f8313f114ec25fe0acf78d

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18794142 in //UE5/Release-5.0/... via CL 18795221 via CL 18796206
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18796528 by rob gay in ue5-main branch]
2022-01-31 15:48:27 -05:00
rob gay
1e6ee23838 - Fix interface vertex metadata still serializing text during presave.
- Fix node tooltips caching old strings & improperly displaying them if a node's tooltips are modified but the node is not versioned

Minor Clean-up:
- Move interface registry generation logic to static function to mirror metadata's analogous call
- Remove misleading, unused GetPinTooltip cruft from SMetasoundGraphPin

[CODEREVIEW] phil.popp
#jira none
#rnx
#preflight 61f23629e12e3fcf9b324887

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18750829 in //UE5/Release-5.0/... via CL 18750848 via CL 18750876
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18750878 by rob gay in ue5-main branch]
2022-01-27 01:31:46 -05:00
rob gay
e00c7856fa Move any places where FText is copied to a MetaSound document to transient UProperties that are populated by external registries (i.e. the interface registry & the class registry)
#rb phil.popp
#rnx
#jira none
#preflight 61f1cc37c0033b39f89ee39c

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18746974 in //UE5/Release-5.0/... via CL 18746984 via CL 18747190
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18747199 by rob gay in ue5-main branch]
2022-01-26 18:11:52 -05:00
rob gay
2d696b4645 Remove implicit constructor for FMetasoundFrontendClass
- Favor static factory style initializer to clarify when it is being generated as a registry description (and thus has no ID/explicitly set type)
#rb phil.popp
#jira none
#rnx
#preflight 61e87f0a8022cea65695add6

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18666405 in //UE5/Release-5.0/... via CL 18666425 via CL 18668075
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v901-18665521)

[CL 18668230 by rob gay in ue5-main branch]
2022-01-19 18:24:30 -05:00
Rob Gay
4b1e992925 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

[CL 17494445 by Rob Gay in ue5-main branch]
2021-09-13 14:13:39 -04:00
phil popp
0842b656bb Factor out metasound data type registration
#rb Rob.Gay
#jira UEAU-834
#preflight 611d834c9db7df000138d786

[CL 17233442 by phil popp in ue5-main branch]
2021-08-19 09:56:48 -04:00
rob gay
b3fcef61ad First pass on MetaSound Composition/Preset Support
- Stubbed in logic & assets for MetaSound Editor UX node type differentiation
#rb phil.popp
#preflight 60ff8c19d8303000018f29fb


#ROBOMERGE-SOURCE: CL 16969987
#ROBOMERGE-BOT: (v838-16927207)

[CL 16972219 by rob gay in ue5-main branch]
2021-07-27 15:29:20 -04:00
phil popp
4c942021ae Creating metasound archetype registry and upgrade path
#rb Rob.Gay


#ROBOMERGE-SOURCE: CL 16766481
#ROBOMERGE-BOT: (v835-16672529)

[CL 16766487 by phil popp in ue5-main branch]
2021-06-23 20:07:53 -04:00
phil popp
23b0cd8280 Fixing MetaSound use of FNodeClassInfo and FNodeRegsitryKey
#rb Rob.Gay
#preflight 60c7b1c5f7cffb0001188650


#ROBOMERGE-SOURCE: CL 16664021
#ROBOMERGE-BOT: (v834-16658389)

[CL 16664038 by phil popp in ue5-main branch]
2021-06-14 16:45:51 -04:00
phil popp
dc31cc664a Adding dedup logic for subgraph node registration
#rb Rob.Gay
#preflight 60c122be44f42400015599c9


#ROBOMERGE-SOURCE: CL 16612856
#ROBOMERGE-BOT: (v828-16531559)

[CL 16614296 by phil popp in ue5-main branch]
2021-06-09 18:17:31 -04:00
rob gay
0e4f7a7c51 MetaSound UI/UX Composition/Preset Scaffolding
- Revive UMetaSound Asset type
- Revive MS Output generation
- Fix copy pasta'ed type name so MetaSound Source shows up properly in editor
- Clean-up to dynamic doc version reporting if required (show the new version number in log)
- Add versioning to update the RootGraphClass name & add DisplayName

MetaSound Registry Scaffolding Part 1 (From Phil Popp)

#rb phil.popp
#jira UE-117108
#jira UE-117109
#jira UE-117110
#preflight 60bf11780c76f90001db5f5f


#ROBOMERGE-SOURCE: CL 16587155
#ROBOMERGE-BOT: (v828-16531559)

[CL 16587204 by rob gay in ue5-main branch]
2021-06-08 10:52:31 -04:00
phil popp
8cab75d4da Hide and disable unneeded types and nodes
- Added enable structs for arrays, auto conversions, send/receive to opt-out when desired.
- Lots of header include fixes to get build working.
- Comment out "int64" and "double" registered data types
#jira UE-112303
#rb Jimmy.Smith
#preflight 606b9c22458ce6000159e16c
#lockdown Nick.Whiting

#ROBOMERGE-SOURCE: CL 15925325 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15925330 by phil popp in ue5-main branch]
2021-04-05 20:22:19 -04:00
rob gay
adb961b654 Rename Metasound to MetaSound (PascalCase) in all places in UX. (Code-side to be cleaned up post EA)
#rb trivial
#jira nojira
#preflight 6066ab3dc5a3a100016fc8a0

#ROBOMERGE-SOURCE: CL 15899490 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15899491 by rob gay in ue5-main branch]
2021-04-02 02:09:50 -04:00
rob gay
33cd41df51 Pipe through Metasound Node Advanced Display markup
- Move descriptions to new FDataVertexMetadata struct along with new bIsAdvancedDisplay bool
- Add convenience getters for FMetasoundFrontendVertexMetadata (SO META!) that translates from FDataVertexMetadata on Controllers
#rb phil.popp
[FYI] aaron.mcleran
#preflight 6064c11c254dca00015289e5

#ROBOMERGE-SOURCE: CL 15880092 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15880100 by rob gay in ue5-main branch]
2021-03-31 15:34:29 -04:00
phil popp
d4af456a9c Metasound Frontend Perf Tuneup
- Added frontend search engine to cache frontend queries
- Allowing frontend queries to be updated in place.
- Tracking node registration transactions to allow incremental runtime checks of newly registered nodes.
- Create public RegistryContainer interface and hide implementation to allow for further optimizations without changing public headers
#jira UEAU-749
#rb Max.Hayes, Jimmy.Smith
#preflight 606399a6e05c4e0001a0d173

#ROBOMERGE-SOURCE: CL 15868737 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15868744 by phil popp in ue5-main branch]
2021-03-30 18:22:10 -04:00
phil popp
2422ceda6d Updating vertex default retrieval method
#rb Rob.Gay
#jira UEAU-750
#preflight 605a6c01aab31200018ce048

#ROBOMERGE-SOURCE: CL 15787523 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15790788 by phil popp in ue5-main branch]
2021-03-23 22:43:28 -04:00
maxwell hayes
64793de0af Fix for static init issu w/ FNames in metasound node registration
#ROBOMERGE-SOURCE: CL 15619052 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)

[CL 15619065 by maxwell hayes in ue5-main branch]
2021-03-04 19:23:41 -04:00
rob gay
328f64f40b - Fix bug/crashes with undo desync after updating input literals from graph input node
- Fix minor bug with MS doc sync incorrectly marking package dirty
- Add MS sync when undo'ing transaction involving MS as a safeguard to ensure graph/document parity is preserved (and sync code is maintained)
- Make Metasound version history visible but not editable by end-user

#ROBOMERGE-SOURCE: CL 15577261 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15577265 by rob gay in ue5-main branch]
2021-03-02 21:39:09 -04:00