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]
43 lines
1.4 KiB
C++
43 lines
1.4 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
#pragma once
|
|
|
|
#include "Analysis/MetasoundFrontendVertexAnalyzer.h"
|
|
#include "MetasoundBuilderInterface.h"
|
|
#include "MetasoundOperatorSettings.h"
|
|
#include "MetasoundRouter.h"
|
|
#include "Templates/UniquePtr.h"
|
|
|
|
|
|
namespace Metasound
|
|
{
|
|
namespace Frontend
|
|
{
|
|
// Handles intrinsic analysis operations within a given graph
|
|
// should the graph's operator be enabled for analysis.
|
|
class METASOUNDFRONTEND_API FGraphAnalyzer
|
|
{
|
|
const FOperatorSettings OperatorSettings;
|
|
const uint64 InstanceID = INDEX_NONE;
|
|
|
|
TUniquePtr<IReceiver> ActiveAnalyzerReceiver;
|
|
TArray<TUniquePtr<Frontend::IVertexAnalyzer>> Analyzers;
|
|
FNodeVertexDataMap InternalDataReferences;
|
|
|
|
public:
|
|
FGraphAnalyzer(const FOperatorSettings& InSettings, uint64 InInstanceID, FNodeVertexDataMap&& InGraphReferences);
|
|
~FGraphAnalyzer() = default;
|
|
|
|
// Creates a send channel name unique for the given sound instance used to send array of analyzer
|
|
// addresses to the profiler of what analyzers are expected to be active for a given instance.
|
|
static const FName GetAnalyzerArraySendChannelName(uint64 InInstanceID)
|
|
{
|
|
const FString ChannelName = FString::Printf(TEXT("AnalyzerArray%s%lld"), *FAnalyzerAddress::PathSeparator, InInstanceID);
|
|
return *ChannelName;
|
|
}
|
|
|
|
// Execute analysis for the current block
|
|
void Execute();
|
|
};
|
|
} // namespace Frontend
|
|
} // namespace Metasound
|