UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
USoundWave Class Reference

#include <SoundWave.h>

+ Inheritance diagram for USoundWave:

Public Types

using FSoundWaveClientPtr = ISoundWaveClient *
 
typedef FAsyncTask< class FAsyncAudioDecompressWorkerFAsyncAudioDecompress
 
- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 

Public Member Functions

void AddPlayingSource ()
 
void RemovePlayingSource ()
 
ENGINE_API ESoundAssetCompressionType GetSoundAssetCompressionType () const
 
ENGINE_API ESoundAssetCompressionType GetSoundAssetCompressionTypeEnum () const
 
ENGINE_API void SetSoundAssetCompressionType (ESoundAssetCompressionType InSoundAssetCompressionType, bool bMarkDirty=true)
 
ENGINE_API TArray< FSoundWaveCuePointGetCuePoints () const
 
ENGINE_API void SetAllCuePoints (TArray< FSoundWaveCuePoint > InCuePoints) const
 
ENGINE_API TArray< FSoundWaveCuePointGetLoopRegions () const
 
ENGINE_API FName GetRuntimeFormat () const
 
ENGINE_API void ResetInvalidTemplateArguments ()
 
ENGINE_API bool GetInterpolatedCookedFFTDataForTime (float InTime, uint32 &InOutLastIndex, TArray< FSoundWaveSpectralData > &OutData, bool bLoop)
 
ENGINE_API bool GetInterpolatedCookedEnvelopeDataForTime (float InTime, uint32 &InOutLastIndex, float &OutAmplitude, bool bLoop)
 
ENGINE_API void GetHandleForChunkOfAudio (TFunction< void(FAudioChunkHandle &&)> OnLoadCompleted, bool bForceSync=false, int32 ChunkIndex=1, ENamedThreads::Type CallbackThread=ENamedThreads::GameThread)
 
ENGINE_API void RetainCompressedAudio (bool bForceSync=false)
 
ENGINE_API void ReleaseCompressedAudio ()
 
ENGINE_API bool IsRetainingAudio ()
 
ENGINE_API void OverrideLoadingBehavior (ESoundWaveLoadingBehavior InLoadingBehavior)
 
ENGINE_API ESoundWaveLoadingBehavior GetLoadingBehavior (bool bCheckSoundClasses=true) const
 
ENGINE_API int32 GetCompressionQuality () const
 
ENGINE_API int32 GetResourceSize () const
 
ENGINE_API const uint8GetResourceData () const
 
virtual ENGINE_API void Serialize (FArchive &Ar) override
 
virtual ENGINE_API void PostInitProperties () override
 
virtual ENGINE_API bool IsReadyForFinishDestroy () override
 
virtual ENGINE_API void FinishDestroy () override
 
virtual ENGINE_API void PostLoad () override
 
ENGINE_API bool LoadZerothChunk ()
 
ENGINE_API uint32 GetNumChunks () const
 
ENGINE_API uint32 GetSizeOfChunk (uint32 ChunkIndex) const
 
ENGINE_API void GetChunkSizeStats (uint32 &OutTotalBytesOfAudioData, uint32 &OutMaxChunkBytesOfAudioData) const
 
virtual ENGINE_API void BeginDestroy () override
 
virtual ENGINE_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize) override
 
virtual ENGINE_API FName GetExporterName () override
 
virtual ENGINE_API FString GetDesc () override
 
virtual ENGINE_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const override
 
virtual ENGINE_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const override
 
virtual ENGINE_API bool IsPlayable () const override
 
virtual ENGINE_API void Parse (class FAudioDevice *AudioDevice, const UPTRINT NodeWaveInstanceHash, FActiveSound &ActiveSound, const FSoundParseParameters &ParseParams, TArray< FWaveInstance * > &WaveInstances) override
 
virtual ENGINE_API float GetDuration () const override
 
virtual ENGINE_API float GetSubtitlePriority () const override
 
virtual ENGINE_API bool SupportsSubtitles () const override
 
virtual ENGINE_API bool GetSoundWavesWithCookedAnalysisData (TArray< USoundWave * > &OutSoundWaves) override
 
virtual ENGINE_API bool HasCookedFFTData () const override
 
virtual ENGINE_API bool HasCookedAmplitudeEnvelopeData () const override
 
virtual bool IsProcedurallyGenerated () const override
 
ENGINE_API FSoundWaveProxyPtr CreateSoundWaveProxy ()
 
virtual ENGINE_API TSharedPtr< Audio::IProxyDataCreateProxyData (const Audio::FProxyDataInitParams &InitParams) override
 
virtual void OnBeginGenerate ()
 
virtual void OnEndGenerate ()
 
virtual void OnEndGenerate (ISoundGeneratorPtr Generator)
 
ENGINE_API void AddPlayingSource (const FSoundWaveClientPtr &Source)
 
ENGINE_API void RemovePlayingSource (const FSoundWaveClientPtr &Source)
 
bool IsGeneratingAudio () const
 
void SetImportedSampleRate (uint32 InImportedSampleRate)
 
uint32 GetImportedSampleRate () const
 
ENGINE_API void SetSampleRate (uint32 InSampleRate, const bool bFromDecoders=false)
 
ENGINE_API void SetNumFrames (uint32 InNumFrames)
 
ENGINE_API uint32 GetNumFrames () const
 
virtual ENGINE_API int32 GetResourceSizeForFormat (FName Format)
 
