5#include "CoreMinimal.h"
6#include "Engine/DeveloperSettings.h"
7#include "Materials/MaterialParameterCollection.h"
8#include "Main/ST_AudioControlSettings.h"
9#include "Data/ST_AudioReactiveBoidsLib.h"
10#include "NiagaraSystem.h"
11#include "ST_AudioVisSettings.generated.h"
17enum class ESpectrumColours : uint8
20 Solid UMETA(DisplayName =
"Solid"),
23 Random UMETA(DisplayName =
"Random"),
26 RandomRange UMETA(DisplayName =
"RandomRange"),
29 Wheel UMETA(DisplayName =
"Wheel"),
32 WheelMapped UMETA(DisplayName =
"WheelMapped"),
35 WheelIntensity UMETA(DisplayName =
"WheelIntensity"),
38 Gradient UMETA(DisplayName =
"Gradient"),
41 GradientMapped UMETA(DisplayName =
"GradientMapped"),
44 GradientIntensity UMETA(DisplayName =
"GradientIntensity")
51enum class EAudioMeasurement : uint8
54 Frequency UMETA(DisplayName =
"Frequency"),
57 Amplitude UMETA(DisplayName =
"Amplitude"),
60 Pitch UMETA(DisplayName =
"Pitch")
73 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
77 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
81 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
95 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
102USTRUCT(BlueprintType)
109 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
116USTRUCT(BlueprintType)
123 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
130USTRUCT(BlueprintType)
137 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Boids")
141 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Boids")
145 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Boids")
152 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Boids", meta = (SessionRestartRequired))
159 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Boids", meta = (SessionRestartRequired))
166 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Boids", meta = (SessionRestartRequired))
173USTRUCT(BlueprintType)
183 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Material", meta = (SessionRestartRequired))
187 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
191 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
195 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
199 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
203 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
210 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (ClampMin =
"0.0", ClampMax =
"1.0", UIMin =
"0.0", UIMax =
"1.0"))
214 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
221 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (ClampMin =
"0.0", ClampMax =
"1.0", UIMin =
"0.0", UIMax =
"1.0"))
228USTRUCT(BlueprintType)
238 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"DMX", meta = (SessionRestartRequired))
245USTRUCT(BlueprintType)
255 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Material", meta = (SessionRestartRequired))
262 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"MIDI", meta = (SessionRestartRequired))
268 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"MIDI", meta = (SessionRestartRequired))
275USTRUCT(BlueprintType)
282 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Niagara", meta = (SessionRestartRequired))
291DECLARE_MULTICAST_DELEGATE_TwoParams(FOnPostEditChangePropertyDelegate_AVS, UObject*, FPropertyChangedEvent&);
302UCLASS(Config = ST_VJMaster, DefaultConfig, meta = (DisplayName =
"ST Audio Visualisation"))
312 UFUNCTION(BlueprintPure, Category =
"ShaderTech|AudioVisualisation")
315 return GetDefault<UST_AudioVisSettings>();
320 inline static FOnPostEditChangePropertyDelegate_AVS OnPostEditChangeProperty;
326 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override
328 Super::PostEditChangeProperty(PropertyChangedEvent);
330 OnPostEditChangeProperty.Broadcast(
this, PropertyChangedEvent);
339 UPROPERTY(config, EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (Bitmask, BitmaskEnum =
"/Script/ST_AudioProcessing.EAudioIOType", EditorRestartRequired))
348 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Audio", meta = (EditorRestartRequired))
354 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Display")
360 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Display")
366 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Display")
372 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
378 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
384 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
390 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
396 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
406 return TEXT(
"ShaderTech");
Audio Visualisation Settings class used for managing audio visualisation parameters.
Definition ST_AudioVisSettings.h:304
FPitchWaveformDisplay PitchWaveformDisplay
Definition ST_AudioVisSettings.h:367
static const UST_AudioVisSettings * GetST_AudioVisSettings()
Definition ST_AudioVisSettings.h:313
FVisDMX VisDMX
Definition ST_AudioVisSettings.h:385
bool bBindAudioSceneToWorld
Definition ST_AudioVisSettings.h:349
FVisNiagaraFrequency VisNiagaraFrequency
Definition ST_AudioVisSettings.h:397
FVisMPCData VisMPCData
Definition ST_AudioVisSettings.h:379
int32 Material_AudioIOs
Definition ST_AudioVisSettings.h:340
FVisMIDIControlled VisMIDIControlled
Definition ST_AudioVisSettings.h:391
FVisAudioReactiveBoidsData VisAudioReactiveBoidsData
Definition ST_AudioVisSettings.h:373
FFreqWaveformDisplay FreqWaveformDisplay
Definition ST_AudioVisSettings.h:355
FAmpWaveformDisplay AmpWaveformDisplay
Definition ST_AudioVisSettings.h:361
virtual FName GetCategoryName() const override
Definition ST_AudioVisSettings.h:404
Struct to hold constant parameters for VJ boids, such as the number of boids.
Definition ST_AudioReactiveBoidsLib.h:131
Struct to hold dynamic parameters for VJ boids, such as simulation speed, max speed,...
Definition ST_AudioReactiveBoidsLib.h:145
Struct to hold reactive dynamic parameters for boids, such as audio-reactive noise multipliers and fr...
Definition ST_AudioReactiveBoidsLib.h:196
Structure representing the data for reactive boids in audio visualizations.
Definition ST_AudioVisSettings.h:132
FST_VJ_ReactiveBoidDynamicParameters ReactiveBoidDynamicParameters
Definition ST_AudioVisSettings.h:146
TSoftObjectPtr< UNiagaraSystem > BoidsEmitterVFX
Definition ST_AudioVisSettings.h:167
EAudioIOType ReactiveMaterialAmplitude_IO
Definition ST_AudioVisSettings.h:160
FST_VJ_BoidDynamicParameters BoidDynamicParameters
Definition ST_AudioVisSettings.h:142
FST_VJ_BoidConstantParameters BoidConstantParameters
Definition ST_AudioVisSettings.h:138
TSoftObjectPtr< class UMaterialInterface > BoidsMaterial
Definition ST_AudioVisSettings.h:153
Structure for DMX settings, including patch name.
Definition ST_AudioVisSettings.h:230
FString PatchName
Definition ST_AudioVisSettings.h:239
Structure for material and MIDI-controlled visualization settings.
Definition ST_AudioVisSettings.h:247
FName DeviceName
Definition ST_AudioVisSettings.h:263
bool bUnregisterOnEndPlay
Definition ST_AudioVisSettings.h:269
TSoftObjectPtr< class UMaterialInterface > LEDMaterial
Definition ST_AudioVisSettings.h:256
Structure containing data for Material Parameter Collection (MPC) visualization and related audio set...
Definition ST_AudioVisSettings.h:175
float PitchSmoothing
Definition ST_AudioVisSettings.h:222
UMaterialParameterCollection * MaterialParameterCollection
Definition ST_AudioVisSettings.h:184
float PitchMultiplier
Definition ST_AudioVisSettings.h:215
int32 SampleFrequencyBand
Definition ST_AudioVisSettings.h:188
float AmplitudeMultiplier
Definition ST_AudioVisSettings.h:204
float TimeMultiplier
Definition ST_AudioVisSettings.h:200
float AmplitudeSmoothing
Definition ST_AudioVisSettings.h:211
int32 SamplePitchHistoryIndex
Definition ST_AudioVisSettings.h:196
int32 SampleAmplitudeHistoryIndex
Definition ST_AudioVisSettings.h:192
Structure for Niagara frequency settings in the visualization.
Definition ST_AudioVisSettings.h:277
bool bNiagaraReadback
Definition ST_AudioVisSettings.h:283