G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
USoundSubmix Class Reference

Sound Submix class meant for applying an effect to the downmixed sum of multiple audio sources. More...

Public Member Functions

Audio
void SetSubmixWetLevel (float32 InWetLevel)
 Sets the output volume of the submix in linear gain. This dynamic level acts as a multiplier on the WetLevel property of this submix.
void SetSubmixOutputVolume (float32 InOutputVolume)
 Sets the output volume of the submix in linear gain. This dynamic volume acts as a multiplier on the OutputVolume property of this submix.
void SetSubmixDryLevel (float32 InDryLevel)
 Sets the output volume of the submix in linear gain. This dynamic level acts as a multiplier on the DryLevel property of this submix.
Audio|Analysis
void StartSpectralAnalysis (EFFTSize FFTSize=EFFTSize ::DefaultSize, EFFTPeakInterpolationMethod InterpolationMethod=EFFTPeakInterpolationMethod ::Linear, EFFTWindowType WindowType=EFFTWindowType ::Hann, float32 HopSize=0.000000, EAudioSpectrumType SpectrumType=EAudioSpectrumType ::MagnitudeSpectrum)
 Start spectrum analysis of the audio output.
void StopSpectralAnalysis ()
 Stop spectrum analysis of the audio output.
Audio|Bounce
void StopRecordingOutput (EAudioRecordingExportType ExportType, FString Name, FString Path, USoundWave ExistingSoundWaveToOverwrite=nullptr)
 Finish recording the audio from this submix and export it as a wav file or a USoundWave.
void StartRecordingOutput (float32 ExpectedDuration)
 Start recording the audio from this submix.
Audio|EnvelopeFollowing
void AddEnvelopeFollowerDelegate (FOnSubmixEnvelopeBP OnSubmixEnvelopeBP=FOnSubmixEnvelopeBP())
 Adds an envelope follower delegate to the submix when envelope following is enabled on this submix.
void StopEnvelopeFollowing ()
 Start envelope following the submix output. Register with OnSubmixEnvelope to receive envelope follower data in BP.
void StartEnvelopeFollowing ()
 Start envelope following the submix output. Register with OnSubmixEnvelope to receive envelope follower data in BP.
Audio|Spectrum
void RemoveSpectralAnalysisDelegate (FOnSubmixSpectralAnalysisBP OnSubmixSpectralAnalysisBP=FOnSubmixSpectralAnalysisBP())
 Remove a spectral analysis delegate.
void AddSpectralAnalysisDelegate (TArray< FSoundSubmixSpectralAnalysisBandSettings > InBandSettings, FOnSubmixSpectralAnalysisBP OnSubmixSpectralAnalysisBP=FOnSubmixSpectralAnalysisBP(), float32 UpdateRate=10.000000, float32 DecibelNoiseFloor=- 40.000000, bool bDoNormalize=true, bool bDoAutoRange=false, float32 AutoRangeAttackTime=0.100000, float32 AutoRangeReleaseTime=60.000000)
 Adds a spectral analysis delegate to receive notifications when this submix has spectrum analysis enabled.
Functions
void SetbMuteWhenBackgrounded (bool Value)
 Mute this submix when the application is muted or in the background. Used to prevent submix effect tails from continuing when tabbing out of application or if application is muted.
bool GetbSendToAudioLink () const
 Whether to send this Submix to AudioLink (when AudioLink is Enabled).
void SetbSendToAudioLink (bool Value)
 Whether to send this Submix to AudioLink (when AudioLink is Enabled).
bool GetbMuteWhenBackgrounded () const
 Mute this submix when the application is muted or in the background. Used to prevent submix effect tails from continuing when tabbing out of application or if application is muted.
Public Member Functions inherited from USoundSubmixWithParentBase
void SetbIsDynamic (bool Value)
 Is Submix Dynamic. (i.e. allows connect/disconnect at runtime.) *.
bool GetbIsDynamic () const
 Is Submix Dynamic. (i.e. allows connect/disconnect at runtime.) *.
Public Member Functions inherited from USoundSubmixBase
bool DynamicDisconnect ()
 Dynamically Disconnect from a parent.
USoundSubmixBase FindDynamicAncestor ()
 Searching upwards from this Submix to the root looking for the first Submix marked Dynamic If this Submix is Dynamic this will be returned.
bool DynamicConnect (USoundSubmixBase InParent)
 Dynamically Connects to a parent submix.
Public Member Functions inherited from UObject
bool MarkPackageDirty () const
void RemoveFromRoot ()
bool GetIsRooted () const
bool IsTransient () const
bool Modify (bool bAlwaysMarkDirty=true)
void SetTransactional (bool bTransactional)
bool IsSupportedForNetworking () const
UClass GetClass () const
UObject GetOuter () const
UObject GetTypedOuter (TSubclassOf< UObject > Target) const
 Traverses the outer chain searching for the next object of a certain type.
UPackage GetOutermost () const
UPackage GetPackage () const
void AddToRoot ()
UWorld GetWorld () const
FName GetName () const
FString GetFullName (const UObject StopOuter=nullptr) const
FString GetPathName (const UObject StopOuter=nullptr) const
bool IsA (const UClass Class) const
 Returns true if this object is of the specified type, or a child of that type.
