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.
-
IPLAudioEffectState iplAmbisonicsRotationEffectGetTail(IPLAmbisonicsRotationEffect effect, IPLAudioBuffer *out)
Retrieves a single frame of tail samples from an Ambisonics rotation effect’s internal buffers.
After the input to the Ambisonics rotation effect has stopped, this function must be called instead of
iplAmbisonicsRotationEffectApply
until the return value indicates that no more tail samples remain.- Parameters:
effect – The Ambisonics rotation 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_TAILREMAINING
if any tail samples remain in the effect’s internal buffers, orIPL_AUDIOEFFECTSTATE_TAILCOMPLETE
otherwise.
-
IPLint32 iplAmbisonicsRotationEffectGetTailSize(IPLAmbisonicsRotationEffect effect)
Returns the number of tail samples remaining in an Ambisonics rotation 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 rotation effect.
- Returns:
The number of tail samples remaining.
Structures
-
struct IPLAmbisonicsRotationEffectSettings
Settings used to create an Ambisonics rotation effect.
-
struct IPLAmbisonicsRotationEffectParams
Parameters for applying an Ambisonics rotation effect to an audio buffer.
Public Members
-
IPLCoordinateSpace3 orientation
The orientation of the listener.
-
IPLCoordinateSpace3 orientation