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.
-
IPLAudioEffectState iplAmbisonicsPanningEffectGetTail(IPLAmbisonicsPanningEffect effect, IPLAudioBuffer *out)
Retrieves a single frame of tail samples from a Ambisonics panning effect’s internal buffers.
After the input to the Ambisonics panning effect has stopped, this function must be called instead of
iplAmbisonicsPanningEffectApply
until the return value indicates that no more tail samples remain.- Parameters:
effect – The Ambisonics panning effect.
out – The output audio buffer. Must have as many channels as needed for the speaker layout 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 iplAmbisonicsPanningEffectGetTailSize(IPLAmbisonicsPanningEffect effect)
Returns the number of tail samples remaining in an Ambisonics panning 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 panning effect.
- Returns:
The number of tail samples remaining.
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.
-
IPLSpeakerLayout speakerLayout
-
struct IPLAmbisonicsPanningEffectParams
Parameters for applying an Ambisonics panning effect to an audio buffer.