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

code: virtual void AddEnvelopeFollowerDelegate ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix, const [FOnSubmixEnvelopeBP](API\Runtime\Engine\Sound\FOnSubmixEnvelopeBP) & OnSubmixEnvelopeBP )


description: Deprecated* AddPatchForAudioBus is deprecated. UseUAudioBusSubsystem::AddPatchOutputForAudioBus.

module: AudioMixer

code: virtual [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) AddPatchForAudioBus ( uint32 InAudioBusId, float InPatchGain )


description: Add submix effect to master submix.

code: void AddMasterSubmixEffect ( FSoundEffectSubmixPtr SoundEffect )


description: Deprecated* AddPatchForAudioBus_GameThread is deprecated. UseUAudioBusSubsystem::AddPatchOutputForAudioBus.

code: virtual [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) AddPatchForAudioBus_GameThread ( uint32 InAudioBusId, float InPatchGain )


code: virtual [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) AddPatchForSubmix ( uint32 InObjectId, float InPatchGain )


description: Deprecated* This overload of AddPatchInputForAudioBus is deprecated and non-functional. Use the overload that takes the number of frames and channels as parameters.

code: virtual void AddPatchInputForAudioBus ( const [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & InPatchInput, uint32 InAudioBusId, float InPatchGain )


description: Deprecated* AddPatchInputForAudioBus_GameThread is deprecated. UseUAudioBusSubsystem::AddPatchInputForAudioBus.

code: virtual void AddPatchInputForAudioBus_GameThread ( const [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & InPatchInput, uint32 InAudioBusId, float InPatchGain )


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

code: virtual void AddReferencedObjects ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


code: virtual void AddSpectralAnalysisDelegate ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix, const [FSoundSpectrumAnalyzerDelegateSettings](API\Runtime\Engine\Sound\FSoundSpectrumAnalyzerDelegateSe-) & InDelegateSettings, const [FOnSubmixSpectralAnalysisBP](API\Runtime\Engine\Sound\FOnSubmixSpectralAnalysisBP) & OnSubmixSpectralAnalysisBP )


description: Add submix effect to given submix.

code: int32 AddSubmixEffect ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, FSoundEffectSubmixPtr SoundEffect )


description: Pushes the command to a audio render thread command queue to be executed on render thread.

code: void AudioRenderThreadCommand ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void()> Command )


code: void CheckAudioRenderingThread() const


description: Functions which check the thread it's called on and helps make sure functions are called from correct threads.

code: void CheckAudioThread() const


description: Clear all submix effects from master submix.

code: void ClearMasterSubmixEffects()


description: Clears all submix effect chain overrides from the submix.

code: virtual void ClearSubmixEffectChainOverride ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, float InCrossfadeTime )


description: Clear all submix effects from given submix.

code: void ClearSubmixEffects ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix )


description: Counts the bytes for the structures used in this class

code: virtual void CountBytes ( class [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Creates a Compressed audio info class suitable for decompressing this SoundWave

code: virtual [ICompressedAudioInfo](API\Runtime\Engine\ICompressedAudioInfo) * CreateCompressedAudioInfo ( const [USoundWave](API\Runtime\Engine\Sound\USoundWave) * SoundWave ) const


description: Deprecated* CreateCompressedAudioInfo is now deprecated. Please useIAudioInfoFactory::Create()instead

code: virtual [ICompressedAudioInfo](API\Runtime\Engine\ICompressedAudioInfo) * CreateCompressedAudioInfo ( const [FSoundWaveProxyPtr](API\Runtime\AudioCodecEngine\FSoundWaveProxyPtr) & SoundWave ) const


description: Creates a new platform specific sound source

code: virtual [FAudioEffectsManager](API\Runtime\Engine\FAudioEffectsManager) * CreateEffectsManager()


code: virtual [FSoundSource](API\Runtime\Engine\FSoundSource) * CreateSoundSource()


description: Creates a queue for audio decode requests with a specific Id. Tasks created with this Id will not be started immediately upon creation, but will instead be queued up to await a start "kick" later.

code: static void CreateSynchronizedAudioTaskQueue ( [AudioTaskQueueId](API\Runtime\Engine\Sound\AudioTaskQueueId) QueueId )


description: Destroys an audio decode task queue. Tasks currently queued up are optionally started.

code: static void DestroySynchronizedAudioTaskQueue ( [AudioTaskQueueId](API\Runtime\Engine\Sound\AudioTaskQueueId) QueueId, bool RunCurrentQueue )


description: Whether or not the platform disables caching of decompressed PCM data (i.e. to save memory on fixed memory platforms

code: virtual bool DisablePCMAudioCaching() const


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

code: virtual void EnableDebugAudioOutput()


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

code: virtual void FadeOut()


code: [FMixerSubmixPtr](API\Runtime\AudioMixer\FMixerSubmixPtr) FindSubmixInstanceByObjectId ( uint32 InObjectId )


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

code: virtual void FlushAudioRenderingCommands ( bool bPumpSynchronously )


description: Derived classes can override this method to do their own cleanup. Called at the end ofFAudioDevice::Flush()

code: virtual void FlushExtended ( [UWorld](API\Runtime\Engine\Engine\UWorld) * WorldToFlush, bool bClearActivatedReverb )


description: Pushes the command to a MPSC queue to be executed on the game thread.

code: void GameThreadMPSCCommand ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void()> InCommand )


description: Builds a channel gain matrix for a non-spatialized source. The non-static variation of this function queries AudioMixerDevice->NumOutputChannels directly which may not be thread safe.

code: static void Get2DChannelMap ( bool bIsVorbis, const int32 NumSourceChannels, const int32 NumOutputChannels, const bool bIsCenterChannelOnly, [Audio::FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutChannelMap )


description: Builds a 3D channel map for a spatialized source.

code: void Get3DChannelMap ( const int32 InSubmixNumChannels, const [FWaveInstance](API\Runtime\Engine\FWaveInstance) * InWaveInstance, const float EmitterAzimuth, const float NonSpatiliazedFactor, const [TMap](API\Runtime\Core\Containers\TMap)< [EAudioMixerChannel::Type](API\Runtime\AudioMixerCore\EAudioMixerChannel__Type), float > * InOmniMap, float InDefaultOmniValue, [Audio::FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutChannelMap )


description: Returns an array of available audio devices names for the platform

code: virtual void GetAudioDeviceList ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & OutAudioDeviceNames ) const


code: double GetAudioClockDelta() const


description: AudioLink.

code: [IAudioLinkFactory](API\Runtime\AudioLinkEngine\IAudioLinkFactory) * GetAudioLinkFactory() const


code: void Get2DChannelMap ( bool bIsVorbis, const int32 NumSourceChannels, const bool bIsCenterChannelOnly, [Audio::FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutChannelMap ) const


code: double GetAudioRenderThreadTime() const


description: Audio thread tick timing relative to audio render thread timing.

code: double GetAudioThreadTime() const


description: Return the audio stream time

code: virtual double GetAudioTime() const


description: Returns the channel array for the given submix channel type.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [EAudioMixerChannel::Type](API\Runtime\AudioMixerCore\EAudioMixerChannel__Type) > & GetChannelArray() const


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

code: virtual bool GetCurrentSourceEffectChain ( const uint32 SourceEffectChainId, [TArray](API\Runtime\Core\Containers\TArray)< [FSourceEffectChainEntry](API\Runtime\Engine\Sound\FSourceEffectChainEntry) > & OutCurrentSourceEffectChainEntries )


description: Retrieves spherical locations of channels for a given submix format.

code: const [FChannelPositionInfo](API\Runtime\AudioExtensions\FChannelPositionInfo) * GetDefaultChannelPositions() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [Audio::FChannelPositionInfo](API\Runtime\AudioExtensions\FChannelPositionInfo) > * GetDefaultPositionMap ( int32 NumChannels )


code: int32 GetDeviceSampleRate() const


description: Retrieve a pointer to the currently active platform. Only use this if you know what you are doing. The returnedIAudioMixerPlatformInterfacewill only be alive as long as thisFMixerDeviceis alive.

code: [IAudioMixerPlatformInterface](API\Runtime\AudioMixerCore\IAudioMixerPlatformInterface) * GetAudioMixerPlatform() const


description: If SoundSubmix is a soundfield submix, this will return the factory used to encode source audio to it's soundfield format. Otherwise, returns nullptr.

code: [ISoundfieldFactory](API\Runtime\AudioExtensions\ISoundfieldFactory) * GetFactoryForSubmixInstance ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * SoundSubmix )


code: [ISoundfieldFactory](API\Runtime\AudioExtensions\ISoundfieldFactory) * GetFactoryForSubmixInstance ( [FMixerSubmixWeakPtr](API\Runtime\AudioMixer\FMixerSubmixWeakPtr) & SoundSubmixPtr )


code: virtual void GetMagnitudesForFrequencies ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix, const [TArray](API\Runtime\Core\Containers\TArray)< float > & InFrequencies, [TArray](API\Runtime\Core\Containers\TArray)< float > & OutMagnitudes )


description: Retrieves the listener transforms.

code: const [TArray](API\Runtime\Core\Containers\TArray)< FTransform > * GetListenerTransforms()


description: Public Functions.


description: Returns the number of active sound sources

code: virtual int32 GetNumActiveSources() const


code: int32 GetNumDeviceChannels() const


code: int32 GetNumOutputBuffers() const


code: int32 GetNumOutputFrames() const


code: int32 GetDeviceOutputChannels() const


code: virtual void GetPhasesForFrequencies ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix, const [TArray](API\Runtime\Core\Containers\TArray)< float > & InFrequencies, [TArray](API\Runtime\Core\Containers\TArray)< float > & OutPhases )


code: const [FAudioPlatformDeviceInfo](API\Runtime\AudioMixerCore\FAudioPlatformDeviceInfo) & GetPlatformDeviceInfo() const


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

code: virtual [FAudioPlatformSettings](API\Runtime\AudioMixerCore\FAudioPlatformSettings) GetPlatformSettings() const


description: Overload this method to report a name for your referencer

code: virtual [FString](API\Runtime\Core\Containers\FString) GetReferencerName() const


description: Deprecated* GetRuntimeFormat is now deprecated. Please call SoundWave::GetRuntimeFormat() instead

code: virtual [FName](API\Runtime\Core\UObject\FName) GetRuntimeFormat ( const [USoundWave](API\Runtime\Engine\Sound\USoundWave) * SoundWave ) const


code: const FMixerSourceManager * GetSourceManager() const


code: [FMixerSubmixWeakPtr](API\Runtime\AudioMixer\FMixerSubmixWeakPtr) GetSubmixInstance ( const [USoundSubmixBase](API\Runtime\Engine\Sound\USoundSubmixBase) * SoundSubmix )


description: Whether this SoundWave has an associated info class to decompress it

code: virtual bool HasCompressedAudioInfoClass ( [USoundWave](API\Runtime\Engine\Sound\USoundWave) * SoundWave )


description: Initialized audio buses marked as default that are to be enabled for the duration of the application.

code: virtual void InitDefaultAudioBuses()


description: Starts up any platform specific hardware/APIs

code: virtual bool InitializeHardware()


description: Deprecated* This function is deprecated. UseUAudioBusSubsystem::IsAudioBusActiveinstead.

code: virtual bool IsAudioBusActive ( uint32 InAudioBusId ) const


code: virtual void InitSoundEffectPresets()


description: Initializes sound submixes.

code: virtual void InitSoundSubmixes()


code: static bool IsEndpointSubmix ( const [USoundSubmixBase](API\Runtime\Engine\Sound\USoundSubmixBase) * InSubmix )


code: bool IsAudioRenderingThread() const


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


description: Audio Device Properties.

code: virtual bool IsNonRealtime() const


description: "Kicks" all of the audio decode tasks currentlyt in the queue.

code: static int KickQueuedTasks ( [AudioTaskQueueId](API\Runtime\Engine\Sound\AudioTaskQueueId) QueueId )


code: [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) MakePatch ( int32 InFrames, int32 InChannels, float InGain ) const


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

code: virtual void OnAudioStreamShutdown()


description: This is overridden inAudio::FMixerDeviceto propogate listener information to the audio thread.

code: virtual void OnListenerUpdated ( const [TArray](API\Runtime\Core\Containers\TArray)< [FListener](API\Runtime\Engine\FListener) > & InListeners )


code: virtual void PauseRecording ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix )


