Commit Graph

72 Commits

Author SHA1 Message Date
rob gay
47e4e35c82 - Enable default page to not be targetable, allowing for removal at cook
- Add faux platform "editor" (ignores cook settings) and "default" (all platforms without specific target settings) as auditionable for faster workflow/more intuitive behavior
- Implement feedback to distinguish "audition page" (editor only concept) vs "target page" (runtime concept)
- Warn when auditioning  graphs that are not cooked/targeted for an assigned audition platform (as default input values cannot be resolved accordingly) in MetaSound Asset editor
- Add more editor/UX protections around having invalid settings where a platform has no target set

#jira UE-193186, UE-219821
#rb helen.yang
[FYI] sondra.moyls, jon.huller, Seth.Weedin, carlos.egas
#rnx

[CL 35930645 by rob gay in ue5-main branch]
2024-08-30 12:53:13 -04:00
rob gay
97b2aa8d74 Editor support for MetaSound Paged Input Defaults
#jira UE-193186, UE-219821
#rb helen.yang
#rnx
[FYI] Seth.Weedin, sondra.moyls, jon.huller

[CL 35844323 by rob gay in ue5-main branch]
2024-08-27 19:05:41 -04:00
rob gay
f2b5b9810f - Rename feedback from prior MetaSound page cook submission
- Fix for runtime-generated MetaSounds asserting when registering from minor oversight in earlier CL
- Exposition of page editor enablement for subsequent page default CL in review

#rb helen.yang, rob.gay
#tests automated PIE and unit
#jira UE-219821, UE-193186

[CL 35788266 by rob gay in ue5-main branch]
2024-08-23 23:03:23 -04:00
rob gay
845f2318dc Round 2 post backouts w/fix (always provide at least default target page when cooking if no project page settings are supplied):
Update MetaSound cook to strip unsupported MetaSound platform page data
Page resolution perf/selection improvements
- Add option to disable MetaSound audition (page & platform) settings in PIE (default to enabled)
- Add ability for project to override resolved pageID
- Avoid constant set reallocation for now frequently-used page ID resolution (as inputs now call during generation independent of graph)
- Add trace event scope for page resolution perf monitoring

#jira UE-219821, UE-193186
#rb phil.popp, helen.yang
#rnx
[FYI] jon.huller, sondra.moyls, Seth.Weedin

[CL 35787942 by rob gay in ue5-main branch]
2024-08-23 21:59:54 -04:00
rob gay
92cfab856b [Backout] - CL35783574
[FYI] Rob.Gay
Original CL Desc
-----------------------------------------------------------------
Update MetaSound cook to strip unsupported MetaSound platform page data

#jira UE-193186, UE-194160
#rb phil.popp, helen.yang
#rnx
[FYI] sondra.moyls, jon.huller

[CL 35785849 by rob gay in ue5-main branch]
2024-08-23 19:07:53 -04:00
rob gay
4f7ee4c0bb Update MetaSound cook to strip unsupported MetaSound platform page data
#jira UE-193186, UE-194160
#rb phil.popp, helen.yang
#rnx
[FYI] sondra.moyls, jon.huller

[CL 35783577 by rob gay in ue5-main branch]
2024-08-23 17:27:50 -04:00
rob gay
c53434a951 - Change "RemoveAll<GraphPages/PageDefaultValues>Pages" to be "Reset", as the default value should always exist and be valid
- Add utility functions to EdGraphBuilder & FrontendDocBuilder to be used for editor updates to accomidate paged input defaults
- General minor controller to docbuilder API clean-up spots
- Misc comment clean-up

#jira UE-219821
#rb helen.yang
#rnx
[FYI] sondra.moyls

[CL 35638678 by rob gay in ue5-main branch]
2024-08-19 17:06:23 -04:00
rob gay
53c98c48be Enable editing MetaSound graphs that are no longer referencing valid page IDs defined in MetaSound Settings
#rnx
#jira UE-219821
#rb phil.popp

[CL 35539711 by rob gay in ue5-main branch]
2024-08-14 13:27:46 -04:00
rob gay
47580b61d5 - Add page info to render stats in MetaSound Editor
- Implement GetOptions feedback for simpler audition page UX
- Tidy connection manager init in asset editor & only visualize connections if viewed page is audition page
#jira UE-193186
#rb phil.popp
#rnx
[FYI] helen.yang, sondra.moyls

[CL 35505474 by rob gay in ue5-main branch]
2024-08-13 15:48:07 -04:00
rob gay
4bcc279ddd Add initial page implementation of input class default literals
#jira UE-219821
#rb phil.popp
#rnx

[CL 35115150 by rob gay in ue5-main branch]
2024-07-26 14:23:35 -04:00
rob gay
3324e67272 - Trivial: fix for focus not syncing correctly with MetaSound build page in page panel
- Minor add of ability to focus by PageID to MetaSoundEditorSubsystem

