9#include "SoundConcurrency.generated.h"
85 DisplayAfter = "bEnableMaxCountPlatformScaling",
86 EditCondition = "!bEnableMaxCountPlatformScaling",
88 UIMin = "1", ClampMin = "1"))
99 uint8 bVolumeScaleCanRelease : 1 = 0;
104 uint8 bEnableMaxCountPlatformScaling : 1 = 0;
112 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
Concurrency, meta = (UIMin = "0.0", ClampMin = "0.0"))
113 float RetriggerTime = 0.0f;
123 DisplayAfter = "bEnableMaxCountPlatformScaling",
124 EditCondition = "bEnableMaxCountPlatformScaling",
127 UIMin = "1", ClampMin = "1"))
138 UPROPERTY(EditAnywhere, Category = "
Volume Scaling", meta = (UIMin = "0.0", UIMax = "1.0", ClampMin = "0.0", ClampMax = "1.0"))
139 float VolumeScale = 1.0f;
143 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
Volume Scaling")
149 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
Volume Scaling", meta = (DisplayName = "
Duck Time", UIMin = "0.0", ClampMin = "0.0", UIMax = "10.0", ClampMax = "1000000.0"))
150 float VolumeScaleAttackTime = 0.01f;
157 DisplayAfter = "bVolumeScaleCanRelease",
163 ClampMax = "1000000.0"))
169 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
Voice Stealing", meta = (UIMin = "0.0", ClampMin = "0.0", UIMax = "1.0", ClampMax="1000000.0"))
170 float VoiceStealReleaseTime = 0.0f;
221 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Settings, meta = (ShowOnlyInnerProperties))
266 float DbTargetVolume;
274 , DbTargetVolume(0.0f)
275 , DbStartVolume(0.0f)
300 float LastTimePlayed = 0.0f;
415 void CreateNewGroupsFromHandles(
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UPARAM(...)
Definition ObjectMacros.h:748
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UMETA(...)
Definition ObjectMacros.h:747
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
TMap< FConcurrencyGroupID, FConcurrencyGroup * > FConcurrencyGroups
Definition SoundConcurrency.h:349
TMap< FSoundOwnerObjectID, FOwnerConcurrencyMapEntry > FOwnerConcurrencyMap
Definition SoundConcurrency.h:375
TMap< FSoundObjectID, FConcurrencyGroupID > FPerSoundToActiveSoundsMap
Definition SoundConcurrency.h:381
uint32 FConcurrencyObjectID
Definition SoundConcurrency.h:20
EConcurrencyVolumeScaleMode
Definition SoundConcurrency.h:62
uint32 FSoundObjectID
Definition SoundConcurrency.h:26
uint32 FSoundOwnerObjectID
Definition SoundConcurrency.h:23
uint32 FConcurrencyGroupID
Definition SoundConcurrency.h:17
TMap< FSoundOwnerObjectID, FSoundInstanceEntry > FOwnerPerSoundConcurrencyMap
Definition SoundConcurrency.h:378
TMap< FConcurrencyObjectID, FConcurrencyGroupID > FConcurrencyMap
Definition SoundConcurrency.h:362
EConcurrencyMode
Definition SoundConcurrency.h:234
Definition AudioDevice.h:417
Definition SoundConcurrency.h:291
static FConcurrencyGroupID GenerateNewID()
Definition SoundConcurrency.cpp:250
bool CanPlaySoundNow(float InCurrentTime) const
Definition SoundConcurrency.cpp:511
FConcurrencyGroupID GetGroupID() const
Definition SoundConcurrency.cpp:261
void RemoveActiveSound(FActiveSound &ActiveSound)
Definition SoundConcurrency.cpp:315
void CullSoundsDueToMaxConcurrency()
Definition SoundConcurrency.cpp:428
const FSoundConcurrencySettings & GetSettings() const
Definition SoundConcurrency.cpp:271
FConcurrencyObjectID GetObjectID() const
Definition SoundConcurrency.cpp:276
void AddActiveSound(FActiveSound &ActiveSound)
Definition SoundConcurrency.cpp:291
void SetLastTimePlayed(float InLastTimePlayed)
Definition SoundConcurrency.h:342
const TArray< FActiveSound * > & GetActiveSounds() const
Definition SoundConcurrency.cpp:256
bool IsFull() const
Definition SoundConcurrency.cpp:286
const int32 GetNextGeneration() const
Definition SoundConcurrency.cpp:266
void UpdateGeneration(FActiveSound *NewActiveSound=nullptr)
Definition SoundConcurrency.cpp:348
bool IsEmpty() const
Definition SoundConcurrency.cpp:281
Definition SoundConcurrency.h:385
void RemoveActiveSound(FActiveSound &ActiveSound)
Definition SoundConcurrency.cpp:991
void StopDueToVoiceStealing(FActiveSound &ActiveSound)
Definition SoundConcurrency.cpp:1066
void UpdateVolumeScaleGenerations()
Definition SoundConcurrency.cpp:1106
ENGINE_API ~FSoundConcurrencyManager()
Definition SoundConcurrency.cpp:530
FActiveSound * CreateNewActiveSound(const FActiveSound &NewActiveSound, bool bIsRetriggering)
Definition SoundConcurrency.cpp:617
void UpdateSoundsToCull()
Definition SoundConcurrency.cpp:1116
Definition EnumAsByte.h:22
Definition UnrealString.h.inl:34
Definition SoundConcurrency.h:217
Definition Voice.Build.cs:7
Definition SoundBase.h:40
Type
Definition SoundConcurrency.h:34
@ StopLowestPriority
Definition SoundConcurrency.h:48
@ StopFarthestThenOldest
Definition SoundConcurrency.h:45
@ StopQuietest
Definition SoundConcurrency.h:51
@ PreventNew
Definition SoundConcurrency.h:36
@ StopLowestPriorityThenPreventNew
Definition SoundConcurrency.h:54
@ StopOldest
Definition SoundConcurrency.h:39
@ StopFarthestThenPreventNew
Definition SoundConcurrency.h:42
Definition ActiveSound.h:283
Definition SoundConcurrency.h:243
const FSoundConcurrencySettings & Settings
Definition SoundConcurrency.h:244
EConcurrencyMode GetMode(const FActiveSound &ActiveSound) const
Definition SoundConcurrency.cpp:178
const bool bIsOverride
Definition SoundConcurrency.h:246
const FConcurrencyObjectID ObjectID
Definition SoundConcurrency.h:245
Definition SoundConcurrency.h:260
void SetTarget(float InTargetVolume, float InLerpTime)
Definition SoundConcurrency.cpp:234
int32 Generation
Definition SoundConcurrency.h:261
float GetTargetVolume(bool bInDecibels=false) const
Definition SoundConcurrency.cpp:218
FConcurrencySoundData()
Definition SoundConcurrency.h:270
float GetLerpTime() const
Definition SoundConcurrency.cpp:195
float GetVolume(bool bInDecibels=false) const
Definition SoundConcurrency.cpp:200
float LerpTime
Definition SoundConcurrency.h:262
Definition SoundConcurrency.h:365
FConcurrencyMap ConcurrencyObjectToConcurrencyGroup
Definition SoundConcurrency.h:366
FOwnerConcurrencyMapEntry(FConcurrencyObjectID ConcurrencyObjectID, FConcurrencyGroupID GroupID)
Definition SoundConcurrency.h:368
Definition SoundConcurrency.h:75
Definition SoundConcurrency.h:352
FSoundInstanceEntry(FSoundObjectID SoundObjectID, FConcurrencyGroupID GroupID)
Definition SoundConcurrency.h:355
TMap< FSoundObjectID, FConcurrencyGroupID > SoundInstanceToConcurrencyGroup
Definition SoundConcurrency.h:353