description: Callback to generate a new audio stream buffer.

code: virtual bool OnProcessAudioStream ( [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutputBuffer )


description: Registers the sound submix

code: virtual void RegisterSoundSubmix ( [USoundSubmixBase](API\Runtime\Engine\Sound\USoundSubmixBase) * SoundSubmix, bool bInit )


description: Submix buffer listener callbacks.

code: virtual void RegisterSubmixBufferListener ( [ISubmixBufferListener](API\Runtime\Engine\ISubmixBufferListener) * InSubmixBufferListener, [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix )


code: void ReleaseMixerSourceVoice ( FMixerSourceVoice * InSourceVoice )


code: virtual void RemoveSpectralAnalysisDelegate ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix, const [FOnSubmixSpectralAnalysisBP](API\Runtime\Engine\Sound\FOnSubmixSpectralAnalysisBP) & OnSubmixSpectralAnalysisBP )


description: Remove submix effect from master submix.

code: void RemoveMasterSubmixEffect ( uint32 SubmixEffectId )


description: Remove submix effect to given submix.

code: void RemoveSubmixEffect ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, uint32 SubmixEffectId )


description: Remove submix effect at the given submix chain index.

code: void RemoveSubmixEffectAtIndex ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, int32 SubmixChainIndex )


description: Replace the submix effect of the given submix at the submix chain index with the new submix effect id and submix instance.

code: void ReplaceSoundEffectSubmix ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, int32 InSubmixChainIndex, FSoundEffectSubmixPtr SoundEffect )


description: Resume any context related objects

code: virtual void ResumeContext()


code: virtual void ResumeRecording ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix )


description: Submix auto-disable setteings.

code: virtual void SetSubmixAutoDisable ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, bool bInAutoDisable )


description: Set what the auto-disable time is.

code: virtual void SetSubmixAutoDisableTime ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, float InDisableTime )


description: Set the wet-dry level of the given submix

code: virtual void SetSubmixDryLevel ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, float InDryLevel )


description: Submix effect chain override settings.

code: virtual void SetSubmixEffectChainOverride ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, const [TArray](API\Runtime\Core\Containers\TArray)< FSoundEffectSubmixPtr > & InSubmixEffectPresetChain, float InFadeTimeSec )


code: virtual void SetSubmixModulationBaseLevels ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, float InVolumeModBase, float InWetModBase, float InDryModBase )


code: virtual void SetSubmixOutputVolume ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, float InOutputVolume )


code: virtual void SetSubmixWetDryLevel ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, float InOutputVolume, float InWetLevel, float InDryLevel )


code: virtual void SetSubmixWetLevel ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, float InWetLevel )


description: Shutdown all audio buses marked as default.


description: Audio bus API - these are deprecated. Use corresponding calls inUAudioBusSubsysteminstead

code: virtual void StartAudioBus ( uint32 InAudioBusId, int32 InNumChannels, bool bInIsAutomatic )


description: Submix envelope following.

code: virtual void StartEnvelopeFollowing ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix )


description: Submix recording callbacks:

code: virtual void StartRecording ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix, float ExpectedRecordingDuration )


description: This is called by aUSoundSubmixwhen we stop envelope following a submix instance on this device.

code: virtual void StopEnvelopeFollowing ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix )


description: Submix Spectrum Analysis.

code: virtual void StartSpectrumAnalysis ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix, const [FSoundSpectrumAnalyzerSettings](API\Runtime\Engine\Sound\FSoundSpectrumAnalyzerSettings) & InSettings )


description: This is called by aUSoundSubmixwhen we stop recording a submix on this device.

code: virtual [Audio::FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & StopRecording ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix, float & OutNumChannels, float & OutSampleRate )


code: virtual void StopSpectrumAnalysis ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSubmix )


description: Whether this device supports realtime decompression of sound waves (i.e. DTYPE_RealTime)

code: virtual bool SupportsRealtimeDecompression() const


description: Suspend any context related objects

code: virtual void SuspendContext()


description: Unregisters the sound submix

code: virtual void UnregisterSoundSubmix ( const [USoundSubmixBase](API\Runtime\Engine\Sound\USoundSubmixBase) * SoundSubmix )


description: Shuts down any platform specific hardware/APIs

code: virtual void TeardownHardware()


description: Deprecated* This function is deprecated. UseUAudioBusSubsystem::StopAudioBusinstead.

code: virtual void StopAudioBus ( uint32 InAudioBusId )


description: Sets the update delta time for the audio frame

code: virtual void UpdateDeviceDeltaTime()


description: Unregisters the submix buffer listener with the given submix. A nullptr for SoundSubmix will unregister the listener with the master submix.

code: virtual void UnregisterSubmixBufferListener ( [ISubmixBufferListener](API\Runtime\Engine\ISubmixBufferListener) * InSubmixBufferListener, [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * SoundSubmix )


description: Update called on game thread.

code: virtual void UpdateGameThread()


description: Lets the platform any tick actions

code: virtual void UpdateHardware()


description: Updates timing information for hardware.

code: virtual void UpdateHardwareTiming()


description: Updates the source effect chain (using unique object id).

code: virtual void UpdateSourceEffectChain ( const uint32 SourceEffectChainId, const [TArray](API\Runtime\Core\Containers\TArray)< [FSourceEffectChainEntry](API\Runtime\Engine\Sound\FSourceEffectChainEntry) > & SourceEffectChain, const bool bPlayEffectChainTails )


description: Submix Modulation Settings.

code: virtual void UpdateSubmixModulationSettings ( [USoundSubmix](API\Runtime\Engine\Sound\USoundSubmix) * InSoundSubmix, const [TSet](API\Runtime\Core\Containers\TSet)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [USoundModulatorBase](API\Runtime\AudioExtensions\USoundModulatorBase) >> & InOutputModulation, const [TSet](API\Runtime\Core\Containers\TSet)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [USoundModulatorBase](API\Runtime\AudioExtensions\USoundModulatorBase) >> & InWetLevelModulation, const [TSet](API\Runtime\Core\Containers\TSet)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [USoundModulatorBase](API\Runtime\AudioExtensions\USoundModulatorBase) >> & InDryLevelModulation )


description: Submix dry/wet settings.

code: virtual void UpdateSubmixProperties ( [USoundSubmixBase](API\Runtime\Engine\Sound\USoundSubmixBase) * InSubmix )


description: Check for errors and output a human readable string

code: virtual bool ValidateAPICall ( const TCHAR * Function, uint32 ErrorCode )


code: FMixerDevice ( [IAudioMixerPlatformInterface](API\Runtime\AudioMixerCore\IAudioMixerPlatformInterface) * InAudioMixerPlatform )


className: FMixerDevice

code: class FMixerDevice : public [FAudioDevice](API\Runtime\Engine\FAudioDevice), public [Audio::IAudioMixer](API\Runtime\AudioMixerCore\IAudioMixer), public [FGCObject](API\Runtime\CoreUObject\UObject\FGCObject)

ListenerTransforms

type: TArray< FTransf...

QuantizedEventClockManager

type: FQuartzClockMan...

description: Clock Manager for quantized event handling on Audio Render Thread.

QuartzPersistentStateCritSec

type: FCriticalSectio...

description: Technically, in editor, multiple UQuartz(World)Subsystem's will reference the sameFMixerDeviceobject.

QuartzSubsystemData

type: TSharedPtr<FPe...

description: Keep a reference alive toUQuartzSubsystemstate that needs to persist across level transitions (UWorlddestruction.


description: Adds the given submix to this submix's children.

code: void AddChildSubmix ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FMixerSubmix](API\Runtime\AudioMixer\FMixerSubmix), ESPMode::ThreadSafe > Submix )


description: Adds an envelope follower delegate.

code: void AddEnvelopeFollowerDelegate ( const [FOnSubmixEnvelopeBP](API\Runtime\Engine\Sound\FOnSubmixEnvelopeBP) & OnSubmixEnvelopeBP )


description: Add (if not already added) or sets the amount of the source voice's send amount.

code: void AddOrSetSourceVoice ( FMixerSourceVoice * InSourceVoice, const float SendLevel, [EMixerSourceSubmixSendStage](API\Runtime\AudioMixer\Audio__EMixerSourceSubmixSendSta-) InSubmixSendStage )


code: [FPatchOutputStrongPtr](API\Runtime\Engine\FPatchOutputStrongPtr) AddPatch ( float InGain )


description: Appends the effect submix to the effect submix chain.

code: void AddSoundEffectSubmix ( FSoundEffectSubmixPtr InSoundEffectSubmix )


description: Broadcast the envelope and submix delegates on the game thread.

code: void BroadcastDelegates()


description: Adds an spectral analysis delegate.

code: void AddSpectralAnalysisDelegate ( const [FSoundSpectrumAnalyzerDelegateSettings](API\Runtime\Engine\Sound\FSoundSpectrumAnalyzerDelegateSe-) & InDelegateSettings, const [FOnSubmixSpectralAnalysisBP](API\Runtime\Engine\Sound\FOnSubmixSpectralAnalysisBP) & OnSubmixSpectralAnalysisBP )


description: Clears all submix effects from the effect submix chain.

code: void ClearSoundEffectSubmixes()


description: Down mix the given buffer to the desired down mix channel count.

code: static void DownmixBuffer ( const int32 InChannels, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InBuffer, const int32 OutChannels, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutNewBuffer )


description: Clears any submix effect chain overrides in the given fade time in seconds.

code: void ClearSubmixEffectChainOverride ( float InFadeTimeSec )


className: FEndpointData

code: struct FEndpointData

AudioBuffer

type: FAlignedFloatBu...

