VJ Master 1.0
Real-time audio analysis and visualisation.
Loading...
Searching...
No Matches
ST_SocketManager.h
1// Copyright (c) 2025 Aaron Trotter (ShaderTech). All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Main/Base/ST_AudioControlManagerBase.h"
7#include "Socket/ST_SocketControlInterface.h"
8#include "Main/ST_AudioControlSettings.h"
9#include "SocketSubsystem.h"
10#include "Sockets.h"
11#include "IPAddress.h"
12#include "ST_SocketManager.generated.h"
13
21UCLASS()
23{
24 GENERATED_BODY()
25
26public:
29
30public:
36 UFUNCTION(BlueprintCallable, Category = "ShaderTech|AudioControl|Socket")
37 static UST_SocketManager* GetInstance(const UObject* context);
38
44 UFUNCTION(BlueprintCallable, Category = "ShaderTech|AudioControl|Socket")
45 bool SendLEDUDPPacket(TArray<uint8> LEDColourByteArray);
46
50 UFUNCTION(BlueprintCallable, Category = "ShaderTech|AudioControl|Socket")
51 void SendDummyUDPPacket();
52
56 UFUNCTION(BlueprintCallable, Category = "ShaderTech|AudioControl|Socket")
58
59protected:
63 UPROPERTY(Transient)
64 TArray<uint8> Fragment;
65
71 virtual void OnManagedItemRegistered(UObject* ManagedItem, bool bFirstManagedItemRegistered) override;
72
78 virtual void OnManagedItemDeregistered(UObject* ManagedItem, bool bAllManagedItemDeregistered) override;
79
85 virtual void OnControllerRegistered(FST_AudioController Controller, bool bFirstControllerRegistered) override;
86
92 virtual void OnControllerDeregistered(FST_AudioController Controller, bool bAllControllersDeregistered) override;
93
97 void CreateSocket();
98
102 void DestroySocket();
103
107 UPROPERTY(Transient)
108 TArray<UObject*> SocketControls;
109
110private:
114 FSocket* Socket = nullptr;
115
119 TSharedPtr<FInternetAddr> RemoteAddress = nullptr;
120};
Native interface for socket control lifecycle.
Definition ST_SocketControlInterface.h:30
UST_AudioControlManagerBase()
Constructor for UST_AudioControlManagerBase.
Definition ST_AudioControlManagerBase.cpp:8
UST_SocketManager()
Definition ST_SocketManager.cpp:13
void SendDummyStringUDPPacket()
Definition ST_SocketManager.cpp:191
TArray< uint8 > Fragment
Definition ST_SocketManager.h:64
void CreateSocket()
Definition ST_SocketManager.cpp:71
TArray< UObject * > SocketControls
Definition ST_SocketManager.h:108
static UST_SocketManager * GetInstance(const UObject *context)
Definition ST_SocketManager.cpp:19
bool SendLEDUDPPacket(TArray< uint8 > LEDColourByteArray)
Definition ST_SocketManager.cpp:124
virtual void OnManagedItemDeregistered(UObject *ManagedItem, bool bAllManagedItemDeregistered) override
Definition ST_SocketManager.cpp:45
virtual void OnManagedItemRegistered(UObject *ManagedItem, bool bFirstManagedItemRegistered) override
Definition ST_SocketManager.cpp:36
virtual void OnControllerDeregistered(FST_AudioController Controller, bool bAllControllersDeregistered) override
Definition ST_SocketManager.cpp:62
void DestroySocket()
Definition ST_SocketManager.cpp:112
void SendDummyUDPPacket()
Definition ST_SocketManager.cpp:178
virtual void OnControllerRegistered(FST_AudioController Controller, bool bFirstControllerRegistered) override
Definition ST_SocketManager.cpp:54
Represents a basic audio controller reference.
Definition ST_AudioControlSettings.h:73