ENGINE_API void FreeResources (bool bStopSoundsUsingThisResource=true)
 
ENGINE_API bool CleanupDecompressor (bool bForceCleanup=false)
 
virtual ENGINE_API void InitAudioResource (FByteBulkData &CompressedData)
 
virtual ENGINE_API bool InitAudioResource (FName Format)
 
ENGINE_API void RemoveAudioResource ()
 
ENGINE_API FWaveInstanceHandleStart (FActiveSound &ActiveSound, const UPTRINT WaveInstanceHash) const
 
virtual int32 GeneratePCMData (uint8 *PCMData, const int32 SamplesNeeded)
 
virtual Audio::EAudioMixerStreamDataFormat::Type GetGeneratedPCMDataFormat () const
 
SIZE_T GetCompressedDataSize (FName Format, const FPlatformAudioCookOverrides *CompressionOverrides=GetPlatformCompressionOverridesForCurrentPlatform())
 
virtual ENGINE_API bool HasCompressedData (FName Format, ITargetPlatform *TargetPlatform=GetRunningPlatform()) const
 
virtual ENGINE_API void BeginGetCompressedData (FName Format, const FPlatformAudioCookOverrides *CompressionOverrides, const ITargetPlatform *InTargetPlatform)
 
virtual ENGINE_API FByteBulkDataGetCompressedData (FName Format, const FPlatformAudioCookOverrides *CompressionOverrides=GetPlatformCompressionOverridesForCurrentPlatform(), const ITargetPlatform *InTargetPlatform=GetRunningPlatform())
 
ENGINE_API void InvalidateCompressedData (bool bFreeResources=false, bool bRebuildStreamingChunks=true)
 
virtual class UCurveTableGetCurveData () const override
 
ENGINE_API bool HasStreamingChunks ()
 
ENGINE_API bool IsStreaming (const TCHAR *PlatformName=nullptr) const
 
ENGINE_API bool IsStreaming (const FPlatformAudioCookOverrides &Overrides) const
 
virtual ENGINE_API bool IsSeekable () const
 
ENGINE_API bool ShouldUseStreamCaching () const
 
ENGINE_API TArrayView< const uint8GetZerothChunk (bool bForImmediatePlayback=false)
 
ENGINE_API void UpdatePlatformData ()
 
ENGINE_API void CleanupCachedRunningPlatformData ()
 
virtual ENGINE_API void SerializeCookedPlatformData (class FArchive &Ar)
 
ENGINE_API float GetSampleRateForCurrentPlatform () const
 
ENGINE_API float GetSampleRateForCompressionOverrides (const FPlatformAudioCookOverrides *CompressionOverrides) const
 
ENGINE_API void SetError (const TCHAR *InErrorMsg=nullptr)
 
ENGINE_API void ResetError ()
 
ENGINE_API bool HasError () const
 
ENGINE_API bool GetChunkData (int32 ChunkIndex, uint8 **OutChunkData, bool bMakeSureChunkIsLoaded=false)
 
void SetPrecacheState (ESoundWavePrecacheState InState)
 
ESoundWavePrecacheState GetPrecacheState () const
 
- Public Member Functions inherited from USoundBase
virtual ENGINE_API bool CanBeClusterRoot () const override
 
virtual ENGINE_API bool CanBeInCluster () const override
 
virtual ENGINE_API void PreSave (FObjectPreSaveContext SaveContext) override
 
virtual ENGINE_API bool HasAttenuationNode () const
 
virtual ENGINE_API const FSoundAttenuationSettingsGetAttenuationSettingsToApply () const
 
virtual ENGINE_API float GetMaxDistance () const
 
ENGINE_API bool HasDelayNode () const
 
ENGINE_API bool HasConcatenatorNode () const
 
virtual ENGINE_API bool IsPlayWhenSilent () const
 
virtual ENGINE_API float GetVolumeMultiplier ()
 
virtual ENGINE_API float GetPitchMultiplier ()
 
virtual ENGINE_API bool ShouldApplyInteriorVolumes ()
 
virtual ENGINE_API bool IsLooping () const
 
virtual ENGINE_API bool IsOneShot () const
 
virtual ENGINE_API USoundClassGetSoundClass () const
 
virtual ENGINE_API USoundSubmixBaseGetSoundSubmix () const
 
ENGINE_API void GetSoundSubmixSends (TArray< FSoundSubmixSendInfo > &OutSends) const
 
ENGINE_API void GetSoundSourceBusSends (EBusSendType BusSendType, TArray< FSoundSourceBusSendInfo > &OutSends) const
 
ENGINE_API void GetConcurrencyHandles (TArray< FConcurrencyHandle > &OutConcurrencyHandles) const
 
ENGINE_API float GetPriority () const
 
virtual ENGINE_API void AddAssetUserData (UAssetUserData *InUserData) override
 
virtual ENGINE_API void RemoveUserDataOfClass (TSubclassOf< UAssetUserData > InUserDataClass) override
 
virtual ENGINE_API UAssetUserDataGetAssetUserDataOfClass (TSubclassOf< UAssetUserData > InUserDataClass) override
 
virtual ENGINE_API const TArray< UAssetUserData * > * GetAssetUserDataArray () const override
 
virtual ENGINE_API void InitParameters (TArray< FAudioParameter > &ParametersToInit, FName InFeatureName=NAME_None)
 
