Navigation
API > API/Runtime > API/Runtime/SignalProcessing
First In First Out Buffer designed for audio buffers. Generally performs best when buffers are greater than 16 samples, optimally for buffers between 256 to 4096 samples. Memory operations are designed for audio applications by ensuring memory allocations only occur in the constructor or when capacity is altered, memory freeing only happens in the destructor or when capacity is altered. All assignments are performed using block memory copies.
| Name | FAlignedBlockBuffer |
| Type | class |
| Header File | /Engine/Source/Runtime/SignalProcessing/Public/DSP/AlignedBlockBuffer.h |
| Include Path | #include "DSP/AlignedBlockBuffer.h" |
Syntax
class FAlignedBlockBuffer
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FAlignedBlockBuffer
(
const FAlignedBlockBuffer& CopyBuff |
DSP/AlignedBlockBuffer.h | ||
FAlignedBlockBuffer
(
int32 InSampleCapacity, |
Constructor. | DSP/AlignedBlockBuffer.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FAlignedBlockBuffer() |
Destructor. | DSP/AlignedBlockBuffer.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AllocByteAlignment | uint32 | Alignment definition. | DSP/AlignedBlockBuffer.h | |
| ByteAlignment | uint32 | DSP/AlignedBlockBuffer.h | ||
| FloatAlignment | uint32 | DSP/AlignedBlockBuffer.h | ||
| InternalBuffer | float * | Internal memory. | DSP/AlignedBlockBuffer.h | |
| MaxNumInspectSamples | int32 | DSP/AlignedBlockBuffer.h | ||
| ReadPointer | float * | Read and write pointers. | DSP/AlignedBlockBuffer.h | |
| ReadPos | int32 | DSP/AlignedBlockBuffer.h | ||
| RolloverBuffer | float * | DSP/AlignedBlockBuffer.h | ||
| SampleCapacity | int32 | DSP/AlignedBlockBuffer.h | ||
| WriteCount | int32 | DSP/AlignedBlockBuffer.h | ||
| WritePointer | float * | DSP/AlignedBlockBuffer.h | ||
| WritePos | int32 | DSP/AlignedBlockBuffer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddSamples
(
const float* InSamples, |
Add samples to the buffer. | DSP/AlignedBlockBuffer.h | |
void AddZeros
(
int32 InNum |
Add zeros to the buffer. | DSP/AlignedBlockBuffer.h | |
void ClearSamples() |
Clear entire buffer. | DSP/AlignedBlockBuffer.h | |
int32 GetMaxNumInspectSamples() |
Maximum number of elements that can be inspected. | DSP/AlignedBlockBuffer.h | |
int32 GetNumAvailable() |
Amount of samples left over in buffer. | DSP/AlignedBlockBuffer.h | |
int32 GetSampleCapacity() |
Maximum size of buffer. | DSP/AlignedBlockBuffer.h | |
const float * InspectSamples
(
int32 InNum, |
Inspect samples in the buffer. | DSP/AlignedBlockBuffer.h | |
void RemoveSamples
(
int32 InNum |
Remove samples from the buffer. | DSP/AlignedBlockBuffer.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
float * AllocateAlignedFloatArray
(
int32 InNum |
DSP/AlignedBlockBuffer.h | ||
void CopyFloatArray
(
float* ToArray, |
DSP/AlignedBlockBuffer.h | ||
void FreeFloatArray
(
float*& Array |
DSP/AlignedBlockBuffer.h | ||
void SetMaxNumInspectSamples
(
int32 InMax |
Set the maximum number of elements that can be inspected. | DSP/AlignedBlockBuffer.h | |
void ZeroFloatArray
(
float* InArray, |
DSP/AlignedBlockBuffer.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FAlignedBlockBuffer & operator=
(
const FAlignedBlockBuffer& rhs |
Hide copy and assignment operators. | DSP/AlignedBlockBuffer.h |