Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/MetasoundFrontendInjectReceiveNodes.h
rob gay ff8b5954ac MetaSounds Interface Checkpoint
- Archetype to Interface rename & support for multiple interface versions stored on MetaSoundBase
- Added ability to register interfaces
- Added spatialization/attenuation interfaces
- Added UX to add/remove Interfaces
- Fix ensure when deleting UMetaSound asset
#rb phil.popp
#jira UE-135000
#jira UE-120656
#rnx
#preflight 619bd9e33a7219926732337c

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 18262648 in //UE5/Release-5.0/... via CL 18262703
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18262725 by rob gay in ue5-release-engine-test branch]
2021-11-22 15:55:50 -05:00

47 lines
2.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "MetasoundFrontendGraph.h"
#include "MetasoundVertex.h"
namespace Metasound
{
namespace Frontend
{
/** FReceiveNodeAddressFunction defines the function signature for callbacks
* to create send addresses. Different systems may rely on different data
* in the Metasound Environment to create a unique address.
*
* @param InEnv - The current environment of the graph hosting the receive node.
* @param InVertexName - The input vertex key of the graph input which will have a
* receive node injected.
* @param InTypeName - The data type of the receive node.
*
* @return FSendAddress The resulting transmission address for the receive node.
*/
using FReceiveNodeAddressFunction = TFunction<FSendAddress(const FMetasoundEnvironment& InEnv, const FVertexName& InVertexName, const FName& InTypeName)>;
/** Injects a receive node between an graph input and the connected internal nodes.
*
* @param InGraph - The graph to manipulate.
* @parma InAddressPolicy - A function which creates unique transmission addresses for each input.
* @param InInputDestination - The input destination on the graph where a receive node should be injected.
*
* @return True on success, false on failure.
*/
METASOUNDFRONTEND_API bool InjectReceiveNode(FFrontendGraph& InGraph, const FReceiveNodeAddressFunction& InAddressPolicy, const FInputDataDestination& InInputDestination);
/** Injects receive nodes between an graph inputs and the connected internal nodes.
*
* @param InGraph - The graph to manipulate.
* @parma InAddressPolicy - Function which creates unique transmission addresses for each input.
* @param InInputVertexNames - Set of input vertices which should have receive nodes injected.
*
* @return True on success, false on failure.
*/
METASOUNDFRONTEND_API bool InjectReceiveNodes(FFrontendGraph& InGraph, const FReceiveNodeAddressFunction& InAddressPolicy, const TSet<FVertexName>& InInputVertexNames);
}
}