virtual void InitResources ()
 
virtual bool ImplementsParameterInterface (Audio::FParameterInterfacePtr InParameterInterface) const
 
virtual ISoundGeneratorPtr CreateSoundGenerator (const FSoundGeneratorInitParams &InParams)
 
virtual ISoundGeneratorPtr CreateSoundGenerator (const FSoundGeneratorInitParams &InParams, TArray< FAudioParameter > &&InDefaultParameters)
 
virtual ENGINE_API TSharedPtr< Audio::IParameterTransmitterCreateParameterTransmitter (Audio::FParameterTransmitterInitParams &&InParams) const
 
virtual ENGINE_API bool IsParameterValid (const FAudioParameter &InParameter) const
 
virtual bool GetAllDefaultParameters (TArray< FAudioParameter > &OutParameters) const
 
 UE_DEPRECATED (5.7, "This is no longer used.") virtual bool EnableSubmixSendsOnPreview() const
 
virtual bool IsAttenuationSettingsEditable () const
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual COREUOBJECT_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 

Static Public Member Functions

static ENGINE_API ITargetPlatformGetRunningPlatform ()
 
static ENGINE_API const TCHARGetDefaultLoadingBehaviorCVarName ()
 
static ENGINE_API ESoundWaveLoadingBehavior GetDefaultLoadingBehavior ()
 
static ENGINE_API FName GetPlatformSpecificFormat (FName Format, const FPlatformAudioCookOverrides *CompressionOverrides)
 
static ENGINE_API const FPlatformAudioCookOverridesGetPlatformCompressionOverridesForCurrentPlatform ()
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 

Public Attributes

int32 StreamingPriority
 
ESoundwaveSampleRateSettings SampleRateQuality
 
TEnumAsByte< EDecompressionTypeDecompressionType
 
TEnumAsByte< ESoundGroupSoundGroup
 
uint8 bLooping: 1
 
uint8 bStreaming: 1
 
FSoundModulationDefaultRoutingSettings ModulationSettings
 
TArray< floatFrequenciesToAnalyze
 
TArray< FSoundWaveSpectralTimeDataCookedSpectralTimeData
 
TArray< FSoundWaveEnvelopeTimeDataCookedEnvelopeTimeData
 
FThreadSafeCounter NumSourcesPlaying
 
uint8 bProcedural: 1
 
uint8 bRequiresStopFade:1
 
uint8 bIsSourceBus: 1
 
uint8 bCanProcessAsync: 1
 
uint8 bDynamicResource: 1
 
uint8 bMature: 1
 
uint8 bManualWordWrap: 1
 
uint8 bSingleLine: 1
 
uint8 bIsAmbisonics: 1
 
uint8 bDecompressedFromOgg: 1
 
ESoundWaveLoadingBehavior LoadingBehavior
 
FString SpokenText_DEPRECATED
 
float SubtitlePriority
 
float Volume
 
float Pitch
 
int32 NumChannels
 
int32 ResourceID
 
int32 TrackedMemoryUsage
 
TArray< struct FSubtitleCueSubtitles
 
FAsyncAudioDecompressAudioDecompressor
 
uint8CachedRealtimeFirstBuffer
 
int32 NumPrecacheFrames
 
int32 RawPCMDataSize
 
uint8RawPCMData
 
FGuid CompressedDataGuid
 
TSortedMap< FString, FStreamedAudioPlatformData * > CookedPlatformData
 
- Public Attributes inherited from USoundBase
TObjectPtr< USoundClassSoundClassObject
 
uint8 bDebug: 1
 
uint8 bOverrideConcurrency: 1
 
uint8 bEnableBusSends: 1
 
uint8 bEnableBaseSubmix: 1
 
uint8 bEnableSubmixSends: 1
 
uint8 bHasDelayNode: 1
 
uint8 bHasConcatenatorNode: 1
 
uint8 bBypassVolumeScaleForPriority: 1
 
EVirtualizationMode VirtualizationMode
 
TMap< Audio::FDeviceId, int32CurrentPlayCount
 
TSet< TObjectPtr< USoundConcurrency > > ConcurrencySet
 
FSoundConcurrencySettings ConcurrencyOverrides
 
float Duration
 
float MaxDistance
 
float TotalSamples
 
float Priority
 
TObjectPtr< USoundAttenuationAttenuationSettings
 
TObjectPtr< USoundSubmixBaseSoundSubmixObject
 
TArray< FSoundSubmixSendInfoSoundSubmixSends
 
TObjectPtr< USoundEffectSourcePresetChainSourceEffectChain
 
TArray< FSoundSourceBusSendInfoBusSends
 
TArray< FSoundSourceBusSendInfoPreEffectBusSends
 
TArray< TObjectPtr< UAssetUserData > > AssetUserData
 

Protected Member Functions

virtual ENGINE_API void SerializeCuePoints (FArchive &Ar, const bool bIsLoadingFromCookedArchive)
 
- Protected Member Functions inherited from USoundBase
virtual ENGINE_API float ComputeMaxDistance () const
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Protected Attributes

int32 SampleRate
 
TObjectPtr< class UCurveTableCurves
 
TObjectPtr< class UCurveTableInternalCurves
 

Friends

class FSoundWaveProxy
 
class USoundFactory
 

Member Typedef Documentation

◆ FAsyncAudioDecompress

