VJ Master 1.0
Real-time audio analysis and visualisation.
Loading...
Searching...
No Matches
ST_AudioControlRTLEDBase.h
1// Copyright (c) 2025 Aaron Trotter (ShaderTech). All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Control/Base/ST_AudioControlBase.h"
7#include "Main/Base/ST_AudioControlManagerBase.h"
8#include "Engine/TextureRenderTarget2D.h"
9#include "ST_AudioControlRTLEDBase.generated.h"
10
14UCLASS(Abstract)
15class ST_AUDIOVISUALISATION_API AST_AudioControlRTLEDBase : public AST_AudioControlBase
16{
17 GENERATED_BODY()
18
19public:
22
27 UFUNCTION(BlueprintCallable, Category = "ShaderTech|AudioControl|Vis")
28 void SetRenderTarget(UTextureRenderTarget2D* _Target);
29
30protected:
32 virtual void BeginPlay() override;
33
35 virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
36
38 virtual void Tick(float DeltaTime) override;
39
45 bool CreateRenderTarget(FIntPoint PrevisResolution);
46
48 bool SetupSceneCapture();
49
56 bool SetupBuffers(FLEDConfig LEDConfig, FIntPoint LEDResolution);
57
58#if WITH_EDITORONLY_DATA
59public:
61 virtual void OnSelected() override;
62
64 virtual void OnUnselected() override;
65#endif
66
67protected:
69 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "ShaderTech|Camera")
70 class USceneCaptureComponent2D* SceneCapture = nullptr;
71
73 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "ShaderTech|UDP")
74 UTextureRenderTarget2D* RenderTarget = nullptr;
75
77 UPROPERTY(Transient)
78 TArray<FColor> MappedLEDColours;
79
81 UPROPERTY(Transient)
82 TArray<FColor> PrevisLEDColours;
83
85 UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = "ShaderTech|Camera")
86 TArray<TObjectPtr<AActor>> ShowOnlyActors;
87
89 UPROPERTY(Transient)
90 bool bRegistered = false;
91
93 UPROPERTY(Transient)
94 TArray<uint8> LEDColourByteArray;
95};
AST_AudioControlBase()
Definition ST_AudioControlBase.cpp:6
TArray< FColor > PrevisLEDColours
Definition ST_AudioControlRTLEDBase.h:82
bool SetupSceneCapture()
Definition ST_AudioControlRTLEDBase.cpp:68
virtual void Tick(float DeltaTime) override
Definition ST_AudioControlRTLEDBase.cpp:36
bool CreateRenderTarget(FIntPoint PrevisResolution)
Definition ST_AudioControlRTLEDBase.cpp:43
TArray< FColor > MappedLEDColours
Definition ST_AudioControlRTLEDBase.h:78
class USceneCaptureComponent2D * SceneCapture
Definition ST_AudioControlRTLEDBase.h:70
TArray< uint8 > LEDColourByteArray
Definition ST_AudioControlRTLEDBase.h:94
void SetRenderTarget(UTextureRenderTarget2D *_Target)
Definition ST_AudioControlRTLEDBase.cpp:109
UTextureRenderTarget2D * RenderTarget
Definition ST_AudioControlRTLEDBase.h:74
bool SetupBuffers(FLEDConfig LEDConfig, FIntPoint LEDResolution)
Definition ST_AudioControlRTLEDBase.cpp:82
virtual void BeginPlay() override
Definition ST_AudioControlRTLEDBase.cpp:21
AST_AudioControlRTLEDBase()
Definition ST_AudioControlRTLEDBase.cpp:10
bool bRegistered
Definition ST_AudioControlRTLEDBase.h:90
TArray< TObjectPtr< AActor > > ShowOnlyActors
Definition ST_AudioControlRTLEDBase.h:86
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override
Definition ST_AudioControlRTLEDBase.cpp:26
LED configuration for color formats and alpha mapping.
Definition ST_AudioControlSettings.h:139