MetasoundFrontend

Choose your operating system:

Windows

macOS

Linux

Classes

Name

Description

Public struct

ConstructorTakesNodeInitData

Utility class to ensure that a node class can use the constructor the frontend uses.

Public class

FAccessPoint

FAccessPoint acts as a lifecycle tracker for the TAccessPtrs it creates.

Public struct

FAccessToken

The access token mirrors the lifespan of a object in a non-intrusive manner.

Public class

FAddressRouter

Basic router that takes an FName address,.

Public class

FArrayIndexShuffler

Public class

FArrayRandomGet

Public class

FAudioBuffer

FAudioBuffer

Public class

FAutoUpdateRootGraph

Public class

FClassAccessPtr

Public struct

FClassInterfaceUpdates

Provides list of interface members that have been added or removed when querying if a node's class has been updated

Public struct

FConnectability

Struct that indicates whether an input and an output can be connected, and whether an intermediate node is necessary to connect the two.

Public class

FConstClassAccessPtr

Public struct

FConstDocumentAccess

Container holding various access pointers to the FMetasoundFrontendDocument.

Public class

FConstDocumentAccessPtr

Public class

FConstGraphClassAccessPtr

Public class

FConstNodeAccessPtr

Public struct

FConverterNodeInfo

Public struct

FConverterNodeRegistryKey

Public struct

FConverterNodeRegistryValue

Public struct

FCreateDataReferenceWithCopy

Data type creation policy to create by copy construction.

Public struct

FCreateDataReferenceWithLiteral

Data type creation policy to create by literal construction.

Public class

FDataTransmissionCenter

Main entry point for all sender/receiver registration.

Public struct

FDataTypeRegistryInfo

FDataTypeRegsitryInfo contains runtime inspectable behavior of a registered MetaSound data type.

Public struct

FDefaultLiteralNodeConstructorParams

Public struct

FDefaultNamedVertexNodeConstructorParams

Base implementation for NodeConstructorCallbacks.

Public struct

FDefaultNamedVertexWithLiteralNodeConstructorParams

Public struct

FDocumentAccess

Container holding various access pointers to the FMetasoundFrontendDocument.

Public class

FDocumentAccessPtr

Public class

FFilterClassesByClassID

Public class

FFilterClassesByInputVertexDataType

Public class

FFilterClassesByOutputVertexDataType

Public class

FFrontendGraph

FFrontendGraph is a utility graph for use in the frontend.

Public class

FFrontendGraphBuilder

FFrontendGraphBuilder builds a FFrontendGraph from a FMetasoundDoucment or FMetasoundFrontendClass.

Public class

FFrontendQuery

FFrontendQuery contains a set of query steps which produce a FFrontendQuerySelectionView

Public struct

FFrontendQueryEntry

FFrontendQueryEntry represents one value in the query.

Public struct

FFrontendQueryKey

FFrontendQueryKey allows entries to be partitioned by their key.

Public class

FFrontendQueryStep

