Commit Graph

21 Commits

Author SHA1 Message Date
Rob Gay
7466c13388 - Add ability to set node position explicitly via MetaSound Editor Subsystem
- Fix bug introduced recently with BuildToAsset not applying a clean class name/guid
- Fix case where builder was added to root and not freed
- MetaSoundEditorSubsystem minor clean-up
#rb helen.yang
#jira UE-191435 UE-191505
#rnx

[CL 26714951 by Rob Gay in 5.3 branch]
2023-07-31 14:21:10 -04:00
Rob Gay
053a214231 - Make Connect... MetaSoundBuilderSubsystem API calls replace edges as needed to parallel editor behavior more
- Update MetaSoundFrontendDocumentBuilder AddEdge... API calls to support both replacement and ignoring invalid requests where applicable
#rb phil.popp
#jira UE-190989

[CL 26659820 by Rob Gay in 5.3 branch]
2023-07-27 18:35:37 -04:00
Rob Gay
e19b76c22a Fix for MetaSound transaction stack manipulation not updating builder caches if builder is associated with edited object/asset & edge cache not initializing properly
#rb phil.popp
#jira UE-190358

[CL 26556826 by Rob Gay in 5.3 branch]
2023-07-24 17:35:47 -04:00
rob gay
7e914cb0f5 Fix for nametable/MetaSound Search Engine entry leaks due to new class name being generated on every builder build/audition call associated with a given target object
#rb todo
#jira UE-190590
#rnx
#p4v-cherrypick 26471782

[CL 26493827 by rob gay in 5.3 branch]
2023-07-20 15:51:29 -04:00
rob gay
3bcd69f01b Add missing forward of early return value causing false negative when attempting to add MetaSound Interface via Builder API
#rb trivial
#jira UE-190478
#fyi sondra.moyls
#p4v-cherrypick 26443241

[CL 26493726 by rob gay in 5.3 branch]
2023-07-20 15:45:25 -04:00
helen yang
5f5bdbf7aa Fix ensures when migrating MetaSound assets
- Create new class names for temporary packages created during migration to avoid duplicate node registration
- Change duplicate node registration ensure to if check with better logging of asset causing collision

#jira UE-161039
#jira UE-175059
#jira UE-188854
#rb rob.gay

[CL 26299112 by helen yang in 5.3 branch]
2023-06-28 17:05:14 -04:00
Rob Gay
bf790a161b - Fix for inconsistent delegate implementation for MetaSound input/output removal
- Add tests for matching node/graph inputs & outputs
#rb trivial
#jira UE-189613
#rnx

[CL 26273511 by Rob Gay in 5.3 branch]
2023-06-27 18:17:55 -04:00
Rob Gay
65f5c26b30 Fix for reducing channel count to output interface other than mono (and other ways in which interfaces were potentially swapping related API members)
#rb trivial
#jira UE-189613
#rnx

[CL 26248823 by Rob Gay in 5.3 branch]
2023-06-26 19:28:06 -04:00
Rob Gay
329fb2c898 Fix ConnectNode<In/Out>sToMatchingGraphInterface<In/Out>puts
- Add tests for connecting & disconnecting nodes that match graph interfaces
- Rename test accordingly
#rnx
#jira UE-186188
#rb helen.yang

[CL 26242420 by Rob Gay in 5.3 branch]
2023-06-26 15:40:12 -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
rob gay
48b172ac25 Initial work to pipe builder updates to dynamic graph
- Add delegates to respond to builder changes to document
- Add delegate handlers to source builder to forward requests to audition sound if live update enabled
- Misc piping for live updating
#jira UE-186952
#ok forgithub public
#rb phil.popp

[CL 26072716 by rob gay in 5.3 branch]
2023-06-16 17:55:08 -04:00
helen yang
cc09fda972 Expand and consolidate MetaSound builder preset asset functionality
- Added document builder and BP functions for SetGraphInputDefault, ConvertFromPreset, ConvertToPreset, CreatePatch/SourcePresetBuilder, IsPreset
- Refactor MetaSound asset and preset initialization to use builder architecture more

#jira UE-185391
#rb rob.gay
#preflight 64710f423b73ebeef4c295bb

[CL 25683338 by helen yang in ue5-main branch]
2023-05-30 14:39:48 -04:00
kirill zorin
b6ee3a6c64 Fix UE_LOG callsites that have format string-related UB
#rb trivial
#preflight 647107780a6634dbb236a0a6

[CL 25651638 by kirill zorin in ue5-main branch]
2023-05-26 15:52:39 -04:00
helen yang
d1c0b6ee4e Fix MetaSound Convert From Preset not marking graph as editable
#rb rob.gay
#preflight 64665d488377b53e1d018a00
#jira UE-186058
#rnx

[CL 25532093 by helen yang in ue5-main branch]
2023-05-18 15:41:55 -04:00
rob gay
d3e70524dc - Migrate and deprecate modify interfaces transform to frontend document builder with broken up, useful functionality available now to the API (ex. SwapInput/Output)
- New version no longer uses expensive controller system
- Fix-up & condense asset/builder initialization logic that utilizes modify interface transform functionality
- Misc clean-up
#rb helen.yang
#jira UE-120184
#rnx
#preflight 645bfd468e01daf0e5b92c30

[CL 25420172 by rob gay in ue5-main branch]
2023-05-10 20:28:39 -04:00
Rob Gay
49c739169c Fix class references misguided towards transient MetaSound class instead of MetaSound Builder class causing failures to add/remove interfaces in certain contexts
#rb phil.popp
#jira UE-181360
#preflight 642f15426d46f6b1bfac1f59
#rnx

[CL 24955760 by Rob Gay in ue5-main branch]
2023-04-06 16:32:00 -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
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
0214d1c465 - Fix crash w/PostInitProperties initialization of MetaSoundDocumentBuilder
- Fix bugs with interfaces not registering with the correct UClass types
- Add missing RemoveByInterfaceBinding MS Builder function
- Builder cache fix for ContainsEdge
#rb trivial
#rnx
#preflight 640a34153c2db40029343bab

[CL 24584406 by rob gay in ue5-main branch]
2023-03-09 17:56:53 -05:00
rob gay
6e5db2b989 Quick fix for automated test build failures by removing object creation from MS Builders on default ctor/copy ctor/copy assignment operators. Have a longer term fix in the works that's a bit safer, but in general builders are transient and should never be copied.
#rb trivial
#jira UE-179513
#rnx
#preflight 640958338832f48a4de03600

[CL 24572248 by rob gay in ue5-main branch]
2023-03-09 01:21:59 -05: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