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

Base class for audio playback IO operations. More...

#include <ST_AudioIOPlaybackBase.h>

Public Member Functions

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 ()
virtual EAudioIOType GetAudioIOType () const
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_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 void DeinitializeAudioIO () override
 Deinitializes the audio IO subsystem, including device shutdown.
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
virtual bool InitializeAudioIO ()
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_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

Base class for audio playback IO operations.

Handles playback device management and decoding logic. Inherits from UST_AudioIOBase.

Member Function Documentation

◆ DeinitializeAudioIO()

void UST_AudioIOPlaybackBase::DeinitializeAudioIO ( )
overrideprotectedvirtual

Deinitializes the audio IO subsystem, including device shutdown.

Reimplemented from UST_AudioIOBase.

Reimplemented in UST_AudioPlaybackEnginePlayer, and UST_AudioPlaybackWaveform.

◆ GetAudioFormat()

EST_SampleFormat UST_AudioIOPlaybackBase::GetAudioFormat ( ) const
inlineoverridevirtual

Returns the current audio format.

Returns
the current audio format for the playback.

Reimplemented from UST_AudioIOBase.

◆ GetDecoderConfig()

FDecoderConfig UST_AudioIOPlaybackBase::GetDecoderConfig ( ) const
inline

Returns the configuration of the audio decoder.

Returns
The decoder configuration.

◆ GetPlaybackDecoder()

ma_decoder * UST_AudioIOPlaybackBase::GetPlaybackDecoder ( ) const
inlineoverrideprotectedvirtual

Retrieves the active audio decoder for playback.

Returns
Pointer to the Miniaudio decoder.

Reimplemented from UST_AudioIOBase.

◆ IsPlaying()

bool UST_AudioIOPlaybackBase::IsPlaying ( ) const
inline

Checks whether audio playback is currently active.

Returns
true if playback is active; false otherwise.

◆ MA_PlaybackCallBack()

void UST_AudioIOPlaybackBase::MA_PlaybackCallBack ( ma_device * pDevice,
void * pOutput,
const void * pInput,
ma_uint32 frameCount )
static

Callback for handling audio playback data.

Parameters
pDevicePointer to the Miniaudio device.
pOutputOutput buffer for the device.
pInputInput buffer (unused in playback).
frameCountNumber of frames to process.

◆ SetIsPlaying()

void UST_AudioIOPlaybackBase::SetIsPlaying ( bool value)
inlineprotected

Sets whether the system is currently playing audio.

Parameters
valueTrue to mark as playing, false otherwise.

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