VJ Master 1.0
Real-time audio analysis and visualisation.
Loading...
Searching...
No Matches
ST_M_VisMPC.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_VisBase.h"
7#include "ST_M_VisMPC.generated.h"
8
12UCLASS()
13class ST_AUDIOVISUALISATION_API AST_M_VisMPC : public AST_VisBase
14{
15 GENERATED_BODY()
16
17protected:
24 virtual bool SetConstantParameters() override;
25
32 virtual bool SetDynamicParameters() override;
33
35 virtual void Tick(float DeltaTime) override;
36
44 virtual void OnAudioIOStatusChanged_Implementation(bool bIsActive, FIntPoint IOId) override;
45
54 virtual void OnFrequencyBandsReady_Implementation(const TArray<float>& FrequencyBands, int32 NumFrequencyBands, FIntPoint IOId) override;
55
63 virtual void OnAmplitudesReady_Implementation(const TArray<float>& Amplitudes, FIntPoint IOId) override;
64
72 virtual void OnPitchesReady_Implementation(const TArray<float>& Pitches, FIntPoint IOId) override;
73
80 virtual void OnBeatDetected_Implementation(const TArray<float>& Beats, const TArray<bool>& BeatDetectedForChannel, FIntPoint IOId) override;
81
83 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Transient, Category = "ShaderTech|Material")
84 float ReactiveTime = 0.0f;
85
87 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Transient, Category = "ShaderTech|Material")
88 float Amplitude = 0.0f;
89
91 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Transient, Category = "ShaderTech|Material")
92 float Pitch = 0.0f;
93
95 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "ShaderTech|Material")
96 int32 BeatsPerMinute = 0;
97
98private:
100 UPROPERTY(Transient)
101 TArray<class UST_AudioIOBase*> RegisteredIOs;
102
106 UPROPERTY(Transient)
107 float TimeSinceLastBeat = 0.0f;
108
112 UPROPERTY(Transient)
113 float ElapsedCooldownTime = 0.0f;
114};
This actor is responsible for handling audio data and applying it to material parameters for visual e...
Definition ST_M_VisMPC.h:14
virtual void Tick(float DeltaTime) override
Definition ST_M_VisMPC.cpp:119
virtual void OnFrequencyBandsReady_Implementation(const TArray< float > &FrequencyBands, int32 NumFrequencyBands, FIntPoint IOId) override
Definition ST_M_VisMPC.cpp:56
virtual void OnBeatDetected_Implementation(const TArray< float > &Beats, const TArray< bool > &BeatDetectedForChannel, FIntPoint IOId) override
Definition ST_M_VisMPC.cpp:90
float Pitch
Definition ST_M_VisMPC.h:92
float ReactiveTime
Definition ST_M_VisMPC.h:84
virtual bool SetConstantParameters() override
Definition ST_M_VisMPC.cpp:10
virtual bool SetDynamicParameters() override
Definition ST_M_VisMPC.cpp:26
int32 BeatsPerMinute
Definition ST_M_VisMPC.h:96
virtual void OnPitchesReady_Implementation(const TArray< float > &Pitches, FIntPoint IOId) override
Definition ST_M_VisMPC.cpp:78
virtual void OnAudioIOStatusChanged_Implementation(bool bIsActive, FIntPoint IOId) override
Definition ST_M_VisMPC.cpp:45
float Amplitude
Definition ST_M_VisMPC.h:88
virtual void OnAmplitudesReady_Implementation(const TArray< float > &Amplitudes, FIntPoint IOId) override
Definition ST_M_VisMPC.cpp:66
AST_VisBase()
Definition ST_VisBase.cpp:8
Base class for Audio IO functionality in ShaderTech.
Definition ST_AudioIOBase.h:38