![]() |
SOUND4 Plugin Host Library [1.0.2]
|
Functions | |
| void | plughost_ProcessAudio (struct plughost_CInstance *instance, const float *input, float *output) |
| void | plughost_ProcessAudio_Planar (struct plughost_CInstance *instance, float const *const *input, float *const *output) |
| float * | plughost_GetBufferIn (struct plughost_CInstance *instance) |
| float * | plughost_GetBufferOut (struct plughost_CInstance *instance) |
| unsigned int | plughost_GetEstimatedDelay (struct plughost_CInstance *instance) |
Optimized processing with direct in->out.
| float* plughost_GetBufferIn | ( | struct plughost_CInstance * | instance | ) |
Get preallocated aligned buffer for audio input for plughost_ProcessAudio()
The buffer is a float[256 * plughost_GetAudioInputCount() * plughost_GetChannelCount()]
So for this process/version : float[256*1*2]
| instance | the processing instance |
| float* plughost_GetBufferOut | ( | struct plughost_CInstance * | instance | ) |
Get preallocated aligned buffer for audio output for plughost_ProcessAudio()
The buffer is a float[256 * plughost_GetAudioOutputCount() * plughost_GetChannelCount()]
So for this process/version : float[256*1*2]
| instance | the processing instance |
| unsigned int plughost_GetEstimatedDelay | ( | struct plughost_CInstance * | instance | ) |
Get the delay (estimated) of current processing algorithm
| void plughost_ProcessAudio | ( | struct plughost_CInstance * | instance, |
| const float * | input, | ||
| float * | output | ||
| ) |
Process an audio chunk
A chunk contains plughost_GetProcessChunkFrames frames, set at init by frames_per_chunk in plughost_InitProcess3
Input has plughost_GetAudioInputCount() * plughost_GetChannelCount() channels
Ouput has plughost_GetAudioOutputCount() * plughost_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 plughost_GetBufferIn |
| output | audio output buffer (64 byte aligned) or NULL to use internal buffer plughost_GetBufferOut |
| void plughost_ProcessAudio_Planar | ( | struct plughost_CInstance * | instance, |
| float const *const * | input, | ||
| float *const * | output | ||
| ) |
Process an audio chunk of planar audio
A chunk contains plughost_GetProcessChunkFrames frames, set at init by frames_per_chunk in plughost_InitProcess3
Input has plughost_GetAudioInputCount() * plughost_GetChannelCount() channels
Ouput has plughost_GetAudioOutputCount() * plughost_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) |