Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/Analysis/MetasoundFrontendAnalyzerAddress.h
Rob Gay f2f944d64f MetaSound Analyzer Frontend/Graph Core Checkpoint
- Add ability to track all internal data references to a core graph
- Add AnalyzerRegistry & first pass at value/envelope analyzers
- Add support for enabling analyzing from MetaSound Generator
- Add ability for tracking colorized bounds for edges as literal-color array
#rb phil.popp
#jira UE-147027
#jira UE-147028
#jira UE-147026
#preflight 627acbae10766ef8c112264c

[CL 20129340 by Rob Gay in ue5-main branch]
2022-05-10 16:51:39 -04:00

57 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/UnrealString.h"
#include "HAL/Platform.h"
#include "MetasoundRouter.h"
#include "MetasoundVertex.h"
#include "Misc/Guid.h"
namespace Metasound
{
namespace Frontend
{
// String serializable (as key) channel of analyzer or its internal members
// that can be written to or read from using the Transmission System.
struct METASOUNDFRONTEND_API FAnalyzerAddress
{
static const FString PathSeparator;
// Active Instance ID to monitor
uint64 InstanceID = TNumericLimits<uint64>::Max();
// ID of Node being monitored
FGuid NodeID;
// Name of output to monitor (not to be confused with the Analyzer's members,
// which are specific to the analyzer instance being addressed)
FVertexName OutputName;
// DataType of the given channel
FName DataType;
// Name of Analyzer
FName AnalyzerName;
// Instance ID of analyzer (allowing for multiple analyzer of the same type to be
// addressed at the same output).
FGuid AnalyzerInstanceID;
// Optional name used to specify a channel for a given analyzer's inputs/outputs.
// If not provided (i.e. 'none'), single input & output are assumed to share
// the same name. Useful if the analyzer requires outputting multiple analysis values.
// Can potentially be used as an input as well to modify analyzer settings.
FName AnalyzerMemberName;
// Converts AnalyzerAddress to String representation using the PathSeparator
FString ToString() const;
// Converts AnalyzerAddress to SendAddress
FSendAddress ToSendAddress() const;
static bool ParseKey(const FString& InAnalyzerKey, FAnalyzerAddress& OutAnalyzer);
};
} // namespace Frontend
} // namespace Metasound