2021-02-18 22:08:57 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#include "MetasoundRandomNode.h"
|
|
|
|
|
|
|
|
|
|
#include "Internationalization/Text.h"
|
|
|
|
|
#include "MetasoundNodeRegistrationMacro.h"
|
|
|
|
|
|
2022-01-18 17:44:56 -05:00
|
|
|
#define LOCTEXT_NAMESPACE "MetasoundStandardNodes"
|
2021-02-18 22:08:57 -04:00
|
|
|
|
|
|
|
|
namespace Metasound
|
|
|
|
|
{
|
2021-03-11 22:09:30 -04:00
|
|
|
namespace RandomNodeNames
|
2021-02-18 22:08:57 -04:00
|
|
|
{
|
2021-09-13 14:13:39 -04:00
|
|
|
const FVertexName& GetInputNextTriggerName()
|
2021-02-18 22:08:57 -04:00
|
|
|
{
|
2021-09-13 14:13:39 -04:00
|
|
|
static const FVertexName Name = TEXT("Next");
|
2021-03-11 22:09:30 -04:00
|
|
|
return Name;
|
2021-02-18 22:08:57 -04:00
|
|
|
}
|
2021-03-11 22:09:30 -04:00
|
|
|
|
2021-09-13 14:13:39 -04:00
|
|
|
const FVertexName& GetInputResetTriggerName()
|
2021-02-18 22:08:57 -04:00
|
|
|
{
|
2021-09-13 14:13:39 -04:00
|
|
|
static const FVertexName Name = TEXT("Reset");
|
2021-03-11 22:09:30 -04:00
|
|
|
return Name;
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-13 14:13:39 -04:00
|
|
|
const FVertexName& GetInputSeedName()
|
2021-03-11 22:09:30 -04:00
|
|
|
{
|
2021-09-13 14:13:39 -04:00
|
|
|
static const FVertexName Name = TEXT("Seed");
|
2021-03-11 22:09:30 -04:00
|
|
|
return Name;
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-13 14:13:39 -04:00
|
|
|
const FVertexName& GetInputMinName()
|
2021-03-11 22:09:30 -04:00
|
|
|
{
|
2021-09-13 14:13:39 -04:00
|
|
|
static const FVertexName Name = TEXT("Min");
|
2021-03-11 22:09:30 -04:00
|
|
|
return Name;
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-13 14:13:39 -04:00
|
|
|
const FVertexName& GetInputMaxName()
|
2021-03-11 22:09:30 -04:00
|
|
|
{
|
2021-09-13 14:13:39 -04:00
|
|
|
static const FVertexName Name = TEXT("Max");
|
2021-03-11 22:09:30 -04:00
|
|
|
return Name;
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-13 14:13:39 -04:00
|
|
|
const FVertexName& GetOutputOnNextTriggerName()
|
2021-03-11 22:09:30 -04:00
|
|
|
{
|
2021-09-13 14:13:39 -04:00
|
|
|
static const FVertexName Name = TEXT("On Next");
|
2021-03-11 22:09:30 -04:00
|
|
|
return Name;
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-13 14:13:39 -04:00
|
|
|
const FVertexName& GetOutputOnResetTriggerName()
|
2021-03-11 22:09:30 -04:00
|
|
|
{
|
2021-09-13 14:13:39 -04:00
|
|
|
static const FVertexName Name = TEXT("On Reset");
|
2021-03-11 22:09:30 -04:00
|
|
|
return Name;
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-13 14:13:39 -04:00
|
|
|
const FVertexName& GetOutputValueName()
|
2021-03-11 22:09:30 -04:00
|
|
|
{
|
2021-09-13 14:13:39 -04:00
|
|
|
static const FVertexName Name = TEXT("Value");
|
2021-03-11 22:09:30 -04:00
|
|
|
return Name;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static FText GetNextTriggerDescription()
|
|
|
|
|
{
|
2022-02-10 18:36:47 -05:00
|
|
|
return METASOUND_LOCTEXT("RandomNode_NextTT", "Trigger to generate the next random integer.");
|
2021-03-11 22:09:30 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static FText GetResetDescription()
|
|
|
|
|
{
|
2022-02-10 18:36:47 -05:00
|
|
|
return METASOUND_LOCTEXT("RandomNode_ResetTT", "Trigger to reset the random sequence with the supplied seed. Useful to get randomized repetition.");
|
2021-03-11 22:09:30 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static FText GetSeedDescription()
|
|
|
|
|
{
|
2022-02-10 18:36:47 -05:00
|
|
|
return METASOUND_LOCTEXT("RandomNode_SeedTT", "The seed value to use for the random node. Set to -1 to use a random seed.");
|
2021-03-11 22:09:30 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static FText GetMinDescription()
|
|
|
|
|
{
|
2022-02-10 18:36:47 -05:00
|
|
|
return METASOUND_LOCTEXT("RandomNode_MinTT", "Min random value.");
|
2021-03-11 22:09:30 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static FText GetMaxDescription()
|
|
|
|
|
{
|
2022-02-10 18:36:47 -05:00
|
|
|
return METASOUND_LOCTEXT("RandomNode_MaxTT", "Max random value.");
|
2021-03-11 22:09:30 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static FText GetOutputDescription()
|
|
|
|
|
{
|
2022-02-10 18:36:47 -05:00
|
|
|
return METASOUND_LOCTEXT("RandomNode_OutputTT", "The randomly generated value.");
|
2021-03-11 22:09:30 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static FText GetOutputOnNextDescription()
|
|
|
|
|
{
|
2022-02-10 18:36:47 -05:00
|
|
|
return METASOUND_LOCTEXT("RandomNode_OutputNextTT", "Triggers when next is triggered.");
|
2021-03-11 22:09:30 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static FText GetOutputOnResetDescription()
|
|
|
|
|
{
|
2022-02-10 18:36:47 -05:00
|
|
|
return METASOUND_LOCTEXT("RandomNode_OutputResetTT", "Triggers when reset is triggered.");
|
2021-02-18 22:08:57 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-03-11 22:21:03 -04:00
|
|
|
// Mac Clang require linkage for constexpr
|
|
|
|
|
template<typename ValueType>
|
|
|
|
|
constexpr int32 Metasound::TRandomNodeOperator<ValueType>::DefaultSeed;
|
|
|
|
|
|
2021-03-11 22:09:30 -04:00
|
|
|
using FRandomNodeInt32 = TRandomNode<int32>;
|
|
|
|
|
METASOUND_REGISTER_NODE(FRandomNodeInt32)
|
|
|
|
|
|
|
|
|
|
using FRandomNodeFloat = TRandomNode<float>;
|
|
|
|
|
METASOUND_REGISTER_NODE(FRandomNodeFloat)
|
|
|
|
|
|
|
|
|
|
using FRandomNodeBool = TRandomNode<bool>;
|
|
|
|
|
METASOUND_REGISTER_NODE(FRandomNodeBool)
|
2021-03-22 11:03:07 -04:00
|
|
|
|
|
|
|
|
using FRandomNodeTime = TRandomNode<FTime>;
|
|
|
|
|
METASOUND_REGISTER_NODE(FRandomNodeTime)
|
2021-02-18 22:08:57 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE
|