Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/Interfaces/MetasoundFrontendSourceInterface.h
aaron mcleran 25e7e03cdf Adding StartTime interface as an optional MetaSound Source interface.
StartTime used in BP API and Sequencer will now be forwarded to the MetaSound through this interface. The MetaSound can decide what to do with that information -- i.e. sound design what 'Start Time' means.

#rb Phil.Popp, Rob.Gay, Brian.Chrisman
#jira UE-211683

[CL 33272664 by aaron mcleran in ue5-main branch]
2024-04-26 14:51:16 -04:00

96 lines
2.5 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();
METASOUNDFRONTEND_API Audio::FParameterInterfacePtr CreateInterface(const UClass& InClass);
}
namespace SourceStartTimeInterface
{
namespace Inputs
{
METASOUNDFRONTEND_API const extern FName StartTime;
}
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 extern FName AudioMixerNumOutputFrames;
}
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