Direct Effect¶
Typedefs¶
-
typedef struct _IPLDirectEffect_t *IPLDirectEffect¶
Filters and attenuates an audio signal based on various properties of the direct path between a point source and the listener.
Functions¶
-
IPLerror iplDirectEffectCreate(IPLContext context, IPLAudioSettings *audioSettings, IPLDirectEffectSettings *effectSettings, IPLDirectEffect *effect)¶
Creates a direct effect.
- Parameters
context – The context used to initialize Steam Audio.
audioSettings – Global audio processing settings.
effectSettings – The settings to use when creating the direct effect.
effect – [out] The created direct effect.
- Returns
Status code indicating whether or not the operation succeeded.
-
IPLDirectEffect iplDirectEffectRetain(IPLDirectEffect effect)¶
Retains an additional reference to a direct effect.
- Parameters
effect – The direct effect to retain a reference to.
- Returns
The additional reference to the direct effect.
-
void iplDirectEffectRelease(IPLDirectEffect *effect)¶
Releases a reference to a direct effect.
- Parameters
effect – The direct effect to release a reference to.
-
void iplDirectEffectReset(IPLDirectEffect effect)¶
Resets the internal processing state of a direct effect.
- Parameters
effect – The direct effect to reset.
-
IPLAudioEffectState iplDirectEffectApply(IPLDirectEffect effect, IPLDirectEffectParams *params, IPLAudioBuffer *in, IPLAudioBuffer *out)¶
Applies a direct effect to an audio buffer.
This effect CAN be applied in-place.
- Parameters
effect – The direct effect to apply.
params – Parameters for applying the effect.
in – The input audio buffer. Must have as many channels as specified when creating the effect.
out – The output audio buffer. Must have as many channels as specified when creating the effect.
- Returns
IPL_AUDIOEFFECTSTATE_TAILREMAINING
if any tail samples remain in the effect’s internal buffers, orIPL_AUDIOEFFECTSTATE_TAILCOMPLETE
otherwise.
Structures¶
-
struct IPLDirectEffectSettings¶
Settings used to create a direct effect.
-
struct IPLDirectEffectParams¶
Parameters for applying a direct effect to an audio buffer.
Public Members
-
IPLDirectEffectFlags flags¶
Flags indicating which direct path effects to apply.
-
IPLTransmissionType transmissionType¶
Mode of applying transmission effect, if
IPL_DIRECTEFFECTFLAGS_APPLYTRANSMISSION
is enabled.
-
IPLfloat32 distanceAttenuation¶
Value of distance attenuation, between 0 and 1.
-
IPLfloat32 airAbsorption[3]¶
3-band EQ coefficients for air absorption, each between 0 and 1.
-
IPLfloat32 directivity¶
Value of directivity term, between 0 and 1.
-
IPLfloat32 occlusion¶
Value of occlusion factor, between 0 and 1.
-
IPLfloat32 transmission[3]¶
3-band EQ coefficients for transmission, each between 0 and 1.
-
IPLDirectEffectFlags flags¶
Enumerations¶
-
enum IPLDirectEffectFlags¶
Flags indicating which direct path parameters to apply.
Values:
-
enumerator IPL_DIRECTEFFECTFLAGS_APPLYDISTANCEATTENUATION¶
Apply frequency-independent distance attenuation.
-
enumerator IPL_DIRECTEFFECTFLAGS_APPLYAIRABSORPTION¶
Apply frequency-dependent air absorption as a function of distance.
-
enumerator IPL_DIRECTEFFECTFLAGS_APPLYDIRECTIVITY¶
Apply attenuation due to source directivity pattern.
-
enumerator IPL_DIRECTEFFECTFLAGS_APPLYOCCLUSION¶
Apply occlusion.
-
enumerator IPL_DIRECTEFFECTFLAGS_APPLYTRANSMISSION¶
Apply transmission along with occlusion.
-
enumerator IPL_DIRECTEFFECTFLAGS_APPLYDISTANCEATTENUATION¶