15#include "IAudioExtensionPlugin.generated.h"
33#define AUDIO_SPATIALIZATION_PLUGIN_LLM_SCOPE LLM_SCOPE_BYTAG(Audio_SpatializationPlugins);
208 static FString DisplayName = FString(
TEXT(
"Generic Audio Plugin"));
263 static FString DisplayName = FString(
TEXT(
"Generic Audio Spatialization Plugin"));
425 static FString DisplayName = FString(
TEXT(
"Generic Audio Source Data Override Plugin"));
509 static FString DisplayName = FString(
TEXT(
"Generic Audio Occlusion Plugin"));
620 static FString DisplayName = FString(
TEXT(
"Generic Audio Reverb Plugin"));
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EAudioPlugin
Definition IAudioExtensionPlugin.h:40
#define LLM_DECLARE_TAG_API(...)
Definition LowLevelMemTracker.h:1117
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition Engine.Build.cs:7
Definition AudioDevice.h:417
Definition NameTypes.h:617
Definition SoundEffectBase.h:72
Definition SoundEffectSource.h:119
Definition SoundEffectSubmix.h:86
Definition IAudioExtensionPlugin.h:567
virtual ~IAudioModulationFactory()
Definition IAudioExtensionPlugin.h:570
static FName GetModularFeatureName()
Definition IAudioExtensionPlugin.h:575
virtual const FName & GetDisplayName() const =0
virtual TAudioModulationPtr CreateNewModulationPlugin(FAudioDevice *OwningDevice)=0
virtual UClass * GetCustomModulationSettingsClass() const
Definition IAudioExtensionPlugin.h:588
Definition IAudioModulation.h:177
Definition IAudioExtensionPlugin.h:492
virtual TAudioOcclusionPtr CreateNewOcclusionPlugin(FAudioDevice *OwningDevice)=0
virtual UClass * GetCustomOcclusionSettingsClass() const
Definition IAudioExtensionPlugin.h:519
virtual FString GetDisplayName() override
Definition IAudioExtensionPlugin.h:507
virtual ~IAudioOcclusionFactory()
Definition IAudioExtensionPlugin.h:495
static FName GetModularFeatureName()
Definition IAudioExtensionPlugin.h:500
Definition IAudioExtensionPlugin.h:526
virtual void ProcessAudio(const FAudioPluginSourceInputData &InputData, FAudioPluginSourceOutputData &OutputData)
Definition IAudioExtensionPlugin.h:557
virtual void Initialize(const FAudioPluginInitializationParams InitializationParams)
Definition IAudioExtensionPlugin.h:534
virtual void OnInitSource(const uint32 SourceId, const FName &AudioComponentUserId, const uint32 NumChannels, UOcclusionPluginSourceSettingsBase *InSettings)
Definition IAudioExtensionPlugin.h:547
virtual void OnReleaseSource(const uint32 SourceId)
Definition IAudioExtensionPlugin.h:552
virtual void Shutdown()
Definition IAudioExtensionPlugin.h:542
virtual ~IAudioOcclusion()
Definition IAudioExtensionPlugin.h:529
Definition IAudioExtensionPlugin.h:196
virtual FString GetDisplayName()
Definition IAudioExtensionPlugin.h:206
virtual bool SupportsPlatform(const FString &PlatformName)=0
virtual bool ReturnsToSubmixGraph() const
Definition IAudioExtensionPlugin.h:234
virtual bool IsExternalSend()
Definition IAudioExtensionPlugin.h:226
Definition IAudioExtensionPlugin.h:692
virtual void OnListenerShutdown(FAudioDevice *AudioDevice)
Definition IAudioExtensionPlugin.h:725
virtual void OnListenerUpdated(FAudioDevice *AudioDevice, const int32 ViewportIndex, const FTransform &ListenerTransform, const float InDeltaSeconds)
Definition IAudioExtensionPlugin.h:720
virtual void OnTick(UWorld *InWorld, const int32 ViewportIndex, const FTransform &ListenerTransform, const float InDeltaSeconds)
Definition IAudioExtensionPlugin.h:710
virtual void OnWorldChanged(FAudioDevice *AudioDevice, UWorld *InWorld)
Definition IAudioExtensionPlugin.h:715
virtual void OnListenerInitialize(FAudioDevice *AudioDevice, UWorld *ListenerWorld)
Definition IAudioExtensionPlugin.h:705
virtual ~IAudioPluginListener()
Definition IAudioExtensionPlugin.h:694
virtual void OnDeviceShutdown(FAudioDevice *AudioDevice)
Definition IAudioExtensionPlugin.h:698
Definition IAudioExtensionPlugin.h:603
virtual TAudioReverbPtr CreateNewReverbPlugin(FAudioDevice *OwningDevice)=0
static FName GetModularFeatureName()
Definition IAudioExtensionPlugin.h:611
virtual FString GetDisplayName() override
Definition IAudioExtensionPlugin.h:618
virtual ~IAudioReverbFactory()
Definition IAudioExtensionPlugin.h:606
virtual UClass * GetCustomReverbSettingsClass() const
Definition IAudioExtensionPlugin.h:630
Definition IAudioExtensionPlugin.h:637
virtual void OnDeviceShutdown(FAudioDevice *AudioDevice)
Definition IAudioExtensionPlugin.h:657
virtual USoundSubmix * GetSubmix()=0
virtual void ProcessSourceAudio(const FAudioPluginSourceInputData &InputData, FAudioPluginSourceOutputData &OutputData)
Definition IAudioExtensionPlugin.h:679
virtual ~IAudioReverb()
Definition IAudioExtensionPlugin.h:640
virtual void Shutdown()
Definition IAudioExtensionPlugin.h:653
virtual void Initialize(const FAudioPluginInitializationParams InitializationParams)
Definition IAudioExtensionPlugin.h:645
virtual void OnReleaseSource(const uint32 SourceId)=0
virtual void OnInitSource(const uint32 SourceId, const FName &AudioComponentUserId, const uint32 NumChannels, UReverbPluginSourceSettingsBase *InSettings)=0
virtual FSoundEffectSubmixPtr GetEffectSubmix()=0
virtual USoundSubmix * LoadSubmix()
Definition IAudioExtensionPlugin.h:670
Definition IAudioExtensionPlugin.h:408
virtual UClass * GetCustomSourceDataOverrideSettingsClass() const
Definition IAudioExtensionPlugin.h:433
virtual TAudioSourceDataOverridePtr CreateNewSourceDataOverridePlugin(FAudioDevice *OwningDevice)=0
virtual ~IAudioSourceDataOverrideFactory()
Definition IAudioExtensionPlugin.h:411
virtual FString GetDisplayName() override
Definition IAudioExtensionPlugin.h:423
static FName GetModularFeatureName()
Definition IAudioExtensionPlugin.h:416
Definition IAudioExtensionPlugin.h:447
virtual void GetSourceDataOverrides(const uint32 SourceId, const FTransform &InListenerTransform, FWaveInstance *InOutWaveInstance)
Definition IAudioExtensionPlugin.h:470
virtual ~IAudioSourceDataOverride()
Definition IAudioExtensionPlugin.h:450
virtual void Initialize(const FAudioPluginInitializationParams InitializationParams)
Definition IAudioExtensionPlugin.h:455
virtual void OnReleaseSource(const uint32 SourceId)
Definition IAudioExtensionPlugin.h:465
virtual void OnInitSource(const uint32 SourceId, const FName &AudioComponentUserId, USourceDataOverridePluginSourceSettingsBase *InSettings)
Definition IAudioExtensionPlugin.h:460
virtual void OnAllSourcesProcessed()
Definition IAudioExtensionPlugin.h:475
Definition IAudioExtensionPlugin.h:246
virtual FString GetDisplayName() override
Definition IAudioExtensionPlugin.h:261
static FName GetModularFeatureName()
Definition IAudioExtensionPlugin.h:254
virtual TAudioSpatializationPtr CreateNewSpatializationPlugin(FAudioDevice *OwningDevice)=0
virtual ~IAudioSpatializationFactory()
Definition IAudioExtensionPlugin.h:249
virtual UClass * GetCustomSpatializationSettingsClass() const
Definition IAudioExtensionPlugin.h:285
virtual int32 GetMaxSupportedChannels()
Definition IAudioExtensionPlugin.h:272
Definition IAudioExtensionPlugin.h:301
virtual void OnDeviceShutdown(FAudioDevice *AudioDevice)
Definition IAudioExtensionPlugin.h:316
virtual void ProcessSpatializationForVoice(uint32 SourceId, float *InSamples, float *OutSamples, const FVector &Position)
Definition IAudioExtensionPlugin.h:336
virtual void OnAllSourcesProcessed()
Definition IAudioExtensionPlugin.h:366
virtual bool IsSpatializationEffectInitialized() const
Definition IAudioExtensionPlugin.h:371
virtual void InitializeSpatializationEffect(uint32 BufferLength)
Definition IAudioExtensionPlugin.h:331
virtual void Initialize(const FAudioPluginInitializationParams InitializationParams)
Definition IAudioExtensionPlugin.h:377
virtual void OnInitSource(const uint32 SourceId, const FName &AudioComponentUserId, USpatializationPluginSourceSettingsBase *InSettings)
Definition IAudioExtensionPlugin.h:346
virtual void ProcessAudio(const FAudioPluginSourceInputData &InputData, FAudioPluginSourceOutputData &OutputData)
Definition IAudioExtensionPlugin.h:361
virtual bool CreateSpatializationEffect(uint32 SourceId)
Definition IAudioExtensionPlugin.h:382
virtual void SetSpatializationParameters(uint32 SourceId, const FSpatializationParams &Params)
Definition IAudioExtensionPlugin.h:321
virtual void * GetSpatializationEffect(uint32 SourceId)
Definition IAudioExtensionPlugin.h:388
virtual ~IAudioSpatialization()
Definition IAudioExtensionPlugin.h:304
virtual void ProcessSpatializationForVoice(uint32 SourceId, float *InSamples, float *OutSamples)
Definition IAudioExtensionPlugin.h:341
virtual void GetSpatializationParameters(uint32 SourceId, FSpatializationParams &OutParams)
Definition IAudioExtensionPlugin.h:326
virtual void OnInitSource(const uint32 SourceId, const FName &AudioComponentUserId, const uint32 NumChannels, USpatializationPluginSourceSettingsBase *InSettings)
Definition IAudioExtensionPlugin.h:350
virtual void Shutdown()
Definition IAudioExtensionPlugin.h:312
virtual void OnReleaseSource(const uint32 SourceId)
Definition IAudioExtensionPlugin.h:356
Definition IModularFeature.h:12
Definition IAudioExtensionPlugin.h:483
Definition IAudioExtensionPlugin.h:598
Definition SoundSubmix.h:334
Definition IAudioExtensionPlugin.h:398
Definition IAudioExtensionPlugin.h:185
Definition IAudioExtensionPlugin.h:127
uint32 NumSources
Definition IAudioExtensionPlugin.h:129
FAudioDevice * AudioDevicePtr
Definition IAudioExtensionPlugin.h:143
FAudioPluginInitializationParams()
Definition IAudioExtensionPlugin.h:145
uint32 BufferLength
Definition IAudioExtensionPlugin.h:138
uint32 NumOutputChannels
Definition IAudioExtensionPlugin.h:132
uint32 SampleRate
Definition IAudioExtensionPlugin.h:135
Definition IAudioExtensionPlugin.h:177
Audio::FAlignedFloatBuffer AudioBuffer
Definition IAudioExtensionPlugin.h:179
Definition IAudioExtensionPlugin.h:69
double AudioClock
Definition IAudioExtensionPlugin.h:107
FVector EmitterPosition
Definition IAudioExtensionPlugin.h:77
FSpatializationParams()
Definition IAudioExtensionPlugin.h:109
float Distance
Definition IAudioExtensionPlugin.h:95
FQuat LastEmitterWorldRotation
Definition IAudioExtensionPlugin.h:86
float NonSpatializedAmount
Definition IAudioExtensionPlugin.h:104
FQuat EmitterWorldRotation
Definition IAudioExtensionPlugin.h:83
FVector EmitterWorldPosition
Definition IAudioExtensionPlugin.h:80
FVector RightChannelPosition
Definition IAudioExtensionPlugin.h:92
FVector ListenerPosition
Definition IAudioExtensionPlugin.h:71
float AttenuationDistance
Definition IAudioExtensionPlugin.h:98
FQuat ListenerOrientation
Definition IAudioExtensionPlugin.h:74
FVector LeftChannelPosition
Definition IAudioExtensionPlugin.h:89
float NormalizedOmniRadius
Definition IAudioExtensionPlugin.h:101