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"))
228 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Niagara", meta = (SessionRestartRequired, ClampMin =
"0.0", ClampMax =
"1.0", UIMin =
"0.0", UIMax =
"1.0"))
235 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Niagara", meta = (SessionRestartRequired, ClampMin =
"0.0", UIMin =
"0.0"))
242USTRUCT(BlueprintType)
252 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"DMX", meta = (SessionRestartRequired))
259USTRUCT(BlueprintType)
269 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Material", meta = (SessionRestartRequired))
276 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"MIDI", meta = (SessionRestartRequired))
282 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"MIDI", meta = (SessionRestartRequired))
289USTRUCT(BlueprintType)
296 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Niagara", meta = (SessionRestartRequired))
303USTRUCT(BlueprintType)
313 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Niagara", meta = (SessionRestartRequired, ClampMin =
"0.0", ClampMax =
"1.0", UIMin =
"0.0", UIMax =
"1.0"))
320 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Niagara", meta = (SessionRestartRequired, ClampMin =
"0.0", UIMin =
"0.0"))
329DECLARE_MULTICAST_DELEGATE_TwoParams(FOnPostEditChangePropertyDelegate_AVS, UObject*, FPropertyChangedEvent&);
340UCLASS(Config = ST_VJMaster, DefaultConfig, meta = (DisplayName =
"ST Audio Visualisation"))
350 UFUNCTION(BlueprintPure, Category =
"ShaderTech|AudioVisualisation")
353 return GetDefault<UST_AudioVisSettings>();
358 inline static FOnPostEditChangePropertyDelegate_AVS OnPostEditChangeProperty;
364 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override
366 Super::PostEditChangeProperty(PropertyChangedEvent);
368 OnPostEditChangeProperty.Broadcast(
this, PropertyChangedEvent);
377 UPROPERTY(config, EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (Bitmask, BitmaskEnum =
"/Script/ST_AudioProcessing.EAudioIOType", EditorRestartRequired))
386 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Audio", meta = (EditorRestartRequired))
392 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Display")
398 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Display")
404 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Display")
410 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
416 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
422 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
428 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
434 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
440 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Vis")
450 return TEXT(
"ShaderTech");
Audio Visualisation Settings class used for managing audio visualisation parameters.
Definition ST_AudioVisSettings.h:342
FPitchWaveformDisplay PitchWaveformDisplay
Definition ST_AudioVisSettings.h:405
static const UST_AudioVisSettings * GetST_AudioVisSettings()
Definition ST_AudioVisSettings.h:351
FVisDMX VisDMX
Definition ST_AudioVisSettings.h:429
bool bBindAudioSceneToWorld
Definition ST_AudioVisSettings.h:387
FVisNiagaraBeatDetection VisBeatDetection
Definition ST_AudioVisSettings.h:417
FVisNiagaraFrequency VisNiagaraFrequency
Definition ST_AudioVisSettings.h:441
FVisMPCData VisMPCData
Definition ST_AudioVisSettings.h:423
int32 Material_AudioIOs
Definition ST_AudioVisSettings.h:378
FVisMIDIControlled VisMIDIControlled
Definition ST_AudioVisSettings.h:435
FVisAudioReactiveBoidsData VisAudioReactiveBoidsData
Definition ST_AudioVisSettings.h:411
FFreqWaveformDisplay FreqWaveformDisplay
Definition ST_AudioVisSettings.h:393
FAmpWaveformDisplay AmpWaveformDisplay
Definition ST_AudioVisSettings.h:399
virtual FName GetCategoryName() const override
Definition ST_AudioVisSettings.h:448
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:244
FString PatchName
Definition ST_AudioVisSettings.h:253
Structure for material and MIDI-controlled visualization settings.
Definition ST_AudioVisSettings.h:261
FName DeviceName
Definition ST_AudioVisSettings.h:277
bool bUnregisterOnEndPlay
Definition ST_AudioVisSettings.h:283
TSoftObjectPtr< class UMaterialInterface > LEDMaterial
Definition ST_AudioVisSettings.h:270
Structure containing data for Material Parameter Collection (MPC) visualization and related audio set...
Definition ST_AudioVisSettings.h:175
float BeatCooldownTime
Definition ST_AudioVisSettings.h:236
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
float BeatSmoothing
Definition ST_AudioVisSettings.h:229
Structure for Niagara beat detection settings in the visualization.
Definition ST_AudioVisSettings.h:305
float BeatCooldownTime
Definition ST_AudioVisSettings.h:321
float SmoothingFactor
Definition ST_AudioVisSettings.h:314
Structure for Niagara frequency settings in the visualization.
Definition ST_AudioVisSettings.h:291
bool bNiagaraReadback
Definition ST_AudioVisSettings.h:297