Async worker that decompresses the audio data on a different thread

◆ FSoundWaveClientPtr

Member Function Documentation

◆ AddPlayingSource() [1/2]

void USoundWave::AddPlayingSource ( )
inline

◆ AddPlayingSource() [2/2]

void USoundWave::AddPlayingSource ( const FSoundWaveClientPtr Source)

◆ BeginDestroy()

void USoundWave::BeginDestroy ( )
overridevirtual

Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.

Reimplemented from UObject.

◆ BeginGetCompressedData()

void USoundWave::BeginGetCompressedData ( FName  Format,
const FPlatformAudioCookOverrides CompressionOverrides,
const ITargetPlatform InTargetPlatform 
)
virtual

Reimplemented in USoundWaveProcedural.

◆ CleanupCachedRunningPlatformData()

void USoundWave::CleanupCachedRunningPlatformData ( )

◆ CleanupDecompressor()

bool USoundWave::CleanupDecompressor ( bool  bForceCleanup = false)

Will clean up the decompressor task if the task has finished or force it finish. Returns true if the decompressor is cleaned up.

◆ CreateProxyData()

TSharedPtr< Audio::IProxyData > USoundWave::CreateProxyData ( const Audio::FProxyDataInitParams InitParams)
overridevirtual

Reimplemented from IAudioProxyDataFactory.

◆ CreateSoundWaveProxy()

FSoundWaveProxyPtr USoundWave::CreateSoundWaveProxy ( )

◆ FinishDestroy()

void USoundWave::FinishDestroy ( )
overridevirtual

Called to finish destroying the object. After UObject::FinishDestroy is called, the object's memory should no longer be accessed.

Warning
Because properties are destroyed here, Super::FinishDestroy() should always be called at the end of your child class's FinishDestroy() method, rather than at the beginning.

Reimplemented from UObject.

◆ FreeResources()

void USoundWave::FreeResources ( bool  bStopSoundsUsingThisResource = true)

Frees up all the resources allocated in this class.

Parameters
bStopSoundsUsingThisResourceif false, will leave any playing audio alive. This occurs when we force a re-cook of audio while starting to play a sound.

◆ GeneratePCMData()

virtual int32 USoundWave::GeneratePCMData ( uint8 PCMData,
const int32  SamplesNeeded 
)
inlinevirtual

This is only used for DTYPE_Procedural audio. It's recommended to use USynthComponent base class for procedurally generated sound vs overriding this function. If a new component is not feasible, consider using USoundWaveProcedural base class vs USoundWave base class since as it implements GeneratePCMData for you and you only need to return PCM data.

Reimplemented in USoundWaveProcedural.

◆ GetAssetRegistryTags() [1/2]

void USoundWave::GetAssetRegistryTags ( FAssetRegistryTagsContext  Context) const
overridevirtual

Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

Parameters
OutTagsA list of key-value pairs associated with this object and their types

Reimplemented from UObject.

Reimplemented in USoundWaveProcedural.

◆ GetAssetRegistryTags() [2/2]

void USoundWave::GetAssetRegistryTags ( TArray< FAssetRegistryTag > &  OutTags) const
overridevirtual

Reimplemented from UObject.

Reimplemented in USoundWaveProcedural.

◆ GetChunkData()

bool USoundWave::GetChunkData ( int32  ChunkIndex,
uint8 **  OutChunkData,
bool  bMakeSureChunkIsLoaded = false 
)

Get Chunk data for a specified chunk index.

Parameters
ChunkIndexThe Chunk index to cache.
OutChunkDataAddress of pointer that will store data.

◆ GetChunkSizeStats()

void USoundWave::GetChunkSizeStats ( uint32 OutTotalBytesOfAudioData,
uint32 OutMaxChunkBytesOfAudioData 
) const

◆ GetCompressedData()

FByteBulkData * USoundWave::GetCompressedData ( FName  Format,
const FPlatformAudioCookOverrides CompressionOverrides = GetPlatformCompressionOverridesForCurrentPlatform(),
const ITargetPlatform InTargetPlatform = GetRunningPlatform() 
)
virtual

Gets the compressed data from derived data cache for the specified platform Warning, the returned pointer isn't valid after we add new formats

Parameters
Formatformat of compressed data
CompressionOverridesoptional platform compression overrides
Returns
compressed data, if it could be obtained

Reimplemented in USoundWaveProcedural.

◆ GetCompressedDataSize()

SIZE_T USoundWave::GetCompressedDataSize ( FName  Format,
const FPlatformAudioCookOverrides CompressionOverrides = GetPlatformCompressionOverridesForCurrentPlatform() 
)
inline

Gets the compressed data size from derived data cache for the specified format

Parameters
Formatformat of compressed data
CompressionOverridesOptional argument for compression overrides.
Returns
compressed data size, or zero if it could not be obtained

◆ GetCompressionQuality()

int32 USoundWave::GetCompressionQuality ( ) const

◆ GetCuePoints()

TArray< FSoundWaveCuePoint > USoundWave::GetCuePoints ( ) const

Filters for the cue points that are not loop regions and returns those as a new array

◆ GetCurveData()

virtual class UCurveTable * USoundWave::GetCurveData ( ) const
inlineoverridevirtual

Returns curves associated with this sound wave

Reimplemented from USoundBase.

◆ GetDefaultLoadingBehavior()

