56 Commits

Author SHA1 Message Date
helen yang
5f5bdbf7aa 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 26299112 by helen yang in 5.3 branch]
2023-06-28 17:05:14 -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
Rob Gay
4961b2bd23 Fix additional spot missing rename feedback from prior CL: predicate --> projection
#rb phil.popp
#rnx
#jira none
#preflight 62339ecfe14776a6ebc278cc

[CL 19427000 by Rob Gay in ue5-main branch]
2022-03-17 16:56:13 -04:00
Rob Gay
3dd745da4e Fallback to sorting display name alphabetically if SortOrder not provided or results in a tie.
#jira UE-146244
#rb phil.popp
#preflight 62326654cf609c54b1ffd9db
#preflight 62326ef0e2541b4ff3b7fcf1

[CL 19414958 by Rob Gay in ue5-main branch]
2022-03-16 19:27:27 -04:00
rob gay
350e70d3e3 AssetClassID generation fix-up (collab fixes w/Helen)
0 Guid MetaSound AssetRegistry entry fix-up
#rb helen.yang
#rb rob.gay
#rnx
#jira UE-144864
#preflight 6226ab981938e4deaa7f4276

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

[CL 19347405 by rob gay in ue5-main branch]
2022-03-10 21:19:13 -05:00
rob gay
e8fb5fcd0b - Fix sort order not propagating to presets
- Fix for interfaces not updating/some manipulators being incorrectly editable on MetaSound Presets
- Clarify Set vs Synchronize location on MSEdGraphNodes
- Split up RefreshDetails to RefreshDetails/Interfaces & move RefreshInterface to RefreshGraphMemberMenu
#rb helen.yang
#rnx
#jira UE-144184, UE-144358
#preflight 621ff6b9901d830f366e5369

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19235508 in //UE5/Release-5.0/... via CL 19236719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19237376 by rob gay in ue5-main branch]
2022-03-02 22:11:18 -05:00
phil popp
cbdaf267bb Log warning when node connection is dropped during auto-update due to removed vertex.
#rnx
#jira UE-120726
#rb Rob.Gay
#lockdown Nick.Whiting
#preflight 621e6805257fd6e0992bb2ed

#ROBOMERGE-AUTHOR: phil.popp
#ROBOMERGE-SOURCE: CL 19204066 in //UE5/Release-5.0/... via CL 19209221
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19215316 by phil popp in ue5-main branch]
2022-03-01 21:25:04 -05:00
aaron mcleran
e79529af7a Fixing one-shot interface issues
#rb Rob.Gay
#jira UE-139680
#preflight 620d3d228a1ea1600981931f


#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 19093707 via CL 19095893 via CL 19096208 via CL 19097039 via CL 19105391
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19146717 by aaron mcleran in ue5-main branch]
2022-02-25 09:45:49 -05:00
rob gay
45e4645008 Compile out editor-only data from MetaSoundFrontend
- Move Author field to FString to avoid generated text collisions (Authors should always be culture invariant anyway) & add option to override default in MetaSound user settings
#rb helen.yang
#jira UE-142159
#preflight 62055c89057375a802938669

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18941073 in //UE5/Release-5.0/... via CL 18941268 via CL 18941634
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18941665 by rob gay in ue5-main branch]
2022-02-10 15:07:39 -05:00
rob gay
6c69365c1f - Fix & re-enable manual update of node class if auto-update is disabled or node class is updated and original class is missing
- Fix updating default value for a graph input not compositionally propagating to references
- Fix 'Reset to Class Default' sometimes showing when it isn't applicable (ex. on triggers or when the class default is out-of-date)
#rb phil.popp
#rnx
#jira UE-135832, UE-138819
#preflight 6204113ad619b08d92f542f4

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18922577 in //UE5/Release-5.0/... via CL 18927066 via CL 18928800
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18929238 by rob gay in ue5-main branch]
2022-02-09 19:27:40 -05:00
rob gay
f2973c965f - Fix propagation issues with Preset input defaults
- Add UX for overriding preset inputs (allowing auto-update to pass through referenced value if not managed)
- Clarify code by moving bAutoUpdateManagestInterface to bIsPreset in new FMetasoundFrontendGraphClassPresetOptions struct
#rb phil.popp
#jira UE-136242
#preflight 6202b1bfae203853a85c6366
#rnx

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18911247 in //UE5/Release-5.0/... via CL 18919315 via CL 18920513
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18920762 by rob gay in ue5-main branch]
2022-02-09 12:52:07 -05:00
rob gay
6887608d07 - Version MetaSound asset graph name FText being generated from file name & copied to MetaSound asset.
- Add missing user-defined fields to MetaSound graph options (ex. IsDeprecated, Keywords, etc.) and force update on transient style changeID (TODO: Probably would make more sense for Metadata FText to live on style struct and share that transient ChangeID, so that non-runtime changes to FText metadata wouldn't bump the change ID)
[CODEREVIEW] helen.yang
#jira UE-137696
#rnx
#preflight 61f870c0a6632a34f35e5e3c

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

[CL 18822116 by rob gay in ue5-main branch]
2022-02-02 02:19:16 -05:00
rob gay
5452cd8168 MetaSound Composition Fixes
- Removed need for marking ed graph nodes for refresh in most places in favor of using frontend class metadata/interface guids to signify an ed node requiring a refresh
- Update CanAutoUpdate to always provide interface changes if the metadata/interface guids change and return true, even if the runtime properties do not report
 changes, so the editor can adequately update referenced classes that have only asthetic updates
#rb helen.yang
#jira UE-136242
#jira UE-137696
#rnx
#preflight 61f8343168795b2f45820e03

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

[CL 18796687 by rob gay in ue5-main branch]
2022-01-31 15:53:54 -05:00
michael noland
cff7a1c194 Metasounds: Updated GetOwningAssetName to return GetPathName, and renamed FAutoUpdateRootGraph's member to DebugAssetPath to make the intention/uses clear
[CODEREVIEW] rob.gay
#preflight none

#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 18750549 in //UE5/Release-5.0/... via CL 18750556 via CL 18750655
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18750663 by michael noland in ue5-main branch]
2022-01-27 00:45:28 -05:00