UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ISoundfieldEndpointFactory Class Referenceabstract

#include <ISoundfieldEndpoint.h>

+ Inheritance diagram for ISoundfieldEndpointFactory:

Public Member Functions

virtual ~ISoundfieldEndpointFactory ()
 
virtual FName GetEndpointTypeName ()=0
 
AUDIOEXTENSIONS_API TUniquePtr< ISoundfieldDecoderStreamCreateDecoderStream (const FAudioPluginInitializationParams &InitInfo, const ISoundfieldEncodingSettingsProxy &InitialSettings) override
 
virtual TUniquePtr< ISoundfieldEndpointCreateNewEndpointInstance (const FAudioPluginInitializationParams &InitInfo, const ISoundfieldEndpointSettingsProxy &InitialSettings)=0
 
virtual UClassGetCustomEndpointSettingsClass () const
 
virtual USoundfieldEndpointSettingsBaseGetDefaultEndpointSettings ()=0
 
bool IsEndpointFormat () override
 
virtual AUDIOEXTENSIONS_API FName GetSoundfieldFormatName () override
 
virtual AUDIOEXTENSIONS_API bool CanTranscodeToSoundfieldFormat (FName DestinationFormat, const ISoundfieldEncodingSettingsProxy &DestinationEncodingSettings) override
 
- Public Member Functions inherited from ISoundfieldFactory
virtual ~ISoundfieldFactory ()
 
virtual TUniquePtr< ISoundfieldEncoderStreamCreateEncoderStream (const FAudioPluginInitializationParams &InitInfo, const ISoundfieldEncodingSettingsProxy &InitialSettings)=0
 
virtual TUniquePtr< ISoundfieldTranscodeStreamCreateTranscoderStream (const FName SourceFormat, const ISoundfieldEncodingSettingsProxy &InitialSourceSettings, const FName DestinationFormat, const ISoundfieldEncodingSettingsProxy &InitialDestinationSettings, const FAudioPluginInitializationParams &InitInfo)=0
 
virtual TUniquePtr< ISoundfieldMixerStreamCreateMixerStream (const ISoundfieldEncodingSettingsProxy &InitialSettings)=0
 
virtual TUniquePtr< ISoundfieldAudioPacketCreateEmptyPacket ()=0
 
virtual bool IsTranscodeRequiredBetweenSettings (const ISoundfieldEncodingSettingsProxy &SourceSettings, const ISoundfieldEncodingSettingsProxy &DestinationSettings)
 
virtual bool CanTranscodeFromSoundfieldFormat (FName SourceFormat, const ISoundfieldEncodingSettingsProxy &SourceEncodingSettings)=0
 
virtual bool ShouldEncodeAllStreamsIndependently (const ISoundfieldEncodingSettingsProxy &EncodingSettings)
 
virtual UClassGetCustomEncodingSettingsClass () const
 
virtual const USoundfieldEncodingSettingsBaseGetDefaultEncodingSettings ()=0
 

Static Public Member Functions

static FName GetModularFeatureName ()
 
static void RegisterEndpointType (ISoundfieldEndpointFactory *InFactory)
 
static void UnregisterEndpointType (ISoundfieldEndpointFactory *InFactory)
 
static AUDIOEXTENSIONS_API ISoundfieldEndpointFactoryGet (const FName &InName)
 
static AUDIOEXTENSIONS_API TArray< FNameGetAllSoundfieldEndpointTypes ()
 
static AUDIOEXTENSIONS_API FName DefaultSoundfieldEndpointName ()
 
- Static Public Member Functions inherited from ISoundfieldFactory
static AUDIOEXTENSIONS_API FName GetFormatNameForNoEncoding ()
 
static AUDIOEXTENSIONS_API FName GetFormatNameForInheritedEncoding ()
 
static AUDIOEXTENSIONS_API FName GetModularFeatureName ()
 
static AUDIOEXTENSIONS_API void RegisterSoundfieldFormat (ISoundfieldFactory *InFactory)
 
static AUDIOEXTENSIONS_API void UnregisterSoundfieldFormat (ISoundfieldFactory *InFactory)
 
static AUDIOEXTENSIONS_API ISoundfieldFactoryGet (const FName &InName)
 
static AUDIOEXTENSIONS_API TArray< FNameGetAvailableSoundfieldFormats ()
 

Detailed Description

This factory is used to expose Soundfield Endpoint types to the editor. Once a factory is constructed and RegisterEndpointType is called, it will be exposed as a type of endpoint That a submix in the submix graph could be constructed with. Also note that an implementation of ISoundfieldDecoder is not necessary for soundfield formats that are only used for soundfield endpoints.