description: For non-soundfield endpoints, we use these buffers for processing.

AudioPacket

type: TUniquePtr<ISo...

description: For soundfield endpoints, this is the buffer we use to send audio to the endpoint.

bShouldResample

type: bool

Input

description: For endpoint submixes, this is the primary method of pushing audio to the endpoint.

NonSoundfieldEndpoint

type: TUniquePtr<IAu...

NumChannels

description: Number of channels and sample rate for the external endpoint.

Resampler

description: This is used if the endpoint has a different sample rate than our audio engine.

SampleRate

type: float


className: FSoundfieldEffectProcessorData

description: Individual processor in our

code: struct FSoundfieldEffectProcessorData


code: FSoundfieldEffectProcessorData &40; ISoundfieldFactory &42; InFactory, ISoundfieldEncodingSettingsProxy & InSettings, USoundfieldEffectBase &42; InProcessorBase &41;


className: FSoundfieldStreams

code: struct FSoundfieldStreams

CachedPositionalData

type: FSoundfieldSpea...

description: This is the positional data we are decoding.

DownmixedChildrenEncoder

description: This encoder is used for the mixed down audio from all non-soundfield submixes plugged into this submix.

EffectProcessors

type: TArray<FSoundf...

description: All soundfield processors attached to this submix.

Factory

type: ISoundfieldFact...

MixedDownAudio

description: This is the packet we mix all input sources and child submixes to.

Mixer

description: Mixes all encoded child submix inputs.

ParentDecoder

description: Encoder used if a normal submix outputs to this submix.

Settings

description: Current settings for this submix.

StreamsLock

description: This critical section is contended by the soundfield overload of ProcessAudio and SetupSoundfieldStreams.


className: FSpectralAnalysisBandInfo

code: struct FSpectralAnalysisBandInfo

EnvelopeFollower

type: FInlineEnvelope...


code: FSpectrumAnalysisDelegateInfo &40; FSpectrumAnalysisDelegateInfo && Other &41;


className: FSpectrumAnalysisDelegateInfo

code: struct FSpectrumAnalysisDelegateInfo

DelegateSettings

type: FSoundSpectrumA...

OnSubmixSpectralAnalysis

type: FOnSubmixSpectr...

SpectralBands

type: TArray<FSpectr...

SpectrumBandExtractor

type: TUniquePtr<ISp...


className: FSubmixEffectFadeInfo

code: struct FSubmixEffectFadeInfo

bIsBaseEffect

description: If this effect fade info is the base effect.

bIsCurrentChain

description: If true, this effect override will be fading in or all the way faded in.

EffectChain

type: TArray< FSoundE...

FadeVolume

type: FDynamicParamet...


description: Generates audio from the given effect chain into the given buffer.

code: bool GenerateEffectChainAudio ( [FSoundEffectSubmixInputData](API\Runtime\Engine\Sound\FSoundEffectSubmixInputData) & InputData, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InAudioBuffer, [TArray](API\Runtime\Core\Containers\TArray)< FSoundEffectSubmixPtr > & InEffectChain, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutBuffer )


description: Returns the mixer submix Id.

code: uint32 GetId() const


description: Gets the most recent magnitude values for each corresponding value in InFrequencies (in Hz). This requires StartSpectrumAnalysis to be called first.

code: void GetMagnitudeForFrequencies ( const [TArray](API\Runtime\Core\Containers\TArray)< float > & InFrequencies, [TArray](API\Runtime\Core\Containers\TArray)< float > & OutMagnitudes )


description: Get a unique key for this submix's format and settings. If another submix has an identical format and settings it will have an equivalent key.


description: Returns the number of effects in this submix's effect chain.

code: int32 GetNumChainEffects()


description: Returns the number of wet effects in this submix.

code: int32 GetNumEffects() const


description: Returns the output channels this submix is rendering to.

code: int32 GetNumOutputChannels() const


description: Returns the number of source voices currently a part of this submix.

code: int32 GetNumSourceVoices() const


description: Gets this submix's parent submix.

code: [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FMixerSubmix](API\Runtime\AudioMixer\FMixerSubmix), ESPMode::ThreadSafe > GetParentSubmix()


description: Gets the most recent phase values for each corresponding value in InFrequencies (in Hz). This requires StartSpectrumAnalysis to be called first.

code: void GetPhaseForFrequencies ( const [TArray](API\Runtime\Core\Containers\TArray)< float > & InFrequencies, [TArray](API\Runtime\Core\Containers\TArray)< float > & OutPhases )


description: Returns the device sample rate this submix is rendering to.

code: int32 GetSampleRate() const


description: Returns the size of the submix chain.

code: int32 GetSizeOfSubmixChain() const


description: Gets the submix channels channels.

code: int32 GetSubmixChannels() const


description: Returns the submix effect at the given effect chain index.

code: FSoundEffectSubmixPtr GetSubmixEffect ( const int32 InIndex )


code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [ISoundfieldTranscodeStream](API\Runtime\AudioExtensions\ISoundfieldTranscodeStream) > GetTranscoderForChildSubmix ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [Audio::FMixerSubmix](API\Runtime\AudioMixer\FMixerSubmix), ESPMode::ThreadSafe > & InChildSubmix )


description: Initialize the submix object with theUSoundSubmixptr. Sets up child and parent connects.

code: void Init ( const [USoundSubmixBase](API\Runtime\Engine\Sound\USoundSubmixBase) * InSoundSubmix, bool bAllowReInit )


description: Initialize the submix internal.

code: void InitInternal()


description: Returns true if this submix sends it's audio to the default endpoint.

code: bool IsDefaultEndpointSubmix() const


description: Returns true if this is an endpoint type that should no-op for this platform.

code: bool IsDummyEndpointSubmix() const


description: Returns true if this submix sends its audio to anIAudioEndpoint.

code: bool IsExternalEndpointSubmix() const


description: Returns true if the submix is currently rendering audio. The current rendering time is passed in.

code: bool IsRenderingAudio() const


description: Returns true if this submix is encoded to a soundfield.

code: bool IsSoundfieldSubmix() const


description: Returns true if this submix sends its audio to anISoundfieldEndpoint.

code: bool IsSoundfieldEndpointSubmix() const


description: Checks to see if submix is valid. Submix can be considered invalid if the OwningSubmix pointer is stale.

code: bool IsValid() const


code: void MixBufferDownToMono ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InBuffer, int32 NumInputChannels, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutBuffer )


description: Encode a source and sum it into the mixed soundfield.

code: void MixInSource ( const [ISoundfieldAudioPacket](API\Runtime\AudioExtensions\ISoundfieldAudioPacket) & InAudio, const [ISoundfieldEncodingSettingsProxy](API\Runtime\AudioExtensions\ISoundfieldEncodingSettingsProxy) & InSettings, [ISoundfieldAudioPacket](API\Runtime\AudioExtensions\ISoundfieldAudioPacket) & PacketToSumTo )


description: Calls ProcessAudio on the child submix, performs all necessary conversions and mixes in it's resulting audio.

code: void MixInChildSubmix ( [FChildSubmixInfo](API\Runtime\AudioMixer\FChildSubmixInfo) & Child, [ISoundfieldAudioPacket](API\Runtime\AudioExtensions\ISoundfieldAudioPacket) & PacketToSumTo )


description: This is called by the correspondingUSoundSubmixwhen StartRecordingOutput is called.

code: void OnStartRecordingOutput ( float ExpectedDuration )


description: This is called by the correspondingUSoundSubmixwhen StopRecordingOutput is called.

code: [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OnStopRecordingOutput ( float & OutNumChannels, float & OutSampleRate )


description: This is called by the correspondingUSoundSubmixwhen PauseRecording is called.

code: void PauseRecordingOutput()


description: Function which processes audio.

code: void ProcessAudio ( [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutAudio )


description: Function which processes audio.

code: void ProcessAudio ( [ISoundfieldAudioPacket](API\Runtime\AudioExtensions\ISoundfieldAudioPacket) & OutputAudio )


description: This should be called if this submix doesn't send it's audio to a parent submix, but rather an external endpoint.

code: void ProcessAudioAndSendToEndpoint()


description: Pump command queue.

code: void PumpCommandQueue()


description: Register buffer listener with this submix.

code: void RegisterBufferListener ( [ISubmixBufferListener](API\Runtime\Engine\ISubmixBufferListener) * BufferListener )


description: Removes the given submix from this submix's children.

code: void RemoveChildSubmix ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FMixerSubmix](API\Runtime\AudioMixer\FMixerSubmix), ESPMode::ThreadSafe > SubmixWeakPtr )


description: Removes the submix effect from the effect submix chain.

code: void RemoveSoundEffectSubmix ( uint32 SubmixPresetId )


description: Removes the submix effect from the effect submix chain at the given submix index.

code: void RemoveSoundEffectSubmixAtIndex ( int32 InIndex )


description: Removes the given source voice from the submix.

code: void RemoveSourceVoice ( FMixerSourceVoice * InSourceVoice )


description: Removes an existing spectral analysis delegate.

code: void RemoveSpectralAnalysisDelegate ( const [FOnSubmixSpectralAnalysisBP](API\Runtime\Engine\Sound\FOnSubmixSpectralAnalysisBP) & OnSubmixSpectralAnalysisBP )


description: Swaps effect for provided submix at the given index. Fails if effect at index doesn't exist

code: void ReplaceSoundEffectSubmix ( int32 InIndex, FSoundEffectSubmixPtr InEffectInstance )


code: void SendAudioToSubmixBufferListeners ( [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutAudioBuffer )


description: Set whether or not this submix is told to auto disable.

code: void SetAutoDisable ( bool bInAutoDisable )


description: Sets the auto-disable time.

code: void SetAutoDisableTime ( float InAutoDisableTime )


description: Whether or not this submix instance is muted.

code: void SetBackgroundMuted ( bool bInMuted )


description: Sets the static output volume of the submix in linear gain.

code: void SetDryLevel ( float InDryLevel )


description: Update modulation settings of the submix with Decibel values.

code: void SetModulationBaseLevels ( float InVolumeModBaseDb, float InWetModeBaseDb, float InDryModBaseDb )


description: Sets the output level of the submix in linear gain.

code: void SetOutputVolume ( float InOutputLevel )


description: This is called by the correspondingUSoundSubmixwhen ResumeRecording is called.

code: void ResumeRecordingOutput()


description: Sets the parent submix to the given submix.

code: void SetParentSubmix ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FMixerSubmix](API\Runtime\AudioMixer\FMixerSubmix), ESPMode::ThreadSafe > Submix )


description: This must be called on the entire submix graph before calling SetupSoundfieldStreams.

code: void SetSoundfieldFactory ( [ISoundfieldFactory](API\Runtime\AudioExtensions\ISoundfieldFactory) * InSoundfieldFactory )


description: Sets a submix effect chain override with the given fade time in seconds.

code: void SetSubmixEffectChainOverride ( const [TArray](API\Runtime\Core\Containers\TArray)< FSoundEffectSubmixPtr > & InSubmixEffectPresetChain, float InFadeTimeSec )