ENGINE_API ESoundWaveLoadingBehavior USoundWave::GetDefaultLoadingBehavior ( )
static

◆ GetDefaultLoadingBehaviorCVarName()

ENGINE_API const TCHAR * USoundWave::GetDefaultLoadingBehaviorCVarName ( )
static

Used to ensure that we recook USoundWaves if the default loading behavior has changed

◆ GetDesc()

FString USoundWave::GetDesc ( void  )
overridevirtual

Return a one line description of an object for viewing in the thumbnail view of the generic browser

Reimplemented from UObject.

◆ GetDuration()

float USoundWave::GetDuration ( ) const
overridevirtual

Returns the length of the sound

Reimplemented from USoundBase.

◆ GetExporterName()

FName USoundWave::GetExporterName ( void  )
overridevirtual

Returns the name of the exporter factory used to export this object Used when multiple factories have the same extension

Reimplemented from UObject.

◆ GetGeneratedPCMDataFormat()

virtual Audio::EAudioMixerStreamDataFormat::Type USoundWave::GetGeneratedPCMDataFormat ( ) const
inlinevirtual

Return the format of the generated PCM data type. Used in audio mixer to allow generating float buffers and avoid unnecessary format conversions. This feature is only supported in audio mixer. If your procedural sound wave needs to be used in both audio mixer and old audio engine, it's best to generate int16 data as old audio engine only supports int16 formats. Or check at runtime if the audio mixer is enabled. Audio mixer will convert from int16 to float internally.

◆ GetHandleForChunkOfAudio()

void USoundWave::GetHandleForChunkOfAudio ( TFunction< void(FAudioChunkHandle &&)>  OnLoadCompleted,
bool  bForceSync = false,
int32  ChunkIndex = 1,
ENamedThreads::Type  CallbackThread = ENamedThreads::GameThread 
)

If stream caching is enabled, allows the user to retain a strong handle to the first chunk of audio in the cache. Please note that this USoundWave is NOT guaranteed to be still alive when OnLoadCompleted is called.

◆ GetImportedSampleRate()

uint32 USoundWave::GetImportedSampleRate ( ) const
inline

◆ GetInterpolatedCookedEnvelopeDataForTime()

bool USoundWave::GetInterpolatedCookedEnvelopeDataForTime ( float  InTime,
uint32 InOutLastIndex,
float OutAmplitude,
bool  bLoop 
)

◆ GetInterpolatedCookedFFTDataForTime()

bool USoundWave::GetInterpolatedCookedFFTDataForTime ( float  InTime,
uint32 InOutLastIndex,
TArray< FSoundWaveSpectralData > &  OutData,
bool  bLoop 
)

Helper function to get interpolated cooked FFT data for a given time value.

◆ GetLoadingBehavior()

ESoundWaveLoadingBehavior USoundWave::GetLoadingBehavior ( bool  bCheckSoundClasses = true) const

Returns the loading behavior we should use for this sound wave. If this is called within Serialize(), this should be called with bCheckSoundClasses = false, Since there is no guarantee that the deserialized USoundClasses have been resolved yet.

◆ GetLoopRegions()

TArray< FSoundWaveCuePoint > USoundWave::GetLoopRegions ( ) const

Filters for the cue points that are loop regions and returns those as a new array

◆ GetNumChunks()

uint32 USoundWave::GetNumChunks ( ) const

◆ GetNumFrames()

uint32 USoundWave::GetNumFrames ( ) const

Return the number of frames. (can change after decoders read the headers).

◆ GetPlatformCompressionOverridesForCurrentPlatform()

const FPlatformAudioCookOverrides * USoundWave::GetPlatformCompressionOverridesForCurrentPlatform ( )
static

Return the platform compression overrides set for the current platform.

◆ GetPlatformSpecificFormat()

FName USoundWave::GetPlatformSpecificFormat ( FName  Format,
const FPlatformAudioCookOverrides CompressionOverrides 
)
static

◆ GetPrecacheState()

ESoundWavePrecacheState USoundWave::GetPrecacheState ( ) const
inline

◆ GetResourceData()

const uint8 * USoundWave::GetResourceData ( ) const

Memory containing the data copied from the compressed bulk data

◆ GetResourceSize()

int32 USoundWave::GetResourceSize ( ) const

◆ GetResourceSizeEx()

void USoundWave::GetResourceSizeEx ( FResourceSizeEx CumulativeResourceSize)
overridevirtual

Get the size of the object/resource for use in memory tools or to display to artists/LDs in the Editor This is the extended version which separates up the used memory into different memory regions (the actual definition of which may be platform specific).

Parameters
CumulativeResourceSizeStruct used to count up the cumulative size of the resource as to be displayed to artists/LDs in the Editor.

Reimplemented from UObject.

◆ GetResourceSizeForFormat()

int32 USoundWave::GetResourceSizeForFormat ( FName  Format)
virtual
Parameters
FormatFormat to check
Returns
Sum of the size of waves referenced by this cue for the given platform.

Reimplemented in USoundWaveProcedural.

◆ GetRunningPlatform()

ITargetPlatform * USoundWave::GetRunningPlatform ( )
static

helper function for getting the cached name of the current platform.

◆ GetRuntimeFormat()

FName USoundWave::GetRuntimeFormat ( ) const

Returns the Runtime format of the wave

◆ GetSampleRateForCompressionOverrides()