Constructor & Destructor Documentation

◆ ~ISoundfieldEndpointFactory()

virtual ISoundfieldEndpointFactory::~ISoundfieldEndpointFactory ( )
inlinevirtual

Virtual destructor

Member Function Documentation

◆ CanTranscodeToSoundfieldFormat()

bool ISoundfieldEndpointFactory::CanTranscodeToSoundfieldFormat ( FName  DestinationFormat,
const ISoundfieldEncodingSettingsProxy DestinationEncodingSettings 
)
overridevirtual

Implements ISoundfieldFactory.

◆ CreateDecoderStream()

TUniquePtr< ISoundfieldDecoderStream > ISoundfieldEndpointFactory::CreateDecoderStream ( const FAudioPluginInitializationParams InitInfo,
const ISoundfieldEncodingSettingsProxy InitialSettings 
)
overridevirtual

This function is not necessary to override, since audio sent to an endpoint does not need to be decoded to interleaved audio buffers.

Implements ISoundfieldFactory.

◆ CreateNewEndpointInstance()

virtual TUniquePtr< ISoundfieldEndpoint > ISoundfieldEndpointFactory::CreateNewEndpointInstance ( const FAudioPluginInitializationParams InitInfo,
const ISoundfieldEndpointSettingsProxy InitialSettings 
)
pure virtual

REQUIRED OVERRIDES: These overrides are required from ISoundfieldFactory: ISoundfieldFactory::CreateNewEncoderStream ISoundfieldFactory::CreateNewTranscoderStream ISoundfieldFactory::CreateNewMixerStream ISoundfieldFactory::CreateEmptyPacket ISoundfieldFactory::CanTranscodeFromSoundfieldFormat ISoundfieldFactory::GetCustomEncodingSettingsClass ISoundfieldFactory::GetDefaultEncodingSettings Called for every new endpoint submix created with this factory's endpoint type.

◆ DefaultSoundfieldEndpointName()

FName ISoundfieldEndpointFactory::DefaultSoundfieldEndpointName ( )
static

This is the default name used when a user creates a soundfield endpoint submix. Soundfied Endpoint submixes with this type will send their audio to the default output with no encoding.

◆ Get()

ISoundfieldEndpointFactory * ISoundfieldEndpointFactory::Get ( const FName InName)
static

Get a registered endpoint factory by name.

◆ GetAllSoundfieldEndpointTypes()

TArray< FName > ISoundfieldEndpointFactory::GetAllSoundfieldEndpointTypes ( )
static

◆ GetCustomEndpointSettingsClass()

virtual UClass * ISoundfieldEndpointFactory::GetCustomEndpointSettingsClass ( ) const
inlinevirtual

Should return the StaticClass of this factory's implementation of USoundfieldEndpointSettingsBase.

◆ GetDefaultEndpointSettings()

virtual USoundfieldEndpointSettingsBase * ISoundfieldEndpointFactory::GetDefaultEndpointSettings ( )
pure virtual

return the settings an endpoint should use if a soundfield endpoint submix did not have their settings specified.

◆ GetEndpointTypeName()

virtual FName ISoundfieldEndpointFactory::GetEndpointTypeName ( )
pure virtual

Get the name for the endpoint type that this factory produces.

◆ GetModularFeatureName()

static FName ISoundfieldEndpointFactory::GetModularFeatureName ( )
inlinestatic

This is the FName used to register Soundfield Endpoint factories with the modular feature system.

◆ GetSoundfieldFormatName()

FName ISoundfieldEndpointFactory::GetSoundfieldFormatName ( )
overridevirtual

Get soundfield format name

Implements ISoundfieldFactory.

◆ IsEndpointFormat()

bool ISoundfieldEndpointFactory::IsEndpointFormat ( )
inlineoverridevirtual

This is overridden to return true for soundfield formats that are only used for sending audio externally. Rather than overriding this, consider implementing ISoundfieldEndpointFactory.

Reimplemented from ISoundfieldFactory.

◆ RegisterEndpointType()

static void ISoundfieldEndpointFactory::RegisterEndpointType ( ISoundfieldEndpointFactory InFactory)
inlinestatic

This needs to be called to make a soundfield format usable by the engine. It can be called from a ISoundfieldFactory subclass' constructor

◆ UnregisterEndpointType()

static void ISoundfieldEndpointFactory::UnregisterEndpointType ( ISoundfieldEndpointFactory InFactory)
inlinestatic

This needs to be called it an implementation of ISoundfieldFactory is about to be destroyed. It can be called from the destructor of an implementation of ISoundfieldFactory.


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