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

#include <AudioMixerDevice.h>

+ Inheritance diagram for Audio::FMixerDevice:

Public Member Functions

AUDIOMIXER_API FMixerDevice (IAudioMixerPlatformInterface *InAudioMixerPlatform)
 
AUDIOMIXER_API ~FMixerDevice ()
 
virtual AUDIOMIXER_API void UpdateDeviceDeltaTime () override
 
virtual AUDIOMIXER_API void GetAudioDeviceList (TArray< FString > &OutAudioDeviceNames) const override
 
virtual AUDIOMIXER_API bool InitializeHardware () override
 
virtual AUDIOMIXER_API void FadeIn () override
 
virtual AUDIOMIXER_API void FadeOut () override
 
virtual AUDIOMIXER_API void TeardownHardware () override
 
virtual AUDIOMIXER_API void UpdateHardwareTiming () override
 
virtual AUDIOMIXER_API void UpdateGameThread () override
 
virtual AUDIOMIXER_API void UpdateHardware () override
 
virtual AUDIOMIXER_API double GetAudioTime () const override
 
virtual AUDIOMIXER_API double GetInterpolatedAudioClock () const override
 
virtual AUDIOMIXER_API FAudioEffectsManagerCreateEffectsManager () override
 
virtual AUDIOMIXER_API FSoundSourceCreateSoundSource () override
 
virtual AUDIOMIXER_API bool HasCompressedAudioInfoClass (USoundWave *SoundWave) override
 
virtual AUDIOMIXER_API bool ValidateAPICall (const TCHAR *Function, uint32 ErrorCode) override
 
virtual AUDIOMIXER_API void CountBytes (class FArchive &Ar) override
 
virtual AUDIOMIXER_API bool IsExernalBackgroundSoundActive () override
 
virtual AUDIOMIXER_API void ResumeContext () override
 
virtual AUDIOMIXER_API void SuspendContext () override
 
virtual AUDIOMIXER_API void EnableDebugAudioOutput () override
 
virtual AUDIOMIXER_API FAudioPlatformSettings GetPlatformSettings () const override
 
virtual AUDIOMIXER_API void RegisterSoundSubmix (USoundSubmixBase *SoundSubmix, bool bInit=true) override
 
virtual AUDIOMIXER_API void UnregisterSoundSubmix (const USoundSubmixBase *SoundSubmix, const bool bReparentChildren) override
 
virtual AUDIOMIXER_API int32 GetNumActiveSources () const override
 
virtual AUDIOMIXER_API void UpdateSourceEffectChain (const uint32 SourceEffectChainId, const TArray< FSourceEffectChainEntry > &SourceEffectChain, const bool bPlayEffectChainTails) override
 
virtual AUDIOMIXER_API bool GetCurrentSourceEffectChain (const uint32 SourceEffectChainId, TArray< FSourceEffectChainEntry > &OutCurrentSourceEffectChainEntries) override
 
virtual AUDIOMIXER_API void UpdateSubmixProperties (USoundSubmixBase *InSubmix) override
 
virtual AUDIOMIXER_API void SetSubmixWetDryLevel (USoundSubmix *InSoundSubmix, float InOutputVolume, float InWetLevel, float InDryLevel) override
 
virtual AUDIOMIXER_API void SetSubmixOutputVolume (USoundSubmix *InSoundSubmix, float InOutputVolume) override
 
virtual AUDIOMIXER_API void SetSubmixWetLevel (USoundSubmix *InSoundSubmix, float InWetLevel) override
 
virtual AUDIOMIXER_API void SetSubmixDryLevel (USoundSubmix *InSoundSubmix, float InDryLevel) override
 
virtual AUDIOMIXER_API void SetSubmixAutoDisable (USoundSubmix *InSoundSubmix, bool bInAutoDisable) override
 
virtual AUDIOMIXER_API void SetSubmixAutoDisableTime (USoundSubmix *InSoundSubmix, float InDisableTime) override
 
virtual AUDIOMIXER_API void UpdateSubmixModulationSettings (USoundSubmix *InSoundSubmix, const TSet< TObjectPtr< USoundModulatorBase > > &InOutputModulation, const TSet< TObjectPtr< USoundModulatorBase > > &InWetLevelModulation, const TSet< TObjectPtr< USoundModulatorBase > > &InDryLevelModulation) override
 
virtual AUDIOMIXER_API void SetSubmixModulationBaseLevels (USoundSubmix *InSoundSubmix, float InVolumeModBase, float InWetModBase, float InDryModBase) override
 
virtual AUDIOMIXER_API void SetSubmixEffectChainOverride (USoundSubmix *InSoundSubmix, const TArray< FSoundEffectSubmixPtr > &InSubmixEffectPresetChain, float InFadeTimeSec) override
 
virtual AUDIOMIXER_API void ClearSubmixEffectChainOverride (USoundSubmix *InSoundSubmix, float InFadeTimeSec) override
 
virtual AUDIOMIXER_API void StartRecording (USoundSubmix *InSubmix, float ExpectedRecordingDuration) override
 
virtual AUDIOMIXER_API Audio::FAlignedFloatBufferStopRecording (USoundSubmix *InSubmix, float &OutNumChannels, float &OutSampleRate) override
 
virtual AUDIOMIXER_API void PauseRecording (USoundSubmix *InSubmix)
 
virtual AUDIOMIXER_API void ResumeRecording (USoundSubmix *InSubmix)
 
virtual AUDIOMIXER_API void StartEnvelopeFollowing (USoundSubmix *InSubmix) override
 
virtual AUDIOMIXER_API void StopEnvelopeFollowing (USoundSubmix *InSubmix) override
 
virtual AUDIOMIXER_API void AddEnvelopeFollowerDelegate (USoundSubmix *InSubmix, const FOnSubmixEnvelopeBP &OnSubmixEnvelopeBP) override
 
virtual AUDIOMIXER_API void RemoveEnvelopeFollowerDelegate (USoundSubmix *InSubmix, const FOnSubmixEnvelopeBP &OnSubmixEnvelopeBP) override
 
virtual AUDIOMIXER_API void StartSpectrumAnalysis (USoundSubmix *InSubmix, const FSoundSpectrumAnalyzerSettings &InSettings) override
 
virtual AUDIOMIXER_API void StopSpectrumAnalysis (USoundSubmix *InSubmix) override
 
virtual AUDIOMIXER_API void GetMagnitudesForFrequencies (USoundSubmix *InSubmix, const TArray< float > &InFrequencies, TArray< float > &OutMagnitudes) override
 
virtual AUDIOMIXER_API void GetPhasesForFrequencies (USoundSubmix *InSubmix, const TArray< float > &InFrequencies, TArray< float > &OutPhases) override
 
virtual AUDIOMIXER_API void AddSpectralAnalysisDelegate (USoundSubmix *InSubmix, const FSoundSpectrumAnalyzerDelegateSettings &InDelegateSettings, const FOnSubmixSpectralAnalysisBP &OnSubmixSpectralAnalysisBP) override
 
virtual AUDIOMIXER_API void RemoveSpectralAnalysisDelegate (USoundSubmix *InSubmix, const FOnSubmixSpectralAnalysisBP &OnSubmixSpectralAnalysisBP) override
 
virtual AUDIOMIXER_API void RegisterSubmixBufferListener (ISubmixBufferListener *InSubmixBufferListener, USoundSubmix *InSubmix=nullptr) override
 
virtual AUDIOMIXER_API void UnregisterSubmixBufferListener (ISubmixBufferListener *InSubmixBufferListener, USoundSubmix *InSubmix=nullptr) override
 
virtual AUDIOMIXER_API void RegisterSubmixBufferListener (TSharedRef< ISubmixBufferListener, ESPMode::ThreadSafe > InSubmixBufferListener, USoundSubmix &InSubmix) override
 
virtual AUDIOMIXER_API void UnregisterSubmixBufferListener (TSharedRef< ISubmixBufferListener, ESPMode::ThreadSafe > InSubmixBufferListener, USoundSubmix &InSubmix) override
 
virtual AUDIOMIXER_API FPatchOutputStrongPtr AddPatchForSubmix (uint32 InObjectId, float InPatchGain) override
 
virtual AUDIOMIXER_API void FlushExtended (UWorld *WorldToFlush, bool bClearActivatedReverb)
 
virtual AUDIOMIXER_API void FlushAudioRenderingCommands (bool bPumpSynchronously=false) override
 
virtual AUDIOMIXER_API bool IsNonRealtime () const override
 
