Ambisonics Decode Effect
Typedefs
-
typedef struct _IPLAmbisonicsDecodeEffect_t *IPLAmbisonicsDecodeEffect
Applies a rotation to an Ambisonics audio buffer, then decodes it using panning or binaural rendering.
This is essentially an Ambisonics rotate effect followed by either an Ambisonics panning effect or an Ambisonics binaural effect.
Functions
-
IPLerror iplAmbisonicsDecodeEffectCreate(IPLContext context, IPLAudioSettings *audioSettings, IPLAmbisonicsDecodeEffectSettings *effectSettings, IPLAmbisonicsDecodeEffect *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.
-
IPLAmbisonicsDecodeEffect iplAmbisonicsDecodeEffectRetain(IPLAmbisonicsDecodeEffect 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 iplAmbisonicsDecodeEffectRelease(IPLAmbisonicsDecodeEffect *effect)
Releases a reference to an Ambisonics rotation effect.
- Parameters:
effect – The Ambisonics rotation effect to release a reference to.
-
void iplAmbisonicsDecodeEffectReset(IPLAmbisonicsDecodeEffect effect)
Resets the internal processing state of an Ambisonics decode effect.
- Parameters:
effect – The Ambisonics decode effect to reset.
-
IPLAudioEffectState iplAmbisonicsDecodeEffectApply(IPLAmbisonicsDecodeEffect effect, IPLAmbisonicsDecodeEffectParams *params, IPLAudioBuffer *in, IPLAudioBuffer *out)
Applies an Ambisonics decode effect to an audio buffer.
This effect CANNOT be applied in-place.
- Parameters:
effect – The Ambisonics decode 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 speaker layout specified when creating the effect (if using panning) or 2 channels (if using binaural rendering).
- Returns:
IPL_AUDIOEFFECTSTATE_TAILREMAINING
if any tail samples remain in the effect’s internal buffers, orIPL_AUDIOEFFECTSTATE_TAILCOMPLETE
otherwise.
-
IPLAudioEffectState iplAmbisonicsDecodeEffectGetTail(IPLAmbisonicsDecodeEffect effect, IPLAudioBuffer *out)
Retrieves a single frame of tail samples from an Ambisonics decode effect’s internal buffers.
After the input to the Ambisonics decode effect has stopped, this function must be called instead of
iplAmbisonicsDecodeEffectApply
until the return value indicates that no more tail samples remain.- Parameters:
effect – The Ambisonics decode effect.
out – The output audio buffer. Must have as many channels as needed for the speaker layout specified when creating the effect (if using panning) or 2 channels (if using binaural rendering).
- Returns:
IPL_AUDIOEFFECTSTATE_TAILREMAINING
if any tail samples remain in the effect’s internal buffers, orIPL_AUDIOEFFECTSTATE_TAILCOMPLETE
otherwise.
-
IPLint32 iplAmbisonicsDecodeEffectGetTailSize(IPLAmbisonicsDecodeEffect effect)
Returns the number of tail samples remaining in an Ambisonics decode effect’s internal buffers.
Tail samples are audio samples that should be played even after the input to the effect has stopped playing and no further input samples are available.
- Parameters:
effect – The Ambisonics decode effect.
- Returns:
The number of tail samples remaining.
Structures
-
struct IPLAmbisonicsDecodeEffectSettings
Settings used to create an Ambisonics decode effect.
-
struct IPLAmbisonicsDecodeEffectParams
Parameters for applying an Ambisonics decode 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.
-
IPLCoordinateSpace3 orientation
The orientation of the listener.
-
IPLint32 order