UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SoundEffectSubmix.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5
6#include "AudioDefines.h"
13
14#include "SoundEffectSubmix.generated.h"
15
16// Forward Declarations
17class FAudioDevice;
19
21
22
24UCLASS(config = Engine, hidecategories = Object, abstract, editinlinenew, BlueprintType, MinimalAPI)
26{
28
29 virtual FColor GetPresetColor() const override { return FColor(162, 84, 101); }
30
31};
32
41
75
84
86{
87public:
88 virtual ~FSoundEffectSubmix() = default;
89
90 // Provided for interpolating parameters from audio volume system, enabling transition between various settings
92 {
93 return false;
94 }
95
96 // Whether or not effect supports default reverb system
97 virtual bool SupportsDefaultReverb() const
98 {
99 return false;
100 }
101
102 // Whether or not effect supports default EQ system
103 virtual bool SupportsDefaultEQ() const
104 {
105 return false;
106 }
107
108 // Called on game thread to allow submix effect to query game data if needed.
109 virtual void Tick()
110 {
111 }
112
113 // Override to down mix input audio to a desired channel count.
115 {
116 return INDEX_NONE;
117 }
118
119 // Process the input block of audio. Called on audio thread.
123
124 // Allow effects to supply a drylevel.
125 virtual float GetDryLevel() const { return 0.0f; }
126
127 // Processes audio in the submix effect.
128 //
129 // If the audio cannot be processed, this function will return false and OutData will not be altered.
131
132 friend class USoundEffectPreset;
133
134 // Called by the audio engine or systems internally. This function calls the virtual Init function implemented by derived classes.
136 {
137 InitData_Internal = InInitData;
139 }
140
141 // Returns the data that was given to the source effect when initialized.
143 {
144 return InitData_Internal;
145 }
146
147protected:
149 {
150 }
151
152private:
154 virtual void Init(const FSoundEffectSubmixInitData& InInitData)
155 {
156 }
157
158 FSoundEffectSubmixInitData InitData_Internal;
159};
@ INDEX_NONE
Definition CoreMiscDefines.h:150
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
void Init()
Definition LockFreeList.h:4
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Engine.Build.cs:7
Definition AudioDevice.h:417
Definition SoundEffectBase.h:72
Definition SoundEffectSubmix.h:86
virtual bool SupportsDefaultReverb() const
Definition SoundEffectSubmix.h:97
ENGINE_API bool ProcessAudio(FSoundEffectSubmixInputData &InData, FSoundEffectSubmixOutputData &OutData)
Definition SoundEffectSubmix.cpp:12
void Setup(const FSoundEffectSubmixInitData &InInitData)
Definition SoundEffectSubmix.h:135
virtual void Tick()
Definition SoundEffectSubmix.h:109
virtual float GetDryLevel() const
Definition SoundEffectSubmix.h:125
virtual bool SupportsDefaultEQ() const
Definition SoundEffectSubmix.h:103
virtual void OnProcessAudio(const FSoundEffectSubmixInputData &InData, FSoundEffectSubmixOutputData &OutData)
Definition SoundEffectSubmix.h:120
virtual bool SetParameters(const FAudioEffectParameters &InParameters)
Definition SoundEffectSubmix.h:91
FSoundEffectSubmix()
Definition SoundEffectSubmix.h:148
virtual uint32 GetDesiredInputChannelCountOverride() const
Definition SoundEffectSubmix.h:114
virtual ~FSoundEffectSubmix()=default
const FSoundEffectSubmixInitData & GetInitData() const
Definition SoundEffectSubmix.h:142
Definition Array.h:670
Definition SoundEffectPreset.h:24
Definition SoundEffectSubmix.h:26
Definition SoundMix.h:18
Definition Color.h:486
Definition SoundEffectSubmix.h:35
uint32 DeviceID
Definition SoundEffectSubmix.h:36
void * PresetSettings
Definition SoundEffectSubmix.h:37
float SampleRate
Definition SoundEffectSubmix.h:38
uint32 ParentPresetUniqueId
Definition SoundEffectSubmix.h:39
Definition SoundEffectSubmix.h:44
int32 NumFrames
Definition SoundEffectSubmix.h:49
Audio::FAlignedFloatBuffer * AudioBuffer
Definition SoundEffectSubmix.h:61
int32 NumChannels
Definition SoundEffectSubmix.h:52
double AudioClock
Definition SoundEffectSubmix.h:64
int32 NumDeviceChannels
Definition SoundEffectSubmix.h:55
FSoundEffectSubmixInputData()
Definition SoundEffectSubmix.h:66
const TArray< FTransform > * ListenerTransforms
Definition SoundEffectSubmix.h:58
void * PresetData
Definition SoundEffectSubmix.h:46
Definition SoundEffectSubmix.h:77
int32 NumChannels
Definition SoundEffectSubmix.h:82
Audio::FAlignedFloatBuffer * AudioBuffer
Definition SoundEffectSubmix.h:79