![]() |
SOUND4 IMPACT.CL Library [1.3.6]
|
Optimized processing with direct in->out. More...
Functions | |
void | impact_ProcessAudio (struct impact_CInstance *instance, const float *input, float *output) |
void | impact_ProcessAudio_Planar (struct impact_CInstance *instance, float const *const *input, float *const *output) |
float * | impact_GetBufferIn (struct impact_CInstance *instance) |
float * | impact_GetBufferOut (struct impact_CInstance *instance) |
unsigned int | impact_GetEstimatedDelay (struct impact_CInstance *instance) |
Optimized processing with direct in->out.
float * impact_GetBufferIn | ( | struct impact_CInstance * | instance | ) |
Get preallocated aligned buffer for audio input for impact_ProcessAudio
The buffer is a float[256 * impact_GetAudioInputCount() * impact_GetChannelCount()]
So for this process/version : float[256*1*2]
instance | the processing instance |
float * impact_GetBufferOut | ( | struct impact_CInstance * | instance | ) |
Get preallocated aligned buffer for audio output for impact_ProcessAudio()
The buffer is a float[256 * impact_GetAudioOutputCount() * impact_GetChannelCount()]
So for this process/version : float[256*1*2]
instance | the processing instance |
unsigned int impact_GetEstimatedDelay | ( | struct impact_CInstance * | instance | ) |
Get the delay (estimated) of current processing algorithm
void impact_ProcessAudio | ( | struct impact_CInstance * | instance, |
const float * | input, | ||
float * | output | ||
) |
Process an audio chunk
A chunk contains impact_GetProcessChunkFrames frames, set at init by frames_per_chunk in impact_InitProcess3
Input has impact_GetAudioInputCount() * impact_GetChannelCount() channels
Ouput has impact_GetAudioOutputCount() * impact_GetChannelCount() channels
Each sample is a native 32-bit floating-point number where 1.0 is full scale. Channels are interlaced, so the buffers are [L0,R0,L1,R1,...,Ln,Rn] (L=Left, R=Right)
In case of multiple audio input/output, buffer is [aL0,aR0,bL0,bR0,...,aLn,aRn,bLn,bRn]
instance | the processing instance |
input | audio input buffer (64 byte aligned) or NULL to use internal buffer impact_GetBufferIn |
output | audio output buffer (64 byte aligned) or NULL to use internal buffer impact_GetBufferOut |
void impact_ProcessAudio_Planar | ( | struct impact_CInstance * | instance, |
float const *const * | input, | ||
float *const * | output | ||
) |
Process an audio chunk of planar audio
A chunk contains impact_GetProcessChunkFrames frames, set at init by frames_per_chunk in impact_InitProcess3
Input has impact_GetAudioInputCount() * impact_GetChannelCount() channels
Ouput has impact_GetAudioOutputCount() * impact_GetChannelCount() channels
Each sample is a native 32-bit floating-point number where 1.0 is full scale. Channels are NOT interlaced, so the buffers are arrays of planar audio : [ [L0,L1,...,Ln] , [R0,R1,...,Rn] ] (L=Left, R=Right)
In case of multiple audio input/output, buffer are [ [aL...], [aR...], [bL...], [bR...], ... ]
instance | the processing instance |
input | array of audio input buffers for each input channel (no alignment required) |
output | array of audio output buffers for each input channel (no alignment required) |