83 Commits

Author SHA1 Message Date
phil popp
f74ae5a0b9 Fix dynamic transactor missing node.
#jira UE-189289
#rnx
#rb Rob.Gay

[CL 26214256 by phil popp in 5.3 branch]
2023-06-23 14:17:18 -04:00
Rob Gay
ffdd4391f0 - Added test for binding interfaces & fixed following fallout
Major:
- Added missing input MetaSound audio interfaces
- Fixed interface bindings not working with referenced transient, non-asset MetaSounds

Minor:
- Fix builder name not being propagated to transient builders
- Fix not defaulting to success enum when creating patch builder
- Generalized pool of named/registered builders on Builder Subsystem instead of having them per type (to support future types without having to update the subystem for each additional future type.)
#rb helen.yang
#jira todo

[CL 26189337 by Rob Gay in 5.3 branch]
2023-06-22 14:43:52 -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
phil popp
274f01210e Remove transmittable input nodes and move updating parameters to the metasound generator
#jira UE-179992
#rb Rob.Gay
#preflight 642d9f944847065878db1c64

[CL 24937473 by phil popp in ue5-main branch]
2023-04-05 17:38:47 -04:00
rob gay
1de499ef8e More MetaSound Interface registry clean-up
- Move bIsDefault/bCanEdit(renamed bIsModifiable) from InterfaceRegistryEntry to Interface data definition
- Add checks in builder to disallow mutation of interfaces that shouldn't be via editor or document builder (ex. SourceInterface which is default and then never changed)
- Optimize SearchEngine query for finding default interfaces
- Tweak MetaSoundUObjectRegistry to support non MetasoundAssetBase classes and add UMetaSoundBuilderDocument. Update iterator w/optional param to only return asset types (true by default for back compat)
- Move FName class name comparitors to use new TopLevelAssetPath
#rb phil.popp
#jira UE-181360
#rnx
#p4v-preflight-copy 24658328
#preflight 642b10834d26bcd1eb0e566c

[CL 24920763 by rob gay in ue5-main branch]
2023-04-04 19:14:26 -04:00
rob gay
6e2c09045d - Fix for builder subsystem not able to reuse audition sound properly due to the sound not being unregistered from the MetaSound Frontend Class Registry before mutation and attempt to play/re-register. Default to register when building and don't expose option to BP (referencing unregistered assets can lead to silent failures when attempting playback later)
- Fix for const correctness causing BP functions to not provide execution path even though they're set to BlueprintCallable :(
#rb helen.yang
[FYI] seth.weedin
[FYI] kevin.cavanaugh
#preflight 641c767fa86ae7cbccd64bb9

[CL 24765400 by rob gay in ue5-main branch]
2023-03-23 14:04:36 -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
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
buzz burrowes
6a343186d8 MetasoundParameterPack V1
[REVIEW] [at]phil.popp [at]rob.gay [at]aaron.mcleran
#preflight 639b5db4012902cb8d76c448

[CL 23532613 by buzz burrowes in ue5-main branch]
2022-12-15 17:03:02 -05:00
henrik karlsson
fa90b399a4 Added includes for future change. This changelist only contains added #include and a couple of empty placeholder files
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch

#preflight 63635997876630122adeab9f
#rb none

[CL 22958990 by henrik karlsson in ue5-main branch]
2022-11-03 14:18:47 -04:00
phil popp
07800695cd Replace use of FSoftObjectPath with UPROPERTY for dependent metasound assets.
#jira UE-156087
#rb rob.gay
#preflight 634841dffd22d1fbde5d7d73

[CL 22512918 by phil popp in ue5-main branch]
2022-10-13 17:38:11 -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
57d0be3dd2 Missing recursive call to reset sync state in prior CL
#rb trivial
#jira none
#preflight 6323a1805f55ba280ed12b0f

[CL 22042427 by rob gay in ue5-main branch]
2022-09-15 20:11:13 -04:00
rob gay
31435d69a5 Fix bug with synchronization not being completed prior to validation for referenced MetaSound graphs
TLBSRA (Too long but still read anyway)
This was due to validation moving to recursive behavior but sync not to support bubbling up referenced errors/warnings in 5.1.  This resulted in missing members after interface transforms are applied and potentially hitting ensures in validation.
...
But wait there's more!!! Synchronization on tick is now more efficient as it doesn't attempt to resynchronize/validate references already synchronized/validated in prior pass in same frame due to referencing graph needing to sync

#rb helen.yang
#rnx
#jira UE-162586
#preflight 63223e6c29254beccbf06119

[CL 22019580 by rob gay in ue5-main branch]
2022-09-14 18:49:46 -04:00
robert millar
aa6e458004 FNames containing asset paths are deprecated. FSoftObjectPath or FTopLevelAssetPath should be used instead.
Fixups for Metasound.

#jira UE-161932
#rb none
#preflight https://horde.devtools.epicgames.com/job/631f7da6a9331c69c3aa4ac5

[CL 21976387 by robert millar in ue5-main branch]
2022-09-12 19:52:49 -04: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
phil popp
5fc6f172c9 [MetaSound] Allow Constructor pin to be set from BP
#rb Rob.Gay
#jira UE-153913
#preflight 62fe6e68f7404b55a3fd49f9

[CL 21445924 by phil popp in ue5-main branch]
2022-08-18 13:55:13 -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
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
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
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
1f287a42ac Parameter Update Perf Regression Fix-ups
- 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]
2022-03-10 22:07:08 -05:00
phil popp
baf70eb1c0 Fix for ensure on corrupt MetaSound asset in Lyra
#rnx
#jira UE-144618
#rb Rob.Gay
#lockdown Nick.Whiting
#preflight 622167b9aa27915dd675a04a

#ROBOMERGE-AUTHOR: phil.popp
#ROBOMERGE-SOURCE: CL 19259554 in //UE5/Release-5.0/... via CL 19260273
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19264034 by phil popp in ue5-main branch]
2022-03-04 04:25:00 -05:00