Files
rob gay cff304e9da Interface Registry Tidying
1.) Move Bindings to own registry
2.) Nuke source files & left over cruft relating to archetypes
3.) Move deprecated interface registration next to respective interfaces for clarity
4.) Rename "FMetasoundFrontendInterfaceBindingConnections" to "FMetasoundFrontendInterfaceVertexBindings"
#rb phil.popp
#preflight 640f6852d778f889752a5bd1

[CL 24622079 by rob gay in ue5-main branch]
2023-03-13 17:23:05 -04:00

41 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Interfaces/MetasoundInterfaceBindings.h"
#include "Algo/Transform.h"
#include "Interfaces/MetasoundFrontendInterfaceBindingRegistry.h"
#include "Interfaces/MetasoundInputFormatInterfaces.h"
#include "MetasoundFrontendDocument.h"
namespace Metasound::Engine
{
void RegisterInternalInterfaceBindings()
{
RegisterInterfaceBindings(InputFormatMonoInterface::CreateBindings());
RegisterInterfaceBindings(InputFormatStereoInterface::CreateBindings());
}
void RegisterInterfaceBindings(const TArray<FMetasoundFrontendInterfaceBinding>& InBindings)
{
using namespace Metasound::Frontend;
for (const FMetasoundFrontendInterfaceBinding& Binding : InBindings)
{
TUniquePtr<FInterfaceBindingRegistryEntry> Entry = MakeUnique<FInterfaceBindingRegistryEntry>(Binding);
IInterfaceBindingRegistry::Get().RegisterInterfaceBinding(Binding.InputInterfaceVersion, MoveTemp(Entry));
}
}
bool UnregisterInterfaceBinding(const FMetasoundFrontendVersion& InInputInterfaceVersion, const FMetasoundFrontendVersion& InOutputInterfaceVersion)
{
using namespace Metasound::Frontend;
return IInterfaceBindingRegistry::Get().UnregisterInterfaceBinding(InInputInterfaceVersion, InOutputInterfaceVersion);
}
bool UnregisterAllInterfaceBindings(const FMetasoundFrontendVersion& InInputInterfaceVersion)
{
using namespace Metasound::Frontend;
return IInterfaceBindingRegistry::Get().UnregisterAllInterfaceBindings(InInputInterfaceVersion);
}
} // namespace Metasound::Engine