#jira UE-193186
#rb rob.gay
#rnx
[FYI] sondra.moyls, helen.yang

[CL 34905690 by rob gay in ue5-main branch]
2024-07-18 13:30:12 -04:00
rob gay
0d34377c5f First Rough Pass at Pages Editor Audition Support
- Fix-up new transaction listener for updating page details on page transactions
- Misc clean-up

#rb helen.yang, phil.popp
#jira UE-193188
#rnx
[FYI] Sondra.Moyls

[CL 34844711 by rob gay in ue5-main branch]
2024-07-16 12:40:36 -04:00
rob gay
086e40ac13 Simple polish feedback from earlier page CLs, misc clean-up:
- More const node handle fix-ups to isolate prioritization of controller callsites to refactor (and to avoid reloading active builder/resetting builder cache when not necessary)
- Make builders transactional to log when page ID is changed
- Fix mismatching EDITORONLY_DATA vs EDITOR macro chunk in MetaSoundSettings
- Protect FDocumentBuilderRegistry::FindBuilderObject calls so that callers providing an invalid asset path (ex. from controller back compat look-up calls) always returns a valid path over a stale one if both are in the registry

#rb rob.gay
#jira UE-194160
#rnx
[FYI] helen.yang

[CL 34570868 by rob gay in ue5-main branch]
2024-06-21 14:37:29 -04:00
rob gay
e0f2527ac7 Editor-only fixes included: Initial MetaSound Editor Page Support (cvar disabled until all transactions are supported and tested)
#jira UE-194160
#rb phil.popp
#rnx
#tests PIE, MetaSound Asset Editor, Engine Automation tests

[CL 34541631 by rob gay in ue5-main branch]
2024-06-20 15:27:03 -04:00
rob gay
e0359d1db1 [Backout] - CL34535555
[FYI] Rob.Gay
Original CL Desc
-----------------------------------------------------------------
Initial MetaSound Editor Page Support (cvar disabled until all transactions are supported and tested)
#jira UE-194160
#rb phil.popp
#rnx
#tests PIE, MetaSound Asset Editor, Engine Automation tests

[CL 34538285 by rob gay in ue5-main branch]
2024-06-20 14:26:46 -04:00
rob gay
94e46a67f9 Initial MetaSound Editor Page Support (cvar disabled until all transactions are supported and tested)
#jira UE-194160
#rb phil.popp
#rnx
#tests PIE, MetaSound Asset Editor, Engine Automation tests

[CL 34535569 by rob gay in ue5-main branch]
2024-06-20 13:33:47 -04:00
rob gay
3c751fa7b9 Fix for corrupt builder access when caching ticked attribute getter
#rb helen.yang
#rnx

[CL 34434156 by rob gay in ue5-main branch]
2024-06-17 14:50:21 -04:00
rob gay
09f4a23362 - Protect against invalid builder or MetaSound object in MetaSound Asset Editor
- Clean-up multiple ways MetaSound is tracked in Asset Editor (ex. FGCObject in ToolKit overload, internal to ToolKit, StrongObjectPtr, etc.)
    - Now just uses EditingObject and GetMetasoundObject() wraps it safely
- Reordered & cleaned asset editor Init logic to accomidate condensing references
#jira UE-216533
#rb helen.yang
[FYI] sondra.moyls
#rnx

[CL 34245283 by rob gay in ue5-main branch]
2024-06-10 13:41:25 -04:00
helen yang
f8ccdfd534 Unhide Advanced category in MetaSound source details panel
#jira UE-214645
#rb Aaron.McLeran, Rob.Gay

[CL 33564847 by helen yang in ue5-main branch]
2024-05-09 20:00:44 -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
d4dff4a19d - Avoid creating MetaSound builder at all if already up to date (transaction stack when undo/redo is inacted can attempt to call versioning code via serialize call even though its up-to-date spawning unnecessary errors regarding multiple builders being active)
- Avoid creating additional builder when swapping interfaces
#rb helen.yang
[FYI] sondra.moyls
#tests verified listed jira repros resolved locally in editor
#jira UE-212740, UE-209838
#rnx

[CL 33116482 by rob gay in ue5-main branch]
2024-04-19 16:52:14 -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
pete bliss
61a52b2d5e Fix for metering widgets freezing when changing Output Format of MetaSound Source - No longer destroying analyzers when changing Output Format.
The FAudioMeter etc were being deleted and recreated when Output Format changed, but their corresponding slate widget instances were kept in use. When the new FAudioMeter instances were created, their new slate widgets were not used.
Now also stopping active preview when changing Output Format, as when the analyzers are reinitialized with a different channel count they recreate their audio buses.
#jira UE-202950, UE-205217
#rb Rob.Gay

[CL 31209662 by pete bliss in ue5-main branch]
2024-02-06 06:26:24 -05:00