RealtimeStyleTransferRuntime/Source/LyraGame/Audio/LyraAudioSettings.h

84 lines
3.0 KiB
C
Raw Permalink Normal View History

2022-05-23 18:41:30 +00:00
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
2022-09-13 07:18:28 +00:00
#include "Containers/Array.h"
2022-05-23 18:41:30 +00:00
#include "Engine/DeveloperSettings.h"
2022-09-13 07:18:28 +00:00
#include "UObject/SoftObjectPath.h"
2022-05-23 18:41:30 +00:00
#include "UObject/SoftObjectPtr.h"
2022-09-13 07:18:28 +00:00
#include "UObject/UObjectGlobals.h"
2022-05-23 18:41:30 +00:00
#include "LyraAudioSettings.generated.h"
2022-09-13 07:18:28 +00:00
class UObject;
2022-05-23 18:41:30 +00:00
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:
};