Commit Graph

22 Commits

Author SHA1 Message Date
phil popp
33b7b2a911 MetaSound Frontend Speedups
- Cached array indices for TAccessPtr point to an object in an array
- Reduced number of call sites to TAccessPtr::Get()
- Avoid creating registry keys when possible.
#jira UE-116999
#rb Rob.Gay


#ROBOMERGE-SOURCE: CL 16830765
#ROBOMERGE-BOT: (v836-16769935)

[CL 16830791 by phil popp in ue5-main branch]
2021-07-12 16:12:36 -04:00
rob gay
ade25fa5d3 Fix for ensure when attempting to mark package dirty when building generator/updating via AssetSubsystem
[FYI] phil.popp
#jira UE-118903
#rb trivial
#lockdown jeff.farris


#ROBOMERGE-SOURCE: CL 16775810
#ROBOMERGE-BOT: (v836-16769935)

[CL 16775845 by rob gay in ue5-main branch]
2021-06-24 13:29:50 -04:00
phil popp
4c942021ae Creating metasound archetype registry and upgrade path
#rb Rob.Gay


#ROBOMERGE-SOURCE: CL 16766481
#ROBOMERGE-BOT: (v835-16672529)

[CL 16766487 by phil popp in ue5-main branch]
2021-06-23 20:07:53 -04:00
rob gay
4971cd6678 UX Scaffolding for MetaSound Composition/Presets Part 2
- Leverage AssetRegistry/Manager to only load data on MetaSounds required to register (disabled until frontend registry supports this)
- Drag-And-Drop assets on MetaSound Graph
- Move ConvertToPreset to toolbar (WIP, still need to properly hide when clicked instead of closing editor blindly, has issue with refresh)

#rb phil.popp
#preflight 60c9a0a83e1b3c0001335ee7


#ROBOMERGE-SOURCE: CL 16689213
#ROBOMERGE-BOT: (v835-16672529)

[CL 16689237 by rob gay in ue5-main branch]
2021-06-16 11:20:44 -04:00
phil popp
23b0cd8280 Fixing MetaSound use of FNodeClassInfo and FNodeRegsitryKey
#rb Rob.Gay
#preflight 60c7b1c5f7cffb0001188650


#ROBOMERGE-SOURCE: CL 16664021
#ROBOMERGE-BOT: (v834-16658389)

[CL 16664038 by phil popp in ue5-main branch]
2021-06-14 16:45:51 -04:00
phil popp
dc31cc664a Adding dedup logic for subgraph node registration
#rb Rob.Gay
#preflight 60c122be44f42400015599c9


#ROBOMERGE-SOURCE: CL 16612856
#ROBOMERGE-BOT: (v828-16531559)

[CL 16614296 by phil popp in ue5-main branch]
2021-06-09 18:17:31 -04:00
rob gay
0e4f7a7c51 MetaSound UI/UX Composition/Preset Scaffolding
- Revive UMetaSound Asset type
- Revive MS Output generation
- Fix copy pasta'ed type name so MetaSound Source shows up properly in editor
- Clean-up to dynamic doc version reporting if required (show the new version number in log)
- Add versioning to update the RootGraphClass name & add DisplayName

MetaSound Registry Scaffolding Part 1 (From Phil Popp)

#rb phil.popp
#jira UE-117108
#jira UE-117109
#jira UE-117110
#preflight 60bf11780c76f90001db5f5f


#ROBOMERGE-SOURCE: CL 16587155
#ROBOMERGE-BOT: (v828-16531559)

[CL 16587204 by rob gay in ue5-main branch]
2021-06-08 10:52:31 -04:00
phil popp
841cfbdd3e Cleanup TAccessPtr
- Moved TAccessPtr<> member accessors to their own implementation file.
- Implemented specific derived classes for TAccessPtr<> to metasound frontend document sturctures.
- Fixed broken unit test
#jira UEAU-780
#rb Rob.Gay
#preflight 6099b8030ab4b200016c89f7

[CL 16259814 by phil popp in ue5-main branch]
2021-05-10 19:52:56 -04:00
rob gay
080ec409b3 More MetaSound UX Clean-up
- LogTemp & LogMetasound to LogMetaSound
- Hide Import/Export UI options (to/from Json) for EA from editor as its halfbaked
- Reorder node right-click context menu entries to follow suit with BP
- Add new dedicated metasound icon
#rb trivial
#jira none
#preflight 6066b882e0e94d0001afa196

#ROBOMERGE-SOURCE: CL 15899641 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15899642 by rob gay in ue5-main branch]
2021-04-02 03:03:27 -04:00
phil popp
18fd872a22 Fix for output format on metasound postload
#jira none
#rb Rob.Gay, Ryan.Mangin

