Commit Graph

29 Commits

Author SHA1 Message Date
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
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
phil popp
8cab75d4da Hide and disable unneeded types and nodes
- Added enable structs for arrays, auto conversions, send/receive to opt-out when desired.
- Lots of header include fixes to get build working.
- Comment out "int64" and "double" registered data types
#jira UE-112303
#rb Jimmy.Smith
#preflight 606b9c22458ce6000159e16c
#lockdown Nick.Whiting

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

[CL 15925330 by phil popp in ue5-main branch]
2021-04-05 20:22:19 -04:00
phil popp
d4af456a9c Metasound Frontend Perf Tuneup
- Added frontend search engine to cache frontend queries
- Allowing frontend queries to be updated in place.
- Tracking node registration transactions to allow incremental runtime checks of newly registered nodes.
- Create public RegistryContainer interface and hide implementation to allow for further optimizations without changing public headers
#jira UEAU-749
#rb Max.Hayes, Jimmy.Smith
#preflight 606399a6e05c4e0001a0d173

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

[CL 15868744 by phil popp in ue5-main branch]
2021-03-30 18:22:10 -04:00
phil popp
d0a2a1bac9 Frontend Array Support
#rb Rob.Gay
#jira UEAU-655

#ROBOMERGE-SOURCE: CL 15383605 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15384147 by phil popp in ue5-main branch]
2021-02-10 21:43:31 -04:00
phil popp
86732c1ec4 Update Metasound Graph Core Metadata
- Rename FNodeInfo to FNodeClassMetadata
- Add FGuid to Metasound node instances
- Metasound node class names are now Namespace.Name.Variant
- Add displayname for Metasound node classes.
#jira UE-107332
#jira UEAU-660
#rb Rob.Gay

[CL 15253779 by phil popp in ue5-main branch]
2021-01-28 19:02:51 -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
phil popp
8ed8f12dc9 Metasound metadata. Adding metadata to node info and adding static registration
#rb Rob.Gay
#jira UEAU-487

[CL 14810613 by phil popp in ue5-main branch]
2020-11-24 15:24:29 -04:00
phil popp
f3768afb81 Metasound Envorinment Variable
#rb Rob.Gay
#jira UEAU-487

[CL 14766414 by phil popp in ue5-main branch]
2020-11-17 17:52:08 -04:00
Ethan Geller
53a6ef8a05 #jira UEAU-473
Converter Nodes for Metasounds. Allows for use of the METASOUND_REGISTER_CONVERTER macros, as well as autogenerated converters.
#rb phil.popp

[CL 14192031 by Ethan Geller in ue5-main branch]
2020-08-26 14:16:05 -04:00
Ethan Geller
2ee51b0fa1 #jira UEAU-544
Support for UObject literals in metasounds.
#rb phil.popp

[CL 14109099 by Ethan Geller in ue5-main branch]
2020-08-13 19:07:41 -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
Rob Gay
237203e150 - Add frontend-side connection support in MetasoundEditor
- Swap I/O detail customization groups for categories
#rb ethan.geller
#jira UEAU-527

[CL 13941091 by Rob Gay in ue5-main branch]
2020-07-23 23:21:12 -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
ab72512ab2 Implement Translation Layer between Metasound Document Model & EdGraph Part 1
- Build EdGraphNodes from registry
- Display Metasound Metadata in custom details panel
- Fix namespacing
- Add input/output nodes scaffolding to MetasoundEditorGraph
#jira UEAU-527
#rb ethan.geller

[CL 13926036 by Rob Gay in ue5-main branch]
2020-07-22 14:52:03 -04:00
Ethan Geller
d2e5a15223 #jira none
Add import logic for JSON parsing.
#rb none

[CL 13903378 by Ethan Geller in ue5-main branch]
2020-07-20 21:26:45 -04:00
Ethan Geller
2960b7679a #jira UE-95593
Fix for linker error on string literal on linux. Move implementation of the string literal from DECLARE_METASOUND_DATA_TYPE to REGISTER_METASOUND_DATATYPE.
#rb phil.popp, rob.gay

[CL 13902707 by Ethan Geller in ue5-main branch]
2020-07-20 20:32:01 -04:00
Ethan Geller
fdd6146f8f #jira none
Add APIs to FGraphHandle to push literals to inputs.
#fyi rob.gay, phil.popp

[CL 13891284 by Ethan Geller in ue5-main branch]
2020-07-20 00:58:04 -04:00
Ethan Geller
a03703a060 #jira UEAU-471
1) The node registry and METASOUND_REGISTER_NODE(FMyNodeType)
2) The datatype registry and REGISTER_METASOUND_DATATYPE(FMyDataType) (which I have to rename to METASOUND_REGISTER_DATATYPE)
3) Integration of literals, which are handled with FDataTypeLiteralParam and serialized out with FMetasoundLiteralDescription , and can be expanded to pass in a UObject*/TArray<UObject*> in the future
4) And finally, the full construction of an arbitrary graph to build operators out of in Metasound::Frontend::FGraphHandle::BuildOperator, which needs a sample rate/frame count per callback to work.

#rb rob.gay, phil.popp

[CL 13891250 by Ethan Geller in ue5-main branch]
2020-07-20 00:05:22 -04:00
phil popp
322cc9d194 CIS fixes for android/linux
#rb none
#jira none
#fyi Ethan.Geller

[CL 13890229 by phil popp in ue5-main branch]
2020-07-18 15:37:39 -04:00