UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ConvolutionAlgorithm.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7
8namespace Audio
9{
15 {
18
21
24
27
30
33
35 {
36 return bEnableHardwareAcceleration == Other.bEnableHardwareAcceleration
37 && BlockNumSamples == Other.BlockNumSamples
38 && NumInputChannels == Other.NumInputChannels
39 && NumOutputChannels == Other.NumOutputChannels
40 && NumImpulseResponses == Other.NumImpulseResponses
41 && MaxNumImpulseResponseSamples == Other.MaxNumImpulseResponseSamples;
42 }
43
45 {
46 return !(*this == Other);
47 }
48 };
49
50
56 {
57 public:
58
61
63 virtual int32 GetNumSamplesInBlock() const = 0;
64
66 virtual int32 GetNumAudioInputs() const = 0;
67
69 virtual int32 GetNumAudioOutputs() const = 0;
70
79 virtual void ProcessAudioBlock(const float* const InSamples[], float* const OutSamples[]) = 0;
80
82 virtual void ResetAudioHistory() = 0;
83
86
87
89 virtual int32 GetNumImpulseResponses() const = 0;
90
93
95 virtual void SetImpulseResponse(int32 InImpulseResponseIndex, const float* InSamples, int32 NumSamples) = 0;
96
102
108 };
109
134
155}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition ConvolutionAlgorithm.h:140
static SIGNALPROCESSING_API const FName AnyAlgorithmFactory
Definition ConvolutionAlgorithm.h:143
static SIGNALPROCESSING_API TUniquePtr< IConvolutionAlgorithm > NewConvolutionAlgorithm(const FConvolutionSettings &InSettings, const FName &InAlgorithmFactoryName=AnyAlgorithmFactory)
Definition ConvolutionAlgorithm.cpp:22
Definition ConvolutionAlgorithm.h:115
virtual SIGNALPROCESSING_API ~IConvolutionAlgorithmFactory()
Definition ConvolutionAlgorithm.cpp:11
virtual const FName GetFactoryName() const =0
static SIGNALPROCESSING_API const FName GetModularFeatureName()
Definition ConvolutionAlgorithm.cpp:14
virtual TUniquePtr< IConvolutionAlgorithm > NewConvolutionAlgorithm(const FConvolutionSettings &InSettings)=0
virtual bool IsHardwareAccelerated() const =0
virtual bool AreConvolutionSettingsSupported(const FConvolutionSettings &InSettings) const =0
Definition ConvolutionAlgorithm.h:56
virtual int32 GetNumImpulseResponses() const =0
virtual int32 GetNumSamplesInBlock() const =0
virtual int32 GetNumAudioInputs() const =0
virtual float GetMatrixGain(int32 InAudioInputIndex, int32 InImpulseResponseIndex, int32 InAudioOutputIndex) const =0
virtual void ResetAudioHistory()=0
virtual ~IConvolutionAlgorithm()
Definition ConvolutionAlgorithm.h:60
virtual int32 GetNumImpulseResponseSamples(int32 InImpulseResponseIndex) const =0
virtual void SetImpulseResponse(int32 InImpulseResponseIndex, const float *InSamples, int32 NumSamples)=0
virtual int32 GetNumAudioOutputs() const =0
virtual void ProcessAudioBlock(const float *const InSamples[], float *const OutSamples[])=0
virtual int32 GetMaxNumImpulseResponseSamples() const =0
virtual void SetMatrixGain(int32 InAudioInputIndex, int32 InImpulseResponseIndex, int32 InAudioOutputIndex, float InGain)=0
Definition NameTypes.h:617
Definition IModularFeature.h:12
Definition UniquePtr.h:107
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition ConvolutionAlgorithm.h:15
bool bEnableHardwareAcceleration
Definition ConvolutionAlgorithm.h:17
int32 MaxNumImpulseResponseSamples
Definition ConvolutionAlgorithm.h:32
int32 NumOutputChannels
Definition ConvolutionAlgorithm.h:26
int32 NumImpulseResponses
Definition ConvolutionAlgorithm.h:29
bool operator==(const FConvolutionSettings &Other)
Definition ConvolutionAlgorithm.h:34
int32 NumInputChannels
Definition ConvolutionAlgorithm.h:23
bool operator!=(const FConvolutionSettings &Other)
Definition ConvolutionAlgorithm.h:44
int32 BlockNumSamples
Definition ConvolutionAlgorithm.h:20