Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Private/MetasoundOutputFormatInterfaces.cpp
rob gay 41a2a172dc Fix missing ability to order graph members
- Remove base template for node customizations now that it isn't required to be a template to enable intra-engine versioning (allows moving implementation of category customization to .cpp)
- Move redundant "Literal" property to parent UMetasoundEditorGraphMember
#rb helen.yang
#jira UE-121749
#rnx
#preflight 621d2e869a5676d19a3d50e9

#ROBOMERGE-AUTHOR: rob.gay
#ROBOMERGE-SOURCE: CL 19181623 in //UE5/Release-5.0/... via CL 19183646
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19206681 by rob gay in ue5-main branch]
2022-03-01 16:31:55 -05:00

109 lines
3.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MetasoundOutputFormatInterfaces.h"
#include "IAudioParameterInterfaceRegistry.h"
#include "MetasoundAudioBuffer.h"
#include "MetasoundTrigger.h"
#include "Templates/SharedPointer.h"
#include "UObject/Class.h"
#define LOCTEXT_NAMESPACE "MetasoundFrontend"
namespace Metasound
{
namespace Frontend
{
#define AUDIO_PARAMETER_INTERFACE_NAMESPACE "UE.OutputFormat.Mono"
namespace OutputFormatMonoInterface
{
const FMetasoundFrontendVersion& GetVersion()
{
static const FMetasoundFrontendVersion Version = { AUDIO_PARAMETER_INTERFACE_NAMESPACE, { 1, 0 } };
return Version;
}
namespace Outputs
{
const FName MonoOut = AUDIO_PARAMETER_INTERFACE_MEMBER_DEFINE("Audio:0");
}
Audio::FParameterInterfacePtr CreateInterface(const UClass& InUClass)
{
struct FInterface : public Audio::FParameterInterface
{
FInterface(const UClass& InAssetClass)
: FParameterInterface(OutputFormatMonoInterface::GetVersion().Name, OutputFormatMonoInterface::GetVersion().Number.ToInterfaceVersion(), InAssetClass)
{
Outputs =
{
{
LOCTEXT("GeneratedAudioDisplayName", "Out Mono"),
LOCTEXT("GeneratedAudioDescription", "The resulting mono output from this source."),
GetMetasoundDataTypeName<FAudioBuffer>(),
Outputs::MonoOut,
FText::GetEmpty(), // RequiredText
EAudioParameterType::None,
100
}
};
}
};
return MakeShared<FInterface>(InUClass);
}
} // namespace OutputFormatMonoInterface
#undef AUDIO_PARAMETER_INTERFACE_NAMESPACE
#define AUDIO_PARAMETER_INTERFACE_NAMESPACE "UE.OutputFormat.Stereo"
namespace OutputFormatStereoInterface
{
const FMetasoundFrontendVersion& GetVersion()
{
static const FMetasoundFrontendVersion Version = { AUDIO_PARAMETER_INTERFACE_NAMESPACE, { 1, 0 } };
return Version;
}
namespace Outputs
{
const FName LeftOut = AUDIO_PARAMETER_INTERFACE_MEMBER_DEFINE("Audio:0");
const FName RightOut = AUDIO_PARAMETER_INTERFACE_MEMBER_DEFINE("Audio:1");
}
Audio::FParameterInterfacePtr CreateInterface(const UClass& InUClass)
{
struct FInterface : public Audio::FParameterInterface
{
FInterface(const UClass& InAssetClass)
: FParameterInterface(OutputFormatStereoInterface::GetVersion().Name, OutputFormatStereoInterface::GetVersion().Number.ToInterfaceVersion(), InAssetClass)
{
Outputs =
{
{
LOCTEXT("OutputFormatStereoInterface_GeneratedLeftDisplayName", "Out Left"),
LOCTEXT("OutputFormatStereoInterface_GeneratedLeftDescription", "The resulting left channel output audio from this source."),
GetMetasoundDataTypeName<FAudioBuffer>(),
Outputs::LeftOut,
FText::GetEmpty(), // RequiredText
EAudioParameterType::None,
100
},
{
LOCTEXT("OutputFormatStereoInterface_GeneratedRightDisplayName", "Out Right"),
LOCTEXT("OutputFormatStereoInterface_GeneratedRightDescription", "The resulting right channel output audio from this source."),
GetMetasoundDataTypeName<FAudioBuffer>(),
Outputs::RightOut,
FText::GetEmpty(), // RequiredText
EAudioParameterType::None,
101
}
};
}
};
return MakeShared<FInterface>(InUClass);
}
} // namespace OutputFormatStereoInterface
#undef AUDIO_PARAMETER_INTERFACE_NAMESPACE
}
}
#undef LOCTEXT_NAMESPACE