virtual AUDIOMIXER_API bool OnProcessAudioStream (FAlignedFloatBuffer &OutputBuffer) override
 
virtual AUDIOMIXER_API void OnAudioStreamShutdown () override
 
virtual AUDIOMIXER_API void AddReferencedObjects (FReferenceCollector &Collector) override
 
virtual FString GetReferencerName () const override
 
AUDIOMIXER_API FMixerSubmixPtr FindSubmixInstanceByObjectId (uint32 InObjectId)
 
AUDIOMIXER_API FMixerSubmixWeakPtr GetSubmixInstance (const USoundSubmixBase *SoundSubmix) const
 
AUDIOMIXER_API ISoundfieldFactoryGetFactoryForSubmixInstance (USoundSubmix *SoundSubmix)
 
AUDIOMIXER_API ISoundfieldFactoryGetFactoryForSubmixInstance (FMixerSubmixWeakPtr &SoundSubmixPtr)
 
AUDIOMIXER_API void CheckAudioThread () const
 
AUDIOMIXER_API void CheckAudioRenderingThread () const
 
AUDIOMIXER_API bool IsAudioRenderingThread () const
 
AUDIOMIXER_API FMixerSourceVoiceGetMixerSourceVoice ()
 
AUDIOMIXER_API void ReleaseMixerSourceVoice (FMixerSourceVoice *InSourceVoice)
 
AUDIOMIXER_API int32 GetNumSources () const
 
AUDIOMIXER_API IAudioLinkFactoryGetAudioLinkFactory () const
 
const FAudioPlatformDeviceInfoGetPlatformDeviceInfo () const
 
int32 GetNumDeviceChannels () const
 
int32 GetNumDirectOutChannels () const
 
int32 GetNumOutputFrames () const
 
int32 GetNumOutputBuffers () const
 
IAudioMixerPlatformInterfaceGetAudioMixerPlatform () const
 
AUDIOMIXER_API void Get3DChannelMap (const int32 InSubmixNumChannels, const FWaveInstance *InWaveInstance, const float EmitterAzimuth, const float NonSpatiliazedFactor, const TMap< EAudioMixerChannel::Type, float > *InOmniMap, float InDefaultOmniValue, Audio::FAlignedFloatBuffer &OutChannelMap)
 
AUDIOMIXER_API void Get2DChannelMap (bool bIsVorbis, const int32 NumSourceChannels, const bool bIsCenterChannelOnly, Audio::FAlignedFloatBuffer &OutChannelMap) const
 
AUDIOMIXER_API int32 GetDeviceSampleRate () const
 
AUDIOMIXER_API int32 GetDeviceOutputChannels () const
 
AUDIOMIXER_API FMixerSourceManagerGetSourceManager ()
 
AUDIOMIXER_API const FMixerSourceManagerGetSourceManager () const
 
virtual AUDIOMIXER_API USoundSubmixGetMainSubmixObject () const override
 
AUDIOMIXER_API FMixerSubmixWeakPtr GetBaseDefaultSubmix ()
 
AUDIOMIXER_API FMixerSubmixWeakPtr GetMainSubmix ()
 
AUDIOMIXER_API FMixerSubmixWeakPtr GetReverbSubmix ()
 
AUDIOMIXER_API FMixerSubmixWeakPtr GetEQSubmix ()
 
AUDIOMIXER_API void AddMasterSubmixEffect (FSoundEffectSubmixPtr SoundEffect)
 
AUDIOMIXER_API void RemoveMasterSubmixEffect (uint32 SubmixEffectId)
 
AUDIOMIXER_API void ClearMasterSubmixEffects ()
 
AUDIOMIXER_API FMixerSubmixWeakPtr GetMasterSubmix ()
 
AUDIOMIXER_API FMixerSubmixWeakPtr GetMasterReverbSubmix ()
 
AUDIOMIXER_API FMixerSubmixWeakPtr GetMasterEQSubmix ()
 
AUDIOMIXER_API void AddMainSubmixEffect (FSoundEffectSubmixPtr SoundEffect)
 
AUDIOMIXER_API void RemoveMainSubmixEffect (uint32 SubmixEffectId)
 
AUDIOMIXER_API void ClearMainSubmixEffects ()
 
AUDIOMIXER_API int32 AddSubmixEffect (USoundSubmix *InSoundSubmix, FSoundEffectSubmixPtr SoundEffect)
 
AUDIOMIXER_API void RemoveSubmixEffect (USoundSubmix *InSoundSubmix, uint32 SubmixEffectId)
 
AUDIOMIXER_API void RemoveSubmixEffectAtIndex (USoundSubmix *InSoundSubmix, int32 SubmixChainIndex)
 
AUDIOMIXER_API void ReplaceSoundEffectSubmix (USoundSubmix *InSoundSubmix, int32 InSubmixChainIndex, FSoundEffectSubmixPtr SoundEffect)
 
AUDIOMIXER_API void ClearSubmixEffects (USoundSubmix *InSoundSubmix)
 
AUDIOMIXER_API const TArray< EAudioMixerChannel::Type > & GetChannelArray () const
 
AUDIOMIXER_API const TArray< FTransform > * GetListenerTransforms ()
 
AUDIOMIXER_API const FChannelPositionInfoGetDefaultChannelPositions () const
 
double GetAudioThreadTime () const
 
double GetAudioRenderThreadTime () const
 
double GetAudioClockDelta () const
 
EMonoChannelUpmixMethod GetMonoChannelUpmixMethod () const
 
AUDIOMIXER_API TArray< Audio::FChannelPositionInfo > * GetDefaultPositionMap (int32 NumChannels)
 
AUDIOMIXER_API FPatchOutputStrongPtr MakePatch (int32 InFrames, int32 InChannels, float InGain) const
 
AUDIOMIXER_API void AudioRenderThreadCommand (TFunction< void()> Command)
 
AUDIOMIXER_API void GameThreadMPSCCommand (TFunction< void()> InCommand)
 
AUDIOMIXER_API void DrawSubmixes (FOutputDevice &InOutput, const TArray< FString > &InArgs) const
 
FAudioRenderSchedulerGetRenderScheduler () const
 
- Public Member Functions inherited from FAudioDevice
ENGINE_API UAudioComponentGetTestComponent (UWorld *InWorld)
 
ENGINE_API void StopTestComponent ()
 
ENGINE_API FAudioDevice ()
 
virtual ENGINE_API ~FAudioDevice ()
 
ENGINE_API bool Init (Audio::FDeviceId InDeviceID, int32 InMaxSources, int32 BufferSizeOverride=INDEX_NONE, int32 NumBuffersOverride=INDEX_NONE)
 
ENGINE_API void OnDeviceCreated (Audio::FDeviceId InDeviceID)
 
ENGINE_API void OnDeviceDestroyed (Audio::FDeviceId InDeviceID)
 
ENGINE_API void Teardown ()
 
ENGINE_API void Deinitialize ()
 
ENGINE_API void Update (bool bGameTicking)
 
ENGINE_API void Suspend (bool bGameTicking)
 
ENGINE_API void AddReferencedObjects (FReferenceCollector &Collector)
 
ENGINE_API int32 GetSortedActiveWaveInstances (TArray< FWaveInstance * > &WaveInstances, const ESortedActiveWaveGetType::Type GetType)
 
ENGINE_API void UpdateActiveSoundPlaybackTime (bool bIsTimeTicking)
 
ENGINE_API void Flush (UWorld *WorldToFlush, bool bClearActivatedReverb=true)
 
ENGINE_API void OnPreGarbageCollect ()
 
ENGINE_API void StopSoundsUsingResource (USoundWave *SoundWave, TArray< UAudioComponent * > *StoppedComponents=nullptr)
 
virtual ENGINE_API void Precache (USoundWave *SoundWave, bool bSynchronous=false, bool bTrackMemory=true, bool bForceFullDecompression=false)
 
ENGINE_API float GetCompressionDurationThreshold (const FSoundGroup &SoundGroup)
 
ENGINE_API bool ShouldUseRealtimeDecompression (bool bForceFullDecompression, const FSoundGroup &SoundGroup, USoundWave *SoundWave, float CompressedDurationThreshold) const
 
ENGINE_API void PrecacheStartupSounds ()
 
ENGINE_API void SetMaxChannels (int32 InMaxChannels)
 
ENGINE_API void SetMaxChannelsScaled (float InScaledChannelCount)
 
ENGINE_API int32 GetMaxChannels () const
 