code: void SetupEndpoint ( [IAudioEndpointFactory](API\Runtime\AudioExtensions\IAudioEndpointFactory) * InFactory, const [UAudioEndpointSettingsBase](API\Runtime\AudioExtensions\UAudioEndpointSettingsBase) * InSettings )


code: void SetupEndpoint ( [ISoundfieldEndpointFactory](API\Runtime\AudioExtensions\ISoundfieldEndpointFactory) * InFactory, const [USoundfieldEndpointSettingsBase](API\Runtime\AudioExtensions\USoundfieldEndpointSettingsBase) * InSettings )


code: void SetupSoundfieldEncodingForChild ( [FChildSubmixInfo](API\Runtime\AudioMixer\FChildSubmixInfo) & InChild )


description: This sets up the ambisonics positional data for speakers, based on what new format we need to convert to.

code: void SetUpSoundfieldPositionalData ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [Audio::FMixerSubmix](API\Runtime\AudioMixer\FMixerSubmix), ESPMode::ThreadSafe > & InParentSubmix )


description: Check to see if we need to decode from ambisonics for parent.

code: void SetupSoundfieldStreamForParent()


description: Updates settings, potentially creating or removing ambisonics streams based on what types of submixes this submix is connected to.

code: void SetupSoundfieldStreams ( const [USoundfieldEncodingSettingsBase](API\Runtime\AudioExtensions\USoundfieldEncodingSettingsBase) * SoundfieldSettings, [TArray](API\Runtime\Core\Containers\TArray)< [USoundfieldEffectBase](API\Runtime\AudioExtensions\USoundfieldEffectBase) * > & Processors, [ISoundfieldFactory](API\Runtime\AudioExtensions\ISoundfieldFactory) * InSoundfieldFactory )


description: Sets the wet level of the submix in linear gain.

code: void SetWetLevel ( float InWetLevel )


description: Starts envelope following with the given attack time and release time.

code: void StartEnvelopeFollowing ( int32 AttackTime, int32 ReleaseTime )


description: Initializes a new FFT analyzer for this submix and immediately begins feeding audio to it.

code: void StartSpectrumAnalysis ( const [FSoundSpectrumAnalyzerSettings](API\Runtime\Engine\Sound\FSoundSpectrumAnalyzerSettings) & InSettings )


description: Stops envelope following the submix.

code: void StopEnvelopeFollowing()


description: Terminates whatever FFT Analyzer is being used for this submix.

code: void StopSpectrumAnalysis()


description: Add command to the command queue.

code: void SubmixCommand ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void()> Command )


code: void TeardownSoundfieldStreams()


description: Unregister buffer listener with this submix.

code: void UnregisterBufferListener ( [ISubmixBufferListener](API\Runtime\Engine\ISubmixBufferListener) * BufferListener )


code: void UpdateEndpointSettings ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IAudioEndpointSettingsProxy](API\Runtime\AudioExtensions\IAudioEndpointSettingsProxy) > && InSettings )


code: void UpdateEndpointSettings ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [ISoundfieldEndpointSettingsProxy](API\Runtime\AudioExtensions\ISoundfieldEndpointSettingsProxy) > && InSettings )


code: void UpdateListenerRotation ( const FQuat & InRotation )


description: Update modulation settings of the submix.

code: void UpdateModulationSettings ( const [TSet](API\Runtime\Core\Containers\TSet)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [USoundModulatorBase](API\Runtime\AudioExtensions\USoundModulatorBase) >> & InOutputModulators, const [TSet](API\Runtime\Core\Containers\TSet)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [USoundModulatorBase](API\Runtime\AudioExtensions\USoundModulatorBase) >> & InWetLevelModulators, const [TSet](API\Runtime\Core\Containers\TSet)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [USoundModulatorBase](API\Runtime\AudioExtensions\USoundModulatorBase) >> & InDryLevelModulators )


code: FMixerSubmix ( [FMixerDevice](API\Runtime\AudioMixer\FMixerDevice) * InMixerDevice )


className: FMixerSubmix

code: class FMixerSubmix

AutoDisableTime

type: double

description: The time to wait to disable the submix if the auto-disablement is active.

bAutoDisable

type: uint8:  1

description: Whether or not auto-disablement is enabled. If true, the submix will disable itself.

bIsBackgroundMuted

description: Whether or not this submix is muted.

bIsCurrentlyDisabled

description: Whether or not we're currently disabled (i.e. the submix has been silent)

bIsEnvelopeFollowing

type: FThreadSafeBool

description: Bool set to true when envelope following is enabled.

bIsRecording

description: Bool set to true when this submix is recording data.

bIsSilent

description: Whether or not the submix is currently rendering audio. I.e. audio was sent to it and mixing it, or any of its child submixes are rendering audio.

bIsSpectrumAnalyzing

description: Bool set to true when spectrum analysis is enabled.

BufferListenerCriticalSection

type: FCriticalSectio...

description: Critical section used for modifying and interacting with buffer listeners.

BufferListeners

type: TArray<ISubmix...

description: List of submix buffer listeners.

ChildSubmixes

type: TMap< uint32,F...

description: Child submixes.

CommandQueue

type: TQueue<TFuncti...

description: Submix command queue to shuffle commands from audio thread to audio render thread.

DryChannelBuffer

description: The dry channel buffer.

DryLevelMod

type: FModulationDest...

EffectChainMutationCriticalSection

description: Critical section for mutation of the effect chain.

EffectChains

type: TArray<FSubmix...

description: The array of submix effect overrides. There may be more than one if multiple are fading out. There should be only one fading in (the current override).

EndpointData

type: FEndpointData

EnvelopeValues

description: Envelope following data.

Id

description: This mixer submix's Id.

MixerDevice

type: FMixerDevice&#...

description: Owning mixer device.

MixerSourceVoices

type: TMap< FMixerSou...

description: Map of mixer source voices with a given send level for this submix.

MonoMixBuffer

description: This buffer is used to downmix the submix output to mono before submitting it to the SpectrumAnalyzer.

NumSubmixEffects

description: Returns the number of submix effects.

OnSubmixEnvelope

type: FOnSubmixEnvelo...

description: Multi-cast delegate to broadcast envelope data from this submix instance.

OwningSubmixObject

type: TWeakObjectPtr<...

description: Handle back to the owningUSoundSubmix. Used when the device is shutdown to prematurely end a recording.

ParentSubmix

type: TWeakPtr<FMixe...

description: Parent submix.

RecordingCriticalSection

description: Critical section used for when we are appending recorded data.

RecordingData

description: This buffer is used for recorded output of the submix.

SilenceTimeStartSeconds

description: The time that the first full silent buffer was detected in the submix. Submix will auto-disable if the timeout is reached and the submix has bAutoDisable set to true.

SoundfieldStreams

type: FSoundfieldStre...

SpectrumAnalyzer

type: TSharedPtr<FAs...

SpectrumAnalyzerCriticalSection

description: Spectrum analyzer. Created and destroyed on the audio thread.

SubmixName

type: FString

description: The name of this submix (the owningUSoundSubmix)

VolumeModifier

description: Modifiers set from BP code


className: FMixerSubmixPtr

code: typedef [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FMixerSubmix](API\Runtime\AudioMixer\FMixerSubmix), ESPMode::ThreadSafe > FMixerSubmixPtr


className: FMixerSubmixWeakPtr

code: typedef [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FMixerSubmix](API\Runtime\AudioMixer\FMixerSubmix), ESPMode::ThreadSafe > FMixerSubmixWeakPtr


className: FOnAudioDefaultDeviceChanged

code: class FOnAudioDefaultDeviceChanged


className: FOnAudioDeviceChange

code: class FOnAudioDeviceChange


className: FOnAudioDeviceStateChanged

code: class FOnAudioDeviceStateChanged


className: FOnAudioOutputDevicesObtained

description: Called when a list of all available audio devices is retrieved

code: class FOnAudioOutputDevicesObtained


className: FOnCompletedDeviceSwap

description: Called when the system has swapped to another audio output device

code: class FOnCompletedDeviceSwap


className: FOnMainAudioOutputDeviceObtained

code: class FOnMainAudioOutputDeviceObtained


className: FOnSoundLoadComplete

description: Called when a load request for a sound has completed.

code: class FOnSoundLoadComplete


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

code: virtual void AddReferencedObjects ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


description: Creates a new decoding sound source handle.

code: [FDecodingSoundSourceHandle](API\Runtime\AudioMixer\FDecodingSoundSourceHandle) CreateSourceHandle ( [USoundWave](API\Runtime\Engine\Sound\USoundWave) * InSoundWave )


description: Overload this method to report a name for your referencer

code: virtual [FString](API\Runtime\Core\Containers\FString) GetReferencerName() const


description: Initialize a decoding instance of this sound wave object. Call only from game thread.

code: bool InitDecodingSource ( const [FSourceDecodeInit](API\Runtime\AudioMixer\FSourceDecodeInit) & InitData )


description: Get a decoded buffer for the given decoding sound wave handle. Call only from audio render thread or audio render thread task.

code: bool GetSourceBuffer ( const [FDecodingSoundSourceHandle](API\Runtime\AudioMixer\FDecodingSoundSourceHandle) & InHandle, const int32 NumOutFrames, const int32 NumOutChannels, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutAudioBuffer )


description: Initialize the source decoder at the given output sample rate Sources will automatically sample rate convert to match this output

code: void Init ( [FAudioDevice](API\Runtime\Engine\FAudioDevice) * InAudioDevice, int32 SampleRate )


description: Queries if the decoding source is finished.

code: bool IsFinished ( const [FDecodingSoundSourceHandle](API\Runtime\AudioMixer\FDecodingSoundSourceHandle) & InHandle ) const


code: bool IsInitialized ( const [FDecodingSoundSourceHandle](API\Runtime\AudioMixer\FDecodingSoundSourceHandle) & InHandle ) const


description: Removes the decoding source from the decoder.

code: void RemoveDecodingSource ( const [FDecodingSoundSourceHandle](API\Runtime\AudioMixer\FDecodingSoundSourceHandle) & Handle )


description: Resets internal state of decoder.

code: void Reset()


description: Sets the source pitch scale.

code: void SetSourcePitchScale ( const [FDecodingSoundSourceHandle](API\Runtime\AudioMixer\FDecodingSoundSourceHandle) & Handle, float InPitchScale )


description: Called from the audio thread.

code: void Update()


description: Sets the source volume scale.

code: void SetSourceVolumeScale ( const [FDecodingSoundSourceHandle](API\Runtime\AudioMixer\FDecodingSoundSourceHandle) & Handle, float InVolumeScale )


description: Called from the audio render thread.

code: void UpdateRenderThread()


code: virtual ~FSoundSourceDecoder()


className: FSoundSourceDecoder

code: class FSoundSourceDecoder : public [FGCObject](API\Runtime\CoreUObject\UObject\FGCObject)


className: FSourceDecodeInit

code: struct FSourceDecodeInit

bForceSyncDecode

type: bool

Handle

