Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/Interfaces/MetasoundFrontendSourceInterface.h
rob gay aeb25bb49d - Add Runtime MetaSound Builder support
- Add MetaSound Patch Interface support
- Add MetaSound Interface Bindings
#rb phil.popp
#preflight 640783bd5515f4f57b4b1268
[FYI] Sondra.Moyls
[FYI] Dan.Reynolds

[CL 24548617 by rob gay in ue5-main branch]
2023-03-07 17:01:52 -05:00

90 lines
2.9 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 "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();
UE_DEPRECATED(5.3, "ParameterInterface is now only registered for given UClasses at registration time, not in interface definition.")
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface(const UClass& InClass);
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface();
}
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();
UE_DEPRECATED(5.3, "ParameterInterface is now only registered for given UClasses at registration time, not in interface definition.")
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface(const UClass& InClass);
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface();
}
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 extern FName AudioMixerNumOutputFrames;
}
METASOUNDFRONTEND_API const FMetasoundFrontendVersion& GetVersion();
UE_DEPRECATED(5.3, "ParameterInterface is now only registered for given UClasses at registration time, not in interface definition.")
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface(const UClass& InClass);
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface();
class METASOUNDFRONTEND_API FUpdateInterface : public Frontend::IDocumentTransform
{
public:
virtual bool Transform(Frontend::FDocumentHandle InDocument) const override;
};
}
} // namespace Frontend
} // namespace Metasound