ENGINE_API int32 GetMaxSources () const
 
ENGINE_API TRange< floatGetGlobalPitchRange () const
 
ENGINE_API void StopSourcesUsingBuffer (FSoundBuffer *SoundBuffer)
 
virtual ENGINE_API void StopAllSounds (bool bShouldStopUISounds=false)
 
ENGINE_API void SetListener (UWorld *World, int32 InListenerIndex, const FTransform &ListenerTransform, float InDeltaSeconds)
 
ENGINE_API void SetListenerAttenuationOverride (int32 ListenerIndex, const FVector AttenuationPosition)
 
ENGINE_API void ClearListenerAttenuationOverride (int32 ListenerIndex)
 
const TArray< FListener > & GetListeners () const
 
UReverbEffectGetCurrentReverbEffect () const
 
ENGINE_API void PlaySoundAtLocation (USoundBase *Sound, UWorld *World, float VolumeMultiplier, float PitchMultiplier, float StartTime, const FVector &Location, const FRotator &Rotation, USoundAttenuation *AttenuationSettings=nullptr, USoundConcurrency *ConcurrencySettings=nullptr, const TArray< FAudioParameter > *Params=nullptr, const AActor *OwningActor=nullptr)
 
ENGINE_API void PlaySoundAtLocation (USoundBase *Sound, UWorld *World, float VolumeMultiplier, float PitchMultiplier, float StartTime, const FVector &Location, const FRotator &Rotation, USoundAttenuation *AttenuationSettings, USoundConcurrency *Concurrency, TArray< FAudioParameter > &&Params, const AActor *OwningActor=nullptr)
 
ENGINE_API void AddNewActiveSound (const FActiveSound &ActiveSound, const TArray< FAudioParameter > *InDefaultParams=nullptr, const FString *EventLogID=nullptr)
 
ENGINE_API void AddNewActiveSound (TSharedRef< FActiveSound > ActiveSound, TArray< FAudioParameter > &&InDefaultParams, const FString *EventLogID=nullptr)
 
ENGINE_API void AddNewActiveSound (const FActiveSound &ActiveSound, TArray< FAudioParameter > &&InDefaultParams)
 
ENGINE_API void RetriggerVirtualLoop (FAudioVirtualLoop &VirtualLoop)
 
ENGINE_API void StopActiveSound (uint64 AudioComponentID, const FString *EventLogID=nullptr)
 
ENGINE_API void StopActiveSound (FActiveSound *ActiveSound, const FString *EventLogID=nullptr)
 
ENGINE_API void PauseActiveSound (uint64 AudioComponentID, const bool bInIsPaused)
 
ENGINE_API void NotifyActiveSoundOcclusionTraceDone (FActiveSound *ActiveSound, bool bIsOccluded)
 
ENGINE_API FActiveSoundFindActiveSound (uint64 AudioComponentID)
 
ENGINE_API bool CanHaveMultipleActiveSounds (uint64 AudioComponentID) const
 
ENGINE_API void SetCanHaveMultipleActiveSounds (uint64 AudioComponentID, bool InCanHaveMultipleActiveSounds)
 
ENGINE_API void RemoveActiveSound (FActiveSound *ActiveSound)
 
ENGINE_API void AddAudioVolumeProxy (const FAudioVolumeProxy &Proxy)
 
ENGINE_API void RemoveAudioVolumeProxy (uint32 AudioVolumeID)
 
ENGINE_API void UpdateAudioVolumeProxy (const FAudioVolumeProxy &Proxy)
 
ENGINE_API void GetAudioVolumeSettings (const uint32 WorldID, const FVector &Location, FAudioVolumeSettings &OutSettings) const
 
ENGINE_API void ResetAudioVolumeProxyChangedState ()
 
ENGINE_API void GatherInteriorData (FActiveSound &ActiveSound, FSoundParseParameters &ParseParams) const
 
ENGINE_API void ApplyInteriorSettings (FActiveSound &ActiveSound, FSoundParseParameters &ParseParams) const
 
void NotifyPendingDelete (FActiveSound &ActiveSound) const
 
ENGINE_API bool GetDefaultAudioSettings (uint32 WorldID, FReverbSettings &OutReverbSettings, FInteriorSettings &OutInteriorSettings) const
 
ENGINE_API void SetDefaultAudioSettings (UWorld *World, const FReverbSettings &DefaultReverbSettings, const FInteriorSettings &DefaultInteriorSettings)
 
EDebugState GetMixDebugState () const
 
ENGINE_API void SetMixDebugState (EDebugState DebugState)
 
ENGINE_API void InitSoundClasses ()
 
ENGINE_API void RegisterSoundClass (USoundClass *InSoundClass)
 
ENGINE_API void UnregisterSoundClass (USoundClass *SoundClass)
 
virtual ENGINE_API Audio::FPatchInput AddPatchInputForAudioBus (uint32 InAudioBusId, int32 InFrames, int32 InChannels, float InGain=1.f)
 
virtual ENGINE_API Audio::FPatchOutputStrongPtr AddPatchOutputForAudioBus (uint32 InAudioBusId, int32 InFrames, int32 InChannels, float InGain=1.f)
 
ENGINE_API FSoundClassPropertiesGetSoundClassCurrentProperties (USoundClass *InSoundClass)
 
ENGINE_API FSoundClassDynamicPropertiesGetSoundClassDynamicProperties (USoundClass *InSoundClass)
 
ENGINE_API bool LocationIsAudible (const FVector &Location, const float MaxDistance) const
 
ENGINE_API bool LocationIsAudible (const FVector &Location, int32 ListenerIndex, const float MaxDistance) const
 
ENGINE_API float GetDistanceToNearestListener (const FVector &Location) const
 
ENGINE_API bool GetDistanceSquaredToListener (const FVector &Location, int32 ListenerIndex, float &OutSqDistance) const
 
ENGINE_API bool GetDistanceSquaredToNearestListener (const FVector &Location, float &OutSqDistance) const
 
ENGINE_API bool GetListenerPosition (int32 ListenerIndex, FVector &OutPosition, bool bAllowOverride) const
 
ENGINE_API bool GetListenerTransform (int32 ListenerIndex, FTransform &OutTransform) const
 
ENGINE_API bool GetListenerWorldID (int32 ListenerIndex, uint32 &OutWorldID) const
 
ENGINE_API void SetDefaultBaseSoundMix (USoundMix *SoundMix)
 
ENGINE_API void RemoveSoundMix (USoundMix *SoundMix)
 
ENGINE_API void ResetInterpolation ()
 
ENGINE_API void EnableRadioEffect (bool bEnable=false)
 
ENGINE_API void SetBaseSoundMix (USoundMix *SoundMix)
 
ENGINE_API void PushSoundMixModifier (USoundMix *SoundMix, bool bIsPassive=false, bool bIsRetrigger=false)
 
ENGINE_API void SetSoundMixClassOverride (USoundMix *InSoundMix, USoundClass *InSoundClass, float Volume, float Pitch, float FadeInTime, bool bApplyToChildren)
 
ENGINE_API void ClearSoundMixClassOverride (USoundMix *InSoundMix, USoundClass *InSoundClass, float FadeOutTime)
 
ENGINE_API void PopSoundMixModifier (USoundMix *SoundMix, bool bIsPassive=false)
 
ENGINE_API void ClearSoundMixModifier (USoundMix *SoundMix)
 
ENGINE_API void ClearSoundMixModifiers ()
 
ENGINE_API void ActivateReverbEffect (UReverbEffect *ReverbEffect, FName TagName, float Priority, float Volume, float FadeTime)
 
ENGINE_API void DeactivateReverbEffect (FName TagName)
 
virtual bool SupportsRealtimeDecompression () const
 
virtual bool DisablePCMAudioCaching () const
 
const TArray< FActiveSound * > & GetActiveSounds () const
 
ENGINE_API void InvalidateCachedInteriorVolumes () const
 
ENGINE_API bool IsHRTFEnabledForAll () const
 
void SetHRTFEnabledForAll (bool InbHRTFEnabledForAll)
 
ENGINE_API bool IsHRTFDisabled () const
 
void SetHRTFDisabled (bool InIsHRTFDisabled)
 
void SetSpatializationInterfaceEnabled (bool InbSpatializationInterfaceEnabled)
 
ENGINE_API void RegisterPluginListener (const TAudioPluginListenerPtr PluginListener)
 
ENGINE_API void UnregisterPluginListener (const TAudioPluginListenerPtr PluginListener)
 
