- 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]
- 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]
- 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]
- Use cached transmissable inputs when initializing/sanitizing parameters
- Update internal API to promote batching & keeping AudioParameters sorted/using faster merge logic where possible
- Swap CitySample vehicle controller to use batched parameter update call
- Clarify When RuntimeData is cached for safety (in InitResources or InitParameters, whichever comes first)
- Alleviate extreme confusion around AudioParameter setters requiring type by adding static conversion functions
#rb helen.yang
#rnx
#jira UE-145211
#preflight 6229424e6e026fc824b24861
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19328764 in //UE5/Release-5.0/... via CL 19329587
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19348372 by rob gay in ue5-main branch]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Clean-up duplicate logic not needed as covered in PreSave template function
#rb trivial
#jira none
#rnx
#preflight 61ea5f91c92021e535b0ae4e
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18691587 in //UE5/Release-5.0/... via CL 18691946 via CL 18692123
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18692330 by rob gay in ue5-main branch]
TODO: Split out FMetasoundFrontendClass to class & dependency struct, where dependency is only the information required to find an item in the registry and potentially a couple non-localized breadcrumbs
#rb phil.popp
#jira none
#rnx
#preflight 61e8f894276892ce10892644
#preflight 61e9f7f91739bb8724e071ec
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18684546 in //UE5/Release-5.0/... via CL 18684559 via CL 18684566
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)
[CL 18684575 by rob gay in ue5-main branch]
- Clarifies single point-of-execution
- Removes dead dirtying branch
- Add owning asset's path to transform for better logging when updating node/reference is missing
#rb phil.popp
#rnx
#jira none
#preflight 61e73d961479b607fad5a62b
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18650562 in //UE5/Release-5.0/... via CL 18650585 via CL 18650616
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)
[CL 18650650 by rob gay in ue5-main branch]
- 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]
-----------------------------------------------------------------
MetaSounds Interfaces Checkpoint 2:
- Version up source archetypes to become two interfaces: channel interfaces (mono/stereo) & base source namespace
- Clean-up Interface panel to support namespacing better
- Fix bugs with assuming interfaces are always and the only base namespace members
- Allow namespacing for any arbitrary interface member
- Add lock icon to clarify what interface members cannot be modified individually (i.e. cannot add, remove, or rename them as they are interface members)
- Organize members alphabetically
#jira UE-135000
#rnx
#rb phil.popp
#preflight 61a7d1079c77d610079303ec
#p4v-cherrypick 18344347
#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18413245 via CL 18413381 via CL 18413401 via CL 18434953 via CL 18437303
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)
[CL 18437360 by rob gay in ue5-release-engine-test branch]
[FYI] rob.gay
Original CL Desc
-----------------------------------------------------------------
MetaSounds Interfaces Checkpoint 2:
- Version up source archetypes to become two interfaces: channel interfaces (mono/stereo) & base source namespace
- Clean-up Interface panel to support namespacing better
- Fix bugs with assuming interfaces are always and the only base namespace members
- Allow namespacing for any arbitrary interface member
- Add lock icon to clarify what interface members cannot be modified individually (i.e. cannot add, remove, or rename them as they are interface members)
- Organize members alphabetically
#jira UE-135000
#rnx
#rb phil.popp
#preflight 61a7d1079c77d610079303ec
#p4v-cherrypick 18344347
#ROBOMERGE-AUTHOR: aurel.cordonnier
#ROBOMERGE-SOURCE: CL 18369256 via CL 18369273 via CL 18369290 via CL 18434224 via CL 18435611
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)
[CL 18436532 by aurel cordonnier in ue5-release-engine-test branch]