void SaveConfig ()
void LoadConfig ()
void ReloadConfig ()
void CopyScriptPropertiesFrom (const UObject OtherObject)
void opCast (?&Address) const
FString ToString () const

Static Public Member Functions

Static Functions
static UClass StaticClass ()
Static Public Member Functions inherited from USoundSubmixWithParentBase
static UClass StaticClass ()
Static Public Member Functions inherited from USoundSubmixBase
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Public Attributes

AudioLink
UAudioLinkSettingsAbstract AudioLinkSettings
 Optional Audio Link Settings Object.
bool bSendToAudioLink
 Whether to send this Submix to AudioLink (when AudioLink is Enabled).
EnvelopeFollower
int EnvelopeFollowerReleaseTime
 The release time in milliseconds for the envelope follower. Delegate callbacks can be registered to get the envelope value of sounds played with this submix.
int EnvelopeFollowerAttackTime
 The attack time in milliseconds for the envelope follower. Delegate callbacks can be registered to get the envelope value of sounds played with this submix.
SoundSubmix
TArray< TObjectPtr< USoundEffectSubmixPreset > > SubmixEffectChain
bool bMuteWhenBackgrounded
 Mute this submix when the application is muted or in the background. Used to prevent submix effect tails from continuing when tabbing out of application or if application is muted.
USoundfieldEncodingSettingsBase AmbisonicsPluginSettings
 Optional settings used by plugins which support ambisonics file playback.
SubmixLevel
FSoundModulationDestinationSettings DryLevelModulation
 The dry level of the submix in Decibels. Applied before submix effects and analysis are performed.
FSoundModulationDestinationSettings OutputVolumeModulation
 The output volume of the submix in Decibels. Applied after submix effects and analysis are performed.
FSoundModulationDestinationSettings WetLevelModulation
 The wet level of the submixin Decibels. Applied after submix effects and analysis are performed.
Variables
FOnSubmixRecordedFileDone OnSubmixRecordedFileDone
 Blueprint delegate for when a recorded file is finished exporting.
Public Attributes inherited from USoundSubmixWithParentBase
bool bIsDynamic
 Is Submix Dynamic. (i.e. allows connect/disconnect at runtime.) *.
USoundSubmixBase ParentSubmix
Public Attributes inherited from USoundSubmixBase
float32 AutoDisableTime
 The minimum amount of time to wait before automatically disabling a submix if it is silent. Will immediately re-enable if source audio is sent to it.
bool bAutoDisable
 Auto-manage enabling and disabling the submix as a CPU optimization. It will be disabled if the submix and all child submixes are silent. It will re-enable if a sound is sent to the submix or a child submix is audible.
TArray< TObjectPtr< USoundSubmixBase > > ChildSubmixes
 Child submixes to this sound mix.
Public Attributes inherited from UObject
const UClass Class
const UObject Outer
const UPackage Outermost
const UPackage Package
const UWorld World
const FName Name
const bool IsRooted

Detailed Description

Sound Submix class meant for applying an effect to the downmixed sum of multiple audio sources.

Member Function Documentation

◆ AddEnvelopeFollowerDelegate()

void AddEnvelopeFollowerDelegate ( FOnSubmixEnvelopeBP OnSubmixEnvelopeBP = FOnSubmixEnvelopeBP ( ))

Adds an envelope follower delegate to the submix when envelope following is enabled on this submix.

Parameters
OnSubmixEnvelopeBPEvent to fire when new envelope data is available.

◆ AddSpectralAnalysisDelegate()

void AddSpectralAnalysisDelegate ( TArray< FSoundSubmixSpectralAnalysisBandSettings > InBandSettings,
FOnSubmixSpectralAnalysisBP OnSubmixSpectralAnalysisBP = FOnSubmixSpectralAnalysisBP ( ),
float32 UpdateRate = 10.000000,
float32 DecibelNoiseFloor = - 40.000000,
bool bDoNormalize = true,
bool bDoAutoRange = false,
float32 AutoRangeAttackTime = 0.100000,
float32 AutoRangeReleaseTime = 60.000000 )

Adds a spectral analysis delegate to receive notifications when this submix has spectrum analysis enabled.

Parameters
InBandSettingsThe frequency bands to analyze and their envelope-following settings.
OnSubmixSpectralAnalysisBPEvent to fire when new spectral data is available.
UpdateRateHow often to retrieve the data from the spectral analyzer and broadcast the event. Max is 30 times per second.
DecibelNoiseFloorDecibel Noise Floor to consider as silence when using a Decibel Spectrum Type.
bDoNormalizeIf true, output band values will be normalized between zero and one.
bDoAutoRangeIf true, output band values will have their ranges automatically adjusted to the minimum and maximum values in the audio. Output band values will be normalized between zero and one.
AutoRangeAttackTimeThe time (in seconds) it takes for the range to expand to 90% of a larger range.
AutoRangeReleaseTimeThe time (in seconds) it takes for the range to shrink to 90% of a smaller range.

