You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Version up source archetypes to become two interfaces: channel interfaces (mono/stereo) & base source namespace - Clean-up Interface panel to support namespacing better - Fix bugs with assuming interfaces are always and the only base namespace members - Allow namespacing for any arbitrary interface member - Add lock icon to clarify what interface members cannot be modified individually (i.e. cannot add, remove, or rename them as they are interface members) - Organize members alphabetically #jira UE-135000 #rnx #rb phil.popp #preflight 61a7d1079c77d610079303ec #ROBOMERGE-AUTHOR: rob.gay #ROBOMERGE-SOURCE: CL 18344347 in //UE5/Release-5.0/... via CL 18344412 #ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469) [CL 18344446 by rob gay in ue5-release-engine-test branch]
94 lines
4.5 KiB
C++
94 lines
4.5 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "AudioParameter.h"
|
|
#include "Containers/Array.h"
|
|
#include "IAudioProxyInitializer.h"
|
|
#include "UObject/Interface.h"
|
|
#include "UObject/NameTypes.h"
|
|
#include "UObject/Object.h"
|
|
|
|
#include "AudioParameterControllerInterface.generated.h"
|
|
|
|
|
|
UINTERFACE(BlueprintType, meta = (CannotImplementInterfaceInBlueprint))
|
|
class AUDIOEXTENSIONS_API UAudioParameterControllerInterface : public UInterface
|
|
{
|
|
GENERATED_UINTERFACE_BODY()
|
|
};
|
|
|
|
// Base interface for any object implementing a
|
|
class AUDIOEXTENSIONS_API IAudioParameterControllerInterface : public IInterface
|
|
{
|
|
GENERATED_IINTERFACE_BODY()
|
|
|
|
public:
|
|
// Resets all parameters to their original values.
|
|
UFUNCTION(BlueprintCallable, Category = "Audio|Parameter")
|
|
virtual void ResetParameters() = 0;
|
|
|
|
// Triggers a named trigger
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Trigger Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetTriggerParameter(FName InName) = 0;
|
|
|
|
// Sets a named Boolean
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Boolean Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetBoolParameter(FName InName, bool InBool) = 0;
|
|
|
|
// Sets a named Boolean Array
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Boolean Array Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetBoolArrayParameter(FName InName, const TArray<bool>& InValue) = 0;
|
|
|
|
// Sets a named Int32
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Integer Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetIntParameter(FName InName, int32 InInt) = 0;
|
|
|
|
// Sets a named Int32 Array
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Integer Array Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetIntArrayParameter(FName InName, const TArray<int32>& InValue) = 0;
|
|
|
|
// Sets a named Float
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Float Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetFloatParameter(FName InName, float InFloat) = 0;
|
|
|
|
// Sets a named Float Array
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Float Array Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetFloatArrayParameter(FName InName, const TArray<float>& InValue) = 0;
|
|
|
|
// Sets a named String
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set String Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetStringParameter(FName InName, const FString& InValue) = 0;
|
|
|
|
// Sets a named String Array
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set String Array Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetStringArrayParameter(FName InName, const TArray<FString>& InValue) = 0;
|
|
|
|
// Sets a named UObject
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Object Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetObjectParameter(FName InName, UObject* InValue) = 0;
|
|
|
|
// Sets a named UObject Array
|
|
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Set Object Array Parameter"), Category = "Audio|Parameter")
|
|
virtual void SetObjectArrayParameter(FName InName, const TArray<UObject*>& InValue) = 0;
|
|
|
|
// Sets a named parameter to the given parameter structure value
|
|
virtual void SetParameter(FAudioParameter&& InValue) = 0;
|
|
|
|
// Sets an array of parameters as a batch
|
|
virtual void SetParameters(TArray<FAudioParameter>&& InValues) = 0;
|
|
|
|
// Template Specialization for non-script clients.
|
|
template<typename DataType> void SetParameter(FName InName, DataType&&) = delete;
|
|
template<> void SetParameter(FName InName, bool&& InBool) { SetBoolParameter(InName, InBool); }
|
|
template<> void SetParameter(FName InName, float&& InFloat) { SetFloatParameter(InName, InFloat); }
|
|
template<> void SetParameter(FName InName, int32&& InInteger) { SetIntParameter(InName, InInteger); }
|
|
template<> void SetParameter(FName InName, FString&& InString) { SetStringParameter(InName, InString); }
|
|
template<> void SetParameter(FName InName, UObject*&& InObject) { SetObjectParameter(InName, InObject); }
|
|
template<> void SetParameter(FName InName, TArray<bool>&& InBools) { SetBoolArrayParameter(InName, InBools); }
|
|
template<> void SetParameter(FName InName, TArray<float>&& InFloats) { SetFloatArrayParameter(InName, InFloats); }
|
|
template<> void SetParameter(FName InName, TArray<int32>&& InIntegers) { SetIntArrayParameter(InName, InIntegers); }
|
|
template<> void SetParameter(FName InName, TArray<FString>&& InStrings) { SetStringArrayParameter(InName, InStrings); }
|
|
template<> void SetParameter(FName InName, TArray<UObject*>&& InObjects) { SetObjectArrayParameter(InName, InObjects); }
|
|
};
|