UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AudioParameterControllerInterface.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "AudioParameter.h"
6#include "Containers/Array.h"
8#include "HAL/Platform.h"
11#include "UObject/Interface.h"
12#include "UObject/NameTypes.h"
13#include "UObject/Object.h"
16
17#include "AudioParameterControllerInterface.generated.h"
18
19class UObject;
20struct FAudioParameter;
21struct FFrame;
22
23
24UINTERFACE(BlueprintType, meta = (CannotImplementInterfaceInBlueprint), MinimalAPI)
29
30// Base interface for any object implementing parameter control for a given sound instance controller.
32{
34
35public:
36 // Resets all parameters to their original values.
37 UFUNCTION(BlueprintCallable, Category = "Audio|Parameter")
39
40 // Executes a named trigger. Does *not* cache trigger value, so only executes if the sound
41 // is already playing. If the intent is for the trigger to execute immediately (if playing)
42 // and be called on initialization for all future instances, call 'SetBoolParameter' with the
43 // intended initial trigger behavior (true if trigger desired on initialization, false if not).
44 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Execute Trigger Parameter"), Category = "Audio|Parameter")
46
47 // Sets a named Boolean
48 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Boolean Parameter"), Category = "Audio|Parameter")
49 virtual void SetBoolParameter(FName InName, bool InBool) = 0;
50
51 // Sets a named Boolean Array
52 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Boolean Array Parameter"), Category = "Audio|Parameter")
53 virtual void SetBoolArrayParameter(FName InName, const TArray<bool>& InValue) = 0;
54
55 // Sets a named Int32
56 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Integer Parameter"), Category = "Audio|Parameter")
57 virtual void SetIntParameter(FName InName, int32 InInt) = 0;
58
59 // Sets a named Int32 Array
60 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Integer Array Parameter"), Category = "Audio|Parameter")
62
63 // Sets a named Float
64 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Float Parameter"), Category = "Audio|Parameter")
65 virtual void SetFloatParameter(FName InName, float InFloat) = 0;
66
67 // Sets a named Float Array
68 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Float Array Parameter"), Category = "Audio|Parameter")
69 virtual void SetFloatArrayParameter(FName InName, const TArray<float>& InValue) = 0;
70
71 // Sets a named String
72 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set String Parameter"), Category = "Audio|Parameter")
73 virtual void SetStringParameter(FName InName, const FString& InValue) = 0;
74
75 // Sets a named String Array
76 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set String Array Parameter"), Category = "Audio|Parameter")
77 virtual void SetStringArrayParameter(FName InName, const TArray<FString>& InValue) = 0;
78
79 // Sets a named UObject
80 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Object Parameter"), Category = "Audio|Parameter")
82
83 // Sets a named UObject Array
84 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Object Array Parameter"), Category = "Audio|Parameter")
86
87 // Sets an array of parameters as a batch
88 UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Parameters"), Category = "Audio|Parameter")
90
91 // Sets a named parameter to the given parameter structure value
93
94 // Sets an array of parameters as a batch
96
97 // Template Specialization for non-script clients.
98 template<typename DataType> void SetParameter(FName InName, DataType&&) = delete;
99 template<> void SetParameter(FName InName, bool&& InBool) { SetParameter({ InName, MoveTemp(InBool) }); }
100 template<> void SetParameter(FName InName, float&& InFloat) { SetParameter({ InName, MoveTemp(InFloat) }); }
101 template<> void SetParameter(FName InName, int32&& InInteger) { SetParameter({ InName, MoveTemp(InInteger) }); }
102 template<> void SetParameter(FName InName, FString&& InString) { SetParameter({ InName, MoveTemp(InString) }); }
103 template<> void SetParameter(FName InName, UObject*&& InObject) { SetParameter({ InName, MoveTemp(InObject) }); }
104 template<> void SetParameter(FName InName, TArray<bool>&& InBools) { SetParameter({ InName, MoveTemp(InBools)}); }
105 template<> void SetParameter(FName InName, TArray<float>&& InFloats) { SetParameter({ InName, MoveTemp(InFloats) }); }
106 template<> void SetParameter(FName InName, TArray<int32>&& InIntegers) { SetParameter({ InName, MoveTemp(InIntegers) }); }
107 template<> void SetParameter(FName InName, TArray<FString>&& InStrings) { SetParameter({ InName, MoveTemp(InStrings) }); }
108 template<> void SetParameter(FName InName, TArray<UObject*>&& InObjects) { SetParameter({ InName, MoveTemp(InObjects) }); }
109};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UINTERFACE(...)
Definition ObjectMacros.h:780
#define GENERATED_IINTERFACE_BODY(...)
Definition ObjectMacros.h:770
#define GENERATED_UINTERFACE_BODY(...)
Definition ObjectMacros.h:769
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition NameTypes.h:617
Definition AudioParameterControllerInterface.h:32
virtual void SetParameters(TArray< FAudioParameter > &&InValues)=0
virtual void SetTriggerParameter(FName InName)=0
void SetParameter(FName InName, TArray< float > &&InFloats)
Definition AudioParameterControllerInterface.h:105
void SetParameter(FName InName, float &&InFloat)
Definition AudioParameterControllerInterface.h:100
virtual void SetParameter(FAudioParameter &&InValue)=0
void SetParameter(FName InName, bool &&InBool)
Definition AudioParameterControllerInterface.h:99
void SetParameter(FName InName, int32 &&InInteger)
Definition AudioParameterControllerInterface.h:101
void SetParameter(FName InName, TArray< UObject * > &&InObjects)
Definition AudioParameterControllerInterface.h:108
virtual void SetIntParameter(FName InName, int32 InInt)=0
virtual void SetIntArrayParameter(FName InName, const TArray< int32 > &InValue)=0
void SetParameter(FName InName, TArray< int32 > &&InIntegers)
Definition AudioParameterControllerInterface.h:106
virtual void SetBoolParameter(FName InName, bool InBool)=0
virtual void SetBoolArrayParameter(FName InName, const TArray< bool > &InValue)=0
void SetParameter(FName InName, FString &&InString)
Definition AudioParameterControllerInterface.h:102
void SetParameter(FName InName, TArray< FString > &&InStrings)
Definition AudioParameterControllerInterface.h:107
virtual void SetFloatArrayParameter(FName InName, const TArray< float > &InValue)=0
virtual void SetObjectArrayParameter(FName InName, const TArray< UObject * > &InValue)=0
void SetParameter(FName InName, UObject *&&InObject)
Definition AudioParameterControllerInterface.h:103
void SetParameter(FName InName, TArray< bool > &&InBools)
Definition AudioParameterControllerInterface.h:104
virtual void SetObjectParameter(FName InName, UObject *InValue)=0
virtual void SetFloatParameter(FName InName, float InFloat)=0
virtual void SetStringParameter(FName InName, const FString &InValue)=0
virtual void SetParameters_Blueprint(const TArray< FAudioParameter > &InParameters)=0
virtual void SetStringArrayParameter(FName InName, const TArray< FString > &InValue)=0
Definition Interface.h:25
Definition Array.h:670
Definition AudioParameterControllerInterface.h:26
Definition Interface.h:19
Definition Object.h:95
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition AudioParameter.h:93
Definition Stack.h:114