type: FDecodingSoundS...

PitchScale

type: float

SoundWave

type: TObjectPtr<USo...


code: void Add ( const [FObjectId](API\Runtime\AudioMixer\FSubmixMap\FObjectId) InObjectId, [FMixerSubmixPtr](API\Runtime\AudioMixer\FMixerSubmixPtr) InMixerSubmix )


className: FIterFunc

code: typedef [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void(const [FPair](API\Runtime\AudioMixer\FSubmixMap\FPair) &)> FIterFunc


code: [FMixerSubmixPtr](API\Runtime\AudioMixer\FMixerSubmixPtr) FindRef ( [FObjectId](API\Runtime\AudioMixer\FSubmixMap\FObjectId) InObjectId )


className: FObjectId

code: typedef uint32 FObjectId


code: void Iterate ( [FIterFunc](API\Runtime\AudioMixer\FSubmixMap\FIterFunc) InFunction )


className: FPair

code: typedef TPair< [FObjectId](API\Runtime\AudioMixer\FSubmixMap\FObjectId), [FMixerSubmixPtr](API\Runtime\AudioMixer\FMixerSubmixPtr) > FPair


code: int32 Remove ( const [FObjectId](API\Runtime\AudioMixer\FSubmixMap\FObjectId) InObjectId )


className: FSubmixVoiceData

code: struct FSubmixVoiceData

SubmixSendStage

type: EMixerSourceSub...


className: FSwapAudioOutputResult

description: Out structure for use with AudioMixerBlueprintLibrary::SwapAudioOutputDevice

code: struct FSwapAudioOutputResult

CurrentDeviceId

description: ID of the currently set device.

RequestedDeviceId

description: ID of the requested device.

Result

type: ESwapAudioOutpu...

description: Result of the call


className: FAudioGeneratorHandle

code: struct FAudioGeneratorHandle


description: Adds a generator delegate. Returns a handle for the generator delegate, so it can be removed.

code: [FAudioGeneratorHandle](API\Runtime\AudioMixer\Generators\FAudioGeneratorHandle) AddGeneratorDelegate ( FOnAudioGenerate InFunction )


description: Returns the number of channels of the generator.

code: int32 GetNumChannels() const


description: Returns the sample rate of the generator.

code: int32 GetSampleRate() const


description: Called by derived classes to initialize the sample rate and num channels of the generator.

code: void Init ( int32 InSampleRate, int32 InNumChannels )


description: Called by derived classes when new audio is generated.

code: void OnGeneratedAudio ( const float * InAudio, int32 NumSamples )


description: Removes the given audio generator delegate handle.

code: void RemoveGeneratorDelegate ( [FAudioGeneratorHandle](API\Runtime\AudioMixer\Generators\FAudioGeneratorHandle) InHandle )


className: UAudioGenerator

code: class UAudioGenerator : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

CritSect

type: FCriticalSectio...

OnGeneratedMap

type: TMap< uint32, F...


className: FPersistentQuartzSubsystemData

description: Data that theUQuartzSubsystemneeds to persist on the AudioDevice acrossUWorldshutdown/startup

code: struct FPersistentQuartzSubsystemData

ActiveExternalClockProxies

description: Array of active clock handles (update FindProxyByName() if more are added later)

SubsystemClockManager

type: FQuartzClockMan...

description: Internal clock manager for game-thread-ticked clocks


code: virtual [FName](API\Runtime\Core\UObject\FName) GetCommandName() const


code: virtual EQuartzCommandType GetCommandType() const


description: Allocate a copy of the derived class

code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand) > GetDeepCopyOfDerivedObject() const


description: Derived classes can override these to add extra functionality

code: virtual void OnQueuedCustom ( const [FQuartzQuantizedCommandInitInfo](API\Runtime\Engine\Sound\FQuartzQuantizedCommandInitInfo) & InCommandInitInfo )


description: Called if the event type uses an altered amount of frames.

code: virtual int32 OverrideFramesUntilExec ( int32 NumFramesUntilExec )


code: virtual bool RequiresAudioDevice() const


description: Dtor

code: virtual ~FQuantizedNotify()


description: Ctor

code: FQuantizedNotify ( float InMsOffset )


className: FQuantizedNotify

description: QuartzQuantizedCommand that basically no-ops, so the game thread can get notified on a musical boundary.

code: class FQuantizedNotify : public [Audio::IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand)

OwningClockPtr

type: TSharedPtr<FQu...


code: virtual bool IsClockAltering()


code: virtual void OnFinalCallbackCustom ( int32 InNumFramesLeft )


className: FQuantizedOtherClockStart

description: QuartzQuantizedCommand that starts a second clock on a sample-accurate boundary.

code: class FQuantizedOtherClockStart : public [Audio::IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand)


description: For your implementation, a new EQuartzCommandType needs to be defined in QuartzQuantizationUtilities.h


description: Dtor

code: ~FQuantizedPlayCommand()


className: FQuantizedPlayCommand

description: QuartzQuantizedCommand that plays a sound on a sample-accurate boundary.

code: class FQuantizedPlayCommand : public [Audio::IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand)


description: Ctor

code: FQuantizedPlayCommand()


code: void SetQueueCommand ( const [FAudioComponentCommandInfo](API\Runtime\Engine\Sound\FAudioComponentCommandInfo) & InAudioCommandData )


className: FQuantizedQueueCommand

code: class FQuantizedQueueCommand : public [Audio::IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand)


code: virtual [FName](API\Runtime\Core\UObject\FName) GetCommandName() const


code: virtual EQuartzCommandType GetCommandType() const


description: Allocate a copy of the derived class

code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand) > GetDeepCopyOfDerivedObject() const


code: virtual void OnQueuedCustom ( const [FQuartzQuantizedCommandInitInfo](API\Runtime\Engine\Sound\FQuartzQuantizedCommandInitInfo) & InCommandInitInfo )


code: void SetTickRate ( const [FQuartzClockTickRate](API\Runtime\Engine\Sound\FQuartzClockTickRate) & InTickRate )


className: FQuantizedTickRateChange

description: QuartzQuantizedCommand that changes the TickRate of a clock on a sample-accurate boundary (i.e. BPM changes)

code: class FQuantizedTickRateChange : public [Audio::IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand)


className: FQuantizedTransportReset

description: QuartzQuantizedCommand that resets the transport of a clock's metronome on a sample-accurate boundary.

code: class FQuantizedTransportReset : public [Audio::IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand)


description: Quantized Command Management:

code: void AddQuantizedCommand ( [FQuartzQuantizedRequestData](API\Runtime\Engine\Sound\FQuartzQuantizedRequestData) & InQuantizedRequestData )


description: Quantized Command Management:

code: void AddQuantizedCommand ( [FQuartzQuantizedCommandInitInfo](API\Runtime\Engine\Sound\FQuartzQuantizedCommandInitInfo) & InQuantizationCommandInitInfo )


code: void AddQuantizedCommand ( [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) InQuantizationBondary, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand) > InNewEvent )


description: (used for StartOtherClock command to handle the sub-tick as the target clock)

code: void AddToTickDelay ( int32 NumFramesOfDelayToAdd )


code: bool CancelQuantizedCommand ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand) > InCommandPtr )


description: Transport Control: alter the tick rate (take by-value to make sample-rate adjustments in-place)

code: void ChangeTickRate ( [FQuartzClockTickRate](API\Runtime\Engine\Sound\FQuartzClockTickRate) InNewTickRate, int32 NumFramesLeft )


code: bool DoesMatchSettings ( const [FQuartzClockSettings](API\Runtime\Engine\Sound\FQuartzClockSettings) & InClockSettings ) const


code: void ChangeTimeSignature ( const [FQuartzTimeSignature](API\Runtime\Engine\Sound\FQuartzTimeSignature) & InNewTimeSignature )


code: float GetBeatProgressPercent ( const EQuartzCommandQuantization & QuantizationType ) const


code: float GetDurationOfQuantizationTypeInSeconds ( const EQuartzCommandQuantization & QuantizationType, float Multiplier )


description: Getters:


description: Low-resolution clock update (not sample-accurate!, useful when running without an Audio Device)

code: void LowResolutionTick ( float InDeltaTimeSeconds )


code: int32 NumPendingEvents() const


code: void SetSampleRate ( float InNewSampleRate )


code: void SetTickDelay ( int32 NumFramesOfDelay )


code: void Stop ( bool CancelPendingEvents )


code: void SubscribeToAllTimeDivisions ( [FQuartzGameThreadSubscriber](API\Runtime\Engine\Sound\FQuartzGameThreadSubscriber) InSubscriber )


description: Metronome Event Subscription:

code: void SubscribeToTimeDivision ( [FQuartzGameThreadSubscriber](API\Runtime\Engine\Sound\FQuartzGameThreadSubscriber) InSubscriber, EQuartzCommandQuantization InQuantizationBoundary )


description: Sample accurate clock update

code: void Tick ( int32 InNumFramesUntilNextTick )


code: void UnsubscribeFromTimeDivision ( [FQuartzGameThreadSubscriber](API\Runtime\Engine\Sound\FQuartzGameThreadSubscriber) InSubscriber, EQuartzCommandQuantization InQuantizationBoundary )


code: void UnsubscribeFromAllTimeDivisions ( [FQuartzGameThreadSubscriber](API\Runtime\Engine\Sound\FQuartzGameThreadSubscriber) InSubscriber )


description: Ctor

code: FQuartzClock ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [FQuartzClockSettings](API\Runtime\Engine\Sound\FQuartzClockSettings) & InClockSettings, [FQuartzClockManager](API\Runtime\AudioMixer\Quartz\FQuartzClockManager) * InOwningClockManagerPtr )


description: Don't allow default ctor, a clock needs to be ready to be used by the clock manager /FMixerDeviceonce constructed


description: Dtor

code: ~FQuartzClock()


className: FQuartzClock

description:
UpdateCachedState() updates a game-thread copy of data accessed via FQuartzClockProxy
(see FQuartzClockState)

code: class FQuartzClock


className: FQuartzClockCommandQueuePtr