float USoundWave::GetSampleRateForCompressionOverrides ( const FPlatformAudioCookOverrides CompressionOverrides) const

◆ GetSampleRateForCurrentPlatform()

float USoundWave::GetSampleRateForCurrentPlatform ( ) const

◆ GetSizeOfChunk()

uint32 USoundWave::GetSizeOfChunk ( uint32  ChunkIndex) const

◆ GetSoundAssetCompressionType()

ESoundAssetCompressionType USoundWave::GetSoundAssetCompressionType ( ) const

Returns the sound's asset compression type.

◆ GetSoundAssetCompressionTypeEnum()

ESoundAssetCompressionType USoundWave::GetSoundAssetCompressionTypeEnum ( ) const

will return the raw value, (i.e. does not resolve options such as "Project Defined" to the correct codec)

◆ GetSoundWavesWithCookedAnalysisData()

bool USoundWave::GetSoundWavesWithCookedAnalysisData ( TArray< USoundWave * > &  OutSoundWaves)
overridevirtual

Returns whether the sound has cooked analysis data (e.g. FFT or envelope following data) and returns sound waves which have cooked data.

Reimplemented from USoundBase.

◆ GetSubtitlePriority()

float USoundWave::GetSubtitlePriority ( ) const
overridevirtual

Returns the subtitle priority

Reimplemented from USoundBase.

◆ GetZerothChunk()

TArrayView< const uint8 > USoundWave::GetZerothChunk ( bool  bForImmediatePlayback = false)

This returns the initial chunk of compressed data for streaming data sources.

◆ HandleStart()

FWaveInstance & USoundWave::HandleStart ( FActiveSound ActiveSound,
const UPTRINT  WaveInstanceHash 
) const

Handle any special requirements when the sound starts (e.g. subtitles)

◆ HasCompressedData()

bool USoundWave::HasCompressedData ( FName  Format,
ITargetPlatform TargetPlatform = GetRunningPlatform() 
) const
virtual

Reimplemented in USoundWaveProcedural.

◆ HasCookedAmplitudeEnvelopeData()

bool USoundWave::HasCookedAmplitudeEnvelopeData ( ) const
overridevirtual

Reimplemented from USoundBase.

◆ HasCookedFFTData()

bool USoundWave::HasCookedFFTData ( ) const
overridevirtual

Queries if the sound has cooked FFT or envelope data.

Reimplemented from USoundBase.

◆ HasError()

bool USoundWave::HasError ( ) const

◆ HasStreamingChunks()

bool USoundWave::HasStreamingChunks ( )

◆ InitAudioResource() [1/2]

void USoundWave::InitAudioResource ( FByteBulkData CompressedData)
virtual

Copy the compressed audio data from the bulk data

Reimplemented in USoundWaveProcedural.

◆ InitAudioResource() [2/2]

bool USoundWave::InitAudioResource ( FName  Format)
virtual

Copy the compressed audio data from derived data cache

Parameters
Formatto get the compressed audio in
Returns
true if the resource has been successfully initialized or it was already initialized.

Reimplemented in USoundWaveProcedural.

◆ InvalidateCompressedData()

void USoundWave::InvalidateCompressedData ( bool  bFreeResources = false,
bool  bRebuildStreamingChunks = true 
)

Change the guid and flush all compressed data

Parameters
bFreeResourcesif true, will delete any precached compressed data as well.

◆ IsGeneratingAudio()

bool USoundWave::IsGeneratingAudio ( ) const
inline

◆ IsPlayable()

bool USoundWave::IsPlayable ( ) const
overridevirtual

Returns whether the sound base is set up in a playable manner

Reimplemented from USoundBase.

◆ IsProcedurallyGenerated()

virtual bool USoundWave::IsProcedurallyGenerated ( ) const
inlineoverridevirtual

Query if it's a procedurally generated sound.

Reimplemented from USoundBase.

◆ IsReadyForFinishDestroy()

bool USoundWave::IsReadyForFinishDestroy ( )
overridevirtual

Called to check if the object is ready for FinishDestroy. This is called after BeginDestroy to check the completion of the potentially asynchronous object cleanup.

Returns
True if the object's asynchronous cleanup has completed and it is ready for FinishDestroy to be called.

Reimplemented from UObject.

◆ IsRetainingAudio()

bool USoundWave::IsRetainingAudio ( )

◆ IsSeekable()

bool USoundWave::IsSeekable ( ) const
virtual

Queries if Seeking is supported by the Decoder for this Wave.

Returns
true if Seeking is supported, false otherwise.

Reimplemented in USoundWaveProcedural.

◆ IsStreaming() [1/2]

bool USoundWave::IsStreaming ( const FPlatformAudioCookOverrides Overrides) const

◆ IsStreaming() [2/2]

bool USoundWave::IsStreaming ( const TCHAR PlatformName = nullptr) const

Checks whether sound has been categorized as streaming.

◆ LoadZerothChunk()

bool USoundWave::LoadZerothChunk ( )

◆ OnBeginGenerate()

virtual void USoundWave::OnBeginGenerate ( )
inlinevirtual

◆ OnEndGenerate() [1/2]

virtual void USoundWave::OnEndGenerate ( )
inlinevirtual

◆ OnEndGenerate() [2/2]

virtual void USoundWave::OnEndGenerate ( ISoundGeneratorPtr  Generator)
inlinevirtual

◆ OverrideLoadingBehavior()

