JPL Spatial
Sound spatialization and propagation library
Loading...
Searching...
No Matches
JPL::VBAP::Panning3D< Traits, cLUTType > Class Template Reference

#include <JPLSpatial/Panning/VBAPanning3D.h>

Classes

struct  SourceLayout
 Implementation of the source layout for 2D panning. More...
 

Public Types

using Vec3Type = typename Base::Vec3Type
 
using LUTCodec = Octahedron16Bit
 
using LUTType = VBAP::LUT< cLUTType, cLUTSize, Vec3Type >
 
using LUTInterface = VBAP::LUTInterface< &Traits::GetChannelVector, LUTCodec, LUTType >
 

Static Public Member Functions

static std::optional< const char * > IsValidTargetChannelMap (ChannelMap channelMap)
 

Static Public Attributes

static constexpr size_t cLUTSize = LUTCodec::cAxisRange * LUTCodec::cAxisRange
 

Detailed Description

template<class Traits, auto cLUTType>
class JPL::VBAP::Panning3D< Traits, cLUTType >

VBAP panning traits for panning to a 3D speaker layout (i.e. layout including top/bottom speakers)

Member Typedef Documentation

◆ LUTCodec

template<class Traits , auto cLUTType>
using JPL::VBAP::Panning3D< Traits, cLUTType >::LUTCodec = Octahedron16Bit

◆ LUTInterface

template<class Traits , auto cLUTType>
using JPL::VBAP::Panning3D< Traits, cLUTType >::LUTInterface = VBAP::LUTInterface< &Traits::GetChannelVector, LUTCodec, LUTType >

◆ LUTType

template<class Traits , auto cLUTType>
using JPL::VBAP::Panning3D< Traits, cLUTType >::LUTType = VBAP::LUT<cLUTType, cLUTSize, Vec3Type>

Packed look-up table of speaker triplets and corresponding gains. Index into the table is an octahedron-encoded direction vector.

◆ Vec3Type

template<class Traits , auto cLUTType>
using JPL::VBAP::Panning3D< Traits, cLUTType >::Vec3Type = typename Base::Vec3Type

Member Function Documentation

◆ IsValidTargetChannelMap()

template<class Traits , auto cLUTType>
static std::optional< const char * > JPL::VBAP::Panning3D< Traits, cLUTType >::IsValidTargetChannelMap ( ChannelMap  channelMap)
inlinestatic
Returns
error message if channelMap is not a valid channel map for a VBAP panning target; nullopt otherwise

Member Data Documentation

◆ cLUTSize

template<class Traits , auto cLUTType>
constexpr size_t JPL::VBAP::Panning3D< Traits, cLUTType >::cLUTSize = LUTCodec::cAxisRange * LUTCodec::cAxisRange
staticconstexpr

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