Reconstructor

Typedefs

typedef struct _IPLReconstructor_t *IPLReconstructor

An object that can convert energy fields to impulse responses.

Energy fields are typically much smaller in size than impulse responses, and therefore are used when storing baked reflections or reverb in a probe batch, but impulse responses are what is needed at runtime for convolution.

Functions

IPLerror iplReconstructorCreate(IPLContext context, IPLReconstructorSettings *settings, IPLReconstructor *reconstructor)

Creates a reconstructor.

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

  • settings – The settings to use when creating the reconstructor.

  • reconstructor – [out] The created reconstructor.

Returns:

Status code indicating whether or not the operation succeeded.

IPLReconstructor iplReconstructorRetain(IPLReconstructor reconstructor)

Retains an additional reference to a reconstructor.

Parameters:

reconstructor – The reconstructor to retain a reference to.

Returns:

The additional reference to the reconstructor.

void iplReconstructorRelease(IPLReconstructor *reconstructor)

Releases a reference to a reconstructor.

Parameters:

reconstructor – The reconstructor to release a reference to.

void iplReconstructorReconstruct(IPLReconstructor reconstructor, IPLint32 numInputs, IPLReconstructorInputs *inputs, IPLReconstructorSharedInputs *sharedInputs, IPLReconstructorOutputs *outputs)

Reconstructs one or more impulse responses as a single batch of work.

Parameters:
  • reconstructor – The reconstructor to use.

  • numInputs – The number of impulse responses to reconstruct.

  • inputs – Pointer to numInputs input structures, each describing a single energy field from which to reconstruct a corresponding impulse response.

  • sharedInputs – Pointer to a single shared input structure, describing common inputs used across all impulse response reconstruction operations in this call.

  • outputs – Pointer to numInputs output structures, each describing a single impulse response object into which to write the corresponding reconstructed impulse response.

Structures

struct IPLReconstructorSettings

Settings used to create a reconstructor.

Public Members

IPLfloat32 maxDuration

The largest possible duration (in seconds) of any impulse response that will be reconstructed using this reconstructor.

IPLint32 maxOrder

The largest possible Ambisonic order of any impulse response that will be reconstructed using this reconstructor.

IPLint32 samplingRate

The sampling rate of impulse responses reconstructed using this reconstructor.

struct IPLReconstructorInputs

The inputs for a single reconstruction operation.

Public Members

IPLEnergyField energyField

The energy field from which to reconstruct an impulse response.

struct IPLReconstructorSharedInputs

Inputs common to all reconstruction operations specified in a single call to iplReconstructorReconstruct.

Public Members

IPLfloat32 duration

Duration of impulse responses to reconstruct.

Must be less than or equal to maxDuration specified in IPLReconstructorSettings.

IPLint32 order

Ambisonic order of impulse responses to reconstruct.

Must be less than or equal to maxOrder specified in IPLReconstructorSettings.

struct IPLReconstructorOutputs

The outputs for a single reconstruction operation.

Public Members

IPLImpulseResponse impulseResponse

The impulse response object into which the reconstructed impulse repsonse should be stored.