code: typedef [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [TQuartzShareableCommandQueue](API\Runtime\Engine\Sound\TQuartzShareableCommandQueue)< [FQuartzClock](API\Runtime\AudioMixer\Quartz\FQuartzClock) >, ESPMode::ThreadSafe > FQuartzClockCommandQueuePtr


className: FQuartzClockCommandQueueWeakPtr

code: typedef [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [TQuartzShareableCommandQueue](API\Runtime\Engine\Sound\TQuartzShareableCommandQueue)< [FQuartzClock](API\Runtime\AudioMixer\Quartz\FQuartzClock) >, ESPMode::ThreadSafe > FQuartzClockCommandQueueWeakPtr


description: Add a new command to a given clock safe to call from AudioThread (uses Audio Render Thread command)

code: [FQuartzQuantizedCommandHandle](API\Runtime\Engine\Sound\FQuartzQuantizedCommandHandle) AddCommandToClock ( [FQuartzQuantizedCommandInitInfo](API\Runtime\Engine\Sound\FQuartzQuantizedCommandInitInfo) & InQuantizationCommandInitInfo )


description: Cancel a queued command on a clock (i.e. cancel a PlayQuantized command if the sound is stopped before it is played)

code: bool CancelCommandOnClock ( [FName](API\Runtime\Core\UObject\FName) InOwningClockName, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IQuartzQuantizedCommand](API\Runtime\Engine\Sound\IQuartzQuantizedCommand) > InCommandPtr )


description: Returns true if a clock with the given name already exists.

code: bool DoesClockExist ( const [FName](API\Runtime\Core\UObject\FName) & InClockName )


description: Shutdown all clocks that don't ignoreFlush()(i.e. level change)

code: void Flush()


code: [FQuartzClockProxy](API\Runtime\AudioMixer\Quartz\FQuartzClockProxy) GetClock ( const [FName](API\Runtime\Core\UObject\FName) & InClockName )


description: Returns the current location of the clock in the transport.

code: [FQuartzTransportTimeStamp](API\Runtime\Engine\Sound\FQuartzTransportTimeStamp) GetCurrentTimestamp ( const [FName](API\Runtime\Core\UObject\FName) & InClockName )


description: Returns the duration in seconds of the given Quantization Type, or -1 if the Clock is invalid or nonexistent.

code: float GetDurationOfQuantizationTypeInSeconds ( const [FName](API\Runtime\Core\UObject\FName) & InClockName, const EQuartzCommandQuantization & QuantizationType, float Multiplier )


description: Returns the amount of time, in seconds, the clock has been running. Caution: due to latency, this will not be perfectly accurate.

code: float GetEstimatedRunTime ( const [FName](API\Runtime\Core\UObject\FName) & InClockName )


code: int32 GetLastUpdateSizeInFrames() const


description: Get access to the owningFMixerDevice

code: [FMixerDevice](API\Runtime\AudioMixer\FMixerDevice) * GetMixerDevice() const


description: Get Tick rate for clock safe to call from AudioThread (uses critical section)

code: [FQuartzClockTickRate](API\Runtime\Engine\Sound\FQuartzClockTickRate) GetTickRateForClock ( const [FName](API\Runtime\Core\UObject\FName) & InName )


code: bool HasClockBeenTickedThisUpdate ( [FName](API\Runtime\Core\UObject\FName) InClockName )


description: Returns true if the name is running

code: bool IsClockRunning ( const [FName](API\Runtime\Core\UObject\FName) & InClockName )


description: Stop the given clock safe to call from AudioThread (uses Audio Render Thread command)

code: void PauseClock ( const [FName](API\Runtime\Core\UObject\FName) & InName )


description: Can be called from any thread for low-resolution clock updates (i.e. used when running without an audio device) not sample-accurate!

code: void LowResoultionUpdate ( float DeltaTimeSeconds )


description: Remove existing clock safe to call from AudioThread (uses Audio Render Thread Command)

code: void RemoveClock ( const [FName](API\Runtime\Core\UObject\FName) & InName, bool bForceSynchronous )


description: Start the given clock safe to call from AudioThread (uses Audio Render Thread command)

code: void ResumeClock ( const [FName](API\Runtime\Core\UObject\FName) & InName, int32 NumFramesToDelayStart )


description: Add (and take ownership of) a new clock safe to call from AudioThread (uses critical section)

code: [FQuartzClockProxy](API\Runtime\AudioMixer\Quartz\FQuartzClockProxy) GetOrCreateClock ( const [FName](API\Runtime\Core\UObject\FName) & InClockName, const [FQuartzClockSettings](API\Runtime\Engine\Sound\FQuartzClockSettings) & InClockSettings, bool bOverrideTickRateIfClockExists )


code: void SetTickRateForClock ( const [FQuartzClockTickRate](API\Runtime\Engine\Sound\FQuartzClockTickRate) & InNewTickRate, const [FName](API\Runtime\Core\UObject\FName) & InName )


description: Stop all clocks and cancel all pending events

code: void Shutdown()


code: void StopClock ( const [FName](API\Runtime\Core\UObject\FName) & InName, bool CancelPendingEvents )


description: Subscribe to all time divisions on a clock

code: void SubscribeToAllTimeDivisions ( [FName](API\Runtime\Core\UObject\FName) InClockName, [MetronomeCommandQueuePtr](API\Runtime\AudioMixer\Quartz\MetronomeCommandQueuePtr) InListenerQueue )


description: Subscribe to a specific time division on a clock TODO: update the metronome subscription functions to take anFQuartzGameThreadSubscriberinstead of the Command queue ptr (to support metronome event offset)

code: void SubscribeToTimeDivision ( [FName](API\Runtime\Core\UObject\FName) InClockName, [MetronomeCommandQueuePtr](API\Runtime\AudioMixer\Quartz\MetronomeCommandQueuePtr) InListenerQueue, EQuartzCommandQuantization InQuantizationBoundary )


description: Un-subscribe from all time divisions on a specific clock

code: void UnsubscribeFromAllTimeDivisions ( [FName](API\Runtime\Core\UObject\FName) InClockName, [MetronomeCommandQueuePtr](API\Runtime\AudioMixer\Quartz\MetronomeCommandQueuePtr) InListenerQueue )


description: Un-subscribe from a specific time division on a clock

code: void UnsubscribeFromTimeDivision ( [FName](API\Runtime\Core\UObject\FName) InClockName, [MetronomeCommandQueuePtr](API\Runtime\AudioMixer\Quartz\MetronomeCommandQueuePtr) InListenerQueue, EQuartzCommandQuantization InQuantizationBoundary )


description: Called on AudioRenderThread.

code: void Update ( int32 NumFramesUntilNextUpdate )


description: Called on AudioRenderThread.

code: void UpdateClock ( [FName](API\Runtime\Core\UObject\FName) InClockToAdvance, int32 NumFramesToAdvance )


description: Ctor

code: FQuartzClockManager ( [Audio::FMixerDevice](API\Runtime\AudioMixer\FMixerDevice) * InOwner )


description: Dtor

code: ~FQuartzClockManager()


className: FQuartzClockManager

description: Class that owns, updates, and provides access to all active clocks All methods are thread-safe. The method locks if it returns a value, and stages a command if it returns void

code: class FQuartzClockManager : public [FQuartLatencyTracker](API\Runtime\Engine\Sound\FQuartLatencyTracker)


code: float GetBeatProgressPercent ( const EQuartzCommandQuantization & QuantizationType ) const


code: float GetDurationOfQuantizationTypeInSeconds ( const EQuartzCommandQuantization & QuantizationType, float Multiplier ) const


className: FQuartzClockProxy::operator bool

code: operator bool() const


className: FQuartzClockProxy::operator const FName &

description: Implicit cast to underlying ID (FName)

code: operator const FName &() const


code: bool operator== ( const [FName](API\Runtime\Core\UObject\FName) & Name ) const


description: Returns false if the clock is not valid or has shut down

code: bool SendCommandToClock ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FQuartzClock](API\Runtime\AudioMixer\Quartz\FQuartzClock) *)> InCommand )


description: Ctor

code: FQuartzClockProxy()


code: FQuartzClockProxy ( const [FName](API\Runtime\Core\UObject\FName) & Name )


code: FQuartzClockProxy ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FQuartzClock](API\Runtime\AudioMixer\Quartz\FQuartzClock), ESPMode::ThreadSafe > InClock )


className: FQuartzClockProxy

description:
Your lambda will take an FQuartzClock* as an argument, which will be passed in by the
FQuartzClock itself when it pumps the command queue.

code: class FQuartzClockProxy

ClockWeakPtr

type: TWeakPtr<FQuar...


code: void CalculateDurationPhases ( float(&) OutPhases ) const


code: double GetFramesUntilBoundary ( [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) InQuantizationBoundary ) const


code: uint64 GetLastTickCpuCycles64() const


description: Getters.

code: const [FQuartzClockTickRate](API\Runtime\Engine\Sound\FQuartzClockTickRate) & GetTickRate() const


code: const [FQuartzTimeSignature](API\Runtime\Engine\Sound\FQuartzTimeSignature) & GetTimeSignature() const


code: double GetTimeSinceStart() const


code: void SetSampleRate ( float InNewSampleRate )


code: void SetTickRate ( [FQuartzClockTickRate](API\Runtime\Engine\Sound\FQuartzClockTickRate) InNewTickRate, int32 NumFramesLeft )


code: void SubscribeToAllTimeDivisions ( [MetronomeCommandQueuePtr](API\Runtime\AudioMixer\Quartz\MetronomeCommandQueuePtr) InListenerQueue )


code: void SetTimeSignature ( const [FQuartzTimeSignature](API\Runtime\Engine\Sound\FQuartzTimeSignature) & InNewTimeSignature )


description: Transport Control:

code: void Tick ( int32 InNumSamples, int32 FramesOfLatency )


description: Event Subscription.

code: void SubscribeToTimeDivision ( [MetronomeCommandQueuePtr](API\Runtime\AudioMixer\Quartz\MetronomeCommandQueuePtr) InListenerQueue, EQuartzCommandQuantization InQuantizationBoundary )


code: void UnsubscribeFromAllTimeDivisions ( [MetronomeCommandQueuePtr](API\Runtime\AudioMixer\Quartz\MetronomeCommandQueuePtr) InListenerQueue )


code: void UnsubscribeFromTimeDivision ( [MetronomeCommandQueuePtr](API\Runtime\AudioMixer\Quartz\MetronomeCommandQueuePtr) InListenerQueue, EQuartzCommandQuantization InQuantizationBoundary )


description: Ctor

code: FQuartzMetronome ( [FName](API\Runtime\Core\UObject\FName) InClockName )


code: FQuartzMetronome ( const [FQuartzTimeSignature](API\Runtime\Engine\Sound\FQuartzTimeSignature) & InTimeSignature, [FName](API\Runtime\Core\UObject\FName) InClockName )


description: Dtor

code: ~FQuartzMetronome()


className: FQuartzMetronome

description: Class to track the passage of musical time, and allow subscribers to be notified when these musical events take place.

code: class FQuartzMetronome


code: void SubscribeToQuartzTick ( [FQuartzTickableObject](API\Runtime\Engine\Sound\FQuartzTickableObject) * InObjectToTick )


code: void UnsubscribeFromQuartzTick ( [FQuartzTickableObject](API\Runtime\Engine\Sound\FQuartzTickableObject) * InObjectToTick )


className: FQuartzTickableObjectsManager

code: struct FQuartzTickableObjectsManager : public [FQuartLatencyTracker](API\Runtime\Engine\Sound\FQuartLatencyTracker)


className: MetronomeCommandQueuePtr

code: typedef [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [TQuartzShareableCommandQueue](API\Runtime\Engine\Sound\TQuartzShareableCommandQueue)< [FQuartzTickableObject](API\Runtime\Engine\Sound\FQuartzTickableObject) >, ESPMode::ThreadSafe > MetronomeCommandQueuePtr


description: 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.

code: virtual void BeginDestroy()


code: bool DoesClockExist ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject ) const


