VJ Master 1.0
Real-time audio analysis and visualisation.
Loading...
Searching...
No Matches
ST_AudioVisFunctionLibrary.h
1// Copyright (c) 2025 Aaron Trotter (ShaderTech). All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Kismet/BlueprintFunctionLibrary.h"
7#include "RenderGraphBuilder.h"
8#include "GlobalShader.h"
9#include "RenderGraphResources.h"
10#include "Data/ST_AudioIOLib.h"
11#include "ST_AudioVisFunctionLibrary.generated.h"
12
13class UNiagaraComponent;
14
21UCLASS()
22class ST_AUDIOVISUALISATION_API UST_AudioVisFunctionLibrary : public UBlueprintFunctionLibrary
23{
24 GENERATED_BODY()
25
26public:
33 static void SetSTAudioBuffers(UNiagaraComponent* NiagaraSystem, FName OverrideName,
34 FST_AudioIOData_GameThread InST_AudioIOData_GT);
35
42 static void SetSTAudioIODataSize(UNiagaraComponent* NiagaraSystem, FName OverrideName,
43 uint32 InIODataSize);
44
52 static void SetSTReactiveBoids(UNiagaraComponent* NiagaraSystem, FName OverrideName, int32 numBoids, TRefCountPtr<FRDGPooledBuffer> InBuffer);
53
61 static void UpdateGlobalBuffer_OnAudioIOStatusChanged(bool bIsActive, FIntPoint IOId, uint32 AudioIOCount, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
62
70 static void UpdateGlobalBuffer_OnFrequencyBandsReady(const TArray<float>& FrequencyBands, int32 NumFrequencyBands, FIntPoint IOId, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
71
78 static void UpdateGlobalBuffer_OnAmplitudesReady(const TArray<float>& Amplitudes, FIntPoint IOId, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
79
86 static void UpdateGlobalBuffer_OnPitchesReady(const TArray<float>& Pitches, FIntPoint IOId, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
87
95 static void UpdateGlobalBuffer_OnBeatDetected(const TArray<float>& Beats, const TArray<bool>& BeatDetectedForChannel, FIntPoint IOId, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
96
103 static void UpdateGlobalBuffer_AudioIOActivated(FIntPoint IOId, uint32 AudioIOCount, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
104
110 static void UpdateGlobalBuffer_AudioIODeactivated(FIntPoint IOId, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
111};
A function library that provides static methods to interact with audio visualization systems.
Definition ST_AudioVisFunctionLibrary.h:23
static void UpdateGlobalBuffer_OnAudioIOStatusChanged(bool bIsActive, FIntPoint IOId, uint32 AudioIOCount, FST_AudioIOData_GameThread &ST_AudioIOData_GT)
Definition ST_AudioVisFunctionLibrary.cpp:29
static void SetSTAudioBuffers(UNiagaraComponent *NiagaraSystem, FName OverrideName, FST_AudioIOData_GameThread InST_AudioIOData_GT)
Definition ST_AudioVisFunctionLibrary.cpp:12
static void UpdateGlobalBuffer_OnBeatDetected(const TArray< float > &Beats, const TArray< bool > &BeatDetectedForChannel, FIntPoint IOId, FST_AudioIOData_GameThread &ST_AudioIOData_GT)
Definition ST_AudioVisFunctionLibrary.cpp:200
static void UpdateGlobalBuffer_OnFrequencyBandsReady(const TArray< float > &FrequencyBands, int32 NumFrequencyBands, FIntPoint IOId, FST_AudioIOData_GameThread &ST_AudioIOData_GT)
Definition ST_AudioVisFunctionLibrary.cpp:180
static void UpdateGlobalBuffer_AudioIOActivated(FIntPoint IOId, uint32 AudioIOCount, FST_AudioIOData_GameThread &ST_AudioIOData_GT)
Definition ST_AudioVisFunctionLibrary.cpp:41
static void UpdateGlobalBuffer_OnPitchesReady(const TArray< float > &Pitches, FIntPoint IOId, FST_AudioIOData_GameThread &ST_AudioIOData_GT)
Definition ST_AudioVisFunctionLibrary.cpp:142
static void SetSTReactiveBoids(UNiagaraComponent *NiagaraSystem, FName OverrideName, int32 numBoids, TRefCountPtr< FRDGPooledBuffer > InBuffer)
Definition ST_AudioVisFunctionLibrary.cpp:21
static void UpdateGlobalBuffer_AudioIODeactivated(FIntPoint IOId, FST_AudioIOData_GameThread &ST_AudioIOData_GT)
Definition ST_AudioVisFunctionLibrary.cpp:119
static void UpdateGlobalBuffer_OnAmplitudesReady(const TArray< float > &Amplitudes, FIntPoint IOId, FST_AudioIOData_GameThread &ST_AudioIOData_GT)
Definition ST_AudioVisFunctionLibrary.cpp:161
static void SetSTAudioIODataSize(UNiagaraComponent *NiagaraSystem, FName OverrideName, uint32 InIODataSize)
Struct that holds audio I/O data for the game thread.
Definition ST_AudioIOLib.h:31