2020-12-14 15:48:27 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2022-08-19 12:14:31 -04:00
|
|
|
#include "Containers/Array.h"
|
2021-01-13 10:48:59 -04:00
|
|
|
#include "MetasoundFrontendDocument.h"
|
2020-12-14 15:48:27 -04:00
|
|
|
|
|
|
|
|
namespace Metasound
|
|
|
|
|
{
|
|
|
|
|
namespace Frontend
|
|
|
|
|
{
|
2021-11-22 15:55:50 -05:00
|
|
|
METASOUNDFRONTEND_API bool IsSubsetOfInterface(const FMetasoundFrontendInterface& InSubsetInterface, const FMetasoundFrontendInterface& InSupersetInterface);
|
2021-06-23 20:08:21 -04:00
|
|
|
|
2021-11-22 15:55:50 -05:00
|
|
|
METASOUNDFRONTEND_API bool IsSubsetOfClass(const FMetasoundFrontendInterface& InSubsetInterface, const FMetasoundFrontendClass& InSupersetClass);
|
2020-12-14 15:48:27 -04:00
|
|
|
|
2021-11-22 15:55:50 -05:00
|
|
|
METASOUNDFRONTEND_API bool IsEquivalentInterface(const FMetasoundFrontendInterface& InInputInterface, const FMetasoundFrontendInterface& InTargetInterface);
|
2021-06-23 20:08:21 -04:00
|
|
|
|
2021-11-22 15:55:50 -05:00
|
|
|
METASOUNDFRONTEND_API bool IsEqualInterface(const FMetasoundFrontendInterface& InInputInterface, const FMetasoundFrontendInterface& InTargetInterface);
|
2020-12-14 15:48:27 -04:00
|
|
|
|
2021-11-22 15:55:50 -05:00
|
|
|
METASOUNDFRONTEND_API int32 InputOutputDifferenceCount(const FMetasoundFrontendClass& InClass, const FMetasoundFrontendInterface& InInterface);
|
2020-12-14 15:48:27 -04:00
|
|
|
|
2021-11-22 15:55:50 -05:00
|
|
|
METASOUNDFRONTEND_API int32 InputOutputDifferenceCount(const FMetasoundFrontendInterface& InInterfaceA, const FMetasoundFrontendInterface& InInterfaceB);
|
2021-06-23 20:08:21 -04:00
|
|
|
|
2021-11-22 15:55:50 -05:00
|
|
|
METASOUNDFRONTEND_API bool DeclaredInterfaceVersionsMatch(const FMetasoundFrontendDocument& InDocumentA, const FMetasoundFrontendDocument& InDocumentB);
|
2020-12-14 15:48:27 -04:00
|
|
|
|
2021-11-22 15:55:50 -05:00
|
|
|
METASOUNDFRONTEND_API void GatherRequiredEnvironmentVariables(const FMetasoundFrontendClass& InClass, TArray<FMetasoundFrontendClassEnvironmentVariable>& OutEnvironmentVariables);
|
2021-06-23 20:08:21 -04:00
|
|
|
|
2021-11-22 15:55:50 -05:00
|
|
|
METASOUNDFRONTEND_API const FMetasoundFrontendInterface* FindMostSimilarInterfaceSupportingEnvironment(const FMetasoundFrontendGraphClass& InRootGraph, const TArray<FMetasoundFrontendClass>& InDependencies, const TArray<FMetasoundFrontendGraphClass>& InSubgraphs, const TArray<FMetasoundFrontendInterface>& InCandidateInterfaces);
|
2020-12-14 15:48:27 -04:00
|
|
|
|
2021-11-22 15:55:50 -05:00
|
|
|
METASOUNDFRONTEND_API const FMetasoundFrontendInterface* FindMostSimilarInterfaceSupportingEnvironment(const FMetasoundFrontendDocument& InDocument, const TArray<FMetasoundFrontendInterface>& InCandidateInterfaces);
|
2022-08-19 12:14:31 -04:00
|
|
|
} // namespace Frontend
|
|
|
|
|
} // namespace Metasound
|