Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/Analysis/MetasoundFrontendVertexAnalyzerTriggerDensity.h
christopher waters 5a0e169c6d Getting more headers compiling solo on Win64.
#rb joe.kirchoff, henrik.karlsson

[CL 31663239 by christopher waters in ue5-main branch]
2024-02-20 18:57:35 -05:00

51 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Analysis/MetasoundFrontendAnalyzerFactory.h"
#include "Containers/Array.h"
#include "DSP/BufferVectorOperations.h"
#include "DSP/EnvelopeFollower.h"
#include "MetasoundPrimitives.h"
#include "MetasoundTrigger.h"
namespace Metasound
{
namespace Frontend
{
class FVertexAnalyzerTriggerDensity : public FVertexAnalyzerBase
{
public:
METASOUNDFRONTEND_API static const FName& GetAnalyzerName();
METASOUNDFRONTEND_API static const FName& GetDataType();
struct FOutputs
{
METASOUNDFRONTEND_API static const FAnalyzerOutput& GetValue();
};
class FFactory : public TVertexAnalyzerFactory<FVertexAnalyzerTriggerDensity>
{
public:
virtual const TArray<FAnalyzerOutput>& GetAnalyzerOutputs() const override
{
static const TArray<FAnalyzerOutput> Outputs { FOutputs::GetValue() };
return Outputs;
}
};
METASOUNDFRONTEND_API FVertexAnalyzerTriggerDensity(const FCreateAnalyzerParams& InParams);
METASOUNDFRONTEND_API virtual ~FVertexAnalyzerTriggerDensity();
METASOUNDFRONTEND_API virtual void Execute() override;
private:
Audio::FEnvelopeFollower EnvelopeFollower;
TDataWriteReference<float> EnvelopeValue;
int32 NumFramesPerBlock = 0;
Audio::FAlignedFloatBuffer ScratchBuffer;
};
} // namespace Frontend
} // namespace Metasound