Ambisonics Panning Effect

Typedefs

typedef struct _IPLAmbisonicsPanningEffect_t *IPLAmbisonicsPanningEffect

Renders Ambisonic audio by panning it to a standard speaker layout.

This involves calculating signals to emit from each speaker so as to approximate the Ambisonic sound field.

Functions

IPLerror iplAmbisonicsPanningEffectCreate(IPLContext context, IPLAudioSettings *audioSettings, IPLAmbisonicsPanningEffectSettings *effectSettings, IPLAmbisonicsPanningEffect *effect)

Creates an Ambisonics panning effect.

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

  • audioSettings – Global audio processing settings.

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

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

Returns

Status code indicating whether or not the operation succeeded.

IPLAmbisonicsPanningEffect iplAmbisonicsPanningEffectRetain(IPLAmbisonicsPanningEffect effect)

Retains an additional reference to an Ambisonics panning effect.

Parameters

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

Returns

The additional reference to the Ambisonics panning effect.

void iplAmbisonicsPanningEffectRelease(IPLAmbisonicsPanningEffect *effect)

Releases a reference to an Ambisonics panning effect.

Parameters

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

void iplAmbisonicsPanningEffectReset(IPLAmbisonicsPanningEffect effect)

Resets the internal processing state of an Ambisonics panning effect.

Parameters

effect – The Ambisonics panning effect to reset.

IPLAudioEffectState iplAmbisonicsPanningEffectApply(IPLAmbisonicsPanningEffect effect, IPLAmbisonicsPanningEffectParams *params, IPLAudioBuffer *in, IPLAudioBuffer *out)

Applies an Ambisonics panning effect to an audio buffer.

This effect CANNOT be applied in-place.

Parameters
  • effect – The Ambisonics panning 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 in the parameters.

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

Returns

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

Structures

struct IPLAmbisonicsPanningEffectSettings

Settings used to create an Ambisonics panning effect.

Public Members

IPLSpeakerLayout speakerLayout

The speaker layout that will be used by output audio buffers.

IPLint32 maxOrder

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

struct IPLAmbisonicsPanningEffectParams

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

Public Members

IPLint32 order

Ambisonic order of the input buffer.

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