Navigation
API > API/Plugins > API/Plugins/MetasoundEngine
Base implementation of MetaSound builder
| Name | UMetaSoundBuilderBase |
| Type | class |
| Header File | /Engine/Plugins/Runtime/Metasound/Source/MetasoundEngine/Public/MetasoundBuilderBase.h |
| Include Path | #include "MetasoundBuilderBase.h" |
Syntax
UCLASS (MinimalAPI, Abstract, BlueprintType, Transient,
Meta=(DisplayName="MetaSound Builder Base"))
class UMetaSoundBuilderBase : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UMetaSoundBuilderBase
Derived Classes
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| aligned | path keys kept | MetasoundBuilderBase.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BuilderReloadDelegate | Metasound::Engine::FOnBuilderReload | MetasoundBuilderBase.h | ||
| LastTransactionRegistered | int32 | MetasoundBuilderBase.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMetaSoundBuilderNodeOutputHandle AddGraphInputNode
(
FName Name, |
Adds a graph input node with the given name, DataType, and sets the graph input to default value. | MetasoundBuilderBase.h |
|
FMetaSoundBuilderNodeInputHandle AddGraphOutputNode
(
FName Name, |
Adds a graph output node with the given name, DataType, and sets output node's input to default value. | MetasoundBuilderBase.h |
|
void AddGraphPage
(
FName PageName, |
Adds a graph page to the given builder's document. | MetasoundBuilderBase.h | |
void AddGraphVariable
(
FName Name, |
Adds a graph variable node with the given name, DataType, and sets to default value. | MetasoundBuilderBase.h |
|
FMetaSoundNodeHandle AddGraphVariableGetDelayedNode
(
FName Name, |
Adds a graph variable node with the given name, DataType, and sets to default value. | MetasoundBuilderBase.h |
|
FMetaSoundNodeHandle AddGraphVariableGetNode
(
FName Name, |
Adds a graph variable node with the given name, DataType, and sets to default value. | MetasoundBuilderBase.h |
|
FMetaSoundNodeHandle AddGraphVariableSetNode
(
FName Name, |
Adds a graph variable node with the given name, DataType, and sets to default value. | MetasoundBuilderBase.h |
|
void AddInterface
(
FName InterfaceName, |
Adds an interface registered with the given name to the graph, adding associated input and output nodes. | MetasoundBuilderBase.h |
|
FMetaSoundNodeHandle AddNode
(
const TScriptInterface< IMetaSoundDocumentInterface >& NodeClass, |
Adds a node to the graph using the provided MetaSound asset as its defining NodeClass. | MetasoundBuilderBase.h |
|
FMetaSoundNodeHandle AddNodeByClassName
(
const FMetasoundFrontendClassName& ClassName, |
MetasoundBuilderBase.h | ||
FMetaSoundNodeHandle AddNodeByClassName
(
const FMetasoundFrontendClassName& ClassName, |
Adds node referencing the highest native class version of the given class name to the document. | MetasoundBuilderBase.h |
|
void AddTransactionListener
(
TSharedRef< Metasound::Frontend::IDocumentBuilderTransactionListener > BuilderListener |
Adds transaction listener which allows objects to respond to when certain graph operations are applied from anywhere (adding or removing nodes, edges, pages, etc.) Currently there is no guarantee all transactions will be represented until the Controller API is fully deprecated! (ex. if a node or edge is added or removed via a controller API call, the transaction will be missed). | MetasoundBuilderBase.h | |
virtual TScriptInterface< IMetaSoundDocumentInterface > Build
(
UObject* Parent, |
MetasoundBuilderBase.h |
|
|
TScriptInterface< IMetaSoundDocumentInterface > Build
(
const FMetaSoundBuilderOptions& Options |
MetasoundBuilderBase.h | ||
void BuildAndOverwriteMetaSound
(
TScriptInterface< IMetaSoundDocumentInterface > ExistingMetaSound, |
Copies a transient MetaSound with the provided builder options, copying the underlying MetaSound managed by this builder and registering it with the MetaSound Node Registry as a unique name. | MetasoundBuilderBase.h |
|
virtual TScriptInterface< IMetaSoundDocumentInterface > BuildNewMetaSound
(
FName NameBase |
Builds a transient MetaSound with the provided builder options, copying the underlying MetaSound managed by this builder and registering it with the MetaSound Node Registry as a unique class. | MetasoundBuilderBase.h |
|
bool ClearMemberMetadata
(
const FGuid& InMemberID |
MetasoundBuilderBase.h | ||
virtual bool ConformObjectToDocument() |
MetasoundBuilderBase.h | ||
void ConnectGraphInputToNode
(
const FName& GraphInputName, |
MetasoundBuilderBase.h | ||
void ConnectNamedNodeOutputToGraphOutput
(
const FMetaSoundNodeHandle& SourceNode, |
Connects a given node's named output to the graph output with the given handle. | MetasoundBuilderBase.h |
|
void ConnectNamedNodeOutputToNamedGraphOutput
(
const FMetaSoundNodeHandle& SourceNode, |
Connects a given node's named output to the graph output with the given name. | MetasoundBuilderBase.h |
|
TArray< FMetaSoundBuilderNodeOutputHandle > ConnectNodeInputsToMatchingGraphInterfaceInputs
(
const FMetaSoundNodeHandle& NodeHandle, |
Connects a given node's inputs to all graph inputs for shared interfaces implemented on both the node's referenced class and the builder's MetaSound graph. Returns outputs of connected input nodes. | MetasoundBuilderBase.h |
|
void ConnectNodeInputToGraphInput
(
FName GraphInputName, |
Connects a given node input to the graph input with the given name. | MetasoundBuilderBase.h |
|
TArray< FMetaSoundBuilderNodeInputHandle > ConnectNodeOutputsToMatchingGraphInterfaceOutputs
(
const FMetaSoundNodeHandle& NodeHandle, |
Connects a given node's outputs to all graph outputs for shared interfaces implemented on both the node's referenced class and the builder's MetaSound graph. Returns inputs of connected output nodes. | MetasoundBuilderBase.h |
|
void ConnectNodeOutputToGraphOutput
(
FName GraphOutputName, |
Connects a given node output to the graph output with the given name. | MetasoundBuilderBase.h |
|
void ConnectNodes
(
const FMetaSoundBuilderNodeOutputHandle& NodeOutputHandle, |
Connects node output to a node input. | MetasoundBuilderBase.h |
|
void ConnectNodes
(
const FMetaSoundNodeHandle& SourceNode, |
MetasoundBuilderBase.h | ||
void ConnectNodesByInterfaceBindings
(
const FMetaSoundNodeHandle& FromNodeHandle, |
Connects two nodes using defined MetaSound Interface Bindings registered with the MetaSound Interface registry. | MetasoundBuilderBase.h |
|
void ConnectNodeToGraphOutput
(
const FMetaSoundNodeHandle& SourceNode, |
MetasoundBuilderBase.h | ||
void ConnectNodeToGraphOutput
(
const FMetaSoundNodeHandle& SourceNode, |
MetasoundBuilderBase.h | ||
bool ContainsNode
(
const FMetaSoundNodeHandle& Node |
Returns whether node exists. | MetasoundBuilderBase.h |
|
bool ContainsNodeInput
(
const FMetaSoundBuilderNodeInputHandle& Input |
Returns whether node input exists. | MetasoundBuilderBase.h |
|
bool ContainsNodeOutput
(
const FMetaSoundBuilderNodeOutputHandle& Output |
Returns whether node output exists. | MetasoundBuilderBase.h |
|
void ConvertFromPreset
(
EMetaSoundBuilderResult& OutResult |
Converts this preset to a fully accessible MetaSound; sets result to succeeded if it was converted successfully and failed if it was not. | MetasoundBuilderBase.h |
|
void ConvertToPreset
(
const TScriptInterface< IMetaSoundDocumentInterface >& ReferencedNodeClass, |
Convert this builder to a MetaSound source preset with the given referenced source builder. | MetasoundBuilderBase.h |
|
void DisconnectNodeInput
(
const FMetaSoundBuilderNodeInputHandle& NodeInputHandle, |
Removes connection to a given node input. Returns success if connection was removed, failed if not. | MetasoundBuilderBase.h |
|
void DisconnectNodeOutput
(
const FMetaSoundBuilderNodeOutputHandle& NodeOutputHandle, |
Removes all connections from a given node output. Returns success if all connections were removed, failed if not. | MetasoundBuilderBase.h |
|
void DisconnectNodes
(
const FMetaSoundBuilderNodeOutputHandle& NodeOutputHandle, |
Disconnects node output to a node input. Returns success if connection was removed, failed if not. | MetasoundBuilderBase.h |
|
void DisconnectNodesByInterfaceBindings
(
const FMetaSoundNodeHandle& FromNodeHandle, |
Disconnects two nodes using defined MetaSound Interface Bindings registered with the MetaSound Interface registry. | MetasoundBuilderBase.h |
|
const FMetaSoundFrontendGraphComment * FindGraphComment
(
const FGuid& InCommentID |
MetasoundBuilderBase.h | ||
FMetaSoundFrontendGraphComment * FindGraphComment
(
const FGuid& InCommentID |
MetasoundBuilderBase.h | ||
FMetaSoundNodeHandle FindGraphInputNode
(
FName InputName, |
MetasoundBuilderBase.h | ||
FMetaSoundNodeHandle FindGraphInputNode
(
FName InputName, |
Returns graph input node by the given name if it exists, or an invalid handle if not found. | MetasoundBuilderBase.h |
|
FMetaSoundNodeHandle FindGraphOutputNode
(
FName OutputName, |
MetasoundBuilderBase.h | ||
FMetaSoundNodeHandle FindGraphOutputNode
(
FName OutputName, |
Returns graph output node by the given name if it exists, or an invalid handle if not found. | MetasoundBuilderBase.h |
|
TArray< FMetaSoundNodeHandle > FindInterfaceInputNodes
(
FName InterfaceName, |
MetasoundBuilderBase.h |
|
|
TArray< FMetaSoundNodeHandle > FindInterfaceOutputNodes
(
FName InterfaceName, |
MetasoundBuilderBase.h |
|
|
UMetaSoundFrontendMemberMetadata * FindMemberMetadata
(
const FGuid& InMemberID |
MetasoundBuilderBase.h | ||
FMetasoundFrontendVersion FindNodeClassVersion
(
const FMetaSoundNodeHandle& NodeHandle, |
Returns output's parent node if the input is valid, otherwise returns invalid node handle. | MetasoundBuilderBase.h |
|
FMetaSoundBuilderNodeInputHandle FindNodeInputByName
(
const FMetaSoundNodeHandle& NodeHandle, |
Returns node input by the given name if it exists, or an invalid handle if not found. | MetasoundBuilderBase.h |
|
FMetaSoundNodeHandle FindNodeInputParent
(
const FMetaSoundBuilderNodeInputHandle& InputHandle, |
Returns input's parent node if the input is valid, otherwise returns invalid node handle. | MetasoundBuilderBase.h |
|
TArray< FMetaSoundBuilderNodeInputHandle > FindNodeInputs
(
const FMetaSoundNodeHandle& NodeHandle, |
Returns all node inputs. | MetasoundBuilderBase.h |
|
TArray< FMetaSoundBuilderNodeInputHandle > FindNodeInputsByDataType
(
const FMetaSoundNodeHandle& NodeHandle, |
Returns node inputs by the given DataType (ex. "Audio", "Trigger", "String", "Bool", "Float", "Int32", etc.). | MetasoundBuilderBase.h |
|
FMetaSoundBuilderNodeOutputHandle FindNodeOutputByName
(
const FMetaSoundNodeHandle& NodeHandle, |
Returns node output by the given name. | MetasoundBuilderBase.h |
|
FMetaSoundNodeHandle FindNodeOutputParent
(
const FMetaSoundBuilderNodeOutputHandle& OutputHandle, |
Returns output's parent node if the input is valid, otherwise returns invalid node handle. | MetasoundBuilderBase.h |
|
TArray< FMetaSoundBuilderNodeOutputHandle > FindNodeOutputs
(
const FMetaSoundNodeHandle& NodeHandle, |
Returns all node outputs. | MetasoundBuilderBase.h |
|
TArray< FMetaSoundBuilderNodeOutputHandle > FindNodeOutputsByDataType
(
const FMetaSoundNodeHandle& NodeHandle, |
Returns node outputs by the given DataType (ex. "Audio", "Trigger", "String", "Bool", "Float", "Int32", etc.). | MetasoundBuilderBase.h |
|
FMetaSoundFrontendGraphComment & FindOrAddGraphComment
(
const FGuid& InCommentID |
MetasoundBuilderBase.h | ||
virtual const UClass & GetBaseMetaSoundUClass() |
Returns the base class registered with the MetaSound UObject registry. | MetasoundBuilderBase.h | |
FMetaSoundFrontendDocumentBuilder & GetBuilder() |
MetasoundBuilderBase.h | ||
Metasound::Frontend::FDocumentModifyDelegates & GetBuilderDelegates() |
MetasoundBuilderBase.h | ||
virtual const UClass & GetBuilderUClass() |
MetasoundBuilderBase.h | ||
const FMetaSoundFrontendDocumentBuilder & GetConstBuilder() |
MetasoundBuilderBase.h | ||
FMetasoundFrontendLiteral GetGraphInputDefault
(
FName InputName, |
Gets the graph input's default literal value. | MetasoundBuilderBase.h |
|
TArray< FName > GetGraphInputNames
(
EMetaSoundBuilderResult& OutResult |
Gets names of all graph inputs. | MetasoundBuilderBase.h |
|
TArray< FName > GetGraphOutputNames
(
EMetaSoundBuilderResult& OutResult |
Gets names of all graph outputs. | MetasoundBuilderBase.h |
|
FMetasoundFrontendLiteral GetGraphVariableDefault
(
FName VariableName, |
Gets the graph variable's default literal value. | MetasoundBuilderBase.h |
|
int32 GetLastTransactionRegistered() |
MetasoundBuilderBase.h | ||
FMetasoundFrontendLiteral GetNodeInputClassDefault
(
const FMetaSoundBuilderNodeInputHandle& InputHandle, |
Returns node input's class literal value if set, otherwise fails and returns default literal. | MetasoundBuilderBase.h |
|
void GetNodeInputData
(
const FMetaSoundBuilderNodeInputHandle& InputHandle, |
Returns node input's data if valid (including things like name and datatype). | MetasoundBuilderBase.h |
|
FMetasoundFrontendLiteral GetNodeInputDefault
(
const FMetaSoundBuilderNodeInputHandle& InputHandle, |
Returns node input's literal value if set on graph, otherwise fails and returns default literal. | MetasoundBuilderBase.h |
|
bool GetNodeInputIsConstructorPin
(
const FMetaSoundBuilderNodeInputHandle& InputHandle |
Returns whether the given node input is a constructor pin. | MetasoundBuilderBase.h |
|
void GetNodeOutputData
(
const FMetaSoundBuilderNodeOutputHandle& OutputHandle, |
Returns node output's data if valid (including things like name and datatype). | MetasoundBuilderBase.h |
|
bool GetNodeOutputIsConstructorPin
(
const FMetaSoundBuilderNodeOutputHandle& OutputHandle |
Returns whether the given node output is a constructor pin. | MetasoundBuilderBase.h |
|
UObject * GetReferencedPresetAsset() |
Return the parent asset referenced by this preset builder. Returns nullptr if the builder is not a preset. | MetasoundBuilderBase.h |
|
FMetasoundFrontendClassName GetRootGraphClassName() |
Returns the MetaSound asset's graph class name (used by the MetaSound Node Class Registry) | MetasoundBuilderBase.h |
|
void Initialize
(
TScriptInterface< IMetaSoundDocumentInterface >& DocInterface |
MetasoundBuilderBase.h | ||
void Initialize () |
Resets FrontendBuilder instance, creating a transient MetaSound document that is managed by this UObject Builder. | MetasoundBuilderBase.h | |
virtual void InitNodeLocations() |
Initializes and ensures all nodes have a position (required prior to exporting to an asset if expected to be viewed in the editor). | MetasoundBuilderBase.h | |
void InjectInputTemplateNodes
(
bool bForceNodeCreation, |
Injects template nodes between builder's document inputs not connected to existing template inputs, copying locational data from the represented input metadata. | MetasoundBuilderBase.h | |
bool InterfaceIsDeclared
(
FName InterfaceName |
Returns if a given interface is declared. | MetasoundBuilderBase.h |
|
bool IsPreset() |
Returns whether this is a preset. | MetasoundBuilderBase.h |
|
bool NodeInputIsConnected
(
const FMetaSoundBuilderNodeInputHandle& InputHandle |
Returns if a given node input has connections. | MetasoundBuilderBase.h |
|
bool NodeOutputIsConnected
(
const FMetaSoundBuilderNodeOutputHandle& OutputHandle |
Returns if a given node output is connected. | MetasoundBuilderBase.h |
|
bool NodesAreConnected
(
const FMetaSoundBuilderNodeOutputHandle& OutputHandle, |
Returns if a given node output and node input are connected. | MetasoundBuilderBase.h |
|
path keys kept and priming managed internally void ReloadCache
(
bool bPrimeCache |
MetasoundBuilderBase.h | ||
bool RemoveGraphComment
(
const FGuid& InCommentID |
MetasoundBuilderBase.h | ||
void RemoveGraphInput
(
FName Name, |
Removes input from all paged graphs if it exists; sets result to succeeded if it was removed and failed if it was not. | MetasoundBuilderBase.h |
|
void RemoveGraphOutput
(
FName Name, |
Removes output from all paged graphs if it exists; sets result to succeeded if it was removed and failed if it was not. | MetasoundBuilderBase.h |
|
void RemoveGraphPage
(
FName Name, |
Removes a graph page with the given name, setting result to failed if the name was not found or was invalid. | MetasoundBuilderBase.h | |
void RemoveGraphVariable
(
FName Name, |
Removes graph variable from the current build graph if it exists; sets result to succeeded if it was removed and failed if it was not. | MetasoundBuilderBase.h |
|
void RemoveInterface
(
FName InterfaceName, |
Removes the interface with the given name from the builder's MetaSound. | MetasoundBuilderBase.h |
|
void RemoveNode
(
const FMetaSoundNodeHandle& NodeHandle, |
Removes node and any associated connections from the current build graph. | MetasoundBuilderBase.h |
|
void RemoveNodeInputDefault
(
const FMetaSoundBuilderNodeInputHandle& InputHandle, |
Removes node input literal default if set, reverting the value to be whatever the node class defaults the value to. | MetasoundBuilderBase.h |
|
void RemoveTransactionListener
(
FDelegateHandle BuilderListenerDelegateHandle |
Explicitly remove transaction listener from builder (see corresponding 'AddTransactionListener' function). | MetasoundBuilderBase.h | |
void RemoveUnusedDependencies() |
Removes dependencies in document that are no longer referenced by nodes. | MetasoundBuilderBase.h |
|
void RenameRootGraphClass
(
const FMetasoundFrontendClassName& InName |
MetasoundBuilderBase.h | ||
void ResetGraphPages
(
bool bClearDefaultPage |
Removes all graph pages except the default. If bClearDefaultPage is true, clears the default graph page implementation. | MetasoundBuilderBase.h | |
void SetAuthor
(
const FString& InAuthor |
Sets the author of the MetaSound. | MetasoundBuilderBase.h | |
void SetGraphInputAccessType
(
FName InputName, |
Disconnects the given graph input's respective template nodes and sets the graph input's AccessType should it not match the current AccessType. | MetasoundBuilderBase.h |
|
void SetGraphInputDataType
(
FName InputName, |
Disconnects the given graph input's respective template nodes and sets the graph input's DataType should it not match the current DataType. | MetasoundBuilderBase.h |
|
void SetGraphInputDefault
(
FName InputName, |
Sets the input node's default value, overriding the default provided by the referenced graph if the graph is a preset. | MetasoundBuilderBase.h |
|
void SetGraphInputName
(
FName InputName, |
Sets the given graph input's name to the new name. | MetasoundBuilderBase.h |
|
void SetGraphOutputAccessType
(
FName OutputName, |
Disconnects the given graph output's respective template nodes and sets the graph output's AccessType should it not match the current AccessType. | MetasoundBuilderBase.h |
|
void SetGraphOutputDataType
(
FName OutputName, |
Disconnects the given graph output's respective template nodes and sets the graph output's DataType should it not match the current DataType. | MetasoundBuilderBase.h |
|
void SetGraphOutputName
(
FName OutputName, |
Sets the given graph output's name to the new name. | MetasoundBuilderBase.h |
|
void SetMemberMetadata
(
UMetaSoundFrontendMemberMetadata& NewMetadata |
MetasoundBuilderBase.h | ||
void SetNodeComment
(
const FMetaSoundNodeHandle& InNodeHandle, |
MetasoundBuilderBase.h | ||
void SetNodeCommentVisible
(
const FMetaSoundNodeHandle& InNodeHandle, |
MetasoundBuilderBase.h | ||
void SetNodeInputDefault
(
const FMetaSoundBuilderNodeInputHandle& NodeInputHandle, |
Sets the node's input default value (used if no connection to the given node input is present) | MetasoundBuilderBase.h |
|
void SetNodeInputDefault
(
const FMetaSoundNodeHandle& NodeHandle, |
Templated convenience function for setting the node's input default value (used if no connection to the given node input is present) | MetasoundBuilderBase.h | |
void SetNodeLocation
(
const FMetaSoundNodeHandle& InNodeHandle, |
MetasoundBuilderBase.h | ||
void SetNodeLocation
(
const FMetaSoundNodeHandle& InNodeHandle, |
MetasoundBuilderBase.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginDestroy() |
MetasoundBuilderBase.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BuildAndOverwriteMetaSoundInternal
(
TScriptInterface< IMetaSoundDocumentInterface > ExistingMetaSound, |
MetasoundBuilderBase.h | ||
UClassType & BuildInternal
(
UObject* Parent, |
Runs build, conforming the document and corresponding object data on a MetaSound UObject to that managed by this builder. | MetasoundBuilderBase.h | |
virtual void CreateTransientBuilder() |
MetasoundBuilderBase.h | ||
UMetaSoundBuilderDocument * CreateTransientDocumentObject() |
MetasoundBuilderBase.h | ||
virtual void InitDelegates
(
Metasound::Frontend::FDocumentModifyDelegates& OutDocumentDelegates |
MetasoundBuilderBase.h | ||
void InvalidateCache
(
bool bPrimeCache |
MetasoundBuilderBase.h | ||
virtual void OnAssetReferenceAdded
(
TScriptInterface< IMetaSoundDocumentInterface > DocInterface |
MetasoundBuilderBase.h | ||
virtual void OnRemovingAssetReference
(
TScriptInterface< IMetaSoundDocumentInterface > DocInterface |
MetasoundBuilderBase.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void RegisterGraphIfOutstandingTransactions
(
UObject& InMetaSound |
Only registers provided MetaSound's graph class and referenced graphs recursively if it has yet to be registered or if it has an attached builder reporting outstanding transactions that have yet to be registered. | MetasoundBuilderBase.h |