Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/MetasoundFrontendQuerySteps.h
phil popp 86732c1ec4 Update Metasound Graph Core Metadata
- Rename FNodeInfo to FNodeClassMetadata
- Add FGuid to Metasound node instances
- Metasound node class names are now Namespace.Name.Variant
- Add displayname for Metasound node classes.
#jira UE-107332
#jira UEAU-660
#rb Rob.Gay

[CL 15253779 by phil popp in ue5-main branch]
2021-01-28 19:02:51 -04:00

65 lines
1.6 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "MetasoundDataReference.h"
#include "MetasoundFrontend.h"
#include "MetasoundFrontendQuery.h"
namespace Metasound
{
class METASOUNDFRONTEND_API FGenerateAllAvailableNodeClasses : public IFrontendQueryGenerateStep
{
public:
void Generate(TArray<FFrontendQueryEntry>& OutEntries) const override;
};
class METASOUNDFRONTEND_API FFilterClassesByInputVertexDataType : public IFrontendQueryFilterStep
{
public:
template<typename DataType>
FFilterClassesByInputVertexDataType()
: FFilterClassesByInputVertexDataType(GetMetasoundDataTypeName<DataType>())
{
}
FFilterClassesByInputVertexDataType(const FName& InTypeName);
bool Filter(const FFrontendQueryEntry& InEntry) const override;
private:
FName InputVertexTypeName;
};
class METASOUNDFRONTEND_API FFilterClassesByOutputVertexDataType : public IFrontendQueryFilterStep
{
public:
template<typename DataType>
FFilterClassesByOutputVertexDataType()
: FFilterClassesByOutputVertexDataType(GetMetasoundDataTypeName<DataType>())
{
}
FFilterClassesByOutputVertexDataType(const FName& InTypeName);
bool Filter(const FFrontendQueryEntry& InEntry) const override;
private:
FName OutputVertexTypeName;
};
class METASOUNDFRONTEND_API FFilterClassesByClassName : public IFrontendQueryFilterStep
{
public:
FFilterClassesByClassName(const FMetasoundFrontendClassName& InClassName);
bool Filter(const FFrontendQueryEntry& InEntry) const override;
private:
FMetasoundFrontendClassName ClassName;
};
}