Commit Graph

65 Commits

Author SHA1 Message Date
rob gay
be35f85305 - Move duplication to re-use registered builder at different points of duplication process as multiple builders per class name in the builder registry its now supported
- Give asset builders proper names based off the MetaSound asset being built for easier debugging
- Add log supression during duplication from spamming user as brief existence of multiple builders with shared class name is expected behavior (Leaving disabled until cook can be verified log is not being hit)
#rb helen.yang
#jira UE-216532
[FYI] sondra.moyls
#rnx

[CL 34245724 by rob gay in ue5-main branch]
2024-06-10 13:52:48 -04:00
rob gay
064e244218 - Make Version call to generate MetaSound Builder async GC-safe
- Misc clean-up
#rb phil.popp
#rnx
[FYI] helen.yang
#jira UE-216029

[CL 34017798 by rob gay in ue5-main branch]
2024-05-30 18:56:24 -04:00
rob gay
711a973c73 - Move MetaSoundAssetSubsystem& BuilderSubsystem implementations to monolithics that are initialized at MetaSoundEngine module load for safety
- Avoids PreDefault vs Default module Init which can interact negatively and obscurely with EngineSubsystems not being loaded prior to certain builds/scenarios where serialized assets are loaded earlier
- Sunset existing Subsystem non-UFUNCTION calls not pertaining to direct Blueprint exposition
- Optimize AssetManager to use own key vs NodeRegistryKey and TopLevelPaths vs SoftObjectPaths
- Misc module clean-up
- Misc callsite refactors to use new monolithics
#rb phil.popp
[FYI] sondra.moyls, helen.yang

#tests EngineTest & AudioQA Automation PIE Packaged Build -game

[CL 33522338 by rob gay in ue5-main branch]
2024-05-08 14:53:53 -04:00
rob gay
e8e0c199a2 Remove dependency on MetaSound engine subsystems of any kind being required to register MetaSounds with frontend
#rb rob.gay
#rnx
[FYI] sondra.moyls, phil.popp, helen.yang

[CL 33199328 by rob gay in ue5-main branch]
2024-04-24 10:36:28 -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
AdricEpic
473f754908 - Registration Race Condition Fixes (Attempt #2 w/ cook fixes)
- Part 1/2 fixing inconsistent file naming that is causing code query tool slowdowns (2/2 will be deprecating old MetasoundFrontendRegistries.h header path)
- Replace SoftObjectPaths with TopLevelAssetPaths for perf (ObjPaths do string copies all over, TopLevelAssetPaths are just two FNames)
#rb helen.yang
#rnx
[FYI] sondra.moyls
#tests AudioQA/EngineTest MetaSound Automated Tests, AudioTests, cook WindowsClient, submit and backout and then fix those problems
#jira UE-198785

[CL 30354102 by AdricEpic in ue5-main branch]
2023-12-15 13:21:12 -05:00
rob gay
65111a0774 Fix for cook errors, undo changelist 30246187
#rb helen.yang
#rnx

[CL 30255375 by rob gay in ue5-main branch]
2023-12-11 20:36:24 -05:00
rob gay
a876bffd23 - Registration Race Condition Fixes
- Part 1/2 fixing inconsistent file naming that is causing code query tool slowdowns
- Replace SoftObjectPaths with TopLevelAssetPaths for perf (ObjPaths do string copies all over, TopLevelAssetPaths are just two FNames)
#rb helen.yang
#rnx
#tests AudioQA MetaSound Automated Tests, AudioTests
#jira UE-198785

[CL 30246215 by rob gay in ue5-main branch]
2023-12-11 14:43:42 -05:00
phil popp
e631780063 Register metasound graphs asynchronously
#jira UE-185834, FORT-658630
#rb Rob.Gay, Helen.Yang

[CL 28149471 by phil popp in ue5-main branch]
2023-09-22 15:01:07 -04:00
phil popp
b478631318 [Backout] - CL28104009
[FYI] phil.popp
Original CL Desc
-----------------------------------------------------------------
Register metasound graphs asynchronously
#jira UE-185834
#rb Rob.Gay, Helen.Yang

[CL 28111209 by phil popp in ue5-main branch]
2023-09-21 18:24:25 -04:00
phil popp
adbad7a65f Register metasound graphs asynchronously
#jira UE-185834
#rb Rob.Gay, Helen.Yang

[CL 28104164 by phil popp in ue5-main branch]
2023-09-21 16:35:40 -04:00
rob gay
008b0741b2 Move MetasoundDocumentBuilders to cache-on-demand
- Invalidate subsystem registerd asset builder cache upon soft deprecated document access id creation
#rb phil.popp
#jira UE-194159
#rnx

[CL 27894768 by rob gay in ue5-main branch]
2023-09-14 16:54:36 -04:00
rob gay
0b5702d6e8 - Make UMetaSoundSource & UMetaSoundPatch the direct document manipulated object for subsystem builders
- Remove specialized Audition object in favor of directly using UMetaSoundSource for Source builders
#rb phil.popp
#jira UE-194159

[CL 27861100 by rob gay in ue5-main branch]
2023-09-13 20:11:49 -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
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
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
rob gay
18e887e937 [MetaSounds] Fix/add missing new MetaSound type icons/thumbnails as well as play/stop overlays. Support for showing/filtering presets in ContentBrowser
#rb helen.yang julien.stjean
[REVIEW] helen.yang
#jira UE-168050
#preflight 635314707261e565c497645f

[CL 22786984 by rob gay in ue5-main branch]
2022-10-26 15:28:04 -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
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
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
rob gay
1a998981b7 Update details on MetaSound Editor synchronization
- Minor clean-up: remove unimplemented GetBlockRate declaration cruft
#rb trivial
[FYI] helen.yang
#jira UE-151420
#preflight 631a3fe3967ffc68fbea8026

[CL 21910442 by rob gay in ue5-main branch]
2022-09-08 21:27:29 -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
jimmy smith
2093834e8d Fixed up TObjectPtr for Metasounds as I had warnings as errors on
#rb rob.gay
#jira none
#preflight 628fc3ff74630984fd46f137

[CL 20383257 by jimmy smith in ue5-main branch]
2022-05-26 15:06:53 -04:00