FFrontendQueryStep wraps all the support IFrontenQueryStep interfaces and supplies unified `ExecuteStep(...)_ member function.

Public class

FGraphClassAccessPtr

Public class

FGraphLinter

Public class

FInterfaceRegistryTransaction

Public class

FMapClassesToClassName

Public class

FMapRegistrationEventsToNodeRegistryKeys

Partitions node registration events by their node registration keys.

Public class

FMapToFullClassName

Public class

FMapToNull

Public class

FMetasoundAssetBase

FMetasoundAssetBase is intended to be a mix-in subclass for UObjects which utilize Metasound assets.

Public struct

FMetaSoundAssetRegistrationOptions

Public struct UStruct

FMetasoundFrontendClass

Public struct UStruct

FMetasoundFrontendClassEnvironmentVariable

Public struct UStruct

FMetasoundFrontendClassEnvironmentVariableMetadata

Public struct UStruct

FMetasoundFrontendClassInput

Contains info for input vertex of a Metasound class.

Public struct UStruct

FMetasoundFrontendClassInterface

Public struct UStruct

FMetasoundFrontendClassMetadata

Public struct UStruct

FMetasoundFrontendClassName

Name of a Metasound class.

Public struct UStruct

FMetasoundFrontendClassOutput

Contains info for output vertex of a Metasound class.

Public struct UStruct

FMetasoundFrontendClassStyle

Public struct UStruct

FMetasoundFrontendClassStyleDisplay

Information regarding how to display a node class.

Public struct UStruct

FMetasoundFrontendClassVariable

Contains info for variable vertex of a Metasound class.

Public struct UStruct

FMetasoundFrontendClassVertex

Public struct UStruct

FMetasoundFrontendDocument

Public struct UStruct

FMetasoundFrontendDocumentMetadata

Public struct UStruct

FMetasoundFrontendEdge

Represents a single connection from one point to another.

Public struct UStruct

FMetasoundFrontendEditorData

Public struct UStruct

FMetasoundFrontendGraph

Public struct UStruct

FMetasoundFrontendGraphClass

Public struct UStruct

FMetasoundFrontendGraphStyle

Styling for a class.

Public struct UStruct

FMetasoundFrontendInterface

Public struct UStruct

FMetasoundFrontendInterfaceStyle

Public struct UStruct

FMetasoundFrontendLiteral

Check that the static_cast<>s above are using the correct type.

Public struct UStruct

FMetasoundFrontendNode

An FMetasoundFrontendNode represents a single instance of a FMetasoundFrontendClass.

Public struct UStruct

FMetasoundFrontendNodeInterface

Public struct UStruct

FMetasoundFrontendNodeStyle

Public struct UStruct

FMetasoundFrontendNodeStyleDisplay

Public class

FMetasoundFrontendRegistryContainer

Singleton registry for all types and nodes.

Public struct UStruct

FMetasoundFrontendStyleEdge

Styling for edges.

Public struct UStruct

FMetasoundFrontendStyleEdgeClass

Styling for a class of edges dependent upon edge data type.

Public struct UStruct

FMetasoundFrontendVariable

Contains graph data associated with a variable.

Public struct UStruct

FMetasoundFrontendVersion

General purpose version info for Metasound Frontend objects.

Public struct UStruct

FMetasoundFrontendVersionNumber

General purpose version number for Metasound Frontend objects.

Public struct UStruct

FMetasoundFrontendVertex

An FMetasoundFrontendVertex provides a named connection point of a node.

Public struct UStruct

FMetasoundFrontendVertexLiteral

Contains a default value for a single vertex ID.

Public struct UStruct

FMetasoundFrontendVertexMetadata

Metadata associated with a vertex.

Public class

FMetaSoundParameterTransmitter

FMetaSoundParameterTransmitter provides a communication interface for sending values to a MetaSound instance.

Public class

FMissingOutputNodeInputReferenceError

FMissingOutputNodeInputReferenceError

Public class

FModifyRootGraphInterfaces

Adds or swaps document members (inputs, outputs) and removing any document members where necessary and adding those missing.

Public class

FNodeAccessPtr

Public struct

FNodeClassInfo

FNodeClassInfo contains a minimal set of information needed to find and query node classes.

Public class

FNodeClassRegistrationEvents

Streams node classes that have been newly registered or unregistered since last call to Stream()

Public class

FNodeRegistryTransaction

Public class

FRebuildPresetRootGraph

Completely rebuilds the graph connecting a preset's inputs to the reference document's root graph.

Public struct

FReceiverInitParams

Public class

FReduceClassesToHighestVersion

Public class

FReduceRegistrationEventsToCurrentStatus

Reduces registration events mapped to the same key by inspecting their add/remove state in order to determine their final state.

Public class

FRegenerateAssetClassName

Regenerates the class' name, effectively causing the class to get registered as a new class (useful for when an asset is duplicated).

Public class

FSendAddress

Public struct

FSenderInitParams

Public class

FSharedStateRandomGetManager

Public class

FSharedStateShuffleManager

Public class

FSortClassesByVersion

Public class

FSynchronizeAssetClassDisplayName

Synchronizes the document's root graph's display name with that of the asset.

Public class

FTime

Strongly typed time class.

Public class

FTransformRegistrationEventsToClasses

Transforms a registration event into a FMetasoundFrontendClass.

Public struct

FTransmissionDataChannelFactory

Public class

FTrigger

FTrigger supports sample accurate triggering, sample accurate internal tracking, and a convenient interface for running trigger-aligned audio signal processing routines on buffers..

Public class

FUpdateInterface

Public class

FUpdateRootGraphInterface

Updates document's given interface to the most recent version.

Public class

FVersionDocument

Base class for versioning a document.

Public class

IAudioDataType

This empty base class is used so that we can specialize various nodes (Send, Receive, etc.) for subclasses of IAudioDatatype.

Public class

IDataChannel

This contains an intermediary buffer for use between the send and receive nodes.

Public class

IDataTransmissionBase

Base class that defines shared state and utilities for senders, receivers, and the shared channel state.

Public class

IDataTypeRegistry

Public class

IDataTypeRegistryEntry

Registry entry interface for a MetaSound data type.

Public class

IDocumentAccessor

IDocumentAccessor describes an interface for various I*Controllers to interact with each other without exposing that interface publicly or requiring friendship between various controller implementation classes.

Public class

IDocumentController

An IDocumentController provides methods for querying and manipulating a Metasound document.

Public class

IDocumentTransform

Interface for transforms applied to documents.

Public struct

IEnumDataTypeInterface

Interface for metadata of a registered MetaSound enum type.

Public class

IFrontendQueryFilterStep

Interface for a query step which filters entries.

Public class

IFrontendQueryLimitStep

Public class

IFrontendQueryMapStep

Interface for a query step which maps entries to keys.

Public class

IFrontendQueryReduceStep

Interface for a query step which reduces entries with the same key.

Public class

IFrontendQueryScoreStep

Interface for a query step which scores entries.

Public class

IFrontendQuerySortStep

Interface for a query step which sorts entries.

Public class

IFrontendQueryStep

Interface for an individual step in a query

Public class

IFrontendQueryStreamStep

Interface for a query step which streams new entries.

Public class

IFrontendQueryTransformStep

Interface for a query step which transforms an entry's value.

Public class

IGraphController

An IGraphController provides methods for querying and manipulating a Metasound graph.

Public class

IGraphTransform

Interface for transforms applied to a graph.

Public class

IInputController

An IInputController provides methods for querying and manipulating a metasound input vertex.

Public class

IInterfaceRegistry

Public class

IInterfaceRegistryEntry

Public class

IMetaSoundAssetManager

Public struct

InitSharedStateArgs

Public class

INodeController

An INodeController provides methods for querying and manipulating a Metasound node.

Public class

INodeRegistryEntry

INodeRegistryEntry declares the interface for a node registry entry.

Public class

IOutputController

An IOutputController provides methods for querying and manipulating a metasound output vertex.

Public class

IReceiver

This is a handle to something that will retrieve a datatype.

Public class

ISearchEngine

Interface for frontend search engine.

Public class

ISender

This is a handle to something that will retrieve a datatype.

Public class

IVariableController

Public class

TAccessPtr

TAccessPtr

Public class

TArrayConcatNode

Public class

TArrayConcatOperator

TArrayConcatOperator concatenates two arrays on trigger.

Public struct

TArrayElementType

Retrieve the ElementType from an ArrayType.

Public class

TArrayGetNode

Public class

TArrayGetOperator

TArrayGetOperator copies a value from the array to the output when a trigger occurs.

Public struct

TArrayNodeSupport

TArrayNodeSupport acts as a configuration sturct to determine whether a particular TArrayNode can be instantiated for a specific ArrayType.

Public class

TArrayNumNode

Public class

TArrayNumOperator

TArrayNumOperator gets the number of elements in an Array.

Public class

TArrayRandomGetNode

Public class

TArrayRandomGetOperator

Public class

TArraySetNode

Public class

TArraySetOperator

TArraySetOperator sets an element in an array to a specific value.

Public class

TArrayShuffleNode

Public class

TArrayShuffleOperator

TArrayShuffleOperator shuffles an array on trigger and outputs values sequentially on "next".

Public class

TArraySubsetNode

Public class

TArraySubsetOperator

TArraySubsetOperator slices an array on trigger.

Public class

TAudioDataChannel

Public class

TAudioReceiver

Public class

TAudioSender

AUDIO SPECIALIZATIONS:

Public class

TAutoConverterNode

This convenience node can be registered and will invoke static_cast(FromDataType) every time it is executed, with a special case for enum <-> int32 conversions.

Public class

TCopyableDataChannel

Generic templated implementation of IDataChannel that can use for any copyable type.

Public struct

TEnableArrayNodes

Public struct

TEnableAutoArrayTypeRegistration

Enables or disables automatic registration of array types given a MetaSound data type.

Public struct

TEnableAutoConverterNodeRegistration

Enables or disables automatic registration of auto conversion nodes given a MetaSound data type.

Public struct

TEnableTransmission

Determines whether send/receive nodes are enabled for a specific data type.

Public struct

TEnableTransmissionNodeRegistration

Enables or disables send and receive node registration for a given MetaSound data type.

Public struct

TEnableVariables

Allow or disallow types to be registered as MetaSound Variables.

Public class

TEnum

Metasound Enum Wrapper

Public struct

TEnumEntry

Struct to hold each of the entries of the Enum.

Public struct

TEnumStringHelper

Metasound Enum String Helper

Public struct

TEnumStringHelperBase

CRTP base class for Enum String Helper type. Provides common code for all specializations.

Public struct

TEnumTraits

Public class

TInputNode

TInputNode represents an input to a metasound graph.

Public class

TInputOperator

A writable input and a readable output.

Public class

TInputOperatorFactory

TInputOperatorFactory initializes the DataType at construction.

Public struct

TIsAutoConvertible

Determines whether an auto converter node will be registered to convert between two types.

Public struct

TIsTransmittable

Helper utility to test if we can transmit a datatype between a send and a receive node.

Public struct

TLiteralArrayEnum

Returns the Array version of a literal type if it exists.

Public struct

TMetasoundDataTypeRegistration

Registration info for a data type.

Public class

TNonOperationalDataChannel

Public class

TNonOperationalReceiver

Public class

TNonOperationalSender

Generic templates:

Public class

TOutputNode

Public class

TPassThroughOperator

TPassThroughOperator supplies a readable input and a readable output.

Public class

TReceiveNode

Public class

TReceiver

Public class

TSender

Specializations for trivially copyable types:

Public class

TSendNode

Public struct

TTransmissionSupport

TTransmissionSupport determines whether the send/receive system is supported for a given data type.

Public struct

TVariablesSupport

Determine if data type supports necessary operations required of all MetaSound variable types.

Constants

Name

Description

Metasound::ArrayNodeRandomGetVertexNames::InputEnableSharedStateName

Metasound::ArrayNodeRandomGetVertexNames::InputEnableSharedStateTooltip

The global namespace that must be defined/undefined to wrap uses of the NS-prefixed macros below Creates an FText.

Metasound::ArrayNodeRandomGetVertexNames::InputNoRepeatOrderName

Metasound::ArrayNodeRandomGetVertexNames::InputNoRepeatOrderTooltip

The global namespace that must be defined/undefined to wrap uses of the NS-prefixed macros below Creates an FText.

Metasound::ArrayNodeRandomGetVertexNames::InputRandomArrayName

Metasound::ArrayNodeRandomGetVertexNames::InputRandomArrayTooltip

The global namespace that must be defined/undefined to wrap uses of the NS-prefixed macros below Creates an FText.

Metasound::ArrayNodeRandomGetVertexNames::InputSeedName

Metasound::ArrayNodeRandomGetVertexNames::InputSeedTooltip

The global namespace that must be defined/undefined to wrap uses of the NS-prefixed macros below Creates an FText.

Metasound::ArrayNodeRandomGetVertexNames::InputTriggerNextName

Metasound::ArrayNodeRandomGetVertexNames::InputTriggerNextTooltip

Metasound::ArrayNodeRandomGetVertexNames::InputTriggerResetName

Metasound::ArrayNodeRandomGetVertexNames::InputTriggerResetTooltip

The global namespace that must be defined/undefined to wrap uses of the NS-prefixed macros below Creates an FText.

Metasound::ArrayNodeRandomGetVertexNames::InputWeightsName

Metasound::ArrayNodeRandomGetVertexNames::InputWeightsTooltip

The global namespace that must be defined/undefined to wrap uses of the NS-prefixed macros below Creates an FText.

Metasound::ArrayNodeRandomGetVertexNames::OutputTriggerOnNextName

Metasound::ArrayNodeRandomGetVertexNames::OutputTriggerOnNextTooltip

The global namespace that must be defined/undefined to wrap uses of the NS-prefixed macros below Creates an FText.

Metasound::ArrayNodeRandomGetVertexNames::OutputTriggerOnResetName

Metasound::ArrayNodeRandomGetVertexNames::OutputTriggerOnResetTooltip

The global namespace that must be defined/undefined to wrap uses of the NS-prefixed macros below Creates an FText.

Metasound::ArrayNodeRandomGetVertexNames::OutputValueName

Metasound::ArrayNodeRandomGetVertexNames::OutputValueTooltip

The global namespace that must be defined/undefined to wrap uses of the NS-prefixed macros below Creates an FText.

Typedefs

Name

Description

FAudioBufferReadRef

FAudioBufferTypeInfo

FAudioBufferWriteRef

FBoolReadRef

FBoolTypeInfo

FBoolWriteRef

FClassInputAccessPtr

FClassOutputAccessPtr

FConstClassInputAccessPtr

FConstClassOutputAccessPtr

FConstDocumentHandle

FConstGraphAccessPtr

FConstGraphHandle

FConstInputHandle

FConstNodeHandle

FConstOutputHandle

FConstVariableAccessPtr

FConstVariableHandle

FConstVertexAccessPtr

FDocumentHandle

FFloatReadRef

FFloatTypeInfo

FFloatWriteRef

FFrontendQueryPartition

A FFrontendQueryPartition represents a set of entries associated with a single FFrontendQueryKey.

FFrontendQuerySelection

A FFrontendQuerySelection holds a map of keys to partitions.

FFrontendQueryValue

A FFrontendQueryValue contains data of interest.

FGraphAccessPtr

FGraphHandle

FInputHandle

MetasoundFrontend Handles are all TSharedRefs of various MetasoundFrontend Controllers.

FInputNodeConstructorParams

FInt32ReadRef

FInt32TypeInfo

FInt32WriteRef

FInterfaceRegistryKey

FIterateMetasoundFrontendClassFunction

FLiteralNodeConstructorParams

FNodeHandle

FNodeRegistryKey

FOutputHandle

FOutputNodeConstructorParams

FReceiveNodeAddressFunction

FReceiveNodeAddressFunction defines the function signature for callbacks to create send addresses.

FRegistryTransactionID

FSendAddressReadRef

FSendAddressTypeInfo

FSendAddressWriteRef

FStringReadRef

FStringTypeInfo

FStringWriteRef

FTimeReadRef

FTimeTypeInfo

FTimeWriteRef

FTriggerReadRef

FTriggerTypeInfo

FTriggerWriteRef

FVariableAccessPtr

FVariableHandle

FVariableNodeConstructorParams

FVertexAccessPtr

TReceiverPtr

TSenderPtr

Enums

Name

Description

Public enum UEnum

EMetasoundFrontendClassType

Public enum UEnum

EMetasoundFrontendLiteralType

The type of a given literal for an input value.

Public enum UEnum

EMetasoundFrontendNodeStyleDisplayVisibility

DEPRECATED in Document Model v1.1.

Public enum UEnum

EMetasoundFrontendStyleEdgeDisplay

Display style for an edge.

Public enum UEnum

EMetasoundFrontendStyleInterfaceLayoutMode

Functions

Name Description

Public function

uint32

 

GetTypeHash

(
    const FMetasoundFrontendVersion& I...
)

Public function

uint32

 

GetTypeHash

(
    const FMetasoundFrontendVersionNumb...
)

Public function

TSenderPtr< ...

 

Metasound::Downcast

(
    TUniquePtr< ISender >&& InPtr
)

For Audio Senders:

Public function

TReceiverPtr...

 

Metasound::Downcast

(
    TUniquePtr< IReceiver >&& InPtr
)

For audio receivers:

Public function

ToAccessPtrT...

 

Metasound::Frontend::ConstCastAccessPtr

(
    const FromAccessPtrType& InAccessP...
)

Public function

void

 

Metasound::Frontend::GatherRequiredEnvironmentVariables

(
    const FMetasoundFrontendClass& InC...,
    TArray< FMetasoundFrontendClassEnvi...
)

Public function

FMetasoundFr...

 

Metasound::Frontend::GenerateClassDescription

(
    const FNodeInitData& InNodeInitDat...
)

Generates a new FMetasoundFrontendClass from Node init data

Public function

FMetasoundFr...

 

Metasound::Frontend::GenerateClassDescription()

Generates a new FMetasoundFrontendClass from a NodeType

Public function

AccessPtrTyp...

 

Metasound::Frontend::MakeAccessPtr

(
    const FAccessPoint& InAccessPoint,
    Type& InRef
)

Public function

bool

 

Metasound::Frontend::NodeRegistryKey::IsEqual

(
    const FNodeClassInfo& InLHS,
    const FNodeRegistryKey& InRHS
)

Returns true if the class info and key represent the same entry in the node registry.

Public function

bool

 

Metasound::Frontend::NodeRegistryKey::IsEqual

(
    const FMetasoundFrontendClassMetada...,
    const FNodeRegistryKey& InRHS
)

Returns true if the class metadata and key represent the same entry in the node registry.

Public function

TSharedRef< ...

 

Metasound::MakeDataChannel

(
    const FOperatorSettings& InSetting...
)

Public function

bool

 

Metasound::MetasoundArrayNodesPrivate::RegisterArrayConcatNode()

Public function

bool

 

Metasound::MetasoundArrayNodesPrivate::RegisterArrayGetNode()

Public function

bool

 

Metasound::MetasoundArrayNodesPrivate::RegisterArrayNumNode()

Public function

bool

 

Metasound::MetasoundArrayNodesPrivate::RegisterArrayRandomGetNode()

Public function

bool

 

Metasound::MetasoundArrayNodesPrivate::RegisterArraySetNode()

Public function

bool

 

Metasound::MetasoundArrayNodesPrivate::RegisterArrayShuffleNode()

Public function

bool

 

Metasound::MetasoundArrayNodesPrivate::RegisterArraySubsetNode()

Public function

void

 

Metasound::MetasoundDataTypeRegistrationPrivate::AttemptToRegisterConverter()

This utility function can be used to check to see if we can static cast between two types, and autogenerate a node for that static cast.

Public function

void

 

Metasound::MetasoundDataTypeRegistrationPrivate::AttemptToRegisterSendAndReceiveNodes()

This utility function can be used to optionally check to see if we can transmit a data type, and autogenerate send and receive nodes for that datatype.

Public function

Frontend::FD...

 

Metasound::MetasoundDataTypeRegistrationPrivate::CreateDataTypeInfo()

Creates the FDataTypeRegistryInfo for a data type.

Public function

TSharedPtr< ...

 

Metasound::MetasoundDataTypeRegistrationPrivate::GetEnumDataTypeInterface()

Returns an IEnumDataTypeInterface pointer for the data type.

Public function

void

 

Metasound::MetasoundDataTypeRegistrationPrivate::RegisterConverterNodes()

Here we attempt to infer and autogenerate conversions for basic datatypes.

Public function

bool

 

Metasound::MetasoundDataTypeRegistrationPrivate::RegisterDataTypeArrayWithFrontend()

Registers an array of a data type with the MetaSound Frontend.

Public function

bool

 

Metasound::MetasoundDataTypeRegistrationPrivate::RegisterDataTypeWithFrontendInternal()

Registers a data type with the MetaSound Frontend.

Public function

bool

 

Metasound::RegisterArrayNodes()

Registers all available array nodes which can be instantiated for the given ArrayType.

Public function

bool

 

Metasound::RegisterDataTypeWithFrontend()

Registers a data type with the MetaSound Frontend.

Public function

bool

 

Metasound::RegisterNodeWithFrontend()

Public function

bool

 

Metasound::RegisterNodeWithFrontend

(
    const Metasound::FNodeClassMetadata...
)

Public function

bool

 

RegisterConversionNode

(
    const Metasound::FVertexName& From...,
    const Metasound::FVertexName& ToPi...,
    const Metasound::FNodeClassMetadata...
)