VJ Master 1.0
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_encoderGetCaptureEncoder () 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_decoderGetPlaybackDecoder () const
void GetDeviceInfo (EAudioIOType AudioIOType, FString FindDeviceName)

Protected Attributes

ma_deviceCaptureDevice = nullptr
ma_encoderCaptureEncoder = nullptr
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

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:
  • H:/Games/Unreal/Aaron/FunWithShaders/Plugins/ST_VJMaster/Source/ST_AudioProcessing/Public/IO/Base/ST_AudioIOCaptureBase.h
  • H:/Games/Unreal/Aaron/FunWithShaders/Plugins/ST_VJMaster/Source/ST_AudioProcessing/Private/IO/Base/ST_AudioIOCaptureBase.cpp