Navigation
API > API/Plugins > API/Plugins/Niagara
FNiagaraDataInterfaceProxySpectrum
Proxy class for calculating spectrums on the rendering thread for Niagara.
| Name | FNiagaraDataInterfaceProxySpectrum |
| Type | struct |
| Header File | /Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraDataInterfaceAudioSpectrum.h |
| Include Path | #include "NiagaraDataInterfaceAudioSpectrum.h" |
Syntax
struct FNiagaraDataInterfaceProxySpectrum : public FNiagaraDataInterfaceProxySubmix
Inheritance Hierarchy
- FNiagaraDataInterfaceProxy → FNiagaraDataInterfaceProxySubmix → FNiagaraDataInterfaceProxySpectrum
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FNiagaraDataInterfaceProxySpectrum
(
float InMinimumFrequency, |
Construct an FNiagaraDataInterfaceProxySpectrum | NiagaraDataInterfaceAudioSpectrum.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FNiagaraDataInterfaceProxySpectrum() |
NiagaraDataInterfaceAudioSpectrum.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FChannel | FDeinterleaveView::TChannel< Audio::FAudioBufferAlignedAllocator > | NiagaraDataInterfaceAudioSpectrum.h | |
| FDeinterleaveView | Audio::TAutoDeinterleaveView< float, Audio::FAudioBufferAlignedAllocator > | NiagaraDataInterfaceAudioSpectrum.h | |
| FSlidingBuffer | Audio::TSlidingBuffer< float > | NiagaraDataInterfaceAudioSpectrum.h | |
| FSlidingWindow | Audio::TAutoSlidingWindow< float, Audio::FAudioBufferAlignedAllocator > | NiagaraDataInterfaceAudioSpectrum.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BufferLock | FCriticalSection | NiagaraDataInterfaceAudioSpectrum.h | ||
| ChannelSpectrumBuffers | TArray< Audio::FAlignedFloatBuffer > | NiagaraDataInterfaceAudioSpectrum.h | ||
| CQTKernel | TUniquePtr< Audio::FContiguousSparse2DKernelTransform > | NiagaraDataInterfaceAudioSpectrum.h | ||
| DeinterleavedBuffer | Audio::FAlignedFloatBuffer | NiagaraDataInterfaceAudioSpectrum.h | ||
| FFTAlgorithm | TUniquePtr< Audio::IFFTAlgorithm > | NiagaraDataInterfaceAudioSpectrum.h | ||
| FFTInputBuffer | Audio::FAlignedFloatBuffer | NiagaraDataInterfaceAudioSpectrum.h | ||
| FFTOutputBuffer | Audio::FAlignedFloatBuffer | NiagaraDataInterfaceAudioSpectrum.h | ||
| FFTScale | float | NiagaraDataInterfaceAudioSpectrum.h | ||
| GPUBuffer | FReadBuffer | Handle for the SRV used by the generated HLSL. | NiagaraDataInterfaceAudioSpectrum.h | |
| InterleavedBuffer | Audio::FAlignedFloatBuffer | NiagaraDataInterfaceAudioSpectrum.h | ||
| MaximumFrequency | float | NiagaraDataInterfaceAudioSpectrum.h | ||
| MinimumFrequency | float | NiagaraDataInterfaceAudioSpectrum.h | ||
| NoiseFloorDb | float | NiagaraDataInterfaceAudioSpectrum.h | ||
| NumBands | TAtomic< int32 > | NiagaraDataInterfaceAudioSpectrum.h | ||
| NumChannels | int32 | NiagaraDataInterfaceAudioSpectrum.h | ||
| PopBuffer | Audio::FAlignedFloatBuffer | NiagaraDataInterfaceAudioSpectrum.h | ||
| PowerSpectrumBuffer | Audio::FAlignedFloatBuffer | NiagaraDataInterfaceAudioSpectrum.h | ||
| SampleRate | float | NiagaraDataInterfaceAudioSpectrum.h | ||
| SlidingBuffer | TUniquePtr< FSlidingBuffer > | NiagaraDataInterfaceAudioSpectrum.h | ||
| SpectrumBuffer | Audio::FAlignedFloatBuffer | NiagaraDataInterfaceAudioSpectrum.h | ||
| WindowBuffer | Audio::FAlignedFloatBuffer | NiagaraDataInterfaceAudioSpectrum.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FReadBuffer & ComputeAndPostSRV() |
NiagaraDataInterfaceAudioSpectrum.h | ||
int32 GetNumBands() |
NiagaraDataInterfaceAudioSpectrum.h | ||
float GetSpectrumValue
(
float InNormalizedPositionInSpectrum, |
Sample value from the spectrum buffer. | NiagaraDataInterfaceAudioSpectrum.h | |
void PostDataToGPU() |
This function enqueues a render thread command to pop audio off of the SubmixListener, transform it into a CQT, and post it to the GPUAudioBuffer. | NiagaraDataInterfaceAudioSpectrum.h | |
void UpdateCQT
(
float InMinimumFrequency, |
Updates the minimum and maximum frequency of the CQT on the render thread. | NiagaraDataInterfaceAudioSpectrum.h | |
void UpdateNoiseFloor
(
float InNoiseFloorDb |
Updates the value considered silence in decibles on the render thread. | NiagaraDataInterfaceAudioSpectrum.h | |
void UpdateSpectrum() |
Calculates the CQT. | NiagaraDataInterfaceAudioSpectrum.h |
Overridden from FNiagaraDataInterfaceProxy
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual int32 PerInstanceDataPassedToRenderThreadSize() |
NiagaraDataInterfaceAudioSpectrum.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void Clamp
(
float& InMinimumFrequency, |
Get settings. | NiagaraDataInterfaceAudioSpectrum.h | |
static float GetBandwidthStretch
(
float InSampleRate, |
NiagaraDataInterfaceAudioSpectrum.h | ||
static Audio::FPseudoConstantQKernelSettings GetConstantQSettings
(
float InMinimumFrequency, |
NiagaraDataInterfaceAudioSpectrum.h | ||
static Audio::FFFTSettings GetFFTSettings
(
float InMinimumFrequency, |
NiagaraDataInterfaceAudioSpectrum.h | ||
static float GetNumBandsPerOctave
(
int32 InNumBands, |
NiagaraDataInterfaceAudioSpectrum.h | ||
static float GetNumOctaves
(
float InMinimumFrequency, |
NiagaraDataInterfaceAudioSpectrum.h |