You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- 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]
62 lines
1.8 KiB
C++
62 lines
1.8 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
#include "Analysis/MetasoundFrontendAnalyzerAddress.h"
|
|
|
|
|
|
namespace Metasound
|
|
{
|
|
namespace Frontend
|
|
{
|
|
const FString FAnalyzerAddress::PathSeparator = TEXT("/");
|
|
|
|
FString FAnalyzerAddress::ToString() const
|
|
{
|
|
return FString::Join(TArray<FString>
|
|
{
|
|
*FString::Printf(TEXT("%lld"), InstanceID),
|
|
*NodeID.ToString(),
|
|
*OutputName.ToString(),
|
|
*DataType.ToString(),
|
|
*AnalyzerName.ToString(),
|
|
*AnalyzerInstanceID.ToString(),
|
|
*AnalyzerMemberName.ToString()
|
|
}, *PathSeparator);
|
|
}
|
|
|
|
FSendAddress FAnalyzerAddress::ToSendAddress() const
|
|
{
|
|
const TArray<FString> ChannelTokens
|
|
{
|
|
NodeID.ToString(),
|
|
OutputName.ToString(),
|
|
AnalyzerName.ToString(),
|
|
AnalyzerInstanceID.ToString(),
|
|
AnalyzerMemberName.ToString()
|
|
};
|
|
|
|
// TODO: This is bad as its generating FNames like crazy. One idea was to include guid support in FSendAddresses to avoid FName generation,
|
|
// which would enable this factory to map analyzer keys to send guid.
|
|
const FName Channel = FName(*FString::Join(ChannelTokens, *PathSeparator));
|
|
return FSendAddress { Channel, DataType, InstanceID };
|
|
}
|
|
|
|
bool FAnalyzerAddress::ParseKey(const FString& InAnalyzerKey, FAnalyzerAddress& OutAddress)
|
|
{
|
|
TArray<FString> Tokens;
|
|
if (InAnalyzerKey.ParseIntoArray(Tokens, *PathSeparator) == 7)
|
|
{
|
|
OutAddress.InstanceID = static_cast<uint64>(FCString::Atoi64(*Tokens[0]));
|
|
OutAddress.NodeID = FGuid(Tokens[1]);
|
|
OutAddress.OutputName = *Tokens[2];
|
|
OutAddress.DataType = *Tokens[3];
|
|
OutAddress.AnalyzerName = *Tokens[4];
|
|
OutAddress.AnalyzerInstanceID = FGuid(Tokens[5]);
|
|
OutAddress.AnalyzerMemberName = *Tokens[6];
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
} // namespace Frontend
|
|
} // namespace Metasound
|