Ambisonics Encode Effect

Typedefs

typedef struct _IPLAmbisonicsEncodeEffect_t *IPLAmbisonicsEncodeEffect

Encodes a point source into Ambisonics.

Given a point source with some direction relative to the listener, this effect generates an Ambisonic audio buffer that approximates a point source in the given direction. This allows multiple point sources and ambiences to mixed to a single Ambisonics buffer before being spatialized.

Functions

IPLerror iplAmbisonicsEncodeEffectCreate(IPLContext context, IPLAudioSettings *audioSettings, IPLAmbisonicsEncodeEffectSettings *effectSettings, IPLAmbisonicsEncodeEffect *effect)

Creates an Ambisonics encode effect.

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

  • audioSettings – Global audio processing settings.

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

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

Returns

Status code indicating whether or not the operation succeeded.

IPLAmbisonicsEncodeEffect iplAmbisonicsEncodeEffectRetain(IPLAmbisonicsEncodeEffect effect)

Retains an additional reference to an Ambisonics encode effect.

Parameters

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

Returns

The additional reference to the Ambisonics encode effect.

void iplAmbisonicsEncodeEffectRelease(IPLAmbisonicsEncodeEffect *effect)

Releases a reference to an Ambisonics encode effect.

Parameters

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

void iplAmbisonicsEncodeEffectReset(IPLAmbisonicsEncodeEffect effect)

Resets the internal processing state of an Ambisonics encode effect.

Parameters

effect – The Ambisonics encode effect to reset.

IPLAudioEffectState iplAmbisonicsEncodeEffectApply(IPLAmbisonicsEncodeEffect effect, IPLAmbisonicsEncodeEffectParams *params, IPLAudioBuffer *in, IPLAudioBuffer *out)

Applies an Ambisonics encode effect to an audio buffer.

This effect CANNOT be applied in-place.

Parameters
  • effect – The Ambisonics encode effect to apply.

  • params – Parameters for applying the effect.

  • in – The input audio buffer. Must be 1-channel.

  • 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 IPLAmbisonicsEncodeEffectSettings

Settings used to create an Ambisonics encode effect.

Public Members

IPLint32 maxOrder

Maximum Ambisonics order to encode audio buffers to.

struct IPLAmbisonicsEncodeEffectParams

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

Public Members

IPLVector3 direction

Vector pointing from the listener towards the source.

Need not be normalized; Steam Audio will automatically normalize this vector. If a zero-length vector is passed, the output will be order 0 (omnidirectional).

IPLint32 order

Ambisonic order of the output buffer.

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