ENGINE_API bool IsAudioDeviceMuted () const
 
ENGINE_API void SetDeviceMuted (bool bMuted)
 
ENGINE_API void GetAzimuth (const FAttenuationListenerData &OutListenerData, float &OutAzimuth, float &AbsoluteAzimuth) const
 
ENGINE_API float GetFocusFactor (const float Azimuth, const FSoundAttenuationSettings &AttenuationSettings) const
 
ENGINE_API void GetMaxDistanceAndFocusFactor (USoundBase *Sound, const UWorld *World, const FVector &Location, const FSoundAttenuationSettings *AttenuationSettingsToApply, float &OutMaxDistance, float &OutFocusFactor)
 
ENGINE_API bool SoundIsAudible (USoundBase *Sound, const UWorld *World, const FVector &Location, const FSoundAttenuationSettings *AttenuationSettingsToApply, float MaxDistance, float FocusFactor) const
 
ENGINE_API int32 FindClosestListenerIndex (const FTransform &SoundTransform) const
 
ENGINE_API int32 FindClosestListenerIndex (const FVector &Position, float &OutSqDistance, bool AllowAttenuationOverrides) const
 
ENGINE_API void UnlinkActiveSoundFromComponent (const FActiveSound &InActiveSound)
 
ENGINE_API float GetLowPassFilterResonance () const
 
int32 GetNumFreeSources () const
 
float GetSampleRate () const
 
int32 GetBufferLength () const
 
int32 GetNumBuffers () const
 
bool IsSpatializationPluginEnabled () const
 
ENGINE_API bool SetCurrentSpatializationPlugin (FName PluginName)
 
ENGINE_API TArray< FNameGetAvailableSpatializationPluginNames () const
 
TAudioSpatializationPtr GetSpatializationPluginInterface ()
 
ENGINE_API FAudioSpatializationInterfaceInfo GetCurrentSpatializationPluginInterfaceInfo ()
 
ENGINE_API bool SpatializationPluginInterfacesAvailable ()
 
bool IsModulationPluginEnabled () const
 
bool IsOcclusionPluginEnabled () const
 
bool IsReverbPluginEnabled () const
 
bool IsSourceDataOverridePluginEnabled () const
 
bool IsStoppingVoicesEnabled () const
 
bool IsBakedAnalaysisQueryingEnabled () const
 
ENGINE_API void SendCommandToActiveSounds (uint64 InAudioComponentID, TUniqueFunction< void(FActiveSound &)> InFunc, const TStatId InStatId=TStatId())
 
virtual void UpdateSubmixModulationSettings (USoundSubmix *InSoundSubmix, USoundModulatorBase *InOutputModulation, USoundModulatorBase *InWetLevelModulation, USoundModulatorBase *InDryLevelModulation)
 
ENGINE_API voidInitEffect (FSoundSource *Source)
 
ENGINE_API voidUpdateEffect (FSoundSource *Source)
 
ENGINE_API void DestroyEffect (FSoundSource *Source)
 
FAudioEffectsManagerGetEffects ()
 
const FAudioEffectsManagerGetEffects () const
 
const TMap< USoundMix *, FSoundMixState > & GetSoundMixModifiers () const
 
const TArray< USoundMix * > & GetPrevPassiveSoundMixModifiers () const
 
USoundMixGetDefaultBaseSoundMixModifier ()
 
void SetSoundMixModifiers (const TMap< USoundMix *, FSoundMixState > &InSoundMixModifiers, const TArray< USoundMix * > &InPrevPassiveSoundMixModifiers, USoundMix *InDefaultBaseSoundMix)
 
ENGINE_API FDelegateHandle AddPreRenderDelegate (const FOnAudioDevicePreRender::FDelegate &InDelegate)
 
ENGINE_API bool RemovePreRenderDelegate (const FDelegateHandle &InHandle)
 
ENGINE_API FDelegateHandle AddPostRenderDelegate (const FOnAudioDevicePostRender::FDelegate &InDelegate)
 
ENGINE_API bool RemovePostRenderDelegate (const FDelegateHandle &InHandle)
 
ENGINE_API void AddSoundToStop (FActiveSound *SoundToStop)
 
ENGINE_API bool IsPendingStop (FActiveSound *ActiveSound)
 
ENGINE_API FVector GetListenerTransformedDirection (const FVector &Position, float *OutDistance)
 
ENGINE_API float GetDeviceDeltaTime () const
 
ENGINE_API float GetGameDeltaTime () const
 
ENGINE_API bool IsUsingListenerAttenuationOverride (int32 ListenerIndex) const
 
ENGINE_API const FVectorGetListenerAttenuationOverride (int32 ListenerIndex) const
 
ENGINE_API void UpdateVirtualLoops (bool bForceUpdate)
 
double GetAudioClock () const
 
ENGINE_API void AddVirtualLoop (const FAudioVirtualLoop &InVirtualLoop)
 
bool AreStartupSoundsPreCached () const
 
float GetTransientMasterVolume () const
 
ENGINE_API void SetTransientMasterVolume (float TransientPrimaryVolume)
 
float GetMasterVolume () const
 
float GetTransientPrimaryVolume () const
 
ENGINE_API void SetTransientPrimaryVolume (float TransientPrimaryVolume)
 
float GetPrimaryVolume () const
 
ENGINE_API FSoundSourceGetSoundSource (FWaveInstance *WaveInstance) const
 
ENGINE_API const FGlobalFocusSettingsGetGlobalFocusSettings () const
 
ENGINE_API void SetGlobalFocusSettings (const FGlobalFocusSettings &NewFocusSettings)
 
const FDynamicParameterGetGlobalPitchScale () const
 
ENGINE_API void SetGlobalPitchModulation (float PitchScale, float TimeSec)
 
ENGINE_API float ClampPitch (float InPitchScale) const
 
ENGINE_API void SetSoundClassDistanceScale (USoundClass *InSoundClass, float DistanceScale, float TimeSec)
 
float GetPlatformAudioHeadroom () const
 
ENGINE_API void SetPlatformAudioHeadroom (float PlatformHeadRoom)
 
ENGINE_API const TMap< FName, FActivatedReverb > & GetActiveReverb () const
 
bool PlayWhenSilentEnabled () const
 
ENGINE_API bool IsMainAudioDevice () const
 
void SetUseAttenuationForNonGameWorlds (bool bInUseAttenuationForNonGameWorlds)
 
ENGINE_API const TArray< FWaveInstance * > & GetActiveWaveInstances () const
 
float GetDefaultReverbSendLevel () const
 
ENGINE_API const TMap< FWaveInstance *, FSoundSource * > & GetWaveInstanceSourceMap () const
 
ENGINE_API FName GetAudioStateProperty (const FName &PropertyName) const
 
ENGINE_API void SetAudioStateProperty (const FName &PropertyName, const FName &PropertyValue)
 
UAudioEngineSubsystemGetSubsystemBase (TSubclassOf< UAudioEngineSubsystem > SubsystemClass) const
 
template<typename TSubsystemClass >
TSubsystemClassGetSubsystem () const
 
template<typename TSubsystemClass >
TArray< TSubsystemClass * > GetSubsystemArrayCopy () const
 
template<typename TSubsystemClass >
void ForEachSubsystem (TFunctionRef< void(TSubsystemClass *)> Operation) const
 
- Public Member Functions inherited from FExec
virtual CORE_API ~FExec ()
 