void USoundWave::OverrideLoadingBehavior ( ESoundWaveLoadingBehavior  InLoadingBehavior)

If Stream Caching is enabled, this can be used to override the default loading behavior of this USoundWave. This can even be called on USoundWaves that still have the RF_NeedLoad flag, and won't be stomped by serialization. NOTE: The new behavior will be ignored if it is less memory-aggressive than existing (even inherited) behavior

◆ Parse()

void USoundWave::Parse ( class FAudioDevice AudioDevice,
const UPTRINT  NodeWaveInstanceHash,
FActiveSound ActiveSound,
const FSoundParseParameters ParseParams,
TArray< FWaveInstance * > &  WaveInstances 
)
overridevirtual

Parses the Sound to generate the WaveInstances to play.

Reimplemented from USoundBase.

◆ PostInitProperties()

void USoundWave::PostInitProperties ( )
overridevirtual

Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

Reimplemented from UObject.

◆ PostLoad()

void USoundWave::PostLoad ( )
overridevirtual

Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

Reimplemented from UObject.

◆ ReleaseCompressedAudio()

void USoundWave::ReleaseCompressedAudio ( )

If stream caching is enabled and au.streamcache.KeepFirstChunkInMemory is 1, this will release this USoundWave's first chunk, allowing it to be deleted.

◆ RemoveAudioResource()

void USoundWave::RemoveAudioResource ( )

Remove the compressed audio data associated with the passed in wave

◆ RemovePlayingSource() [1/2]

void USoundWave::RemovePlayingSource ( )
inline

◆ RemovePlayingSource() [2/2]

void USoundWave::RemovePlayingSource ( const FSoundWaveClientPtr Source)

◆ ResetError()

void USoundWave::ResetError ( )

◆ ResetInvalidTemplateArguments()

void USoundWave::ResetInvalidTemplateArguments ( )

For use when creating a new soundwave with another soundwave used as a template We do not want to inherit these values from the template, as the data may be incorrect rather we re-parse them from the incoming file.

◆ RetainCompressedAudio()

void USoundWave::RetainCompressedAudio ( bool  bForceSync = false)

If stream caching is enabled, set this sound wave to retain a strong handle to its first chunk. If not called on the game thread, bForceSync must be true.

◆ Serialize()

void USoundWave::Serialize ( FArchive Ar)
overridevirtual

Handles reading, writing, and reference collecting using FArchive. This implementation handles all FProperty serialization, but can be overridden for native variables.

Reimplemented from USoundBase.

Reimplemented in USoundWaveProcedural.

◆ SerializeCookedPlatformData()

void USoundWave::SerializeCookedPlatformData ( class FArchive Ar)
virtual

Serializes cooked platform data.

◆ SerializeCuePoints()

void USoundWave::SerializeCuePoints ( FArchive Ar,
const bool  bIsLoadingFromCookedArchive 
)
protectedvirtual

Reimplemented in USoundWaveProcedural.

◆ SetAllCuePoints()

void USoundWave::SetAllCuePoints ( TArray< FSoundWaveCuePoint InCuePoints) const

◆ SetError()

void USoundWave::SetError ( const TCHAR InErrorMsg = nullptr)

◆ SetImportedSampleRate()

void USoundWave::SetImportedSampleRate ( uint32  InImportedSampleRate)
inline

◆ SetNumFrames()

void USoundWave::SetNumFrames ( uint32  InNumFrames)

Overwrite number of frames. Used for procedural soundwaves, as well as sound waves that are resampled on compress/decompress.

◆ SetPrecacheState()

void USoundWave::SetPrecacheState ( ESoundWavePrecacheState  InState)
inline

◆ SetSampleRate()

void USoundWave::SetSampleRate ( uint32  InSampleRate,
const bool  bFromDecoders = false 
)

Overwrite sample rate. Used for procedural soundwaves, as well as sound waves that are resampled on compress/decompress.

◆ SetSoundAssetCompressionType()

void USoundWave::SetSoundAssetCompressionType ( ESoundAssetCompressionType  InSoundAssetCompressionType,
bool  bMarkDirty = true 
)

Procedurally set the compression type.

◆ ShouldUseStreamCaching()

bool USoundWave::ShouldUseStreamCaching ( ) const

Checks whether we should use the load on demand cache.

◆ SupportsSubtitles()

bool USoundWave::SupportsSubtitles ( ) const
overridevirtual

Returns whether sound supports subtitles.

Reimplemented from USoundBase.

◆ UpdatePlatformData()

void USoundWave::UpdatePlatformData ( )

Attempts to update the cached platform data after any changes that might affect it

Friends And Related Symbol Documentation

◆ FSoundWaveProxy

friend class FSoundWaveProxy
friend

◆ USoundFactory

friend class USoundFactory
friend

Member Data Documentation

◆ AudioDecompressor

FAsyncAudioDecompress* USoundWave::AudioDecompressor

◆ bCanProcessAsync

uint8 USoundWave::bCanProcessAsync

Set to true for procedural waves that can be processed asynchronously.

◆ bDecompressedFromOgg

uint8 USoundWave::bDecompressedFromOgg

Whether this SoundWave was decompressed from OGG.

◆ bDynamicResource

uint8 USoundWave::bDynamicResource

Whether to free the resource data after it has been uploaded to the hardware

◆ bIsAmbisonics

