50 Commits

Author SHA1 Message Date
buzz burrowes
9c63b08cda Support for custom pin icons for registered data types.
[REVIEW] [at]rob.gay
#rb Rob.Gay

[CL 30548071 by buzz burrowes in ue5-main branch]
2024-01-10 15:51:22 -05:00
helen yang
94619674a8 Fix crash when closing the MetaSound asset editor while dragging an input widget
#rb rob.gay
#jira UE-180002

[CL 26685540 by helen yang in ue5-main branch]
2023-07-28 16:04:46 -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
rob gay
54827036cd Optimization pass on MetaSound SlatePanel/Node/Pins & add profiler events
#rb phil.popp helen.yang
[REVIEW] phil.popp helen.yang
#rnx
#jira UE-167866
#preflight 6352e2e7e6096564af816419

[CL 22711562 by rob gay in ue5-main branch]
2022-10-22 14:43:51 -04:00
helen yang
0f9445aed9 Fix undo/redo for MetaSound widgets and linear output for volume widgets
- Differentiate between normalized linear and audio linear value for volume output options

#jira UE-145790
#jira UE-155181
#rb phil.popp
#preflight 634f3778c569571da8a4ab2c
#rnx

[CL 22635724 by helen yang in ue5-main branch]
2022-10-19 15:34:44 -04:00
rob gay
1c23483e19 [MetaSound Editor]
- Pin inspector/inspector & reroute interaction fixes
- Trivial fix for dirtying assets on MetaSound sync
#rb helen.yang
[REVIEW] helen.yang
#rnx
#jira UE-167241,UE-167477
#preflight 634e2f89820aa0c1931f5079

[CL 22604480 by rob gay in ue5-main branch]
2022-10-18 13:07:17 -04:00
helen yang
5417e468e1 Initialize MetaSound reroute node id on copy paste
#jira UE-165736
#rb rob.gay
#preflight 633c58d7bd3c9b60f2caf155
#rnx

[CL 22342268 by helen yang in ue5-main branch]
2022-10-04 19:35:52 -04:00
helen yang
8a126129dd MetaSound input widget fixes for range UX issues and undo/redo
- fix undo/redo when changing value on widget
- when changing widget type for non volume widgets, only change range if necessary
- clamp range X/Y in a more intuitive way for changing the min first, then the max
- disable graph refresh on changing default from details panel

#jira UE-145790
#jira UE-155181
#rb rob.gay
#preflight 633b6c3f3629a1a4f93bb778

[CL 22327100 by helen yang in ue5-main branch]
2022-10-04 01:27:31 -04:00
rob gay
9dbc0c6693 [MetaSounds] Editor Graph Syncronization Upgrade
- Move synchronize/details panel flag to more generic ModifyContext
- Do not use MarkAsGarbage as means of enforcing not to show object in details panel to avoid leaving objects in invalid state if undo called. Check ed graph membership instead
- Get rid of leaky namechanged delegates
    - Allows for migration to isolated synchronization in the future
    - Removes conflation of having to synchronize and update views when modifying frontend document
    - Decouples concept of a specific view to update from generic frontend graph modifications
#rb helen.yang
#jira UE-151448
#preflight 632b7afdc7791417aa44126f

[CL 22142063 by rob gay in ue5-main branch]
2022-09-22 15:02:24 -04:00
rob gay
39b4c62e67 Fix for time pins not showing default value editor
#rb trivial
#rnx
#jira UE-161759
#preflight 631a7ab2f448dc6e58c9da73

[CL 21916030 by rob gay in ue5-main branch]
2022-09-09 00:52:58 -04:00
Rob Gay
6c335bca87 - Top align MS node inputs/outputs in editor unless titles hidden & only one member (ex. math nodes)
- Clean-up of more direct calls to MetaSoundStyle to use safe brush call
- Clean-up a few nodehandle spots that should be const
#rb trivial
#jira none
#rnx
#preflight 62fc0509f015056ce49c9b2d

