Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/MetasoundDocumentInterface.h
rob gay d3e70524dc - Migrate and deprecate modify interfaces transform to frontend document builder with broken up, useful functionality available now to the API (ex. SwapInput/Output)
- New version no longer uses expensive controller system
- Fix-up & condense asset/builder initialization logic that utilizes modify interface transform functionality
- Misc clean-up
#rb helen.yang
#jira UE-120184
#rnx
#preflight 645bfd468e01daf0e5b92c30

[CL 25420172 by rob gay in ue5-main branch]
2023-05-10 20:28:39 -04:00

41 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "UObject/Interface.h"
#include "MetasoundFrontendDocument.h"
#include "MetasoundDocumentInterface.generated.h"
// Forward Declarations
struct FMetaSoundFrontendDocumentBuilder;
// UInterface for all MetaSound UClasses that implement a MetaSound document
// as a means for accessing data via code, scripting, execution, or node
// class generation.
UINTERFACE(BlueprintType, meta = (CannotImplementInterfaceInBlueprint))
class METASOUNDFRONTEND_API UMetaSoundDocumentInterface : public UInterface
{
GENERATED_BODY()
};
class METASOUNDFRONTEND_API IMetaSoundDocumentInterface : public IInterface
{
GENERATED_BODY()
public:
// Returns read-only reference to the the MetaSoundFrontendDocument
// containing all MetaSound runtime & editor data.
virtual const FMetasoundFrontendDocument& GetDocument() const = 0;
// Returns the parent class registered with the MetaSound UObject registry.
virtual const UClass& GetBaseMetaSoundUClass() const = 0;
// Returns the parent class registered with the MetaSound UObject registry.
private:
virtual FMetasoundFrontendDocument& GetDocument() = 0;
friend struct FMetaSoundFrontendDocumentBuilder;
};