Commit Graph

61 Commits

Author SHA1 Message Date
rob gay
b0ef21deca Trivial: Expose controller API for querying class vertices to better enable piecemeal deprecation
#jira UE-219821
#rb rob.gay
#rnx

[CL 35519418 by rob gay in ue5-main branch]
2024-08-13 20:48:17 -04:00
helen yang
adb9a80bd6 Fix ensures when copying and pasting MetaSound interface input and reroute nodes
#jira UE-219691
#jira UE-220195
#rb Rob.Gay

[CL 35286317 by helen yang in ue5-main branch]
2024-08-02 16:25:37 -04:00
rob gay
1878db9c63 Initial checkpoint for runtime graph to support Metasound document pages
- Adds ability for graph generation via target page ID
- Deprecates the requirement of a GraphController to build graph to IGraph

#rb phil.popp
#tests MetaSound automated tests & UnitTests
#rnx
#jira UE-194160

[CL 34731539 by rob gay in ue5-main branch]
2024-06-27 23:26:57 -04:00
rob gay
b3ab5744bf - Fix for attempting to access EngineSubsystem during MetaSound versioning (serialization), which can assert when apparently certain commands in certain contexts can attempt to preload assets prior to the init phase.
- Minor Fix for LocText duplication
#tests BuildCookRun, -game, version MetaSounds assets in editor, PIE

[FYI] bob.tellez
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL33084850
[FYI] Rob.Gay
Original CL Desc
-----------------------------------------------------------------
Version Metasound Document to include all ed data and make all Metasound EdGraph data transient
- Add input template nodes
- Add comment node data to document
- Keep references to member literal data (i.e. knob/slider ranges) in document metadata to ensure continued serialization and flexibility to add more editor-only fields and literal metadata
- Misc builder API updates, bug fixes and migration of controllers to builder API in anticipation of pages
- Sunset non-deterministic guid cvar
#rb phil.popp, helen.yang
[FYI] sondra.moyls
#tests Standard Automated Audio Tests, EngineTests, Offline QA Smoke pass, CPR, etc., extensive MetaSound Editor use, -game MetaSound qa levels, AudioUnitTests
#jira UE-194159

[CL 33102023 by rob gay in ue5-main branch]
2024-04-19 10:09:04 -04:00
bob tellez
416e6c17d8 [Backout] - CL33084850
[FYI] Rob.Gay
Original CL Desc
-----------------------------------------------------------------
Version Metasound Document to include all ed data and make all Metasound EdGraph data transient
- Add input template nodes
- Add comment node data to document
- Keep references to member literal data (i.e. knob/slider ranges) in document metadata to ensure continued serialization and flexibility to add more editor-only fields and literal metadata
- Misc builder API updates, bug fixes and migration of controllers to builder API in anticipation of pages
- Sunset non-deterministic guid cvar
#rb phil.popp, helen.yang
[FYI] sondra.moyls
#tests Standard Automated Audio Tests, EngineTests, Offline QA Smoke pass, CPR, etc., extensive MetaSound Editor use, -game MetaSound qa levels, AudioUnitTests
#jira UE-194159

[CL 33096249 by bob tellez in ue5-main branch]
2024-04-18 23:43:05 -04:00
rob gay
184db3803e Version Metasound Document to include all ed data and make all Metasound EdGraph data transient
- Add input template nodes
- Add comment node data to document
- Keep references to member literal data (i.e. knob/slider ranges) in document metadata to ensure continued serialization and flexibility to add more editor-only fields and literal metadata
- Misc builder API updates, bug fixes and migration of controllers to builder API in anticipation of pages
- Sunset non-deterministic guid cvar
#rb phil.popp, helen.yang
[FYI] sondra.moyls
#tests Standard Automated Audio Tests, EngineTests, Offline QA Smoke pass, CPR, etc., extensive MetaSound Editor use, -game MetaSound qa levels, AudioUnitTests
#jira UE-194159

[CL 33085078 by rob gay in ue5-main branch]
2024-04-18 16:50:48 -04:00
rob gay
524d0f85fe Refactor reroute templating in preparation of new templates coming in subsequent changes (i.e. inputs, maybe more node config templates, etc.)
#rb phil.popp
#jira UE-194159
#tests AudioUnitTests, engine tests, tested adding, removing, and auditioning reroutes

[CL 32104370 by rob gay in ue5-main branch]
2024-03-07 17:53:25 -05: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
phil popp
c05b7d4397 Fix build for editoronly data in program using metasound fronend.
#jira UE-187855
#rnx
#rb Rob.Gay

[CL 26028177 by phil popp in ue5-main branch]
2023-06-15 17:57:06 -04:00
helen yang
98d0bb918d Clear object literals when connecting MetaSound nodes to prevent hidden asset references
#jira UE-182177
#rb rob.gay
#preflight 645170876538e45f7565824a

[CL 25308044 by helen yang in ue5-main branch]
2023-05-02 17:00:45 -04:00
rob gay
84771db13f Remove input receive node injection by implementing receive implementation within non-ctor input node operator
#rb phil.popp
[REVIEW] phil.popp
#rnx
#jira UE-166569
#preflight 63445c0f360ee7edea15afdb

[CL 22437484 by rob gay in ue5-main branch]
2022-10-10 15:44:28 -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
7c89cca430 Fix missing rerouted implicit accessor behavior causing various bugs with constructor pins
#rb helen.yang
#rnx
#jira UE-163090
#preflight 6320d96829254beccb80dc36

[CL 21997851 by rob gay in ue5-main branch]
2022-09-13 21:51:22 -04:00
Rob Gay
43065604d6 Rename UMetaSound to UMetaSoundPatch
#jira UE-150599
#rb helen.yang
#preflight 62f69d471e61d1ba0e8e37e5

[CL 21360370 by Rob Gay in ue5-main branch]
2022-08-12 14:54:54 -04:00
Rob Gay
87f810eadf MetaSound Template nodes
#rb phil.popp
#jira UE-160476
#preflight 62f3f49df75a2a539c8b4973

[CL 21322540 by Rob Gay in ue5-main branch]
2022-08-10 14:18:10 -04:00
phil popp
c49dfb1c4d MetaSound: Add constructor inputs / outputs to frontend nodes
#rb Helen.Yang
#jira UE-151659, UE-151662
#p4v-preflight-copy 20381225
#preflight 6298ca1eb72f596b0fcb2f07

[CL 20469618 by phil popp in ue5-main branch]
2022-06-02 10:50:07 -04:00
phil popp
3b6d5fb578 Add metasound constructor vertices
Integrate vertex data into graph builder.
#jira UE-150143, UE-149184
#rb Rob.Gay
#preflight 628677e9614041edb70a77d9

[CL 20284114 by phil popp in ue5-main branch]
2022-05-19 14:18:38 -04:00
Rob Gay
f2f944d64f MetaSound Analyzer Frontend/Graph Core Checkpoint
- Add ability to track all internal data references to a core graph
- Add AnalyzerRegistry & first pass at value/envelope analyzers
- Add support for enabling analyzing from MetaSound Generator
- Add ability for tracking colorized bounds for edges as literal-color array
#rb phil.popp
#jira UE-147027
#jira UE-147028
#jira UE-147026
#preflight 627acbae10766ef8c112264c

[CL 20129340 by Rob Gay in ue5-main branch]
2022-05-10 16:51:39 -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
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
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
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
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
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