VJ Master 1.0
Real-time audio analysis and visualisation.
Loading...
Searching...
No Matches
ST_OSCManager.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 "OSC/ST_OSControlInterface.h"
8#include "Main/ST_AudioControlSettings.h"
9#include "ST_OSCManager.generated.h"
10
20UCLASS()
21class ST_AUDIOCONTROL_API UST_OSCManager : public UST_AudioControlManagerBase, public IST_OSControlInterface
22{
23 GENERATED_BODY()
24
25public:
28
29public:
35 UFUNCTION(BlueprintCallable, Category = "ShaderTech|AudioControl|OSC")
36 static UST_OSCManager* GetInstance(const UObject* context);
37
44 UFUNCTION(BlueprintCallable, Category = "ShaderTech|AudioControl|OSC")
45 bool SendLEDOSCBlob(TArray<uint8> LEDColourByteArray, FString Address);
46
52 UFUNCTION(BlueprintCallable, Category = "ShaderTech|AudioControl|OSC")
53 bool SendDummyOSCBlob(FString Address);
54
55protected:
60 UPROPERTY(Transient)
61 TArray<uint8> Fragment;
62
68 virtual void OnManagedItemRegistered(UObject* ManagedItem, bool bFirstManagedItemRegistered) override;
69
75 virtual void OnManagedItemDeregistered(UObject* ManagedItem, bool bAllManagedItemDeregistered) override;
76
82 virtual void OnControllerRegistered(FST_AudioController Controller, bool bFirstControllerRegistered) override;
83
89 virtual void OnControllerDeregistered(FST_AudioController Controller, bool bAllControllersDeregistered) override;
90
94 void CreateClient();
95
99 void DestroyClient();
100
101private:
103 UPROPERTY(Transient)
104 class UOSCClient* OSCClient = nullptr;
105};
Native interface class for OSC Control, to be implemented in C++.
Definition ST_OSControlInterface.h:29
UST_AudioControlManagerBase()
Constructor for UST_AudioControlManagerBase.
Definition ST_AudioControlManagerBase.cpp:8
bool SendDummyOSCBlob(FString Address)
Definition ST_OSCManager.cpp:144
bool SendLEDOSCBlob(TArray< uint8 > LEDColourByteArray, FString Address)
Definition ST_OSCManager.cpp:94
virtual void OnControllerDeregistered(FST_AudioController Controller, bool bAllControllersDeregistered) override
Definition ST_OSCManager.cpp:63
virtual void OnManagedItemRegistered(UObject *ManagedItem, bool bFirstManagedItemRegistered) override
Definition ST_OSCManager.cpp:37
void DestroyClient()
Definition ST_OSCManager.cpp:85
void CreateClient()
Definition ST_OSCManager.cpp:72
TArray< uint8 > Fragment
Definition ST_OSCManager.h:61
static UST_OSCManager * GetInstance(const UObject *context)
Definition ST_OSCManager.cpp:20
UST_OSCManager()
Definition ST_OSCManager.cpp:14
virtual void OnManagedItemDeregistered(UObject *ManagedItem, bool bAllManagedItemDeregistered) override
Definition ST_OSCManager.cpp:46
virtual void OnControllerRegistered(FST_AudioController Controller, bool bFirstControllerRegistered) override
Definition ST_OSCManager.cpp:55
Represents a basic audio controller reference.
Definition ST_AudioControlSettings.h:73