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

Abstract base class for audio capture IO in ShaderTech Audio Processing. More...

#include <ST_AudioIOCaptureBase.h>

Public Member Functions

bool IsCapturing () const
 Checks if audio capture is currently active.
 
FEncoderConfig GetEncoderConfig () const
 Returns the current capture encoder configuration.
 
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_CaptureCallBack (ma_device *pDevice, void *pOutput, const void *pInput, ma_uint32 frameCount)
 Static callback for Miniaudio capture device.
 
- 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 audio IO specific to capture.
 
virtual ma_encoder * GetCaptureEncoder () const override
 Provides access to the active capture encoder.
 
void SetIsCapturing (bool bValue)
 Sets the internal capturing state.
 
- 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_decoder * GetPlaybackDecoder () const
 
void GetDeviceInfo (EAudioIOType AudioIOType, FString FindDeviceName)
 

Protected Attributes

ma_device * CaptureDevice = nullptr
 
ma_encoder * CaptureEncoder = nullptr
 
- 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

Abstract base class for audio capture IO in ShaderTech Audio Processing.

Handles audio capturing via Miniaudio and provides encoder access for subclasses.

Member Function Documentation

◆ DeinitializeAudioIO()

void UST_AudioIOCaptureBase::DeinitializeAudioIO ( )
overrideprotectedvirtual

Deinitializes audio IO specific to capture.

Reimplemented from UST_AudioIOBase.

◆ GetAudioFormat()

EST_SampleFormat UST_AudioIOCaptureBase::GetAudioFormat ( ) const
inlineoverridevirtual

Returns the current audio format.

Returns
the current audio format for the capture.

Reimplemented from UST_AudioIOBase.

◆ GetCaptureEncoder()

ma_encoder * UST_AudioIOCaptureBase::GetCaptureEncoder ( ) const
inlineoverrideprotectedvirtual

Provides access to the active capture encoder.

Returns
Pointer to the capture encoder.

Reimplemented from UST_AudioIOBase.

◆ GetEncoderConfig()

FEncoderConfig UST_AudioIOCaptureBase::GetEncoderConfig ( ) const
inline

Returns the current capture encoder configuration.

Returns
The encoder configuration used for capture.

◆ IsCapturing()

bool UST_AudioIOCaptureBase::IsCapturing ( ) const
inline

Checks if audio capture is currently active.

Returns
True if capturing, false otherwise.

◆ MA_CaptureCallBack()

void UST_AudioIOCaptureBase::MA_CaptureCallBack ( ma_device * pDevice,
void * pOutput,
const void * pInput,
ma_uint32 frameCount )
static

Static callback for Miniaudio capture device.

Processes captured audio frames.

Parameters
pDevicePointer to the Miniaudio device.
pOutputUnused output buffer (nullptr).
pInputCaptured audio input buffer.
frameCountNumber of audio frames captured.

◆ SetIsCapturing()

void UST_AudioIOCaptureBase::SetIsCapturing ( bool bValue)
inlineprotected

Sets the internal capturing state.

Parameters
bValueTrue to mark as capturing, false to mark as not capturing.

Member Data Documentation

◆ CaptureDevice

ma_device* UST_AudioIOCaptureBase::CaptureDevice = nullptr
protected

Pointer to the Miniaudio capture device.

◆ CaptureEncoder

ma_encoder* UST_AudioIOCaptureBase::CaptureEncoder = nullptr
protected

Pointer to the Miniaudio encoder used for captured data.


The documentation for this class was generated from the following files: