Files
UnrealEngine/Engine/Plugins/Runtime/Metasound/Source/MetasoundEngine/Private/MetasoundFrontendLiteralBlueprintAccess.cpp
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

282 lines
13 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MetasoundFrontendLiteralBlueprintAccess.h"
#include "Logging/StructuredLog.h"
#include "MetasoundDataReference.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(MetasoundFrontendLiteralBlueprintAccess)
namespace MetasoundFrontendLiteralBlueprintAccessPrivate
{
template <typename TLiteralType>
FMetasoundFrontendLiteral CreatePODMetaSoundLiteral(const TLiteralType& Value)
{
FMetasoundFrontendLiteral Literal;
Literal.Set(Value);
return Literal;
}
template <typename TLiteralType>
TLiteralType GetPODValueFromMetaSoundLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
TLiteralType Value;
OutResult = Literal.TryGet(Value) ? EMetaSoundBuilderResult::Succeeded : EMetaSoundBuilderResult::Failed;
return Value;
}
template<typename TLiteralType>
TLiteralType GetPODValueFromMetaSoundLiteral(const FMetasoundFrontendLiteral& Literal, const EMetasoundFrontendLiteralType ExpectedType, const TLiteralType& DefaultValue)
{
if (Literal.GetType() != ExpectedType)
{
UE_LOGFMT(LogMetaSound, Warning, "Tried to get literal as type {expected}, but literal was of type {actual}."
, *UEnum::GetValueAsString(ExpectedType)
, *UEnum::GetValueAsString(Literal.GetType()));
return DefaultValue;
}
EMetaSoundBuilderResult Result;
TLiteralType Value = GetPODValueFromMetaSoundLiteral<TLiteralType>(Literal, Result);
if (Result != EMetaSoundBuilderResult::Succeeded)
{
UE_LOGFMT(LogMetaSound, Warning, "Failed to get %s value from InLiteral.", *UEnum::GetValueAsString(ExpectedType));
return DefaultValue;
}
return Value;
}
}
FString UMetasoundFrontendLiteralBlueprintAccess::Conv_MetaSoundLiteralToString(const FMetasoundFrontendLiteral& Literal)
{
return Literal.ToString();
}
EMetasoundFrontendLiteralType UMetasoundFrontendLiteralBlueprintAccess::GetType(const FMetasoundFrontendLiteral& Literal)
{
return Literal.GetType();
}
bool UMetasoundFrontendLiteralBlueprintAccess::EqualEqual_MetaSoundLiteral(const FMetasoundFrontendLiteral& LiteralA, const FMetasoundFrontendLiteral& LiteralB)
{
return LiteralA.IsEqual(LiteralB);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateBoolMetaSoundLiteral(bool Value)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(Value);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateBoolArrayMetaSoundLiteral(
const TArray<bool>& Value)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(Value);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateFloatMetaSoundLiteral(float Value)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(Value);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateFloatArrayMetaSoundLiteral(
const TArray<float>& Value)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(Value);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateIntMetaSoundLiteral(int32 Value)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(Value);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateIntArrayMetaSoundLiteral(
const TArray<int32>& Value)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(Value);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateObjectMetaSoundLiteral(UObject* Value)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(Value);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateObjectArrayMetaSoundLiteral(
const TArray<UObject*>& Value)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(Value);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateStringMetaSoundLiteral(const FString& Value)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(Value);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateStringArrayMetaSoundLiteral(
const TArray<FString>& Value)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(Value);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromParam(
const FAudioParameter& Param)
{
return FMetasoundFrontendLiteral{ Param };
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromBoolean(const bool InBoolean)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(InBoolean);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromBooleanArray(const TArray<bool>& InBooleanArray)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(InBooleanArray);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromFloat(const float InFloat)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(InFloat);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromFloatArray(const TArray<float>& InFloatArray)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(InFloatArray);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromInteger(const int32 InInteger)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(InInteger);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromIntegerArray(const TArray<int32>& InIntegerArray)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(InIntegerArray);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromObject(UObject* InObject)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(InObject);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromObjectArray(const TArray<UObject*>& InObjectArray)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(InObjectArray);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromString(const FString& InString)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(InString);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromStringArray(const TArray<FString>& InStringArray)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::CreatePODMetaSoundLiteral(InStringArray);
}
FMetasoundFrontendLiteral UMetasoundFrontendLiteralBlueprintAccess::CreateMetaSoundLiteralFromAudioParameter(const FAudioParameter& InAudioParameter)
{
return FMetasoundFrontendLiteral{ InAudioParameter };
}
bool UMetasoundFrontendLiteralBlueprintAccess::GetBoolValueFromLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<bool>(Literal, OutResult);
}
TArray<bool> UMetasoundFrontendLiteralBlueprintAccess::GetBoolArrayValueFromLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<TArray<bool>>(Literal, OutResult);
}
float UMetasoundFrontendLiteralBlueprintAccess::GetFloatValueFromLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<float>(Literal, OutResult);
}
TArray<float> UMetasoundFrontendLiteralBlueprintAccess::GetFloatArrayValueFromLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<TArray<float>>(Literal, OutResult);
}
int32 UMetasoundFrontendLiteralBlueprintAccess::GetIntValueFromLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<int32>(Literal, OutResult);
}
TArray<int32> UMetasoundFrontendLiteralBlueprintAccess::GetIntArrayValueFromLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<TArray<int32>>(Literal, OutResult);
}
UObject* UMetasoundFrontendLiteralBlueprintAccess::GetObjectValueFromLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<UObject*>(Literal, OutResult);
}
TArray<UObject*> UMetasoundFrontendLiteralBlueprintAccess::GetObjectArrayValueFromLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<TArray<UObject*>>(Literal, OutResult);
}
FString UMetasoundFrontendLiteralBlueprintAccess::GetStringValueFromLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<FString>(Literal, OutResult);
}
TArray<FString> UMetasoundFrontendLiteralBlueprintAccess::GetStringArrayValueFromLiteral(const FMetasoundFrontendLiteral& Literal, EMetaSoundBuilderResult& OutResult)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<TArray<FString>>(Literal, OutResult);
}
bool UMetasoundFrontendLiteralBlueprintAccess::GetMetaSoundLiteralAsBool(const FMetasoundFrontendLiteral& InLiteral)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<bool>(InLiteral, EMetasoundFrontendLiteralType::Boolean, false);
}
TArray<bool> UMetasoundFrontendLiteralBlueprintAccess::GetMetaSoundLiteralAsBoolArray(const FMetasoundFrontendLiteral& InLiteral)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<TArray<bool>>(InLiteral, EMetasoundFrontendLiteralType::BooleanArray, TArray<bool>());
}
float UMetasoundFrontendLiteralBlueprintAccess::GetMetaSoundLiteralAsFloat(const FMetasoundFrontendLiteral& InLiteral)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<float>(InLiteral, EMetasoundFrontendLiteralType::Float, 0.f);
}
TArray<float> UMetasoundFrontendLiteralBlueprintAccess::GetMetaSoundLiteralAsFloatArray(const FMetasoundFrontendLiteral& InLiteral)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<TArray<float>>(InLiteral, EMetasoundFrontendLiteralType::FloatArray, TArray<float>());
}
int32 UMetasoundFrontendLiteralBlueprintAccess::GetMetaSoundLiteralAsInteger(const FMetasoundFrontendLiteral& InLiteral)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<int32>(InLiteral, EMetasoundFrontendLiteralType::Integer, 0);
}
TArray<int32> UMetasoundFrontendLiteralBlueprintAccess::GetMetaSoundLiteralAsIntegerArray(const FMetasoundFrontendLiteral& InLiteral)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<TArray<int32>>(InLiteral, EMetasoundFrontendLiteralType::IntegerArray, TArray<int32>());
}
UObject* UMetasoundFrontendLiteralBlueprintAccess::GetMetaSoundLiteralAsObject(const FMetasoundFrontendLiteral& InLiteral)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<UObject*>(InLiteral, EMetasoundFrontendLiteralType::UObject, nullptr);
}
TArray<UObject*> UMetasoundFrontendLiteralBlueprintAccess::GetMetaSoundLiteralAsObjectArray(const FMetasoundFrontendLiteral& InLiteral)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<TArray<UObject*>>(InLiteral, EMetasoundFrontendLiteralType::UObjectArray, TArray<UObject*>());
}
FString UMetasoundFrontendLiteralBlueprintAccess::GetMetaSoundLiteralAsString(const FMetasoundFrontendLiteral& InLiteral)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<FString>(InLiteral, EMetasoundFrontendLiteralType::String, FString());
}
TArray<FString> UMetasoundFrontendLiteralBlueprintAccess::GetMetaSoundLiteralAsStringArray(const FMetasoundFrontendLiteral& InLiteral)
{
return MetasoundFrontendLiteralBlueprintAccessPrivate::GetPODValueFromMetaSoundLiteral<TArray<FString>>(InLiteral, EMetasoundFrontendLiteralType::StringArray, TArray<FString>());
}