[CL 21414797 by Rob Gay in ue5-main branch]
2022-08-16 17:21:16 -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
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
helen yang
f1dcf29025 Minor MetaSound UX fixes
- Only apply input widget editor setting to new inputs
- Change default input widget to knob
- Don't show input widgets on read only graphs
- Tooltip clarification for setting audio component default parameters on MetaSounds

#jira UE-156767
#jira UE-157740
#jira UE-157782
#jira UE-157782
#rb rob.gay
#preflight 62b9de585d29d0d10ac0e071

[CL 20861733 by helen yang in ue5-main branch]
2022-06-28 13:42:14 -04:00
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
lauren barnes
4b82e918fa Replacing legacy EditorStyle calls with AppStyle
#rb header and class name replacement

#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20078276 via CL 20078825
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20106316 by lauren barnes in ue5-main branch]
2022-05-09 13:51:26 -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
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
helen yang
b351362644 Fix missing MetaSound interface warning and interfaces not updating referencing graphs properly
#jira UE-144323
#jira UE-144366

#rb phil.popp, rob.gay
#preflight 621faa4b31454c90cc013cff
#rnx


#ROBOMERGE-AUTHOR: helen.yang
#ROBOMERGE-SOURCE: CL 19223899 via CL 19226239 via CL 19226369 via CL 19226572 via CL 19226733
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19230244 by helen yang in ue5-main branch]
2022-03-02 16:52:01 -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
b72277e177 - Fix for superfluous adding a default literal set to false to copied triggers which causes a generated duplicate input when building the core graph if input is connected
- Fix for errors/displaying trigger simulate on output/variable nodes
#rb phil.popp
#jira UE-135832
#rnx
#preflight 6204b4b8a8129f65b74f31ea

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

[CL 18940014 by rob gay in ue5-main branch]
2022-02-10 13:42:12 -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
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
helen yang
df6218aabf Fix various MetaSound Input Widget and Default Clamp issues
- added option for volume slider to output linear (0-1) value while displaying dB value
- edge case handling for volume and frequency ranges causing widgets to get stuck
- fix functionality and details panel for clamp and other input float properties
- don't show widgets or widget options on readonly graphs

#jira UE-135525
#jira UE-127715
#jira UE-135856
#jira UE-135866
#jira UE-137488

#rb rob.gay
#preflight 61e0acce250b9537f783ed35

#ROBOMERGE-AUTHOR: helen.yang
#ROBOMERGE-SOURCE: CL 18620012 in //UE5/Release-5.0/... via CL 18620328 via CL 18620770
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18621051 by helen yang in ue5-main branch]
2022-01-14 14:01:09 -05:00
rob gay
3e9eab6da9 - Rename & redirect MetaSoundEditorGraph<Input>Literals to MetaSoundEditorGraph<DefaultMember>Literals
- First pass at consolidating editor code for API members/vertices where possible
- Make Variables & Output now use default literal for input value (so user doesn't have to hunt down literal box in graph)

Various bug fixes:
- Fixes crash in post undo after updating a variable default
- Fixes ':Array' flavor showing up in new SearchableComboBox when selecting `Is Array` for literal type
- Synchronize variable setter default literal with variable interface default literal
- Provide default literal field for outputs & variables for consistency
    - Added win is widget support for single input/output types (i.e. floats for now)
- Don't show trigger simulate option on non-transmissible inputs (ex. OnPlay)
- Set simulate button visibility to only show when parameter transmission is supported by input
- Make simulate buttons in graph only visible when sound plays
- Start sounds automatically when clicking simulate in inspector
- Fixed initial condition "holding" trigger state for trigger routing now that Transmission System is only used inter-MetaSound (not intra-MetaSound) and we are deprecating Send/Receives

#rb phil.popp
#rnx
#jira UE-135813
#jira UE-132900
#jira UE-135844
#jira UE-116867
#jira UE-135366
#jira UE-137310
#preflight 61b7afe4fc570891338fea08

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18450046 in //UE5/Release-5.0/... via CL 18450065
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18450072 by rob gay in ue5-release-engine-test branch]
2021-12-13 18:15:01 -05:00