Files
rob gay c97856654f [Backout] - CL33854938
[FYI] bob.tellez
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL33838807
[FYI] Rob.Gay
Original CL Desc
-----------------------------------------------------------------
- Move MetaSound input/output editor validation, GetMemberName/Description, IsInterfaceMember to builder API
- Add warnings on register for interface vertex members (disabled until projects are complaint) to ensure they are following the expected naming convention (i.e. namespace matches that of owning interface)
    - Note this is editor only to avoid spamming cook and failing builds
- Move versioning to use shared builder now that IDocumentBuilderRegistry is available prior to all asset serialize load calls. This ensures that multiple builders are not accessing the same asset when loading and versioning/migrating old editor data
#jira UE-194160
#rb phil.popp
#rnx

[CL 33957350 by rob gay in ue5-main branch]
2024-05-28 18:51:03 -04:00

34 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "IAudioParameterInterfaceRegistry.h"
#include "Interfaces/MetasoundFrontendInterfaceRegistry.h"
#include "MetasoundFrontendDocument.h"
#include "MetasoundFrontendTransform.h"
namespace Metasound::Engine
{
// Entry for registered interface.
class FInterfaceRegistryEntry : public Frontend::IInterfaceRegistryEntry
{
public:
FInterfaceRegistryEntry(FMetasoundFrontendInterface&& InInterface, FName InRouterName = IDataReference::RouterName, bool bInIsDeprecated = false);
FInterfaceRegistryEntry(const FMetasoundFrontendInterface& InInterface, FName InRouterName = IDataReference::RouterName, bool bInIsDeprecated = false);
FInterfaceRegistryEntry(const FMetasoundFrontendInterface& InInterface, TUniquePtr<Frontend::IDocumentTransform>&& InUpdateTransform, FName InRouterName = IDataReference::RouterName, bool bInIsDeprecated = false);
virtual FName GetRouterName() const override;
virtual const FMetasoundFrontendInterface& GetInterface() const override;
virtual bool IsDeprecated() const override;
virtual bool UpdateRootGraphInterface(Frontend::FDocumentHandle InDocument) const override;
private:
FMetasoundFrontendInterface Interface;
TUniquePtr<Frontend::IDocumentTransform> UpdateTransform;
FName RouterName;
bool bIsDeprecated = false;
};
void RegisterInterfaces();
} // namespace Metasound::Engine