◆ GetbMuteWhenBackgrounded()

bool GetbMuteWhenBackgrounded ( ) const

Mute this submix when the application is muted or in the background. Used to prevent submix effect tails from continuing when tabbing out of application or if application is muted.

◆ GetbSendToAudioLink()

bool GetbSendToAudioLink ( ) const

Whether to send this Submix to AudioLink (when AudioLink is Enabled).

◆ RemoveSpectralAnalysisDelegate()

void RemoveSpectralAnalysisDelegate ( FOnSubmixSpectralAnalysisBP OnSubmixSpectralAnalysisBP = FOnSubmixSpectralAnalysisBP ( ))

Remove a spectral analysis delegate.

Parameters
OnSubmixSpectralAnalysisBPThe event delegate to remove.

◆ SetbMuteWhenBackgrounded()

void SetbMuteWhenBackgrounded ( bool Value)

Mute this submix when the application is muted or in the background. Used to prevent submix effect tails from continuing when tabbing out of application or if application is muted.

◆ SetbSendToAudioLink()

void SetbSendToAudioLink ( bool Value)

Whether to send this Submix to AudioLink (when AudioLink is Enabled).

◆ SetSubmixDryLevel()

void SetSubmixDryLevel ( float32 InDryLevel)

Sets the output volume of the submix in linear gain. This dynamic level acts as a multiplier on the DryLevel property of this submix.

◆ SetSubmixOutputVolume()

void SetSubmixOutputVolume ( float32 InOutputVolume)

Sets the output volume of the submix in linear gain. This dynamic volume acts as a multiplier on the OutputVolume property of this submix.

◆ SetSubmixWetLevel()

void SetSubmixWetLevel ( float32 InWetLevel)

Sets the output volume of the submix in linear gain. This dynamic level acts as a multiplier on the WetLevel property of this submix.

◆ StartEnvelopeFollowing()

void StartEnvelopeFollowing ( )

Start envelope following the submix output. Register with OnSubmixEnvelope to receive envelope follower data in BP.

◆ StartRecordingOutput()

void StartRecordingOutput ( float32 ExpectedDuration)

Start recording the audio from this submix.

◆ StartSpectralAnalysis()

void StartSpectralAnalysis ( EFFTSize FFTSize = EFFTSize :: DefaultSize,
EFFTPeakInterpolationMethod InterpolationMethod = EFFTPeakInterpolationMethod :: Linear,
EFFTWindowType WindowType = EFFTWindowType :: Hann,
float32 HopSize = 0.000000,
EAudioSpectrumType SpectrumType = EAudioSpectrumType :: MagnitudeSpectrum )

Start spectrum analysis of the audio output.

◆ StaticClass()

UClass StaticClass ( )
static

◆ StopEnvelopeFollowing()

void StopEnvelopeFollowing ( )

Start envelope following the submix output. Register with OnSubmixEnvelope to receive envelope follower data in BP.

◆ StopRecordingOutput()

void StopRecordingOutput ( EAudioRecordingExportType ExportType,
FString Name,
FString Path,
USoundWave ExistingSoundWaveToOverwrite = nullptr )

Finish recording the audio from this submix and export it as a wav file or a USoundWave.

◆ StopSpectralAnalysis()

void StopSpectralAnalysis ( )

Stop spectrum analysis of the audio output.

Member Data Documentation

◆ AmbisonicsPluginSettings

USoundfieldEncodingSettingsBase AmbisonicsPluginSettings

Optional settings used by plugins which support ambisonics file playback.

◆ AudioLinkSettings

UAudioLinkSettingsAbstract AudioLinkSettings

Optional Audio Link Settings Object.

◆ bMuteWhenBackgrounded

bool bMuteWhenBackgrounded

Mute this submix when the application is muted or in the background. Used to prevent submix effect tails from continuing when tabbing out of application or if application is muted.

◆ bSendToAudioLink

bool bSendToAudioLink

Whether to send this Submix to AudioLink (when AudioLink is Enabled).

◆ DryLevelModulation

The dry level of the submix in Decibels. Applied before submix effects and analysis are performed.

◆ EnvelopeFollowerAttackTime

int EnvelopeFollowerAttackTime

The attack time in milliseconds for the envelope follower. Delegate callbacks can be registered to get the envelope value of sounds played with this submix.

◆ EnvelopeFollowerReleaseTime

int EnvelopeFollowerReleaseTime

The release time in milliseconds for the envelope follower. Delegate callbacks can be registered to get the envelope value of sounds played with this submix.

◆ OnSubmixRecordedFileDone

FOnSubmixRecordedFileDone OnSubmixRecordedFileDone

Blueprint delegate for when a recorded file is finished exporting.

◆ OutputVolumeModulation

FSoundModulationDestinationSettings OutputVolumeModulation

The output volume of the submix in Decibels. Applied after submix effects and analysis are performed.

◆ SubmixEffectChain

◆ WetLevelModulation

The wet level of the submixin Decibels. Applied after submix effects and analysis are performed.