VISR  0.11.8
Versatile Interactive Scene Renderer
visr::panning::VBAP Class Reference

#include <VBAP.h>

Public Member Functions

 VBAP (const LoudspeakerArray &array, SampleType x=0.0f, SampleType y=0.0f, SampleType z=0.0f)
 
 VBAP (VBAP const &)=delete
 
void calculateGains (SampleType x, SampleType y, SampleType z, SampleType *gains) const
 
void calculateGainsUnNormalised (SampleType x, SampleType y, SampleType z, SampleType *gains) const
 
void setListenerPosition (SampleType x, SampleType y, SampleType z)
 

Constructor & Destructor Documentation

◆ VBAP() [1/2]

visr::panning::VBAP::VBAP ( const LoudspeakerArray array,
SampleType  x = 0.0f,
SampleType  y = 0.0f,
SampleType  z = 0.0f 
)
explicit

Construct an initialised VBAP configuration.

Parameters
arrayarray of loudspeakers).
xCartesian x coordinate of the listener position
yCartesian y coordinate of the listener position
zCartesian z coordinate of the listener position

◆ VBAP() [2/2]

visr::panning::VBAP::VBAP ( VBAP const &  )
delete

Member Function Documentation

◆ calculateGains()

void visr::panning::VBAP::calculateGains ( SampleType  x,
SampleType  y,
SampleType  z,
SampleType gains 
) const

Calculate the panning gains for a single source position and apply power normalisation.

Parameters
xCartesian x coordinate of the source position
yCartesian y coordinate of the source position
zCartesian z coordinate of the source position
[out]gainsarray holding the panning gains for the regular (non-virtual) loudspeakers). Buffer must provide space for at least getNumSpeakers() values.

◆ calculateGainsUnNormalised()

void visr::panning::VBAP::calculateGainsUnNormalised ( SampleType  x,
SampleType  y,
SampleType  z,
SampleType gains 
) const

Calculate the panning gains for a single source position without normalisation.

Parameters
xCartesian x coordinate of the source position
yCartesian y coordinate of the source position
zCartesian z coordinate of the source position
[out]gainsarray holding the panning gains for the regular (non-virtual) loudspeakers). Buffer must provide space for at least getNumSpeakers() values.

◆ setListenerPosition()

void visr::panning::VBAP::setListenerPosition ( SampleType  x,
SampleType  y,
SampleType  z 
)

Reset the listener position. This causes a recalculation of the internal data structures (inverse matrices)

Parameters
xCartesian x coordinate of the new listener position
yCartesian y coordinate of the new listener position
zCartesian z coordinate of the new listener position

The documentation for this class was generated from the following files: