VJ Master 1.3
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_decoder * GetPlaybackDecoder () 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_encoder * GetCaptureEncoder () const
 
void GetDeviceInfo (EAudioIOType AudioIOType, FString FindDeviceName)
 

Protected Attributes

ma_device * PlaybackDevice = nullptr
 Pointer to the Miniaudio playback device.
 
ma_decoder * PlaybackDecoder = 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_id * pDeviceID = NULL
 Pointer to the selected device ID.
 
ma_device_info * pPlaybackDeviceInfos = nullptr
 Playback device information.
 
ma_device_info * pCaptureDeviceInfos = 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, UST_AudioPlaybackNoise, 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: