VJ Master 1.0
Real-time audio analysis and visualisation.
Loading...
Searching...
No Matches
UST_AudioPlaybackWaveform Class Reference

A class responsible for managing audio playback with waveform data. More...

#include <ST_AudioPlaybackWaveform.h>

Public Member Functions

virtual EAudioIOType GetAudioIOType () const override
 Gets the type of audio I/O for this playback waveform.
Public Member Functions inherited from UST_AudioIOPlaybackBase
bool IsPlaying () const
 Checks whether audio playback is currently active.
FDecoderConfig GetDecoderConfig () const
 Returns the configuration of the audio decoder.
virtual EST_SampleFormat GetAudioFormat () const override
 Returns the current audio format.
Public Member Functions inherited from UST_AudioIOBase
 UST_AudioIOBase ()
 ~UST_AudioIOBase ()
bool Activate ()
void Deactivate ()
FAudioIOConfig GetAudioIOConfig () const
FFFTIOData GetFFTIOData () const
bool RegisterSampler (UObject *Sampler, bool bSamplerActivates=false)
void DeregisterSampler (UObject *Sampler, bool bZeroSamplersDeactivates=false)
template<typename InterfaceType>
bool ContainsInterface () const
FIntPoint GetIOId () const

Static Public Member Functions

static void MA_PlaybackWaveformCallBack (ma_device *pDevice, void *pOutput, const void *pInput, ma_uint32 frameCount)
 The callback function for audio playback of waveform data.
Static Public Member Functions inherited from UST_AudioIOPlaybackBase
static void MA_PlaybackCallBack (ma_device *pDevice, void *pOutput, const void *pInput, ma_uint32 frameCount)
 Callback for handling audio playback data.
Static Public Member Functions inherited from UST_AudioIOBase
static void MA_DataOrganiser (ma_device *pDevice, void *pSamples, uint64 PeriodSizeInFrames, ma_format Format, uint32 Channels)

Protected Member Functions

virtual bool InitializeAudioIO () override
 Initializes the audio I/O system for waveform playback.
virtual void DeinitializeAudioIO () override
 Deinitializes the audio I/O system for waveform playback.
Protected Member Functions inherited from UST_AudioIOPlaybackBase
virtual ma_decoderGetPlaybackDecoder () const override
 Retrieves the active audio decoder for playback.
void SetIsPlaying (bool value)
 Sets whether the system is currently playing audio.
Protected Member Functions inherited from UST_AudioIOBase
virtual void Initialize (FSubsystemCollectionBase &Collection) override
virtual void Deinitialize () override
void BuildFFTIOData (uint32 PeriodSizeInFrames, ma_format Format, uint32 SampleRate, uint32 Channels)
void DeinitializeFFT ()
virtual ma_encoderGetCaptureEncoder () const
void GetDeviceInfo (EAudioIOType AudioIOType, FString FindDeviceName)

Protected Attributes

ma_waveformWaveform = nullptr
 The waveform used for audio playback.
Protected Attributes inherited from UST_AudioIOPlaybackBase
ma_devicePlaybackDevice = nullptr
 Pointer to the Miniaudio playback device.
ma_decoderPlaybackDecoder = nullptr
 Pointer to the Miniaudio decoder for reading audio data.
Protected Attributes inherited from UST_AudioIOBase
bool bActivated = false
bool bIsProcessingFFT = false
FCriticalSection SamplerRegistrationMutex
TArray< UObject * > RegisteredSamplers
ma_device_idpDeviceID = NULL
 Pointer to the selected device ID.
ma_device_infopPlaybackDeviceInfos = nullptr
 Playback device information.
ma_device_infopCaptureDeviceInfos = nullptr
 Capture device information.
ma_uint32 playbackDeviceCount = 0
 Number of playback devices found.
ma_uint32 captureDeviceCount = 0
 Number of capture devices found.
FFFTIOData CachedFFTIOData
 Cached FFT IO data.
FAudioIOConfig CachedAudioIOConfig
 Cached audio IO configuration.

Additional Inherited Members

Public Attributes inherited from UST_AudioIOBase
FCriticalSection AudioBufferLock
void * SampledAudioBuffers [BufferCount] = { nullptr, nullptr }
void * CurrentAudioBuffer = nullptr
std::atomic< uint32 > ReadIndex
std::atomic< uint32 > WriteIndex
FOnAudioIOStatusChanged OnAudioIOStatusChanged
FOnRawMagnitudesReady OnRawMagnitudesReady
FOnFrequencyBandsReady OnFrequencyBandsReady
FOnAmplitudesReady OnAmplitudesReady
FOnPitchesReady OnPitchesReady
FOnBeatDetected OnBeatDetected
Static Public Attributes inherited from UST_AudioIOBase
static constexpr uint32 BufferCount = 2

Detailed Description

A class responsible for managing audio playback with waveform data.

Inherits from UST_AudioIOPlaybackBase and overrides audio I/O functionality for handling audio playback from waveform data.

Member Function Documentation

◆ DeinitializeAudioIO()

void UST_AudioPlaybackWaveform::DeinitializeAudioIO ( )
overrideprotectedvirtual

Deinitializes the audio I/O system for waveform playback.

This function ensures proper cleanup of any resources used by the playback system.

Reimplemented from UST_AudioIOPlaybackBase.

◆ GetAudioIOType()

EAudioIOType UST_AudioPlaybackWaveform::GetAudioIOType ( ) const
inlineoverridevirtual

Gets the type of audio I/O for this playback waveform.

Override to return the specific type for playback. This will indicate how the waveform is being played back and processed.

Returns
The type of the audio I/O, typically an EAudioIOType enumeration.

Reimplemented from UST_AudioIOBase.

◆ InitializeAudioIO()

bool UST_AudioPlaybackWaveform::InitializeAudioIO ( )
overrideprotectedvirtual

Initializes the audio I/O system for waveform playback.

This function sets up the necessary configuration for waveform audio playback. It overrides the base class method to ensure proper setup for playback.

Returns
true if initialization was successful; false otherwise.

Reimplemented from UST_AudioIOBase.

◆ MA_PlaybackWaveformCallBack()

void UST_AudioPlaybackWaveform::MA_PlaybackWaveformCallBack ( ma_device * pDevice,
void * pOutput,
const void * pInput,
ma_uint32 frameCount )
static

The callback function for audio playback of waveform data.

This function is called during the audio playback process, providing the necessary data to the audio device for output.

Parameters
pDeviceThe audio device to which the output is being sent.
pOutputPointer to the output buffer for audio data.
pInputPointer to the input buffer, if needed.
frameCountThe number of frames to process.

Member Data Documentation

◆ Waveform

ma_waveform* UST_AudioPlaybackWaveform::Waveform = nullptr
protected

The waveform used for audio playback.

This pointer holds the waveform data to be used for playback.


The documentation for this class was generated from the following files:
  • H:/Games/Unreal/Aaron/FunWithShaders/Plugins/ST_VJMaster/Source/ST_AudioProcessing/Public/IO/Playback/ST_AudioPlaybackWaveform.h
  • H:/Games/Unreal/Aaron/FunWithShaders/Plugins/ST_VJMaster/Source/ST_AudioProcessing/Private/IO/Playback/ST_AudioPlaybackWaveform.cpp