description: Returns the current progress until the next occurrence of the provided musical duration as a float value from 0 (previous beat) to 1 (next beat). This is useful for indexing into curves to animate parameters to musical time. Ms and Phase offsets are combined internally.

code: float GetBeatProgressPercent ( EQuartzCommandQuantization QuantizationBoundary, float PhaseOffset, float MsOffset )


code: float GetBeatsPerMinute ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject ) const


code: bool GetCurrentTickRate ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [Audio::FQuartzClockTickRate](API\Runtime\Engine\Sound\FQuartzClockTickRate) & OutTickRate ) const


description: Retrieves a timestamp for the clock.

code: [FQuartzTransportTimeStamp](API\Runtime\Engine\Sound\FQuartzTransportTimeStamp) GetCurrentTimestamp ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject )


description:
Returns the duration in seconds of the given Quantization Type
The duration, in seconds, of a multiplier amount of the Quantization Type, or -1 in the case the clock is invalid

code: float GetDurationOfQuantizationTypeInSeconds ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const EQuartzCommandQuantization & QuantizationType, float Multiplier )


description: Returns the amount of time, in seconds, the clock has been running. Caution: due to latency, this will not be perfectly accurate.

code: float GetEstimatedRunTime ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject )


description: Metronome getters.

code: float GetMillisecondsPerTick ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject ) const


code: float GetSecondsPerTick ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject ) const


code: float GetTicksPerSecond ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject ) const


code: void NotifyOnQuantizationBoundary ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) InQuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate, float InMsOffset )


code: bool IsClockRunning ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject )


code: void PauseClock ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle )


description: Virtual interface (ExecCommand will forward the data to derived classes'ProcessCommand()call)

code: virtual void ProcessCommand ( const [Audio::FQuartzQuantizedCommandDelegateData](API\Runtime\Engine\Sound\FQuartzQuantizedCommandDelegateD-) & Data )


description: Deprecated* This function should not be called directly, and the original functionality has been moved into FQuartzTickable

code: virtual void ProcessCommand ( const [Audio::FQuartzMetronomeDelegateData](API\Runtime\Engine\Sound\FQuartzMetronomeDelegateData) & Data )


code: float GetThirtySecondNotesPerMinute ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject ) const


description: Todo: un-comment when metronome events support the offset Set how early we would like to receive Metronome (not yet supported) and "About To Start" Delegates. (all other command delegates will execute as normal)// Set how early we would like to receive Metronome (not yet supported) and "About To Start" Delegates. (all other command delegates will execute as normal) void SetNotificationAnticipationAmountAsMusicalDuration(const UObject* WorldContextObject, UQuartzClockHandle*& ClockHandle, const EQuartzCommandQuantization MusicalDuration = EQuartzCommandQuantization::QuarterNote, const double Multiplier = 1.0);

code: void QueueQuantizedSound ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle, const [FAudioComponentCommandInfo](API\Runtime\Engine\Sound\FAudioComponentCommandInfo) & AudioComponentData, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & InTargetBoundary )


code: void ResumeClock ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle )


code: void ResetTransportQuantized ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) InQuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle )


code: void SetBeatsPerMinute ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & QuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & Delegate, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle, float BeatsPerMinute )


description: Metronome Alteration (setters)

code: void SetMillisecondsPerTick ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & QuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & Delegate, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle, float MillisecondsPerTick )


code: void SetSecondsPerTick ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & QuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & Delegate, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle, float SecondsPerTick )


code: void SetThirtySecondNotesPerMinute ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & QuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & Delegate, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle, float ThirtySecondsNotesPerMinute )


code: void SetTicksPerSecond ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & QuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & Delegate, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle, float TicksPerSecond )


description: Clock manipulation.

code: void StartClock ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle )


description: "other" clock manipulation

code: void StartOtherClock ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [FName](API\Runtime\Core\UObject\FName) OtherClockName, [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) InQuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate )


code: void StopClock ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, bool CancelPendingEvents, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle )


code: void ResetTransport ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate )


code: void SubscribeToAllQuantizationEvents ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FOnQuartzMetronomeEventBP](API\Runtime\Engine\Sound\FOnQuartzMetronomeEventBP) & OnQuantizationEvent, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle )


code: [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * SubscribeToClock ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [FName](API\Runtime\Core\UObject\FName) ClockName, [Audio::FQuartzClockProxy](API\Runtime\AudioMixer\Quartz\FQuartzClockProxy) const * InHandlePtr )


description: Metronome subscription.

code: void SubscribeToQuantizationEvent ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, EQuartzCommandQuantization InQuantizationBoundary, const [FOnQuartzMetronomeEventBP](API\Runtime\Engine\Sound\FOnQuartzMetronomeEventBP) & OnQuantizationEvent, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle )


code: void UnsubscribeFromAllTimeDivisions ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle )


code: void UnsubscribeFromTimeDivision ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, EQuartzCommandQuantization InQuantizationBoundary, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& ClockHandle )


description: Ctor

code: UQuartzClockHandle()


description: Dtor

code: ~UQuartzClockHandle()


description: Deprecated* Obtain and use aUQuartzClockHandle/ FQuartzClockProxy instead

code: void AddCommandToClock ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [Audio::FQuartzQuantizedCommandInitInfo](API\Runtime\Engine\Sound\FQuartzQuantizedCommandInitInfo) & InQuantizationCommandInitInfo, [FName](API\Runtime\Core\UObject\FName) ClockName )


description: Allow an external clock (not ticked by the Audio Mixer or QuartzSubsystem) to be accessible via this subsystem

code: void AddProxyForExternalClock ( const [Audio::FQuartzClockProxy](API\Runtime\AudioMixer\Quartz\FQuartzClockProxy) & InProxy )


code: virtual void BeginDestroy()


className: UQuartzClockHandle

description: It can subscribe to Quantized Event & Metronome delegates to synchronize gameplay & VFX to Quartz events fired from the Audio Engine

code: class UQuartzClockHandle : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [FQuartzTickableObject](API\Runtime\Engine\Sound\FQuartzTickableObject)


description: Deprecated* Use the static (CreateRequestDataFor) version of this function instead

code: [Audio::FQuartzQuantizedRequestData](API\Runtime\Engine\Sound\FQuartzQuantizedRequestData) CreateDataDataForSchedulePlaySound ( [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * InClockHandle, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & InQuantizationBoundary )


description: DEPRECATED HELPERS: non-static versions of the above CreateDataFor...() functions

code: [Audio::FQuartzQuantizedRequestData](API\Runtime\Engine\Sound\FQuartzQuantizedRequestData) CreateDataForTickRateChange ( [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * InClockHandle, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate, const [Audio::FQuartzClockTickRate](API\Runtime\Engine\Sound\FQuartzClockTickRate) & InNewTickRate, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & InQuantizationBoundary )


code: [Audio::FQuartzQuantizedRequestData](API\Runtime\Engine\Sound\FQuartzQuantizedRequestData) CreateDataForStartOtherClock ( [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * InClockHandle, [FName](API\Runtime\Core\UObject\FName) InClockToStart, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & InQuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate )


code: [Audio::FQuartzQuantizedRequestData](API\Runtime\Engine\Sound\FQuartzQuantizedRequestData) CreateDataForTransportReset ( [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * InClockHandle, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & InQuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate )


description: Clock Creation create a new clock (or return handle if clock already exists)

code: [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * CreateNewClock ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [FName](API\Runtime\Core\UObject\FName) ClockName, [FQuartzClockSettings](API\Runtime\Engine\Sound\FQuartzClockSettings) InSettings, bool bOverrideSettingsIfClockExists, bool bUseAudioEngineClockManager )


code: static [Audio::FQuartzQuantizedRequestData](API\Runtime\Engine\Sound\FQuartzQuantizedRequestData) CreateRequestDataForStartOtherClock ( [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * InClockHandle, [FName](API\Runtime\Core\UObject\FName) InClockToStart, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & InQuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate )


code: static [Audio::FQuartzQuantizedRequestData](API\Runtime\Engine\Sound\FQuartzQuantizedRequestData) CreateRequestDataForSchedulePlaySound ( [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * InClockHandle, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & InQuantizationBoundary )


code: static [Audio::FQuartzQuantizedRequestData](API\Runtime\Engine\Sound\FQuartzQuantizedRequestData) CreateRequestDataForQuantizedNotify ( [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * InClockHandle, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & InQuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate, float InMsOffset )


description: Helper functions for initializing quantized command initialization struct (to consolidate eyesore)

code: static [Audio::FQuartzQuantizedRequestData](API\Runtime\Engine\Sound\FQuartzQuantizedRequestData) CreateRequestDataForTickRateChange ( [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * InClockHandle, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate, const [Audio::FQuartzClockTickRate](API\Runtime\Engine\Sound\FQuartzClockTickRate) & InNewTickRate, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & InQuantizationBoundary )


code: static [Audio::FQuartzQuantizedRequestData](API\Runtime\Engine\Sound\FQuartzQuantizedRequestData) CreateRequestDataForTransportReset ( [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * InClockHandle, const [FQuartzQuantizationBoundary](API\Runtime\Engine\Sound\FQuartzQuantizationBoundary) & InQuantizationBoundary, const [FOnQuartzCommandEventBP](API\Runtime\Engine\Sound\FOnQuartzCommandEventBP) & InDelegate )


description: Implement this for deinitialization of instances of the system

code: virtual void Deinitialize()


description: Delete an existing clock given its clock handle

code: void DeleteClockByHandle ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) *& InClockHandle )


description: Delete an existing clock given its name

code: void DeleteClockByName ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [FName](API\Runtime\Core\UObject\FName) ClockName )


description: Static methods

code: static [UQuartzSubsystem](API\Runtime\AudioMixer\Quartz\UQuartzSubsystem) * Get ( const [UWorld](API\Runtime\Engine\Engine\UWorld) *const World )


description: Returns true if the clock exists

code: bool DoesClockExist ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [FName](API\Runtime\Core\UObject\FName) ClockName )


code: virtual bool DoesSupportWorldType ( [EWorldType::Type](API\Runtime\Engine\Engine\EWorldType__Type) WorldType ) const


description: Latency data (Audio Render Thread -> Game thread)


description: Retrieves a timestamp for the clock.

code: [FQuartzTransportTimeStamp](API\Runtime\Engine\Sound\FQuartzTransportTimeStamp) GetCurrentClockTimestamp ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FName](API\Runtime\Core\UObject\FName) & InClockName )


description: Returns the duration in seconds of the given Quantization Type.

code: float GetDurationOfQuantizationTypeInSeconds ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [FName](API\Runtime\Core\UObject\FName) ClockName, const EQuartzCommandQuantization & QuantizationType, float Multiplier )


code: float GetEstimatedClockRunTime ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const [FName](API\Runtime\Core\UObject\FName) & InClockName )


description: Latency data (Game thread -> Audio Render Thread)

code: float GetGameThreadToAudioRenderThreadAverageLatency ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject )


