FrontLeftOfCenter
FrontLeftOfCenter
#Overview
name: FrontLeftOfCenter
The value of this variable can be defined or overridden in .ini config files. 1
.ini config file referencing this setting variable.
It is referenced in 8
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of FrontLeftOfCenter is to represent a specific audio channel in Unreal Engine 5’s audio mixing system. This channel corresponds to a speaker or output position that is located slightly to the left of the center in front of the listener.
This setting variable is primarily used within the audio subsystem of Unreal Engine, specifically in the AudioMixer and Synthesis modules. It is an integral part of the engine’s surround sound and spatial audio capabilities.
The value of this variable is not set directly, but rather it is used as an enum value within the EAudioMixerChannel namespace. It is defined in the AudioMixer.h file and used across various audio-related functions and data structures.
FrontLeftOfCenter interacts with other audio channel variables, such as FrontRightOfCenter, FrontCenter, and other surround sound channels. It is often used in channel mapping, azimuth calculations, and audio format conversion processes.
Developers must be aware that this channel is part of a more complex surround sound setup and may not be present in all audio configurations. It’s typically used in 7.1 or higher channel configurations.
Best practices when using this variable include:
- Ensuring that the audio content is mixed properly to take advantage of this channel when it’s available.
- Implementing fallback strategies for systems that don’t support this channel.
- Using it in conjunction with the AudioMixer module’s functions for proper channel mapping and spatial audio calculations.
- Being mindful of its position (15 degrees azimuth) when designing spatial audio experiences.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEngine.ini:1577, section: [AudioChannelAzimuthMap]
- INI Section:
AudioChannelAzimuthMap
- Raw value:
15
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Runtime/Synthesis/Source/Synthesis/Private/SubmixChannelFormatConverter.cpp:15
Scope (from outer to inner):
file
namespace Audio
namespace SubmixChannelFormatConverterPrivate
Source code excerpt:
EAudioMixerChannel::FrontRight,
EAudioMixerChannel::FrontCenter,
EAudioMixerChannel::FrontLeftOfCenter,
EAudioMixerChannel::FrontRightOfCenter,
EAudioMixerChannel::TopFrontLeft,
EAudioMixerChannel::TopFrontRight,
EAudioMixerChannel::TopFrontCenter
}
);
#Loc: <Workspace>/Engine/Plugins/Runtime/Synthesis/Source/Synthesis/Private/SubmixChannelFormatConverter.cpp:30
Scope (from outer to inner):
file
namespace Audio
namespace SubmixChannelFormatConverterPrivate
Source code excerpt:
{ EAudioMixerChannel::FrontRight, { EAudioMixerChannel::BackRight, EAudioMixerChannel::SideRight, EAudioMixerChannel::TopBackRight } },
{ EAudioMixerChannel::FrontCenter, { EAudioMixerChannel::BackCenter, EAudioMixerChannel::TopCenter, EAudioMixerChannel::TopBackCenter } },
{ EAudioMixerChannel::FrontLeftOfCenter, { EAudioMixerChannel::BackLeft, EAudioMixerChannel::SideLeft, EAudioMixerChannel::TopBackLeft } },
{ EAudioMixerChannel::FrontRightOfCenter, { EAudioMixerChannel::BackRight, EAudioMixerChannel::SideRight, EAudioMixerChannel::TopBackRight } },
{ EAudioMixerChannel::TopFrontLeft, { EAudioMixerChannel::BackLeft, EAudioMixerChannel::SideLeft, EAudioMixerChannel::TopBackLeft } },
{ EAudioMixerChannel::TopFrontRight, { EAudioMixerChannel::BackRight, EAudioMixerChannel::SideRight, EAudioMixerChannel::TopBackRight } },
{ EAudioMixerChannel::TopFrontCenter, { EAudioMixerChannel::BackCenter, EAudioMixerChannel::TopCenter, EAudioMixerChannel::TopBackCenter } }
};
#Loc: <Workspace>/Engine/Plugins/Runtime/Synthesis/Source/Synthesis/Private/SubmixChannelFormatConverter.cpp:44
Scope (from outer to inner):
file
namespace Audio
namespace SubmixChannelFormatConverterPrivate
Source code excerpt:
{ EAudioMixerChannel::FrontRight, PairedRearChannelTypes[EAudioMixerChannel::FrontLeft] },
{ EAudioMixerChannel::FrontCenter, PairedRearChannelTypes[EAudioMixerChannel::FrontCenter] },
{ EAudioMixerChannel::FrontLeftOfCenter, PairedRearChannelTypes[EAudioMixerChannel::FrontRightOfCenter] },
{ EAudioMixerChannel::FrontRightOfCenter, PairedRearChannelTypes[EAudioMixerChannel::FrontLeftOfCenter] },
{ EAudioMixerChannel::TopFrontLeft, PairedRearChannelTypes[EAudioMixerChannel::TopFrontRight] },
{ EAudioMixerChannel::TopFrontRight, PairedRearChannelTypes[EAudioMixerChannel::TopFrontLeft] },
{ EAudioMixerChannel::TopFrontCenter, PairedRearChannelTypes[EAudioMixerChannel::TopFrontCenter] }
};
}
#Loc: <Workspace>/Engine/Source/Runtime/AudioMixer/Private/AudioMixerChannelMaps.cpp:237
Scope (from outer to inner):
file
namespace Audio
function void FMixerDevice::InitializeChannelAzimuthMap
Source code excerpt:
DefaultChannelAzimuthPositions[EAudioMixerChannel::BackLeft] = { EAudioMixerChannel::BackLeft, 210 };
DefaultChannelAzimuthPositions[EAudioMixerChannel::BackRight] = { EAudioMixerChannel::BackRight, 150 };
DefaultChannelAzimuthPositions[EAudioMixerChannel::FrontLeftOfCenter] = { EAudioMixerChannel::FrontLeftOfCenter, 15 };
DefaultChannelAzimuthPositions[EAudioMixerChannel::FrontRightOfCenter] = { EAudioMixerChannel::FrontRightOfCenter, 345 };
DefaultChannelAzimuthPositions[EAudioMixerChannel::BackCenter] = { EAudioMixerChannel::BackCenter, 180 };
DefaultChannelAzimuthPositions[EAudioMixerChannel::SideLeft] = { EAudioMixerChannel::SideLeft, 250 };
DefaultChannelAzimuthPositions[EAudioMixerChannel::SideRight] = { EAudioMixerChannel::SideRight, 110 };
// Check any engine ini overrides for these default positions
#Loc: <Workspace>/Engine/Source/Runtime/AudioMixer/Public/AudioMixerBlueprintLibrary.h:63
Scope: file
Source code excerpt:
BackLeft,
BackRight,
FrontLeftOfCenter,
FrontRightOfCenter,
BackCenter,
SideLeft,
SideRight,
TopCenter,
TopFrontLeft,
#Loc: <Workspace>/Engine/Source/Runtime/AudioMixer/Public/AudioMixerBlueprintLibrary.h:90
Scope (from outer to inner):
file
function inline const TCHAR* ToString
Source code excerpt:
case EAudioMixerChannelType::BackLeft: return TEXT("BackLeft");
case EAudioMixerChannelType::BackRight: return TEXT("BackRight");
case EAudioMixerChannelType::FrontLeftOfCenter: return TEXT("FrontLeftOfCenter");
case EAudioMixerChannelType::FrontRightOfCenter: return TEXT("FrontRightOfCenter");
case EAudioMixerChannelType::BackCenter: return TEXT("BackCenter");
case EAudioMixerChannelType::SideLeft: return TEXT("SideLeft");
case EAudioMixerChannelType::SideRight: return TEXT("SideRight");
case EAudioMixerChannelType::TopCenter: return TEXT("TopCenter");
case EAudioMixerChannelType::TopFrontLeft: return TEXT("TopFrontLeft");
#Loc: <Workspace>/Engine/Source/Runtime/AudioMixerCore/Public/AudioMixer.h:85
Scope (from outer to inner):
file
namespace EAudioMixerChannel
Source code excerpt:
BackLeft,
BackRight,
FrontLeftOfCenter,
FrontRightOfCenter,
BackCenter,
SideLeft,
SideRight,
TopCenter,
TopFrontLeft,
#Loc: <Workspace>/Engine/Source/Runtime/AudioMixerCore/Public/AudioMixer.h:114
Scope (from outer to inner):
file
namespace EAudioMixerChannel
function inline const TCHAR* ToString
Source code excerpt:
case BackLeft: return TEXT("BackLeft");
case BackRight: return TEXT("BackRight");
case FrontLeftOfCenter: return TEXT("FrontLeftOfCenter");
case FrontRightOfCenter: return TEXT("FrontRightOfCenter");
case BackCenter: return TEXT("BackCenter");
case SideLeft: return TEXT("SideLeft");
case SideRight: return TEXT("SideRight");
case TopCenter: return TEXT("TopCenter");
case TopFrontLeft: return TEXT("TopFrontLeft");