Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/MetasoundSourceInterface.h
aaron mcleran 0ffa11ba73 Adding new interface for one-shots, upgrading old metasounds to use new interface if they hooked up the on-finished trigger.
Great test-case for interfaces and our upgrade code paths.

#rb Rob.Gay
#jira UE-137708
#preflight 61ba7d64753a9d8c87c2a038

#ROBOMERGE-AUTHOR: aaron.mcleran
#ROBOMERGE-SOURCE: CL 18472322 in //UE5/Release-5.0/... via CL 18473370
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18473402 by aaron mcleran in ue5-release-engine-test branch]
2021-12-15 23:11:10 -05:00

83 lines
2.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "IAudioParameterInterfaceRegistry.h"
#include "MetasoundFrontendDocument.h"
#include "MetasoundFrontendTransform.h"
#include "UObject/NameTypes.h"
//#include "MetasoundEngineArchetypes.h"
#include "MetasoundFrontendController.h"
// Forward Declarations
struct FMetasoundFrontendVersion;
namespace Metasound
{
namespace Frontend
{
namespace SourceOneShotInterface
{
namespace Outputs
{
METASOUNDFRONTEND_API const extern FName OnFinished;
}
METASOUNDFRONTEND_API const FMetasoundFrontendVersion& GetVersion();
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface(const UClass& InClass);
}
namespace SourceInterfaceV1_0
{
namespace Inputs
{
METASOUNDFRONTEND_API const extern FName OnPlay;
}
namespace Outputs
{
METASOUNDFRONTEND_API const extern FName OnFinished;
}
namespace Environment
{
METASOUNDFRONTEND_API const extern FName DeviceID;
METASOUNDFRONTEND_API const extern FName GraphName;
METASOUNDFRONTEND_API const extern FName IsPreview;
METASOUNDFRONTEND_API const extern FName SoundUniqueID;
METASOUNDFRONTEND_API const extern FName TransmitterID;
}
METASOUNDFRONTEND_API const FMetasoundFrontendVersion& GetVersion();
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface(const UClass& InClass);
}
namespace SourceInterface
{
namespace Inputs
{
METASOUNDFRONTEND_API const extern FName OnPlay;
}
namespace Environment
{
METASOUNDFRONTEND_API const extern FName DeviceID;
METASOUNDFRONTEND_API const extern FName GraphName;
METASOUNDFRONTEND_API const extern FName IsPreview;
METASOUNDFRONTEND_API const extern FName SoundUniqueID;
METASOUNDFRONTEND_API const extern FName TransmitterID;
}
METASOUNDFRONTEND_API const FMetasoundFrontendVersion& GetVersion();
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface(const UClass& InClass);
class METASOUNDFRONTEND_API FUpdateInterface : public Frontend::IDocumentTransform
{
public:
virtual bool Transform(Frontend::FDocumentHandle InDocument) const override;
};
}
} // namespace Frontend
} // namespace Metasound