code: float GetGameThreadToAudioRenderThreadMinLatency ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject )


code: float GetGameThreadToAudioRenderThreadMaxLatency ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject )


description: Get handle for existing clock

code: [UQuartzClockHandle](API\Runtime\AudioMixer\Quartz\UQuartzClockHandle) * GetHandleForClock ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [FName](API\Runtime\Core\UObject\FName) ClockName )


description: Get C++ handle (proxy) to a clock if it exists

code: [Audio::FQuartzClockProxy](API\Runtime\AudioMixer\Quartz\FQuartzClockProxy) GetProxyForClock ( [FName](API\Runtime\Core\UObject\FName) ClockName ) const


description: Latency data (Round trip)

code: float GetRoundTripAverageLatency ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject )


code: float GetRoundTripMaxLatency ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject )


code: float GetRoundTripMinLatency ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject )


description: Return the stat id to use for this tickable

code: virtual [TStatId](API\Runtime\Core\Stats\TStatId) GetStatId() const


description: Sharable to allow non-UObjects to un-subscribe if the Subsystem is going to outlive them


description: USubsystemimplementation Begin.

code: virtual void Initialize ( [FSubsystemCollectionBase](API\Runtime\Engine\Subsystems\FSubsystemCollectionBase) & Collection )


description: Returns true if the clock is running

code: bool IsClockRunning ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [FName](API\Runtime\Core\UObject\FName) ClockName )


description:
Virtual that can be overloaded by the inheriting class. It is used to determine whether an object is ready to be ticked. This is required for example for allUObjectderived classes as they might be loaded async and therefore won't be ready immediately.
true if object is ready to be ticked, false otherwise.

code: virtual bool IsTickable() const


description: These calls are forwarded to the internalFQuartzTickableObjectsManager

code: void SubscribeToQuartzTick ( [FQuartzTickableObject](API\Runtime\Engine\Sound\FQuartzTickableObject) * InObjectToTick )


description: Pure virtual that must be overloaded by the inheriting class. It will be called from within LevelTick.cpp after ticking all actors or from the rendering thread (depending on bIsRenderingThreadObject)

code: virtual void Tick ( float DeltaTime )


description: Ctor/dtor

code: UQuartzSubsystem()


code: void UnsubscribeFromQuartzTick ( [FQuartzTickableObject](API\Runtime\Engine\Sound\FQuartzTickableObject) * InObjectToTick )


className: UQuartzSubsystem

code: class UQuartzSubsystem : public [UTickableWorldSubsystem](API\Runtime\Engine\Subsystems\UTickableWorldSubsystem)


code: void Update ( ESubmixEffectDynamicsKeySource InType, uint32 InObjectId, int32 InNumChannels )


code: void SetNumChannels ( const int32 InNumChannels )


bEnabled

type: uint8:  1

description: Whether or not filter is enabled.

Cutoff

description: The cutoff frequency of the HPF applied to key signal.

GainDb

description: The gain of the filter shelf applied to the key signal.


description: Gets the effect's deviceId that owns it.


description: Called on an audio effect at initialization on audio thread before audio processing begins.

code: virtual void Init ( const [FSoundEffectSubmixInitData](API\Runtime\Engine\Sound\FSoundEffectSubmixInitData) & InInitData )


code: void OnDeviceCreated ( [Audio::FDeviceId](API\Runtime\Engine\FDeviceId) InDeviceId )


code: void OnDeviceDestroyed ( [Audio::FDeviceId](API\Runtime\Engine\FDeviceId) InDeviceId )


description: Process the input block of audio. Called on audio render thread.

code: virtual void OnProcessAudio ( const [FSoundEffectSubmixInputData](API\Runtime\Engine\Sound\FSoundEffectSubmixInputData) & InData, [FSoundEffectSubmixOutputData](API\Runtime\Engine\Sound\FSoundEffectSubmixOutputData) & OutData )


description: Called when an audio effect preset is changed.

code: virtual void OnPresetChanged()


code: void UpdateKeyFromSettings ( const [FSubmixEffectDynamicsProcessorSettings](API\Runtime\AudioMixer\SubmixEffects\FSubmixEffectDynamicsProcessorSe-) & InSettings )


code: FSubmixEffectDynamicsProcessor()


className: FSubmixEffectDynamicsProcessor

code: class FSubmixEffectDynamicsProcessor : public [FSoundEffectSubmix](API\Runtime\Engine\Sound\FSoundEffectSubmix)

AudioInputFrame

type: TArray< float >


className: FSubmixEffectDynamicsProcessorSettings

description: Submix dynamics processor settings.

AttackTimeMsec

description: The amount of time to ramp into any dynamics processing effect.

bAnalogMode

description: Toggles treating the attack and release envelopes as analog-style vs digital-style (Analog will respond a bit more naturally/slower)

bBypass

description: Whether or not to bypass effect.

bKeyAudition

description: Audition the key modulation signal, bypassing enveloping and processing the input signal.

DisplayName

description: Gain to apply to key signal if key source not set to default (input).

DynamicsProcessorType

type: ESubmixEffectDy...

description: Type of processor to apply.

EditCondition

description: The dynamics processor ratio used for compression/expansion.

ExternalAudioBus

type: TObjectPtr<UAu...

description: If set, uses output of provided audio bus as modulator of input signal for dynamics processor (Uses input signal as default modulator)

ExternalSubmix

description: If set, uses output of provided submix as modulator of input signal for dynamics processor (Uses input signal as default modulator)

InputGainDb

description: The input gain of the dynamics processor.

KeyHighshelf

type: FSubmixEffectDy...

description: High Shelf filter settings for key signal (external signal if supplied or input signal if not)

KeyLowshelf

description: Low Shelf filter settings for key signal (external signal if supplied or input signal if not)

KneeBandwidthDb

description: The knee bandwidth of the processor to use.

LinkMode

description: Mode of peak detection if key signal is multi-channel.

LookAheadMsec

description: The amount of time to look ahead of the current audio (Allows for transients to be included in dynamics processing)

OutputGainDb

description: The output gain of the dynamics processor.

PeakMode

description: Mode of peak detection used on input key signal.

ReleaseTimeMsec

description: The amount of time to release the dynamics processing effect.

ThresholdDb

description: The threshold at which to perform a dynamics processing operation.


className: FSubmixEffectEQBand

description: A multiband EQ submix effect.

code: struct FSubmixEffectEQBand

bEnabled

type: uint32:  1


description: Forces receiving downmixed submix audio to stereo input for the reverb effect.

code: virtual uint32 GetDesiredInputChannelCountOverride() const


description: Called on an audio effect at initialization on main thread before audio processing begins.

code: virtual void Init ( const [FSoundEffectSubmixInitData](API\Runtime\Engine\Sound\FSoundEffectSubmixInitData) & InSampleRate )


className: MaxWetness

code: static const float MaxWetness = 10.f;


description: Returns the drylevel of the effect.

code: virtual float GetDryLevel() const


className: MinWetness

code: static const float MinWetness = 0.0f;


description: Process the input block of audio. Called on audio thread.


description: Sets the reverb effect parameters based from audio thread code.

code: virtual bool SetParameters ( const [FAudioEffectParameters](API\Runtime\Engine\Sound\FAudioEffectParameters) & InParameters )


description: Whether this effect supports the default reverb system.

code: virtual bool SupportsDefaultReverb() const


className: FSubmixEffectReverb

code: class FSubmixEffectReverb : public [FSoundEffectSubmix](API\Runtime\Engine\Sound\FSoundEffectSubmix)


className: FSubmixEffectReverbSettings

description: The time it takes to process the master reverb.

code: struct FSubmixEffectReverbSettings

AirAbsorptionGainHF

description: Air Absorption - 0.0 < 0.994 < 1.0 - lower value means more absorption

bBypass

type: bool

description: Bypasses reverb

bBypassEarlyReflections

description: Bypasses early reflections

bBypassLateReflections

description: Bypasses late reflections.

DecayHFRatio

description: Decay High Frequency Ratio - 0.1 < 0.83 < 2.0 - how much quicker or slower the high frequencies decay relative to the lower frequencies.

DecayTime

description: Decay Time - 0.1 < 1.49 < 20.0 Seconds - larger is more reverb

Density

description: Density - 0.0 < 0.85 < 1.0 - Coloration of the late reverb - lower value is more grainy

Diffusion

description: Diffusion - 0.0 < 0.85 < 1.0 - Echo density in the reverberation decay - lower is more grainy

DryLevel

description: Overall dry level of the reverb effect.

Gain

description: Reverb Gain - 0.0 < 0.32 < 1.0 - overall reverb gain - master volume control

GainHF

description: Reverb Gain High Frequency - 0.0 < 0.89 < 1.0 - attenuates the high frequency reflected sound

LateDelay

description: Late Reverb Delay - 0.0 < 0.011 < 0.1 Seconds - time difference between late reverb and first reflections

LateGain

description: Late Reverb Gain - 0.0 < 1.26 < 10.0 - gain of the late reverb

ReflectionsDelay

description: Reflections Delay - 0.0 < 0.007 < 0.3 Seconds - the time between the listener receiving the direct path sound and the first reflection

ReflectionsGain

description: Reflections Gain - 0.0 < 0.05 < 3.16 - controls the amount of initial reflections

WetLevel

description: Overall wet level of the reverb effect.


className: FEQ

description: An EQ effect is a bank of biquad filters.

code: struct FEQ


description: Called when an audio effect preset is changed.


description: Sets the effect parameters using the old audio engine preset setting object.


description: Whether or not effect supports default EQ system.

code: virtual bool SupportsDefaultEQ() const


className: FSubmixEffectSubmixEQ

code: class FSubmixEffectSubmixEQ : public [FSoundEffectSubmix](API\Runtime\Engine\Sound\FSoundEffectSubmix)

FiltersPerChannel

type: TArray<FEQ>

description: Each of these filters is a 2 channel biquad filter. 1 for each stereo pair.

GameThreadEQSettings

type: FSubmixEffectSu...

description: Game thread copy of the eq setting.

PendingSettings

description: A pending eq setting change.

RenderThreadEQSettings

description: Audio render thread copy of the eq setting.


code: void UpdateParameters ( const int32 NumOutputChannels )


className: FSubmixEffectSubmixEQSettings

description: EQ submix effect.

code: struct FSubmixEffectSubmixEQSettings

EQBands

type: TArray<FSubmix...

description: The EQ bands to use.


code: virtual bool CanFilter() const


code: virtual [FSoundEffectBase](API\Runtime\Engine\Sound\FSoundEffectBase) * CreateNewEffect() const


code: virtual [USoundEffectPreset](API\Runtime\Engine\Sound\USoundEffectPreset) * CreateNewPreset ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InParent, [FName](API\Runtime\Core\UObject\FName) Name, EObjectFlags Flags ) const


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetAssetActionName() const


code: virtual [UClass](API\Runtime\CoreUObject\UObject\UClass) * GetSupportedClass() const


code: virtual bool HasAssetActions() const