[CL 15273872 by phil popp in ue5-main branch]
2021-02-01 15:59:27 -04:00
phil popp
c2c509e3fd Metasound BP interface
- Adding IAudioInstanceTransmitter interface to Audio extensions
- Adding IAudioInstanceTransmitter to FActiveSound
- Renaming functions with "Archetype" to "MetasoundArchetype" to avoid conflict with UOBject archetype.
- Adding transmittable info to data type registration
- Adding default input pin to receive node.
- Adding FMetasoundInstanceTransmitter for communicating to single metasound source instance.
#rb Aaron.McLeran, Rob.Gay
#jira UEAU-618

[CL 15162371 by phil popp in ue5-main branch]
2021-01-22 03:05:22 -04:00
phil popp
660d89402f Fix for multiple metasound input/output vertices
#jira UEAU-626
#rb Rob.Gay

[CL 15075384 by phil popp in ue5-main branch]
2021-01-13 19:18:22 -04:00
phil popp
4cdd926b68 Metasound Frontend Revamp
- New node name {namespace.name.variant}
- PointIDs for exact pin-to-pin connections
- TAccessPtr updates
- Controller/Handle interface
- Document Handle
- Frontend Transforms
- Input/Output node external registration
- Revamped document model

#rb Max.Hayes, Rob.Gay
#jira UEAU-626

[CL 15066822 by phil popp in ue5-main branch]
2021-01-13 10:48:59 -04:00
phil popp
4a92191e2d Multichannel Metasound Source
- Moving Frontend UObject registration logic to FMetasoundUObjectRegistry
- Allow FMetasoundAssetBase to support multiple FMetasoundArchetypes
- Adding graph synchronization between UEdGraph and FMetasoundDocument
- Added TAssetPtr<> for tracking validity of objects that cannot be wrapped in a smart pointer.
- Added support for mono and stereo to UMetasoundSource
- Added tools for comparing FMetasoundARchetypes.
- Added LogMetasound

#rb Max.Hayes
#jira UEAU-487

[CL 14919511 by phil popp in ue5-main branch]
2020-12-14 15:48:27 -04:00
phil popp
af8f2761f9 Metasound Frontend Graph
#jira UEAU-487
#rb Max.Hayes

[CL 14854941 by phil popp in ue5-main branch]
2020-12-04 11:19:17 -04:00
Rob Gay
f9a2806cb4 - Mock up displaying required I/O to UI for MetasoundSources
- Disallow removing required I/O from MetasoundSources
- Add functions to expose/iterate required I/O archetypes from Frontend
- Enable copy graph nodes using JSON MS Document Schema and pruning unused nodes
- Mock in paste code (Ethan to add validation or "fix-up" logic on MSDoc side to avoid duplication of node/I/O Ids, names, etc.)
#rb ethan.geller
#jira UEAU-547

[CL 14038324 by Rob Gay in ue5-main branch]
2020-08-05 12:47:19 -04:00
Rob Gay
35560ea2d0 Metasound Literal Editor Updates
- Hide superfluous type info & non-preferred literal data
- Allow user to rename nodes with display name, which is independent from node string name (and supports localization)
- Add better membership checks to editor detail customizations to ensure document member renames/data org doesn't break editor
#rb ethan.geller
#rnx
#jira UEAU-546

[CL 13981474 by Rob Gay in ue5-main branch]
2020-07-30 16:57:04 -04:00
Ethan Geller
529318d783 #jira UEAU-524
Implement UMetasoundSource, Archetype registry, and implement Archetype support in the metasound editor.
#rb rob.gay, phil.popp
#fyi rob.gay, phil.popp

[CL 13940440 by Ethan Geller in ue5-main branch]
2020-07-23 20:32:26 -04:00
Rob Gay
6fb458fd4f Checkpoint on more input/output work
- Expose I/O arrays to UI (TODO: fix rename. We currently have two places we're caching input/output names and no easy way to snatch I/O metadata from I/O node.  Could we add function to reference name from description instead of caching on node?)
- Stub in json import exposition to UI
- Fix crash with removing inputs/outputs
- Various clean-up
#rb ethan.geller
#jira UEAU-527

[CL 13937505 by Rob Gay in ue5-main branch]
2020-07-23 16:39:56 -04:00
Rob Gay
456a7518bc Include clean-up
#rb trivial
#jira none
#rnx

[CL 13911039 by Rob Gay in ue5-main branch]
2020-07-21 14:34:07 -04:00
halfdan ingvarsson
0eb1c9ec18 Build fix for non-unity builds.
#jira none
#fyi rob.gay
#rnx

[CL 13890987 by halfdan ingvarsson in ue5-main branch]
2020-07-19 20:20:49 -04:00
Rob Gay
bd273007cc Moving implementation off of UMetasound to avoid engine requirement
- Move deserialize/serialize utilities off of module and into own FileConversion namespace. Stub in landing place for export in Intermediates.
#jira UEAU-527
#rb ethan.geller

[CL 13886786 by Rob Gay in ue5-main branch]
2020-07-17 16:43:42 -04:00