82 lines
3.0 KiB
C
82 lines
3.0 KiB
C
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "CoreMinimal.h"
|
||
|
#include "Engine/DeveloperSettings.h"
|
||
|
#include "UObject/SoftObjectPtr.h"
|
||
|
#include "LyraAudioSettings.generated.h"
|
||
|
|
||
|
class USoundControlBusMix;
|
||
|
class USoundControlBus;
|
||
|
class USoundEffectSubmixPreset;
|
||
|
class USoundSubmix;
|
||
|
|
||
|
USTRUCT()
|
||
|
struct LYRAGAME_API FLyraSubmixEffectChainMap
|
||
|
{
|
||
|
GENERATED_BODY()
|
||
|
|
||
|
UPROPERTY(EditAnywhere, meta = (AllowedClasses = "SoundSubmix"))
|
||
|
TSoftObjectPtr<USoundSubmix> Submix = nullptr;
|
||
|
|
||
|
UPROPERTY(EditAnywhere, meta = (AllowedClasses = "SoundEffectSubmixPreset"))
|
||
|
TArray<TSoftObjectPtr<USoundEffectSubmixPreset>> SubmixEffectChain;
|
||
|
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
UCLASS(config = Game, defaultconfig, meta = (DisplayName = "LyraAudioSettings"))
|
||
|
class LYRAGAME_API ULyraAudioSettings : public UDeveloperSettings
|
||
|
{
|
||
|
GENERATED_BODY()
|
||
|
|
||
|
public:
|
||
|
|
||
|
/** The Default Base Control Bus Mix */
|
||
|
UPROPERTY(config, EditAnywhere, Category = MixSettings, meta = (AllowedClasses = "SoundControlBusMix"))
|
||
|
FSoftObjectPath DefaultControlBusMix;
|
||
|
|
||
|
/** The Loading Screen Control Bus Mix - Called during loading screens to cover background audio events */
|
||
|
UPROPERTY(config, EditAnywhere, Category = MixSettings, meta = (AllowedClasses = "SoundControlBusMix"))
|
||
|
FSoftObjectPath LoadingScreenControlBusMix;
|
||
|
|
||
|
/** The Default Base Control Bus Mix */
|
||
|
UPROPERTY(config, EditAnywhere, Category = UserMixSettings, meta = (AllowedClasses = "SoundControlBusMix"))
|
||
|
FSoftObjectPath UserSettingsControlBusMix;
|
||
|
|
||
|
/** Control Bus assigned to the Overall sound volume setting */
|
||
|
UPROPERTY(config, EditAnywhere, Category = UserMixSettings, meta = (AllowedClasses = "SoundControlBus"))
|
||
|
FSoftObjectPath OverallVolumeControlBus;
|
||
|
|
||
|
/** Control Bus assigned to the Music sound volume setting */
|
||
|
UPROPERTY(config, EditAnywhere, Category = UserMixSettings, meta = (AllowedClasses = "SoundControlBus"))
|
||
|
FSoftObjectPath MusicVolumeControlBus;
|
||
|
|
||
|
/** Control Bus assigned to the SoundFX sound volume setting */
|
||
|
UPROPERTY(config, EditAnywhere, Category = UserMixSettings, meta = (AllowedClasses = "SoundControlBus"))
|
||
|
FSoftObjectPath SoundFXVolumeControlBus;
|
||
|
|
||
|
/** Control Bus assigned to the Dialogue sound volume setting */
|
||
|
UPROPERTY(config, EditAnywhere, Category = UserMixSettings, meta = (AllowedClasses = "SoundControlBus"))
|
||
|
FSoftObjectPath DialogueVolumeControlBus;
|
||
|
|
||
|
/** Control Bus assigned to the VoiceChat sound volume setting */
|
||
|
UPROPERTY(config, EditAnywhere, Category = UserMixSettings, meta = (AllowedClasses = "SoundControlBus"))
|
||
|
FSoftObjectPath VoiceChatVolumeControlBus;
|
||
|
|
||
|
/** Submix Processing Chains to achieve high dynamic range audio output */
|
||
|
UPROPERTY(config, EditAnywhere, Category = EffectSettings)
|
||
|
TArray<FLyraSubmixEffectChainMap> HDRAudioSubmixEffectChain;
|
||
|
|
||
|
/** Submix Processing Chains to achieve low dynamic range audio output */
|
||
|
UPROPERTY(config, EditAnywhere, Category = EffectSettings)
|
||
|
TArray<FLyraSubmixEffectChainMap> LDRAudioSubmixEffectChain;
|
||
|
|
||
|
private:
|
||
|
|
||
|
|
||
|
};
|