FMOD_OUTPUT_OBJECT3DINFO

FMOD Studio API

Firelight Technologies FMOD Studio API

FMOD_OUTPUT_OBJECT3DINFO

This structure is passed to the plugin via FMOD_OUTPUT_OBJECT3DUPDATE_CALLBACK, so that whatever object based panning solution available can position it in the speakers correctly. Object based panning is a 3D panning solution that sends a mono only signal to a hardware device, such as Dolby Atmos or other similar panning solutions.

C/C++ Syntax

typedef struct {
  float *buffer;
  unsigned int bufferlength;
  FMOD_VECTOR position;
  float gain;
  float spread;
  float priority;
} FMOD_OUTPUT_OBJECT3DINFO;

JavaScript Syntax

struct FMOD_OUTPUT_OBJECT3DINFO
{
  bufferlength,
  gain,
  spread,
  priority,
};

Members

buffer

[r] Mono PCM floating point buffer. This buffer needs to be scaled by the gain value to get distance attenuation.

bufferlength

[r] Length in PCM samples of buffer.

position

[r] Vector relative between object and listener.

gain

[r] 0.0 to 1.0 - 1 = 'buffer' is not attenuated, 0 = 'buffer' is fully attenuated.

spread

[r] 0 - 360 degrees. 0 = point source, 360 = sound is spread around all speakers

priority

[r] 0.0 to 1.0 - 0 = most important, 1 = least important. Based on height and distance (height is more important).

Remarks

FMOD does not attenuate the buffer, but provides a 'gain' parameter that the user must use to scale the buffer by. Rather than pre-attenuating the buffer, the plugin developer can access untouched data for other purposes, like reverb sending for example. The 'gain' parameter is based on the user's 3D custom rolloff model.

Members marked with [r] mean read only for the developer, read/write for the FMOD system. Members marked with [w] mean read/write for the developer, read only for the FMOD system.

JavaScript only :

Not all fields are currently supported or may not work as expected at this time. To initialize an new instance in javascript use "FMOD.OUTPUT_OBJECT3DINFO()", no 'new' keyword is required.

See Also



Version 1.10.03 Built on Feb 1, 2018