uint8 USoundWave::bIsAmbisonics

Whether or not this source is ambisonics file format. If set, sound always uses the 'Master Ambisonics Submix' as set in the 'Audio' category of Project Settings' and ignores submix if provided locally or in the referenced SoundClass.

◆ bIsSourceBus

uint8 USoundWave::bIsSourceBus

Set to true of this is a bus sound source. This will result in the sound wave not generating audio for itself, but generate audio through instances. Used only in audio mixer.

◆ bLooping

uint8 USoundWave::bLooping

If set, when played directly (not through a sound cue) the wave will be played looping.

◆ bManualWordWrap

uint8 USoundWave::bManualWordWrap

If set to true will disable automatic generation of line breaks - use if the subtitles have been split manually.

◆ bMature

uint8 USoundWave::bMature

If set to true if this sound is considered to contain mature/adult content.

◆ bProcedural

uint8 USoundWave::bProcedural

Set to true for programmatically generated audio.

◆ bRequiresStopFade

uint8 USoundWave::bRequiresStopFade

Set to true if fade is required when sound is abruptly stopped.

◆ bSingleLine

uint8 USoundWave::bSingleLine

If set to true the subtitles display as a sequence of single lines as opposed to multiline.

◆ bStreaming

uint8 USoundWave::bStreaming

Here for legacy code.

◆ CachedRealtimeFirstBuffer

uint8* USoundWave::CachedRealtimeFirstBuffer

Pointer to 16 bit PCM data - used to avoid synchronous operation to obtain first block of the realtime decompressed buffer

◆ CompressedDataGuid

FGuid USoundWave::CompressedDataGuid

GUID used to uniquely identify this node so it can be found in the DDC

◆ CookedEnvelopeTimeData

TArray<FSoundWaveEnvelopeTimeData> USoundWave::CookedEnvelopeTimeData

The cooked cooked envelope data.

◆ CookedPlatformData

TSortedMap<FString, FStreamedAudioPlatformData*> USoundWave::CookedPlatformData

cooked streaming platform data for this sound

◆ CookedSpectralTimeData

TArray<FSoundWaveSpectralTimeData> USoundWave::CookedSpectralTimeData

The cooked spectral time data.

◆ Curves

TObjectPtr<class UCurveTable> USoundWave::Curves
protected

Curves associated with this sound wave

◆ DecompressionType

TEnumAsByte<EDecompressionType> USoundWave::DecompressionType

Type of buffer this wave uses. Set once on load

◆ FrequenciesToAnalyze

TArray<float> USoundWave::FrequenciesToAnalyze

The frequencies (in hz) to analyze when doing baked FFT analysis.

◆ InternalCurves

TObjectPtr<class UCurveTable> USoundWave::InternalCurves
protected

Hold a reference to our internal curve so we can switch back to it if we want to

◆ LoadingBehavior

ESoundWaveLoadingBehavior USoundWave::LoadingBehavior
mutable

Specifies how and when compressed audio data is loaded for asset if stream caching is enabled.

◆ ModulationSettings

FSoundModulationDefaultRoutingSettings USoundWave::ModulationSettings

Modulation Settings

◆ NumChannels

int32 USoundWave::NumChannels

Number of channels of multichannel data; 1 or 2 for regular mono and stereo files

◆ NumPrecacheFrames

int32 USoundWave::NumPrecacheFrames

The number of frames which have been precached for this sound wave.

◆ NumSourcesPlaying

FThreadSafeCounter USoundWave::NumSourcesPlaying

the number of sounds currently playing this sound wave.

◆ Pitch

float USoundWave::Pitch

Playback rate multiplier for sound, range is 0.125 - 4.0, default is 1.0

◆ RawPCMData

uint8* USoundWave::RawPCMData

Pointer to 16 bit PCM data - used to decompress data to and preview sounds

◆ RawPCMDataSize

int32 USoundWave::RawPCMDataSize

Size of RawPCMData, or what RawPCMData would be if the sound was fully decompressed

◆ ResourceID

int32 USoundWave::ResourceID

Resource index to cross reference with buffers

◆ SampleRate

int32 USoundWave::SampleRate
protected

Cooked sample rate of the asset. Can be modified by sample rate override.

◆ SampleRateQuality

ESoundwaveSampleRateSettings USoundWave::SampleRateQuality

Determines the max sample rate to use if the platform enables "Resampling For Device" in project settings. For example, if the platform enables Resampling For Device and specifies 32000 for High, then setting High here will force the sound wave to be at most 32000. Does nothing if Resampling For Device is disabled.

◆ SoundGroup

TEnumAsByte<ESoundGroup> USoundWave::SoundGroup

◆ SpokenText_DEPRECATED

FString USoundWave::SpokenText_DEPRECATED

A localized version of the text that is actually spoken phonetically in the audio.

◆ StreamingPriority

int32 USoundWave::StreamingPriority

◆ SubtitlePriority

float USoundWave::SubtitlePriority

The priority of the subtitle.

◆ Subtitles

TArray<struct FSubtitleCue> USoundWave::Subtitles

Subtitle cues.

◆ TrackedMemoryUsage

int32 USoundWave::TrackedMemoryUsage

Cache the total used memory recorded for this SoundWave to keep INC/DEC consistent

◆ Volume

float USoundWave::Volume

Linear volume multiplier for sound playback, default is 1.0


The documentation for this class was generated from the following files: