117 struct FNotifyBufferDetails
120 UPTRINT NotifyNodeWaveInstanceHash;
122 FNotifyBufferDetails()
123 : NotifyNode(
nullptr)
124 , NotifyNodeWaveInstanceHash(0)
130 , NotifyNodeWaveInstanceHash(
InHash)
227 float DistanceAttenuation;
230 float OcclusionAttenuation;
233 float VolumeMultiplier;
239 float RelativeRenderCost;
298 uint32 bUseSpatialization:1;
592 virtual void Seek(
const float SeekTime) {}
735 UE_DEPRECATED(5.5,
"The Buffer member no longer exists. Use GetNumChannels() to qeury channel count.")
800 UE_DEPRECATED(5.5,
"This is no longer used and should not be accessed directly.")
883#if ENABLE_AUDIO_DEBUG
902 float RelativeRenderCost = 1.f;
982 return ((
InDW + 1)& ~1);
#define NULL
Definition oodle2base.h:134
GLenum GLuint GLint level
Definition AndroidOpenGLFunctions.h:46
#define MIN_FILTER_FREQUENCY
Definition AudioDefines.h:47
#define MAX_FILTER_FREQUENCY
Definition AudioDefines.h:48
ENGINE_API bool IsSpatializationCVarEnabled()
Definition Audio.cpp:183
EBusSendType
Definition Audio.h:169
ENGINE_API const TArray< FName > & GetCompressedAudioFormatsToBuild()
ENGINE_API UClass * GetAudioPluginCustomSettingsClass(EAudioPlugin PluginType)
Definition Audio.cpp:130
ELoopingMode
Definition Audio.h:97
@ LOOP_Forever
Definition Audio.h:103
@ LOOP_WithNotification
Definition Audio.h:101
@ LOOP_Never
Definition Audio.h:99
EAudioSpeakers
Definition Audio.h:77
@ SPEAKER_LeftSurround
Definition Audio.h:82
@ SPEAKER_RightSurround
Definition Audio.h:83
@ SPEAKER_FrontCenter
Definition Audio.h:80
@ SPEAKER_FrontRight
Definition Audio.h:79
@ SPEAKER_FrontLeft
Definition Audio.h:78
@ SPEAKER_LowFrequency
Definition Audio.h:81
@ SPEAKER_Count
Definition Audio.h:86
@ SPEAKER_LeftBack
Definition Audio.h:84
@ SPEAKER_RightBack
Definition Audio.h:85
ENGINE_API void SetCompressedAudioFormatsToBuild(const TCHAR *Platform=NULL)
ENGINE_API bool IsAudioPluginEnabled(EAudioPlugin PluginType)
Definition Audio.cpp:113
ENGINE_API void SerializeWaveFile(TArray< uint8 > &OutWaveFileData, const uint8 *InPCMData, const int32 NumBytes, const int32 NumChannels, const int32 SampleRate)
Definition Audio.cpp:2201
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define DECLARE_CYCLE_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:679
#define DECLARE_DWORD_COUNTER_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:682
#define DECLARE_FLOAT_ACCUMULATOR_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:683
#define DECLARE_MEMORY_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:687
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
DIRECTLINK_API Display
Definition DirectLinkLog.h:8
return true
Definition ExternalRpcRegistry.cpp:601
EAudioPlugin
Definition IAudioExtensionPlugin.h:40
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
ESoundSpatializationAlgorithm
Definition SoundAttenuation.h:32
ENonSpatializedRadiusSpeakerMapMode
Definition SoundAttenuation.h:115
EModulationDestination
Definition SoundModulationDestination.h:43
const char * source
Definition lz4.h:711
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
Definition Archive.h:1208
Definition AudioDevice.h:417
Definition NameTypes.h:617
Definition UObjectGlobals.h:2492
int32 ResourceID
Definition Audio.h:611
FString GetChannelsDesc()
Definition Audio.cpp:437
virtual ENGINE_API FString Describe(bool bUseLongName)
Definition Audio.cpp:454
FString ResourceName
Definition Audio.h:615
class FAudioDevice * AudioDevice
Definition Audio.h:619
bool bAllocationInPermanentPool
Definition Audio.h:617
virtual void EnsureRealtimeTaskCompletion()
Definition Audio.h:608
FSoundBuffer(class FAudioDevice *InAudioDevice)
Definition Audio.h:553
virtual bool ReadCompressedInfo(USoundWave *SoundWave)
Definition Audio.h:586
FName GetSoundClassName()
Definition Audio.cpp:385
virtual bool IsRealTimeSourceReady()
Definition Audio.h:605
virtual bool ReadCompressedData(uint8 *Destination, int32 NumFramesToDecode, bool bLooping)
Definition Audio.h:589
virtual int32 GetCurrentChunkOffset() const
Definition Audio.h:602
virtual int32 GetCurrentChunkIndex() const
Definition Audio.h:597
int32 NumChannels
Definition Audio.h:613
virtual ENGINE_API ~FSoundBuffer()
Definition Audio.cpp:376
virtual int32 GetSize() PURE_VIRTUAL(FSoundBuffer
Definition Audio.h:564
virtual void Seek(const float SeekTime)
Definition Audio.h:592
float LastLPFFrequency
Definition Audio.h:814
FVector RightChannelSourceLocation
Definition Audio.h:839
uint8 Paused
Definition Audio.h:869
FVector LeftChannelSourceLocation
Definition Audio.h:836
ENGINE_API FSpatializationParams GetSpatializationParams()
Definition Audio.cpp:723
uint8 bIsPreviewSound
Definition Audio.h:875
void SetPauseManually(bool bInIsPauseManually)
Definition Audio.cpp:503
ENGINE_API float SetLFEBleed()
Definition Audio.cpp:542
virtual ENGINE_API float GetSourceSampleRate() const
Definition Audio.cpp:868
int32 TickCount
Definition Audio.h:833
void UpdatePause()
Definition Audio.cpp:509
uint8 bReverbApplied
Definition Audio.h:860
virtual float GetRelativeRenderCost() const
Definition Audio.h:770
bool IsPausedManually() const
Definition Audio.h:714
void SetPauseByGame(bool bInIsPauseByGame)
Definition Audio.cpp:497
const FWaveInstance * GetWaveInstance() const
Definition Audio.h:703
virtual ENGINE_API void Stop()
Definition Audio.cpp:479
void SetVirtual()
Definition Audio.h:746
uint32 bIsVirtual
Definition Audio.h:878
void NotifyPlaybackData()
Definition Audio.cpp:900
uint8 bIsPausedByGame
Definition Audio.h:863
ENGINE_API void GetChannelLocations(FVector &Left, FVector &Right) const
Definition Audio.cpp:893
virtual bool IsStopping()
Definition Audio.h:685
FThreadSafeBool Playing
Definition Audio.h:857
virtual ENGINE_API FString Describe(bool bUseLongName)
Definition Audio.cpp:471
uint8 bInitialized
Definition Audio.h:872
virtual bool Init(FWaveInstance *InWaveInstance)=0
float Pitch
Definition Audio.h:824
virtual const FSoundBuffer * GetBuffer() const
Definition Audio.h:736
virtual ENGINE_API int64 GetNumFramesPlayed() const
Definition Audio.cpp:878
float LPFFrequency
Definition Audio.h:807
float PlaybackTime
Definition Audio.h:821
float LFEBleed
Definition Audio.h:804
virtual bool IsPreparedToInit()
Definition Audio.h:665
int32 NumTotalFrames
Definition Audio.h:845
virtual ENGINE_API float GetPlaybackPercent() const
Definition Audio.cpp:853
float HPFFrequency
Definition Audio.h:810
float LastHPFFrequency
Definition Audio.h:818
virtual bool IsFinished()=0
virtual ENGINE_API ~FSoundSource()
int32 StartFrame
Definition Audio.h:848
uint32 VoiceId
Definition Audio.h:854
uint8 bIsManuallyPaused
Definition Audio.h:866
bool IsReverbApplied() const
Definition Audio.h:717
bool IsGameOnly() const
Definition Audio.cpp:521
int32 NumChannels
Definition Audio.h:851
int32 NumFramesPlayed
Definition Audio.h:842
ENGINE_API void SetFilterFrequency()
Definition Audio.cpp:554
virtual bool PrepareForInitialization(FWaveInstance *InWaveInstance)
Definition Audio.h:662
virtual ENGINE_API int32 GetNumTotalFrames() const
Definition Audio.cpp:883
FSoundBuffer * Buffer
Definition Audio.h:801
FAudioDevice * AudioDevice
Definition Audio.h:794
virtual bool IsInitialized() const
Definition Audio.h:671
FSoundSource(FAudioDevice *InAudioDevice)
Definition Audio.h:630
int32 LastUpdate
Definition Audio.h:827
virtual ENGINE_API int32 GetStartFrame() const
Definition Audio.cpp:888
ENGINE_API bool SetReverbApplied(bool bHardwareAvailable)
Definition Audio.cpp:526
virtual float GetEnvelopeValue() const
Definition Audio.h:767
virtual void StopNow()
Definition Audio.h:682
virtual void InitializeSourceEffects(uint32 InEffectVoiceId)
Definition Audio.h:741
int32 GetNumChannels() const
Definition Audio.h:738
ENGINE_API void InitCommon()
Definition Audio.cpp:818
FWaveInstance * WaveInstance
Definition Audio.h:797
bool IsPausedByGame() const
Definition Audio.h:712
int32 LastHeardUpdate
Definition Audio.h:830
bool IsPlaying() const
Definition Audio.h:706
ENGINE_API void UpdateStereoEmitterPositions()
Definition Audio.cpp:624
ENGINE_API void UpdateCommon()
Definition Audio.cpp:832
bool IsPaused() const
Definition Audio.h:709
ENGINE_API float GetDebugVolume(const float InVolume)
Definition Audio.cpp:659
Definition ThreadSafeBool.h:17
TPimplPtr< FSoundWaveTimecodeInfo, EPimplPtrMode::DeepCopy > TimecodeInfo
Definition Audio.h:972
ENGINE_API bool IsFormatSupported() const
Definition Audio.cpp:2172
static constexpr uint16 WAVE_INFO_FORMAT_IEEE_FLOAT
Definition Audio.h:944
const uint16 * pBitsPerSample
Definition Audio.h:952
static constexpr uint16 WAVE_INFO_FORMAT_PCM
Definition Audio.h:942
static constexpr uint16 WAVE_INFO_FORMAT_ADPCM
Definition Audio.h:943
const uint8 * SampleDataEnd
Definition Audio.h:959
const uint8 * SampleDataStart
Definition Audio.h:958
static ENGINE_API const TArray< uint32 > & GetRequiredWaveChunkIds()
Definition Audio.cpp:1589
static ENGINE_API const TArray< uint32 > & GetOptionalWaveChunkIds()
Definition Audio.cpp:1600
FWaveModInfo()
Definition Audio.h:975
const uint32 * pSamplesPerSec
Definition Audio.h:949
static constexpr uint16 WAVE_INFO_FORMAT_DVI_ADPCM
Definition Audio.h:945
const uint32 * pWaveDataSize
Definition Audio.h:956
const uint32 * pAvgBytesPerSec
Definition Audio.h:950
uint32 NewDataSize
Definition Audio.h:963
ENGINE_API bool ReadWaveInfo(const uint8 *WaveData, int32 WaveDataSize, FString *ErrorMessage=NULL, bool InHeaderDataOnly=false, void **OutFormatHeader=NULL)
Definition Audio.cpp:1699
const uint16 * pChannels
Definition Audio.h:953
uint16 * pFormatTag
Definition Audio.h:954
ENGINE_API bool IsFormatUncompressed() const
Definition Audio.cpp:2181
TArray< FWaveCue > WaveCues
Definition Audio.h:966
static constexpr uint16 WAVE_INFO_FORMAT_OODLE_WAVE
Definition Audio.h:946
static ENGINE_API const uint32 GetChunkId(const char ChunkID[4])
Definition Audio.cpp:1621
const uint16 * pBlockAlign
Definition Audio.h:951
ENGINE_API void ReportImportFailure() const
Definition Audio.cpp:2147
const uint8 * WaveDataEnd
Definition Audio.h:961
static uint32 Pad16Bit(uint32 InDW)
Definition Audio.h:980
ENGINE_API uint32 GetNumSamples() const
Definition Audio.cpp:2160
ENGINE_API bool ReadWaveHeader(const uint8 *RawWaveData, int32 Size, int32 Offset)
Definition Audio.cpp:2125
const uint32 * pMasterSize
Definition Audio.h:957
TArray< FWaveSampleLoop > WaveSampleLoops
Definition Audio.h:969
uint32 SampleDataSize
Definition Audio.h:960
virtual void OnSourceReleased(const int32 InSourceId)=0
virtual void OnNewBuffer(const FOnNewBufferParams &)=0
virtual ~ISourceBufferListener()=default
Definition UniquePtr.h:107
Definition AudioLinkSettingsAbstract.h:32
Definition IAudioExtensionPlugin.h:483
Definition IAudioExtensionPlugin.h:598
Definition SoundClass.h:209
Definition SoundEffectSource.h:49
Definition SoundNode.h:58
Definition SoundSubmix.h:174
Definition SoundSubmix.h:334
Definition SoundWave.h:417
Definition IAudioExtensionPlugin.h:398
Definition IAudioExtensionPlugin.h:185
Type
Definition AudioOutputTarget.h:12
@ false
Definition radaudio_common.h:23
Definition IAudioModulation.h:52
Definition ActiveSound.h:283
ENGINE_API UPTRINT GetHashForNode(USoundNode *NotifyNode) const
Definition Audio.cpp:965
ENGINE_API void DispatchNotifies(FWaveInstance *WaveInstance, const bool bStopped)
Definition Audio.cpp:978
ENGINE_API void AddReferencedObjects(FReferenceCollector &Collector)
Definition Audio.cpp:994
ENGINE_API void AddNotify(USoundNode *NotifyNode, UPTRINT WaveInstanceHash)
Definition Audio.cpp:960
friend FArchive & operator<<(FArchive &Ar, FNotifyBufferFinishedHooks &WaveInstance)
Definition Audio.cpp:1002
Definition ReverbSettings.h:49
Definition AudioWaveFormatParser.h:80
Definition SoundModulationDestination.h:62
Definition SoundSourceBusSend.h:27
Definition SoundWaveTimecodeInfo.h:10
Definition IAudioExtensionPlugin.h:69
uint32 Position
Definition Audio.h:919
uint32 CuePointID
Definition Audio.h:917
FString Label
Definition Audio.h:921
uint32 SampleLength
Definition Audio.h:923
uint32 bIsStarted
Definition Audio.h:285
ENGINE_API float GetOcclusionAttenuation() const
Definition Audio.cpp:1269
USoundSubmixBase * SoundSubmix
Definition Audio.h:193
USoundEffectSourcePresetChain * SourceEffectChain
Definition Audio.h:202
void SetPitch(const float InPitch)
Definition Audio.h:457
float Priority
Definition Audio.h:249
uint32 bIsAmbisonics
Definition Audio.h:329
float AttenuationLowpassFilterFrequency
Definition Audio.h:371
uint32 bReportedSpatializationWarning
Definition Audio.h:326
ENGINE_API void AddReferencedObjects(FReferenceCollector &Collector)
Definition Audio.cpp:1199
float AttenuationHighpassFilterFrequency
Definition Audio.h:374
float AmbientZoneFilterFrequency
Definition Audio.h:368
int32 EnvelopeFollowerAttackTime
Definition Audio.h:243
ENGINE_API bool IsPlaying() const
Definition Audio.cpp:1106
uint32 bEnableSubmixSends
Definition Audio.h:276
ENGINE_API float GetVolumeWithDistanceAndOcclusionAttenuation() const
Definition Audio.cpp:1305
float LFEBleed
Definition Audio.h:261
EAudioOutputTarget::Type OutputTarget
Definition Audio.h:353
ENGINE_API float GetVolume() const
Definition Audio.cpp:1315
float StereoSpread
Definition Audio.h:392
uint32 bIsFinished
Definition Audio.h:288
void SetStopping(const bool bInIsStopping)
Definition Audio.h:460
uint32 bEnableBusSends
Definition Audio.h:270
void SetVolumeMultiplier(const float InVolumeMultiplier)
Definition Audio.h:458
uint32 bIsDynamic
Definition Audio.h:335
void SetDistanceAttenuation(const float InDistanceAttenuation)
Definition Audio.h:455
uint32 bAlreadyNotifiedHook
Definition Audio.h:291
float RadioFilterVolumeThreshold
Definition Audio.h:258
float AttenuationDistance
Definition Audio.h:395
FSharedISourceBufferListenerPtr SourceBufferListener
Definition Audio.h:214
friend uint32 GetTypeHash(FWaveInstance *A)
Definition Audio.h:526
ENGINE_API bool ShouldStopDueToMaxConcurrency() const
Definition Audio.cpp:1321
ENGINE_API float GetPitch() const
Definition Audio.cpp:1310
float GetVolumeMultiplier() const
Definition Audio.h:469
float ReverbSendLevel
Definition Audio.h:413
ENGINE_API bool IsStreaming() const
Definition Audio.cpp:1372
TArray< FSoundSourceBusSendInfo > BusSends[(int32) EBusSendType::Count]
Definition Audio.h:199
uint32 bCenterChannelOnly
Definition Audio.h:320
ENGINE_API float GetDistanceAndOcclusionAttenuation() const
Definition Audio.cpp:1259
float NonSpatializedRadiusStart
Definition Audio.h:383
FVector Location
Definition Audio.h:380
bool bShouldSourceBufferListenerZeroBuffer
Definition Audio.h:215
void SetVolume(const float InVolume)
Definition Audio.h:454
uint32 bIsMusic
Definition Audio.h:314
ELoopingMode LoopingMode
Definition Audio.h:264
float PlaybackPercent
Definition Audio.h:410
TArray< FSoundSubmixSendInfo > SoundSubmixSends
Definition Audio.h:196
UOcclusionPluginSourceSettingsBase * OcclusionPluginSettings
Definition Audio.h:344
void SetRelativeRenderCost(float InRelativeRenderCost)
Definition Audio.h:529
bool IsStopping() const
Definition Audio.h:461
uint32 bEnableHighPassFilter
Definition Audio.h:305
ENGINE_API FString GetName() const
Definition Audio.cpp:1382
FNotifyBufferFinishedHooks NotifyBufferFinishedHooks
Definition Audio.h:205
ENGINE_API float GetDynamicVolume() const
Definition Audio.cpp:1274
uint32 bIsOccluded
Definition Audio.h:308
ENGINE_API bool IsSeekable() const
Definition Audio.cpp:1360
float PlaybackTime
Definition Audio.h:407
float StartTime
Definition Audio.h:267
float HighPassFilterFrequency
Definition Audio.h:359
ENGINE_API void NotifyFinished(const bool bStopped=false)
Definition Audio.cpp:1149
uint8 UserIndex
Definition Audio.h:430
void SetSpatializationIsExternalSend(const bool InSpatializationIsExternalSend)
Definition Audio.h:519
float RadioFilterVolume
Definition Audio.h:255
uint32 bIsStopping
Definition Audio.h:332
USpatializationPluginSourceSettingsBase * SpatializationPluginSettings
Definition Audio.h:341
ENGINE_API float GetDistanceAttenuation() const
Definition Audio.cpp:1264
uint32 bEnableSourceDataOverride
Definition Audio.h:279
uint32 bSpatializationIsExternalSend
Definition Audio.h:294
ESoundSpatializationAlgorithm SpatializationMethod
Definition Audio.h:338
ENGINE_API float GetVolumeWeightedPriority() const
Definition Audio.cpp:1327
ENGINE_API bool GetUseSpatialization() const
Definition Audio.cpp:1377
uint32 bEnableBaseSubmix
Definition Audio.h:273
float ListenerToSoundDistance
Definition Audio.h:398
uint32 bReverb
Definition Audio.h:317
ENGINE_API float GetActualVolume() const
Definition Audio.cpp:1240
float SoundClassFilterFrequency
Definition Audio.h:362
USourceDataOverridePluginSourceSettingsBase * SourceDataOverridePluginSettings
Definition Audio.h:350
void SetUseSpatialization(const bool InUseSpatialization)
Definition Audio.h:513
ENGINE_API FWaveInstance & operator=(FWaveInstance &&)
float ManualReverbSendLevel
Definition Audio.h:416
TArray< FAttenuationSubmixSendSettings > AttenuationSubmixSends
Definition Audio.h:419
uint32 bEnableLowPassFilter
Definition Audio.h:302
float GetEnvelopeValue() const
Definition Audio.h:510
float VoiceCenterChannelVolume
Definition Audio.h:252
void SetEnvelopeValue(const float InEnvelopeValue)
Definition Audio.h:507
bool GetSpatializationIsExternalSend() const
Definition Audio.h:522
ENGINE_API FWaveInstance(FWaveInstance &&)
UPTRINT WaveInstanceHash
Definition Audio.h:427
float LowPassFilterFrequency
Definition Audio.h:356
float GetRelativeRenderCost() const
Definition Audio.h:532
uint32 bApplyRadioFilter
Definition Audio.h:282
ENGINE_API void StopWithoutNotification()
Definition Audio.cpp:1173
int32 EnvelopeFollowerReleaseTime
Definition Audio.h:246
float AbsoluteAzimuth
Definition Audio.h:404
float ListenerToSoundDistanceForPanning
Definition Audio.h:401
FActiveSound * ActiveSound
Definition Audio.h:208
friend FArchive & operator<<(FArchive &Ar, FWaveInstance *WaveInstance)
Definition Audio.cpp:1188
TUniquePtr< Audio::FQuartzQuantizedRequestData > QuantizedRequestData
Definition Audio.h:211
TObjectPtr< USoundClass > SoundClass
Definition Audio.h:190
TObjectPtr< USoundWave > WaveData
Definition Audio.h:187
ENGINE_API FSoundModulationDestinationSettings GetEffectiveModulationSettings(const EModulationDestination InDestination) const
Definition Audio.cpp:197
ENGINE_API float GetEffectiveModulationValue(const EModulationDestination InDestination) const
Definition Audio.cpp:188
float NonSpatializedRadiusEnd
Definition Audio.h:386
UReverbPluginSourceSettingsBase * ReverbPluginSettings
Definition Audio.h:347
uint32 GetPlayOrder() const
Definition Audio.h:524
UAudioLinkSettingsAbstract * AudioLinkSettingsOverride
Definition Audio.h:219
uint32 bIsPaused
Definition Audio.h:323
uint32 bIsUISound
Definition Audio.h:311
float OcclusionFilterFrequency
Definition Audio.h:365
float Pitch
Definition Audio.h:377
bool bShouldUseAudioLink
Definition Audio.h:218
void SetOcclusionAttenuation(const float InOcclusionAttenuation)
Definition Audio.h:456
ENonSpatializedRadiusSpeakerMapMode NonSpatializedRadiusMode
Definition Audio.h:389
uint32 LoopID
Definition Audio.h:929
uint32 StartFrame
Definition Audio.h:930
uint32 EndFrame
Definition Audio.h:931
const float * AudioData
Definition Audio.h:156
int32 NumChannels
Definition Audio.h:159
int32 SampleRate
Definition Audio.h:160
int32 NumSamples
Definition Audio.h:158
int32 SourceId
Definition Audio.h:157
Definition ObjectPtr.h:488