VJ Master 1.3
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 "Main/ST_AudioProcessingSettings.h"
12#include "ST_AudioVisFunctionLibrary.generated.h"
13
14class UNiagaraComponent;
15
22UCLASS()
23class ST_AUDIOVISUALISATION_API UST_AudioVisFunctionLibrary : public UBlueprintFunctionLibrary
24{
25 GENERATED_BODY()
26
27public:
34 static void SetSTAudioBuffers(UNiagaraComponent* NiagaraSystem, FName OverrideName,
35 FST_AudioIOData_GameThread InST_AudioIOData_GT);
36
43 static void SetSTAudioIODataSize(UNiagaraComponent* NiagaraSystem, FName OverrideName,
44 uint32 InIODataSize);
45
53 static void SetSTReactiveBoids(UNiagaraComponent* NiagaraSystem, FName OverrideName, int32 numBoids, TRefCountPtr<FRDGPooledBuffer> InBuffer);
54
62 static void UpdateGlobalBuffer_OnAudioIOStatusChanged(bool bIsActive, FIntPoint IOId, uint32 AudioIOCount, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
63
71 static void UpdateGlobalBuffer_OnFrequencyBandsReady(const TArray<float>& FrequencyBands, int32 NumFrequencyBands, FIntPoint IOId, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
72
79 static void UpdateGlobalBuffer_OnAmplitudesReady(const TArray<float>& Amplitudes, FIntPoint IOId, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
80
87 static void UpdateGlobalBuffer_OnPitchesReady(const TArray<float>& Pitches, FIntPoint IOId, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
88
96 static void UpdateGlobalBuffer_OnBeatDetected(const TArray<float>& Beats, const TArray<FChannelBeatDetection>& BeatDetectionForChannel, FIntPoint IOId, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
97
104 static void UpdateGlobalBuffer_AudioIOActivated(FIntPoint IOId, uint32 AudioIOCount, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
105
111 static void UpdateGlobalBuffer_AudioIODeactivated(FIntPoint IOId, FST_AudioIOData_GameThread& ST_AudioIOData_GT);
112};
A function library that provides static methods to interact with audio visualization systems.
Definition ST_AudioVisFunctionLibrary.h:24
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_OnFrequencyBandsReady(const TArray< float > &FrequencyBands, int32 NumFrequencyBands, FIntPoint IOId, FST_AudioIOData_GameThread &ST_AudioIOData_GT)
Definition ST_AudioVisFunctionLibrary.cpp:180
static void UpdateGlobalBuffer_OnBeatDetected(const TArray< float > &Beats, const TArray< FChannelBeatDetection > &BeatDetectionForChannel, FIntPoint IOId, FST_AudioIOData_GameThread &ST_AudioIOData_GT)
Definition ST_AudioVisFunctionLibrary.cpp:200
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