Commit Graph

99 Commits

Author SHA1 Message Date
helen yang
730b1615b1 Various MetaSound Editor UX improvements for member defaults and selection
- Add Metasound editor setting for default input widget type
- Change member default type from bool to float
- Make widgets only available for inputs (no longer for variables)
- Automatically select/focus newly added/promoted nodes
- Selecting a single node selects the corresponding member in the graph member list if applicable

#jira UE-156767
#jira UE-156772
#rb rob.gay
#preflight 62aa1a77da0af39a474e8975

[CL 20688866 by helen yang in ue5-main branch]
2022-06-16 12:30:27 -04:00
helen yang
d6db6c9a5b Fix null MetaSound output literal on graph synchronization
#jira UE-156020
#rb rob.gay
#preflight 62a8ec38db45e64426994b0d

[CL 20656548 by helen yang in ue5-main branch]
2022-06-14 16:28:46 -04:00
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
This change consists of multiple changes:

Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used  in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values

AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes

Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names

#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32

#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00
jimmy smith
b987fbbe0e Fix for Cook warning/content validation
#preflight none

[CL 20384864 by jimmy smith in ue5-main branch]
2022-05-26 16:32:38 -04:00
jimmy smith
2093834e8d Fixed up TObjectPtr for Metasounds as I had warnings as errors on
#rb rob.gay
#jira none
#preflight 628fc3ff74630984fd46f137

[CL 20383257 by jimmy smith in ue5-main branch]
2022-05-26 15:06:53 -04:00
helen yang
bfeda1bb29 Fix MetaSound editor meter channel count being incorrect resulting in incorrect meter values for mono sources
#jira UE-153872
#rb rob.gay
#preflight 628d0a79710271c31824286e

[CL 20356800 by helen yang in ue5-main branch]
2022-05-24 17:55:21 -04:00
helen yang
1a31dac048 Properly update MetaSound node positions when nodes are moved with comment nodes or by alignment actions
#jira UE-147971
#rb rob.gay
#preflight 6287e90a7e018d20dc0de915

[CL 20334468 by helen yang in ue5-main branch]
2022-05-23 14:56:04 -04:00
robert manuszewski
be1c20b7ff Reverting accidentally submitted files
#rb trivial
#preflight none

#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20315042 via CL 20315044 via CL 20315048 via CL 20315049
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20315217 by robert manuszewski in ue5-main branch]
2022-05-22 10:30:23 -04:00
robert manuszewski
f8a812a32f Converting hardcoded short class/enum names to pathnames ahead of ANY_PACKAGE removal
#rb trivial
#jira UE-99463
#preflight 6288fd998828ea88c8aef3d0

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20314896 via CL 20314897 via CL 20314903 via CL 20314904
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20315214 by robert manuszewski in ue5-main branch]
2022-05-22 10:30:02 -04:00
Rob Gay
ca643f250e MetaSound Editor Analyzer Checkpoint
#rb helen.yang
#jira UE-147027
#rnx
#preflight 62855a90614041edb7a54d23

[CL 20285298 by Rob Gay in ue5-main branch]
2022-05-19 15:24:49 -04:00
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
Matt Peters
d64cf41728 AssetRegistry includes (Engine Plugins): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270563191629533ec2b6f6e

[CL 20017756 by Matt Peters in ue5-main branch]
2022-05-02 18:59:38 -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
helen yang
8795e3fedb Add type colors + icons to Metasound member list and stub in editor side for constructor pins
- Fix color for Time:Array type

#jira UE-148269
#jira UE-148862
#rb rob.gay
#preflight 62631545006fa20b683e7a91

[CL 19905171 by helen yang in ue5-main branch]
2022-04-25 13:29:29 -04:00
rob gay
db2f61d3ec Hide default value if MetaSound member is hooked up.
- Clean-up some MetaSoundMember edgraphnode members
- Minor fix for hover when drag/dropping members not onto graph showing no error state
#rb helen.yang
#rnx
#jira UE-144433
#jira UE-144358
#preflight 62203018f134125ae0bc7078

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19253632 in //UE5/Release-5.0/... via CL 19257927
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19263531 by rob gay in ue5-main branch]
2022-03-04 03:48:32 -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
rob gay
655ba20880 Fix missing drag/drop on MetaSound node object picker
#rb helen.yang
#rnx
#jira UE-144313
#preflight 621eb391147b1b1965dd6be6


#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19223181 via CL 19223357 via CL 19223368 via CL 19223379 via CL 19225930
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19229652 by rob gay in ue5-main branch]
2022-03-02 16:26:17 -05:00
rob gay
41a2a172dc Fix missing ability to order graph members
- Remove base template for node customizations now that it isn't required to be a template to enable intra-engine versioning (allows moving implementation of category customization to .cpp)
- Move redundant "Literal" property to parent UMetasoundEditorGraphMember
#rb helen.yang
#jira UE-121749
#rnx
#preflight 621d2e869a5676d19a3d50e9

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

[CL 19206681 by rob gay in ue5-main branch]
2022-03-01 16:31:55 -05:00
helen yang
9b0ed29b45 MetaSound interfaces menu changes
- Add right click menu and actions for graph members
- Move add/remove interfaces menu to a new details tab

#jira UE-143470
#jira UE-143471

#rb rob.gay
#preflight 6218507a8849a7424f6d4ff9

#ROBOMERGE-AUTHOR: helen.yang
#ROBOMERGE-SOURCE: CL 19177650 in //UE5/Release-5.0/... via CL 19180025
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19203596 by helen yang in ue5-main branch]
2022-03-01 14:29:17 -05:00
phil popp
9d0387d032 Fix for circular include in metasound editor
#rnx
#rb helen.yang
#jira UE-143700
#preflight 62181dd47520d8f6ab9ff691

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

[CL 19155593 by phil popp in ue5-main branch]
2022-02-25 15:45:57 -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
fd33c39c6e - Drag/Drop/Double-Click Add/JumpTo Member Support
- Fix another spot for when member is removed from the editor views on next tick, don't show garbage member in details panel
- Variable node body fix-ups
#rb helen.yang
#rnx
#jira UE-143288
#preflight 62102b6a406b34de07e846ae

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

[CL 19140792 by rob gay in ue5-main branch]
2022-02-24 23:29:50 -05:00
rob gay
5ba27517d3 Add missing 'BreakSinglePinLink' implementation for MetaSounds
#rb helen.yang
#jira UE-142560
#preflight 620ab0df4d320dbf4c2311e8
#lockdown nick.whiting

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

[CL 19076400 by rob gay in ue5-main branch]
2022-02-22 13:45:05 -05:00
rob gay
066f2f8c47 (Re)Fix for renaming a MetaSound not propagating the rename to referencing graphs
#rnx
#rb helen.yang
#jira UE-137696
#preflight 620b3a96483ff0ae5ea63369
#lockdown nich.whiting

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19058267 in //UE5/Release-5.0/... via CL 19066028
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19067158 by rob gay in ue5-main branch]
2022-02-21 03:09:25 -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