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) |
| bool | MA_IsDataAvailable (uint64 PeriodSizeInFrames) |
| void | MA_ReadRealtimePcmRB (uint64 PeriodSizeInFrames, ma_format Format, uint32 Channels) |
| void | MA_DataOrganiser (void *pSamples, uint64 PeriodSizeInFrames, ma_format Format, uint32 Channels) |
| 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_DataAvailable (ma_device *pDevice) |
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. | |
| ma_pcm_rb | RealtimePcmRingBuffer |
| Lock-free PCM ring buffer for passing audio from the realtime callback to the FFT worker thread. | |
| ma_uint32 | RealtimePcmRBFrameCapacity = 0 |
| Fixed maximum number of audio frames the ring buffer can hold. | |
| TArray< uint8 > | RealtimePcmRBBackingMemory |
| Preallocated backing memory used by the ring buffer (no runtime allocations). | |
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 |
Abstract base class for audio capture IO in ShaderTech Audio Processing.
Handles audio capturing via Miniaudio and provides encoder access for subclasses.
|
overrideprotectedvirtual |
Deinitializes audio IO specific to capture.
Reimplemented from UST_AudioIOBase.
|
inlineoverridevirtual |
Returns the current audio format.
Reimplemented from UST_AudioIOBase.
|
inlineoverrideprotectedvirtual |
Provides access to the active capture encoder.
Reimplemented from UST_AudioIOBase.
|
inline |
Returns the current capture encoder configuration.
|
inline |
Checks if audio capture is currently active.
|
static |
Static callback for Miniaudio capture device.
Processes captured audio frames.
| pDevice | Pointer to the Miniaudio device. |
| pOutput | Unused output buffer (nullptr). |
| pInput | Captured audio input buffer. |
| frameCount | Number of audio frames captured. |
|
inlineprotected |
Sets the internal capturing state.
| bValue | True to mark as capturing, false to mark as not capturing. |
|
protected |
Pointer to the Miniaudio capture device.
|
protected |
Pointer to the Miniaudio encoder used for captured data.