Ambisonics Rotation Effect

Typedefs

typedef struct _IPLAmbisonicsRotationEffect_t *IPLAmbisonicsRotationEffect

Applies a rotation to an Ambisonics audio buffer.

The input buffer is assumed to describe a sound field in “world space”. The output buffer is then the same sound field, but expressed relative to the listener’s orientation.

Functions

IPLerror iplAmbisonicsRotationEffectCreate(IPLContext context, IPLAudioSettings *audioSettings, IPLAmbisonicsRotationEffectSettings *effectSettings, IPLAmbisonicsRotationEffect *effect)

Creates an Ambisonics rotation effect.

Parameters
  • context – The context used to initialize Steam Audio.

  • audioSettings – Global audio processing settings.

  • effectSettings – The settings to use when creating the Ambisonics rotation effect.

  • effect – [out] The created Ambisonics rotation effect.

Returns

Status code indicating whether or not the operation succeeded.

IPLAmbisonicsRotationEffect iplAmbisonicsRotationEffectRetain(IPLAmbisonicsRotationEffect effect)

Retains an additional reference to an Ambisonics rotation effect.

Parameters

effect – The Ambisonics rotation effect to retain a reference to.

Returns

The additional reference to the Ambisonics rotation effect.

void iplAmbisonicsRotationEffectRelease(IPLAmbisonicsRotationEffect *effect)

Releases a reference to an Ambisonics rotation effect.

Parameters

effect – The Ambisonics rotation effect to release a reference to.

void iplAmbisonicsRotationEffectReset(IPLAmbisonicsRotationEffect effect)

Resets the internal processing state of an Ambisonics rotation effect.

Parameters

effect – The Ambisonics rotation effect to reset.

IPLAudioEffectState iplAmbisonicsRotationEffectApply(IPLAmbisonicsRotationEffect effect, IPLAmbisonicsRotationEffectParams *params, IPLAudioBuffer *in, IPLAudioBuffer *out)

Applies an Ambisonics rotation effect to an audio buffer.

This effect CANNOT be applied in-place.

Parameters
  • effect – The Ambisonics rotation effect to apply.

  • params – Parameters for applying the effect.

  • in – The input audio buffer. Must have as many channels as needed for the Ambisonics order specified when creating the effect.

  • out – The output audio buffer. Must have as many channels as needed for the Ambisonics order specified when creating the effect.

Returns

IPL_AUDIOEFFECTSTATE_TAILCOMPLETE to indicate that this effect does not generate any tail samples.

Structures

struct IPLAmbisonicsRotationEffectSettings

Settings used to create an Ambisonics rotation effect.

Public Members

IPLint32 maxOrder

The maximum Ambisonics order that will be used by input audio buffers.

struct IPLAmbisonicsRotationEffectParams

Parameters for applying an Ambisonics rotation effect to an audio buffer.

Public Members

IPLCoordinateSpace3 orientation

The orientation of the listener.

IPLint32 order

Ambisonic order of the input and output buffers.

May be less than the maxOrder specified when creating the effect, in which case the effect will process fewer channels, reducing CPU usage.