au.DisableStoppingVoices

au.DisableStoppingVoices

#Overview

name: au.DisableStoppingVoices

The value of this variable can be defined or overridden in .ini config files. 2 .ini config files referencing this setting variable.

This variable is created as a Console Variable (cvar).

It is referenced in 4 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of au.DisableStoppingVoices is to control whether the stopping voices feature in the audio system is disabled or not. This setting variable is part of Unreal Engine’s audio system.

The Unreal Engine subsystem that relies on this setting variable is the Audio Device, as evidenced by its usage in the AudioDevice.cpp file.

The value of this variable is set through the console variable system. It’s defined as an FAutoConsoleVariableRef named CVarDisableStoppingVoices, which allows it to be changed at runtime through console commands.

This variable interacts with an associated integer variable named DisableStoppingVoicesCvar. The console variable au.DisableStoppingVoices directly controls the value of DisableStoppingVoicesCvar.

Developers must be aware that this variable is a boolean flag, where 0 means the stopping voices feature is enabled, and 1 means it’s disabled. The actual boolean value used in the code (bIsStoppingVoicesEnabled) is the inverse of this flag.

Best practices when using this variable include:

  1. Use it for debugging or performance testing purposes.
  2. Be cautious when disabling the stopping voices feature, as it may impact audio performance or behavior.
  3. Remember to re-enable the feature after testing, if necessary.

Regarding the associated variable DisableStoppingVoicesCvar:

The purpose of DisableStoppingVoicesCvar is to serve as the internal representation of the au.DisableStoppingVoices console variable within the C++ code.

This variable is used directly in the Audio Device subsystem to determine whether the stopping voices feature should be enabled or disabled.

The value of DisableStoppingVoicesCvar is set automatically by the console variable system when au.DisableStoppingVoices is changed.

It interacts with the boolean bIsStoppingVoicesEnabled, which is the inverse of DisableStoppingVoicesCvar.

Developers should be aware that changes to DisableStoppingVoicesCvar are reflected in the bIsStoppingVoicesEnabled flag during the FAudioDevice::Init and FAudioDevice::Update functions.

Best practices for using DisableStoppingVoicesCvar include:

  1. Avoid modifying this variable directly; instead, use the console variable au.DisableStoppingVoices.
  2. When reading this variable in code, remember that its meaning is inverted when applied to bIsStoppingVoicesEnabled.
  3. If adding new audio-related features, consider checking bIsStoppingVoicesEnabled rather than directly accessing DisableStoppingVoicesCvar.

#Setting Variables

#References In INI files

Location: <Workspace>/Projects/Lyra/Config/Android/AndroidEngine.ini:17, section: [ConsoleVariables]

Location: <Workspace>/Projects/Lyra/Config/IOS/IOSEngine.ini:12, section: [ConsoleVariables]

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/AudioDevice.cpp:56

Scope: file

Source code excerpt:

static int32 DisableStoppingVoicesCvar = 0;
FAutoConsoleVariableRef CVarDisableStoppingVoices(
	TEXT("au.DisableStoppingVoices"),
	DisableStoppingVoicesCvar,
	TEXT("Disables stopping voices feature.\n")
	TEXT("0: Not Disabled, 1: Disabled"),
	ECVF_Default);

static int32 ForceRealtimeDecompressionCvar = 0;

#Associated Variable and Callsites

This variable is associated with another variable named DisableStoppingVoicesCvar. They share the same value. See the following C++ source code.

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/AudioDevice.cpp:54

Scope: file

Source code excerpt:

	ECVF_Default);

static int32 DisableStoppingVoicesCvar = 0;
FAutoConsoleVariableRef CVarDisableStoppingVoices(
	TEXT("au.DisableStoppingVoices"),
	DisableStoppingVoicesCvar,
	TEXT("Disables stopping voices feature.\n")
	TEXT("0: Not Disabled, 1: Disabled"),
	ECVF_Default);

static int32 ForceRealtimeDecompressionCvar = 0;
FAutoConsoleVariableRef CVarForceRealtimeDecompression(

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/AudioDevice.cpp:515

Scope (from outer to inner):

file
function     bool FAudioDevice::Init

Source code excerpt:

	}

	bIsStoppingVoicesEnabled = !DisableStoppingVoicesCvar;

	bIsBakedAnalysisEnabled = (BakedAnalysisEnabledCVar == 1);

	const UAudioSettings* AudioSettings = GetDefault<UAudioSettings>();

	GlobalMinPitch = FMath::Max(AudioSettings->GlobalMinPitchScale, 0.0001f);

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/AudioDevice.cpp:4619

Scope (from outer to inner):

file
function     void FAudioDevice::Update

Source code excerpt:

	}

	bIsStoppingVoicesEnabled = !DisableStoppingVoicesCvar;

	// Update the master volume
	PrimaryVolume = GetTransientPrimaryVolume();
	
	if (!DisableAppVolumeCvar)
	{