You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719 (and Release-17.00 @ 16658211) [CL 16763350 by aurel cordonnier in ue5-main branch]
82 lines
2.4 KiB
C++
82 lines
2.4 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "IAudioModulation.h"
|
|
#include "SoundModulationValue.h"
|
|
#include "UObject/Object.h"
|
|
#include "UObject/ObjectMacros.h"
|
|
#include "UObject/UnrealType.h"
|
|
|
|
#include "SoundControlBusMix.generated.h"
|
|
|
|
// Forward Declarations
|
|
class USoundControlBus;
|
|
|
|
|
|
USTRUCT(BlueprintType)
|
|
struct AUDIOMODULATION_API FSoundControlBusMixStage
|
|
{
|
|
GENERATED_USTRUCT_BODY()
|
|
|
|
FSoundControlBusMixStage();
|
|
FSoundControlBusMixStage(USoundControlBus* InBus, const float TargetValue);
|
|
|
|
/* Bus controlled by stage. */
|
|
UPROPERTY(EditAnywhere, Category = Stage, BlueprintReadWrite)
|
|
USoundControlBus* Bus;
|
|
|
|
/* Value mix is set to. */
|
|
UPROPERTY(EditAnywhere, Category = Stage, BlueprintReadWrite)
|
|
FSoundModulationMixValue Value;
|
|
};
|
|
|
|
UCLASS(config = Engine, autoexpandcategories = (Stage, Mix), editinlinenew, BlueprintType, MinimalAPI)
|
|
class USoundControlBusMix : public UObject
|
|
{
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
protected:
|
|
// Loads the mix from the provided profile index
|
|
UFUNCTION(Category = Mix, meta = (CallInEditor = "true"))
|
|
void LoadMixFromProfile();
|
|
|
|
// Saves the mix to the provided profile index
|
|
UFUNCTION(Category = Mix, meta = (CallInEditor = "true"))
|
|
void SaveMixToProfile();
|
|
|
|
// Solos this mix, deactivating all others and activating this
|
|
// (if its not already active), while testing in-editor in all
|
|
// active worlds
|
|
UFUNCTION(Category = Mix, meta = (CallInEditor = "true"))
|
|
void SoloMix();
|
|
|
|
// Activates this mix in all active worlds
|
|
UFUNCTION(Category = Mix, meta = (CallInEditor = "true"))
|
|
void ActivateMix();
|
|
|
|
// Deactivates this mix in all active worlds
|
|
UFUNCTION(Category = Mix, meta = (CallInEditor = "true"))
|
|
void DeactivateMix();
|
|
|
|
// Deactivates all mixes in all active worlds
|
|
UFUNCTION(Category = Mix, meta = (CallInEditor = "true"))
|
|
void DeactivateAllMixes();
|
|
|
|
public:
|
|
UPROPERTY(EditAnywhere, Transient, Category = Mix)
|
|
uint32 ProfileIndex;
|
|
|
|
virtual void BeginDestroy() override;
|
|
|
|
#if WITH_EDITOR
|
|
virtual void PostEditChangeProperty(FPropertyChangedEvent& InPropertyChangedEvent) override;
|
|
virtual void PostEditChangeChainProperty(FPropertyChangedChainEvent& InPropertyChangedEvent) override;
|
|
virtual void OnPropertyChanged(FProperty* Property, EPropertyChangeType::Type ChangeType);
|
|
#endif // WITH_EDITOR
|
|
|
|
/* Array of stages controlled by mix. */
|
|
UPROPERTY(EditAnywhere, Category = Mix, BlueprintReadOnly)
|
|
TArray<FSoundControlBusMixStage> MixStages;
|
|
};
|