virtual CORE_API bool Exec (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
- Public Member Functions inherited from Audio::IAudioMixer
bool IsMainAudioMixer () const
 
- Public Member Functions inherited from FGCObject
 FGCObject ()
 
 FGCObject (const FGCObject &Other)
 
 FGCObject (FGCObject &&Other)
 
 FGCObject (EFlags Flags)
 
virtual ~FGCObject ()
 
FGCObjectoperator= (const FGCObject &)
 
FGCObjectoperator= (FGCObject &&)
 
COREUOBJECT_API void RegisterGCObject ()
 
COREUOBJECT_API void UnregisterGCObject ()
 
virtual bool GetReferencerPropertyName (UObject *Object, FString &OutPropertyName) const
 

Static Public Member Functions

static AUDIOMIXER_API void Get2DChannelMap (bool bIsVorbis, const int32 NumSourceChannels, const int32 NumOutputChannels, const bool bIsCenterChannelOnly, Audio::FAlignedFloatBuffer &OutChannelMap)
 
static AUDIOMIXER_API bool IsEndpointSubmix (const USoundSubmixBase *InSubmix)
 
static AUDIOMIXER_API void CreateSynchronizedAudioTaskQueue (AudioTaskQueueId QueueId)
 
static AUDIOMIXER_API void DestroySynchronizedAudioTaskQueue (AudioTaskQueueId QueueId, bool RunCurrentQueue=false)
 
static AUDIOMIXER_API int KickQueuedTasks (AudioTaskQueueId QueueId)
 
- Static Public Member Functions inherited from FAudioDevice
static ENGINE_API const FAudioQualitySettingsGetQualityLevelSettings ()
 
static ENGINE_API bool LegacyReverbDisabled ()
 
static ENGINE_API UAudioComponentCreateComponent (USoundBase *Sound, const FCreateComponentParams &Params=FCreateComponentParams())
 
static ENGINE_API float GetMaxWorldDistance ()
 
static ENGINE_API int32 FindClosestListenerIndex (const FTransform &SoundTransform, const TArray< FListener > &InListeners)
 
static ENGINE_API FAudioDeviceHandle GetMainAudioDevice ()
 
static ENGINE_API FAudioDeviceManagerGetAudioDeviceManager ()
 
static ENGINE_API bool IsOcclusionPluginLoaded ()
 
static ENGINE_API bool IsReverbPluginLoaded ()
 
static ENGINE_API bool IsSourceDataOverridePluginLoaded ()
 
static ENGINE_API bool CanUseVRAudioDevice ()
 
template<typename TSubsystemClass >
static TSubsystemClassGetSubsystem (const FAudioDeviceHandle &InHandle)
 
- Static Public Member Functions inherited from Audio::IAudioMixer
static AUDIOMIXERCORE_API bool ShouldUseThreadedDeviceSwap ()
 
static AUDIOMIXERCORE_API bool ShouldRecycleThreads ()
 
static AUDIOMIXERCORE_API bool ShouldUseDeviceInfoCache ()
 
- Static Public Member Functions inherited from FGCObject
static COREUOBJECT_API void StaticInit ()
 

Public Attributes

FQuartzClockManager QuantizedEventClockManager
 
TSharedPtr< FPersistentQuartzSubsystemData, ESPMode::ThreadSafeQuartzSubsystemData { nullptr }
 
FCriticalSection QuartzPersistentStateCritSec
 
- Public Attributes inherited from FAudioDevice
int32 NumStoppingSources
 
int32 SampleRate
 
FAudioPlatformSettings PlatformSettings
 
int32 NumPrecacheFrames
 
Audio::FDeviceId DeviceID
 
TAudioSpatializationPtr SpatializationPluginInterface = nullptr
 
TAudioSourceDataOverridePtr SourceDataOverridePluginInterface
 
TAudioReverbPtr ReverbPluginInterface
 
TAudioOcclusionPtr OcclusionInterface
 
TAudioModulationPtr ModulationInterface
 
TArray< TAudioPluginListenerPtrPluginListeners
 
TArray< FListenerProxyListenerProxies
 
uint8 bDisableAudioCaching:1 = false
 
uint8 bIsAudioDeviceHardwareInitialized: 1
 
uint8 bIsStoppingVoicesEnabled: 1
 
uint8 bIsBakedAnalysisEnabled: 1
 
uint8 bAudioMixerModuleLoaded: 1
 
uint8 bOcclusionIsExternalSend:1
 
uint8 bReverbIsExternalSend:1
 
uint8 bSpatializationIsExternalSend:1
 
int32 MaxChannelsSupportedBySpatializationPlugin
 

Protected Member Functions

virtual AUDIOMIXER_API void InitSoundSubmixes () override
 
virtual AUDIOMIXER_API void OnListenerUpdated (const TArray< FListener > &InListeners) override
 
- Protected Member Functions inherited from FAudioDevice
ENGINE_API void NotifySubsystemsActiveSoundCreated (FActiveSound &ActiveSound) const
 
ENGINE_API void NotifySubsystemsActiveSoundDeleting (FActiveSound &ActiveSound) const
 
ENGINE_API void NotifySubsystemsVirtualizedSoundCreated (FActiveSound &ActiveSound) const
 
ENGINE_API void NotifySubsystemsVirtualizedSoundDeleting (FActiveSound &ActiveSound) const
 
void NotifyAddActiveSound (FActiveSound &ActiveSound) const
 
void NotifyPendingDeleteInternal (FActiveSound &ActiveSound) const
 
ENGINE_API void NotifySubsystemsSetOwner (FActiveSound &ActiveSound, const UObject *Owner) const
 
ENGINE_API void InitSoundSources ()
 
ENGINE_API void InitializeSubsystemCollection ()
 
ENGINE_API void HandlePause (bool bGameTicking, bool bGlobalPause=false)
 
ENGINE_API void StopSources (TArray< FWaveInstance * > &WaveInstances, int32 FirstActiveIndex)
 
ENGINE_API void StartSources (TArray< FWaveInstance * > &WaveInstances, int32 FirstActiveIndex, bool bGameTicking)
 
ENGINE_API void NotifyAudioDevicePreRender (const FAudioDeviceRenderInfo &InInfo)
 
ENGINE_API void NotifyAudioDevicePostRender (const FAudioDeviceRenderInfo &InInfo)
 
bool IsInitialized () const
 
- Protected Member Functions inherited from FExec
virtual bool Exec_Runtime (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual bool Exec_Dev (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual bool Exec_Editor (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
- Protected Member Functions inherited from Audio::IAudioMixer
 IAudioMixer ()
 

Protected Attributes

TArray< FTransformListenerTransforms
 
- Protected Attributes inherited from FAudioDevice
FDelegateHandle DeviceCreatedHandle
 
FDelegateHandle DeviceDestroyedHandle
 
FCriticalSection RenderStateCallbackListCritSec
 
FOnAudioDevicePreRender OnAudioDevicePreRender
 
FOnAudioDevicePostRender OnAudioDevicePostRender
 
FName CurrentSpatializationPluginInterfaceName
 
TArray< FAudioSpatializationInterfaceInfoSpatializationInterfaces
 
FAudioSpatializationInterfaceInfoCurrentSpatializationInterfaceInfoPtr = nullptr
 
FAudioPluginInitializationParams PluginInitializationParams
 
TArray< FListenerListeners
 
TArray< FSoundSource * > Sources
 
TArray< FSoundSource * > FreeSources
 
FAudioEffectsManagerEffects
 
double AudioClock
 
uint8 bAllowCenterChannel3DPanning: 1
 
float DeviceDeltaTime
 
- Protected Attributes inherited from Audio::IAudioMixer
bool bIsMainAudioMixer
 

Additional Inherited Members

- Public Types inherited from FGCObject
enum class  EFlags : uint32 { None = 0 , RegisterLater = 1 << 0 , AddStableNativeReferencesOnly = 1 << 1 }
 
- Static Public Attributes inherited from FGCObject
static COREUOBJECT_API UGCObjectReferencerGGCObjectReferencer = nullptr
 

Constructor & Destructor Documentation

◆ FMixerDevice()

Audio::FMixerDevice::FMixerDevice ( IAudioMixerPlatformInterface InAudioMixerPlatform)

◆ ~FMixerDevice()

Audio::FMixerDevice::~FMixerDevice ( )

Member Function Documentation

◆ AddEnvelopeFollowerDelegate()

void Audio::FMixerDevice::AddEnvelopeFollowerDelegate ( USoundSubmix InSubmix,
const FOnSubmixEnvelopeBP OnSubmixEnvelopeBP 
)
overridevirtual

Adds an envelope follower delegate to the submix for this audio device.

Reimplemented from FAudioDevice.

◆ AddMainSubmixEffect()

void Audio::FMixerDevice::AddMainSubmixEffect ( FSoundEffectSubmixPtr  SoundEffect)

◆ AddMasterSubmixEffect()

void Audio::FMixerDevice::AddMasterSubmixEffect ( FSoundEffectSubmixPtr  SoundEffect)

◆ AddPatchForSubmix()

FPatchOutputStrongPtr Audio::FMixerDevice::AddPatchForSubmix ( uint32  InObjectId,
float  InPatchGain 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ AddReferencedObjects()

void Audio::FMixerDevice::AddReferencedObjects ( FReferenceCollector Collector)
overridevirtual

Pure virtual that must be overloaded by the inheriting class. Use this method to serialize any UObjects contained that you wish to keep around.

Parameters
CollectorThe collector of referenced objects.

Implements FGCObject.

◆ AddSpectralAnalysisDelegate()

void Audio::FMixerDevice::AddSpectralAnalysisDelegate ( USoundSubmix InSubmix,
const FSoundSpectrumAnalyzerDelegateSettings InDelegateSettings,
const FOnSubmixSpectralAnalysisBP OnSubmixSpectralAnalysisBP 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ AddSubmixEffect()

int32 Audio::FMixerDevice::AddSubmixEffect ( USoundSubmix InSoundSubmix,
FSoundEffectSubmixPtr  SoundEffect 
)

◆ AudioRenderThreadCommand()

void Audio::FMixerDevice::AudioRenderThreadCommand ( TFunction< void()>  Command)

◆ CheckAudioRenderingThread()

void Audio::FMixerDevice::CheckAudioRenderingThread ( ) const

◆ CheckAudioThread()

void Audio::FMixerDevice::CheckAudioThread ( ) const

◆ ClearMainSubmixEffects()

void Audio::FMixerDevice::ClearMainSubmixEffects ( )

◆ ClearMasterSubmixEffects()

void Audio::FMixerDevice::ClearMasterSubmixEffects ( )

◆ ClearSubmixEffectChainOverride()

void Audio::FMixerDevice::ClearSubmixEffectChainOverride ( USoundSubmix InSoundSubmix,
float  InCrossfadeTime 
)
overridevirtual

Clears all submix effect chain overrides from the submix.

Reimplemented from FAudioDevice.

◆ ClearSubmixEffects()

void Audio::FMixerDevice::ClearSubmixEffects ( USoundSubmix InSoundSubmix)

◆ CountBytes()

void Audio::FMixerDevice::CountBytes ( class FArchive Ar)
overridevirtual

Counts the bytes for the structures used in this class

Reimplemented from FAudioDevice.

◆ CreateEffectsManager()

FAudioEffectsManager * Audio::FMixerDevice::CreateEffectsManager ( )
overridevirtual

Creates a new platform specific sound source

Reimplemented from FAudioDevice.

◆ CreateSoundSource()

FSoundSource * Audio::FMixerDevice::CreateSoundSource ( )
overridevirtual

Creates a new platform specific sound source

Implements FAudioDevice.

◆ CreateSynchronizedAudioTaskQueue()

void Audio::FMixerDevice::CreateSynchronizedAudioTaskQueue ( AudioTaskQueueId  QueueId)
static

◆ DestroySynchronizedAudioTaskQueue()

void Audio::FMixerDevice::DestroySynchronizedAudioTaskQueue ( AudioTaskQueueId  QueueId,
bool  RunCurrentQueue = false 
)
static

◆ DrawSubmixes()

void Audio::FMixerDevice::DrawSubmixes ( FOutputDevice InOutput,
const TArray< FString > &  InArgs 
) const

◆ EnableDebugAudioOutput()

void Audio::FMixerDevice::EnableDebugAudioOutput ( )
overridevirtual

Enables the audio device to output debug audio to test audio device output.

Reimplemented from FAudioDevice.

◆ FadeIn()

void Audio::FMixerDevice::FadeIn ( )
overridevirtual

Reimplemented from FAudioDevice.

◆ FadeOut()

void Audio::FMixerDevice::FadeOut ( )
overridevirtual

Optional fadeout and fade in of audio to avoid clicks when closing or opening/reusing audio device.

Reimplemented from FAudioDevice.

◆ FindSubmixInstanceByObjectId()

FMixerSubmixPtr Audio::FMixerDevice::FindSubmixInstanceByObjectId ( uint32  InObjectId)

◆ FlushAudioRenderingCommands()

void Audio::FMixerDevice::FlushAudioRenderingCommands ( bool  bPumpSynchronously = false)
overridevirtual

Allows audio rendering command queue to flush during audio device flush.

Parameters
bPumpSynchronouslymust be called in situations where the audio render thread is not being called.

Reimplemented from FAudioDevice.

◆ FlushExtended()

void Audio::FMixerDevice::FlushExtended ( UWorld WorldToFlush,
bool  bClearActivatedReverb 
)
virtual

Reimplemented from FAudioDevice.

◆ GameThreadMPSCCommand()

void Audio::FMixerDevice::GameThreadMPSCCommand ( TFunction< void()>  InCommand)

◆ Get2DChannelMap() [1/2]

void Audio::FMixerDevice::Get2DChannelMap ( bool  bIsVorbis,
const int32  NumSourceChannels,
const bool  bIsCenterChannelOnly,
Audio::FAlignedFloatBuffer OutChannelMap 
) const

◆ Get2DChannelMap() [2/2]

void Audio::FMixerDevice::Get2DChannelMap ( bool  bIsVorbis,
const int32  NumSourceChannels,
const int32  NumOutputChannels,
const bool  bIsCenterChannelOnly,
Audio::FAlignedFloatBuffer OutChannelMap 
)
static

NO_LOGGING

◆ Get3DChannelMap()

void Audio::FMixerDevice::Get3DChannelMap ( const int32  InSubmixNumChannels,
const FWaveInstance InWaveInstance,
const float  EmitterAzimuth,
const float  NonSpatiliazedFactor,
const TMap< EAudioMixerChannel::Type, float > *  InOmniMap,
float  InDefaultOmniValue,
Audio::FAlignedFloatBuffer OutChannelMap 
)

◆ GetAudioClockDelta()

double Audio::FMixerDevice::GetAudioClockDelta ( ) const
inline

◆ GetAudioDeviceList()

void Audio::FMixerDevice::GetAudioDeviceList ( TArray< FString > &  OutAudioDeviceNames) const
overridevirtual

Returns an array of available audio devices names for the platform

Reimplemented from FAudioDevice.

◆ GetAudioLinkFactory()

IAudioLinkFactory * Audio::FMixerDevice::GetAudioLinkFactory ( ) const

◆ GetAudioMixerPlatform()

IAudioMixerPlatformInterface * Audio::FMixerDevice::GetAudioMixerPlatform ( ) const
inline

◆ GetAudioRenderThreadTime()

double Audio::FMixerDevice::GetAudioRenderThreadTime ( ) const
inline

◆ GetAudioThreadTime()

double Audio::FMixerDevice::GetAudioThreadTime ( ) const
inline

◆ GetAudioTime()

double Audio::FMixerDevice::GetAudioTime ( ) const
overridevirtual

Return the audio stream time

Reimplemented from FAudioDevice.

◆ GetBaseDefaultSubmix()

FMixerSubmixWeakPtr Audio::FMixerDevice::GetBaseDefaultSubmix ( )

◆ GetChannelArray()

const TArray< EAudioMixerChannel::Type > & Audio::FMixerDevice::GetChannelArray ( ) const

◆ GetCurrentSourceEffectChain()

bool Audio::FMixerDevice::GetCurrentSourceEffectChain ( const uint32  SourceEffectChainId,
TArray< FSourceEffectChainEntry > &  OutCurrentSourceEffectChainEntries 
)
overridevirtual

Returns the current source effect chain entries set dynamically from BP or elsewhere.

Reimplemented from FAudioDevice.

◆ GetDefaultChannelPositions()

const FChannelPositionInfo * Audio::FMixerDevice::GetDefaultChannelPositions ( ) const

◆ GetDefaultPositionMap()

TArray< Audio::FChannelPositionInfo > * Audio::FMixerDevice::GetDefaultPositionMap ( int32  NumChannels)

◆ GetDeviceOutputChannels()

int32 Audio::FMixerDevice::GetDeviceOutputChannels ( ) const

◆ GetDeviceSampleRate()

int32 Audio::FMixerDevice::GetDeviceSampleRate ( ) const

◆ GetEQSubmix()

FMixerSubmixWeakPtr Audio::FMixerDevice::GetEQSubmix ( )

◆ GetFactoryForSubmixInstance() [1/2]

ISoundfieldFactory * Audio::FMixerDevice::GetFactoryForSubmixInstance ( FMixerSubmixWeakPtr SoundSubmixPtr)

◆ GetFactoryForSubmixInstance() [2/2]

ISoundfieldFactory * Audio::FMixerDevice::GetFactoryForSubmixInstance ( USoundSubmix SoundSubmix)

◆ GetInterpolatedAudioClock()

double Audio::FMixerDevice::GetInterpolatedAudioClock ( ) const
overridevirtual

Returns the audio clock interploated between audio device callbacks to provide a smoothed value. Default implementation does not interpolate.

Reimplemented from FAudioDevice.

◆ GetListenerTransforms()

const TArray< FTransform > * Audio::FMixerDevice::GetListenerTransforms ( )

◆ GetMagnitudesForFrequencies()

void Audio::FMixerDevice::GetMagnitudesForFrequencies ( USoundSubmix InSubmix,
const TArray< float > &  InFrequencies,
TArray< float > &  OutMagnitudes 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ GetMainSubmix()

FMixerSubmixWeakPtr Audio::FMixerDevice::GetMainSubmix ( )

◆ GetMainSubmixObject()

USoundSubmix & Audio::FMixerDevice::GetMainSubmixObject ( ) const
overridevirtual

Reimplemented from FAudioDevice.

◆ GetMasterEQSubmix()

FMixerSubmixWeakPtr Audio::FMixerDevice::GetMasterEQSubmix ( )

◆ GetMasterReverbSubmix()

FMixerSubmixWeakPtr Audio::FMixerDevice::GetMasterReverbSubmix ( )

◆ GetMasterSubmix()

FMixerSubmixWeakPtr Audio::FMixerDevice::GetMasterSubmix ( )

◆ GetMixerSourceVoice()

FMixerSourceVoice * Audio::FMixerDevice::GetMixerSourceVoice ( )

◆ GetMonoChannelUpmixMethod()

EMonoChannelUpmixMethod Audio::FMixerDevice::GetMonoChannelUpmixMethod ( ) const
inline

◆ GetNumActiveSources()

int32 Audio::FMixerDevice::GetNumActiveSources ( ) const
overridevirtual

Returns the number of active sound sources

Reimplemented from FAudioDevice.

◆ GetNumDeviceChannels()

int32 Audio::FMixerDevice::GetNumDeviceChannels ( ) const
inline

◆ GetNumDirectOutChannels()

int32 Audio::FMixerDevice::GetNumDirectOutChannels ( ) const
inline

◆ GetNumOutputBuffers()

int32 Audio::FMixerDevice::GetNumOutputBuffers ( ) const
inline

◆ GetNumOutputFrames()

int32 Audio::FMixerDevice::GetNumOutputFrames ( ) const
inline

◆ GetNumSources()

int32 Audio::FMixerDevice::GetNumSources ( ) const

◆ GetPhasesForFrequencies()

void Audio::FMixerDevice::GetPhasesForFrequencies ( USoundSubmix InSubmix,
const TArray< float > &  InFrequencies,
TArray< float > &  OutPhases 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ GetPlatformDeviceInfo()

const FAudioPlatformDeviceInfo & Audio::FMixerDevice::GetPlatformDeviceInfo ( ) const
inline

◆ GetPlatformSettings()

FAudioPlatformSettings Audio::FMixerDevice::GetPlatformSettings ( ) const
overridevirtual

Allow platforms to optionally specify low-level audio platform settings.

Reimplemented from FAudioDevice.

◆ GetReferencerName()

virtual FString Audio::FMixerDevice::GetReferencerName ( ) const
inlineoverridevirtual

Overload this method to report a name for your referencer

Implements FGCObject.

◆ GetRenderScheduler()

FAudioRenderScheduler & Audio::FMixerDevice::GetRenderScheduler ( ) const
inline

◆ GetReverbSubmix()

FMixerSubmixWeakPtr Audio::FMixerDevice::GetReverbSubmix ( )

◆ GetSourceManager() [1/2]

FMixerSourceManager * Audio::FMixerDevice::GetSourceManager ( )

◆ GetSourceManager() [2/2]

const FMixerSourceManager * Audio::FMixerDevice::GetSourceManager ( ) const

◆ GetSubmixInstance()

FMixerSubmixWeakPtr Audio::FMixerDevice::GetSubmixInstance ( const USoundSubmixBase SoundSubmix) const

◆ HasCompressedAudioInfoClass()

bool Audio::FMixerDevice::HasCompressedAudioInfoClass ( USoundWave SoundWave)
overridevirtual

Whether this SoundWave has an associated info class to decompress it

Reimplemented from FAudioDevice.

◆ InitializeHardware()

bool Audio::FMixerDevice::InitializeHardware ( )
overridevirtual

Starts up any platform specific hardware/APIs

Reimplemented from FAudioDevice.

◆ InitSoundSubmixes()

void Audio::FMixerDevice::InitSoundSubmixes ( )
overrideprotectedvirtual

Initializes sound submixes.

Reimplemented from FAudioDevice.

◆ IsAudioRenderingThread()

bool Audio::FMixerDevice::IsAudioRenderingThread ( ) const

◆ IsEndpointSubmix()

bool Audio::FMixerDevice::IsEndpointSubmix ( const USoundSubmixBase InSubmix)
static

◆ IsExernalBackgroundSoundActive()

bool Audio::FMixerDevice::IsExernalBackgroundSoundActive ( )
overridevirtual

Check if any background music or sound is playing through the audio device

Reimplemented from FAudioDevice.

◆ IsNonRealtime()

bool Audio::FMixerDevice::IsNonRealtime ( ) const
overridevirtual

Reimplemented from FAudioDevice.

◆ KickQueuedTasks()

int Audio::FMixerDevice::KickQueuedTasks ( AudioTaskQueueId  QueueId)
static

◆ MakePatch()

FPatchOutputStrongPtr Audio::FMixerDevice::MakePatch ( int32  InFrames,
int32  InChannels,
float  InGain 
) const

◆ OnAudioStreamShutdown()

void Audio::FMixerDevice::OnAudioStreamShutdown ( )
overridevirtual

Called when audio render thread stream is shutting down. Last function called. Allows cleanup on render thread.

Implements Audio::IAudioMixer.

◆ OnListenerUpdated()

void Audio::FMixerDevice::OnListenerUpdated ( const TArray< FListener > &  InListeners)
overrideprotectedvirtual

This is overridden in Audio::FMixerDevice to propogate listener information to the audio thread.

Reimplemented from FAudioDevice.

◆ OnProcessAudioStream()

bool Audio::FMixerDevice::OnProcessAudioStream ( FAlignedFloatBuffer OutputBuffer)
overridevirtual

Callback to generate a new audio stream buffer.

Implements Audio::IAudioMixer.

◆ PauseRecording()

void Audio::FMixerDevice::PauseRecording ( USoundSubmix InSubmix)
virtual

◆ RegisterSoundSubmix()

void Audio::FMixerDevice::RegisterSoundSubmix ( USoundSubmixBase SoundSubmix,
bool  bInit = true 
)
overridevirtual

Registers the sound submix

Reimplemented from FAudioDevice.

◆ RegisterSubmixBufferListener() [1/2]

void Audio::FMixerDevice::RegisterSubmixBufferListener ( ISubmixBufferListener InSubmixBufferListener,
USoundSubmix InSubmix = nullptr 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ RegisterSubmixBufferListener() [2/2]

void Audio::FMixerDevice::RegisterSubmixBufferListener ( TSharedRef< ISubmixBufferListener, ESPMode::ThreadSafe InSubmixBufferListener,
USoundSubmix SoundSubmix 
)
overridevirtual

Registers the provided submix buffer listener with the given submix.

Reimplemented from FAudioDevice.

◆ ReleaseMixerSourceVoice()

void Audio::FMixerDevice::ReleaseMixerSourceVoice ( FMixerSourceVoice InSourceVoice)

◆ RemoveEnvelopeFollowerDelegate()

void Audio::FMixerDevice::RemoveEnvelopeFollowerDelegate ( USoundSubmix InSubmix,
const FOnSubmixEnvelopeBP OnSubmixEnvelopeBP 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ RemoveMainSubmixEffect()

void Audio::FMixerDevice::RemoveMainSubmixEffect ( uint32  SubmixEffectId)

◆ RemoveMasterSubmixEffect()

void Audio::FMixerDevice::RemoveMasterSubmixEffect ( uint32  SubmixEffectId)

◆ RemoveSpectralAnalysisDelegate()

void Audio::FMixerDevice::RemoveSpectralAnalysisDelegate ( USoundSubmix InSubmix,
const FOnSubmixSpectralAnalysisBP OnSubmixSpectralAnalysisBP 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ RemoveSubmixEffect()

void Audio::FMixerDevice::RemoveSubmixEffect ( USoundSubmix InSoundSubmix,
uint32  SubmixEffectId 
)

◆ RemoveSubmixEffectAtIndex()

void Audio::FMixerDevice::RemoveSubmixEffectAtIndex ( USoundSubmix InSoundSubmix,
int32  SubmixChainIndex 
)

◆ ReplaceSoundEffectSubmix()

void Audio::FMixerDevice::ReplaceSoundEffectSubmix ( USoundSubmix InSoundSubmix,
int32  InSubmixChainIndex,
FSoundEffectSubmixPtr  SoundEffect 
)

◆ ResumeContext()

void Audio::FMixerDevice::ResumeContext ( )
overridevirtual

Resume any context related objects

Reimplemented from FAudioDevice.

◆ ResumeRecording()

void Audio::FMixerDevice::ResumeRecording ( USoundSubmix InSubmix)
virtual

◆ SetSubmixAutoDisable()

void Audio::FMixerDevice::SetSubmixAutoDisable ( USoundSubmix InSoundSubmix,
bool  bInAutoDisable 
)
overridevirtual

Set whether or not a submix is auto-disabled.

Reimplemented from FAudioDevice.

◆ SetSubmixAutoDisableTime()

void Audio::FMixerDevice::SetSubmixAutoDisableTime ( USoundSubmix InSoundSubmix,
float  InDisableTime 
)
overridevirtual

Set what the auto-disable time is.

Reimplemented from FAudioDevice.

◆ SetSubmixDryLevel()

void Audio::FMixerDevice::SetSubmixDryLevel ( USoundSubmix InSoundSubmix,
float  InDryLevel 
)
overridevirtual

Set the wet-dry level of the given submix

Reimplemented from FAudioDevice.

◆ SetSubmixEffectChainOverride()

void Audio::FMixerDevice::SetSubmixEffectChainOverride ( USoundSubmix InSoundSubmix,
const TArray< FSoundEffectSubmixPtr > &  InSubmixEffectChain,
float  InCrossfadeTime 
)
overridevirtual

Sets a submix effect chain override for the given submix

Reimplemented from FAudioDevice.

◆ SetSubmixModulationBaseLevels()

void Audio::FMixerDevice::SetSubmixModulationBaseLevels ( USoundSubmix InSoundSubmix,
float  InVolumeModBase,
float  InWetModBase,
float  InDryModBase 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ SetSubmixOutputVolume()

void Audio::FMixerDevice::SetSubmixOutputVolume ( USoundSubmix InSoundSubmix,
float  InOutputVolume 
)
overridevirtual

Set the wet-dry level of the given submix

Reimplemented from FAudioDevice.

◆ SetSubmixWetDryLevel()

void Audio::FMixerDevice::SetSubmixWetDryLevel ( USoundSubmix InSoundSubmix,
float  InOutputVolume,
float  InWetLevel,
float  InDryLevel 
)
overridevirtual

Set the wet-dry level of the given submix

Reimplemented from FAudioDevice.

◆ SetSubmixWetLevel()

void Audio::FMixerDevice::SetSubmixWetLevel ( USoundSubmix InSoundSubmix,
float  InWetLevel 
)
overridevirtual

Set the wet-dry level of the given submix

Reimplemented from FAudioDevice.

◆ StartEnvelopeFollowing()

void Audio::FMixerDevice::StartEnvelopeFollowing ( USoundSubmix InSubmix)
overridevirtual

This is called by a USoundSubmix to start envelope following on a submix isntance on this device.

Reimplemented from FAudioDevice.

◆ StartRecording()

void Audio::FMixerDevice::StartRecording ( USoundSubmix InSubmix,
float  ExpectedRecordingDuration 
)
overridevirtual

This is called by a USoundSubmix to start recording a submix instance on this device.

Reimplemented from FAudioDevice.

◆ StartSpectrumAnalysis()

void Audio::FMixerDevice::StartSpectrumAnalysis ( USoundSubmix InSubmix,
const FSoundSpectrumAnalyzerSettings InSettings 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ StopEnvelopeFollowing()

void Audio::FMixerDevice::StopEnvelopeFollowing ( USoundSubmix InSubmix)
overridevirtual

This is called by a USoundSubmix when we stop envelope following a submix instance on this device.

Reimplemented from FAudioDevice.

◆ StopRecording()

Audio::FAlignedFloatBuffer & Audio::FMixerDevice::StopRecording ( USoundSubmix InSubmix,
float OutNumChannels,
float OutSampleRate 
)
overridevirtual

This is called by a USoundSubmix when we stop recording a submix on this device.

Reimplemented from FAudioDevice.

◆ StopSpectrumAnalysis()

void Audio::FMixerDevice::StopSpectrumAnalysis ( USoundSubmix InSubmix)
overridevirtual

Reimplemented from FAudioDevice.

◆ SuspendContext()

void Audio::FMixerDevice::SuspendContext ( )
overridevirtual

Suspend any context related objects

Reimplemented from FAudioDevice.

◆ TeardownHardware()

void Audio::FMixerDevice::TeardownHardware ( )
overridevirtual

Shuts down any platform specific hardware/APIs

Reimplemented from FAudioDevice.

◆ UnregisterSoundSubmix()

void Audio::FMixerDevice::UnregisterSoundSubmix ( const USoundSubmixBase SoundSubmix,
const bool  bReparentChildren 
)
overridevirtual

Unregisters the sound submix

Reimplemented from FAudioDevice.

◆ UnregisterSubmixBufferListener() [1/2]

void Audio::FMixerDevice::UnregisterSubmixBufferListener ( ISubmixBufferListener InSubmixBufferListener,
USoundSubmix InSubmix = nullptr 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ UnregisterSubmixBufferListener() [2/2]

void Audio::FMixerDevice::UnregisterSubmixBufferListener ( TSharedRef< ISubmixBufferListener, ESPMode::ThreadSafe InSubmixBufferListener,
USoundSubmix SoundSubmix 
)
overridevirtual

Unregisters the provided submix buffer listener with the given submix.

Reimplemented from FAudioDevice.

◆ UpdateDeviceDeltaTime()

void Audio::FMixerDevice::UpdateDeviceDeltaTime ( )
overridevirtual

Sets the update delta time for the audio frame

Reimplemented from FAudioDevice.

◆ UpdateGameThread()

void Audio::FMixerDevice::UpdateGameThread ( )
overridevirtual

Update called on game thread.

Reimplemented from FAudioDevice.

◆ UpdateHardware()

void Audio::FMixerDevice::UpdateHardware ( )
overridevirtual

Lets the platform any tick actions

Reimplemented from FAudioDevice.

◆ UpdateHardwareTiming()

void Audio::FMixerDevice::UpdateHardwareTiming ( )
overridevirtual

Updates timing information for hardware.

Reimplemented from FAudioDevice.

◆ UpdateSourceEffectChain()

void Audio::FMixerDevice::UpdateSourceEffectChain ( const uint32  SourceEffectChainId,
const TArray< FSourceEffectChainEntry > &  SourceEffectChain,
const bool  bPlayEffectChainTails 
)
overridevirtual

Updates the source effect chain. Only implemented in audio mixer.

Reimplemented from FAudioDevice.

◆ UpdateSubmixModulationSettings()

void Audio::FMixerDevice::UpdateSubmixModulationSettings ( USoundSubmix InSoundSubmix,
const TSet< TObjectPtr< USoundModulatorBase > > &  InOutputModulation,
const TSet< TObjectPtr< USoundModulatorBase > > &  InWetLevelModulation,
const TSet< TObjectPtr< USoundModulatorBase > > &  InDryLevelModulation 
)
overridevirtual

Reimplemented from FAudioDevice.

◆ UpdateSubmixProperties()

void Audio::FMixerDevice::UpdateSubmixProperties ( USoundSubmixBase InSubmix)
overridevirtual

Updates the submix properties of any playing submix instances. Allows editor to make changes to submix properties and hear them propagate live.

Reimplemented from FAudioDevice.

◆ ValidateAPICall()

bool Audio::FMixerDevice::ValidateAPICall ( const TCHAR Function,
uint32  ErrorCode 
)
overridevirtual

Check for errors and output a human readable string

Reimplemented from FAudioDevice.

Member Data Documentation

◆ ListenerTransforms

TArray<FTransform> Audio::FMixerDevice::ListenerTransforms
protected

◆ QuantizedEventClockManager

FQuartzClockManager Audio::FMixerDevice::QuantizedEventClockManager

◆ QuartzPersistentStateCritSec

FCriticalSection Audio::FMixerDevice::QuartzPersistentStateCritSec

◆ QuartzSubsystemData

TSharedPtr<FPersistentQuartzSubsystemData, ESPMode::ThreadSafe> Audio::FMixerDevice::QuartzSubsystemData { nullptr }

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