You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#jira UEAU-792 #rb Rob.Gay #preflight 60afc6b7493080000171898d #ROBOMERGE-SOURCE: CL 16489196 in //UE5/Private-Frosty/... #ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v823-16466674) [CL 16489254 by phil popp in ue5-main branch]
111 lines
3.0 KiB
C++
111 lines
3.0 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
|
|
{
|
|
|
|
/** Streams node classes that have been newly registered or unregistered since last call to Stream()
|
|
*/
|
|
class METASOUNDFRONTEND_API FNodeClassRegistrationEvents : public IFrontendQuerySource
|
|
{
|
|
public:
|
|
FNodeClassRegistrationEvents();
|
|
void Stream(TArray<FFrontendQueryEntry>& OutEntries) override;
|
|
void Reset() override;
|
|
|
|
private:
|
|
Frontend::FRegistryTransactionID CurrentTransactionID;
|
|
};
|
|
|
|
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;
|
|
};
|
|
|
|
class METASOUNDFRONTEND_API FFilterClassesByClassID : public IFrontendQueryFilterStep
|
|
{
|
|
public:
|
|
FFilterClassesByClassID(const FGuid InClassID);
|
|
|
|
bool Filter(const FFrontendQueryEntry& InEntry) const override;
|
|
|
|
private:
|
|
FGuid ClassID;
|
|
};
|
|
|
|
class METASOUNDFRONTEND_API FMapClassNameToMajorVersion : public IFrontendQueryMapStep
|
|
{
|
|
public:
|
|
FFrontendQueryEntry::FKey Map(const FFrontendQueryEntry& InEntry) const override;
|
|
};
|
|
|
|
class METASOUNDFRONTEND_API FReduceClassesToHighestVersion : public IFrontendQueryReduceStep
|
|
{
|
|
public:
|
|
void Reduce(FFrontendQueryEntry::FKey InKey, TArrayView<FFrontendQueryEntry * const>& InEntries, FReduceOutputView& OutResult) const override;
|
|
};
|
|
|
|
class METASOUNDFRONTEND_API FReduceClassesToMajorVersion : public IFrontendQueryReduceStep
|
|
{
|
|
public:
|
|
FReduceClassesToMajorVersion(int32 InMajorVersion);
|
|
|
|
void Reduce(FFrontendQueryEntry::FKey InKey, TArrayView<FFrontendQueryEntry * const>& InEntries, FReduceOutputView& OutResult) const override;
|
|
|
|
private:
|
|
int32 MajorVersion = -1;
|
|
};
|
|
|
|
class METASOUNDFRONTEND_API FSortClassesByVersion : public IFrontendQuerySortStep
|
|
{
|
|
public:
|
|
bool Sort(const FFrontendQueryEntry& InEntryLHS, const FFrontendQueryEntry& InEntryRHS) const override;
|
|
};
|
|
}
|