VISR  0.11.7
Versatile Interactive Scene Renderer
visr::rcl::HoaAllRadGainCalculator Class Reference

#include <hoa_allrad_gain_calculator.hpp>

Inheritance diagram for visr::rcl::HoaAllRadGainCalculator:
visr::AtomicComponent visr::Component

Public Types

using CoefficientType = SampleType
 

Public Member Functions

 HoaAllRadGainCalculator (SignalFlowContext const &context, char const *name, CompositeComponent *parent, std::size_t numberOfObjectChannels, panning::LoudspeakerArray const &regularArrayConfig, panning::LoudspeakerArray const &realArrayConfig, efl::BasicMatrix< Afloat > const &decodeMatrix, pml::ListenerPosition const &listenerPosition=pml::ListenerPosition(), bool adaptiveListenerPosition=false)
 
 HoaAllRadGainCalculator (HoaAllRadGainCalculator const &)=delete
 
 ~HoaAllRadGainCalculator ()
 
void process () override
 
- Public Member Functions inherited from visr::AtomicComponent
 AtomicComponent (SignalFlowContext const &context, char const *name, CompositeComponent *parent=nullptr)
 
 AtomicComponent (AtomicComponent const &)=delete
 
 AtomicComponent (AtomicComponent &&)=delete
 
virtual ~AtomicComponent () override
 
- Public Member Functions inherited from visr::Component
 Component (SignalFlowContext const &context, char const *componentName, CompositeComponent *parent)
 
 Component (SignalFlowContext const &context, std::string const &componentName, CompositeComponent *parent)
 
 Component (Component const &)=delete
 
 Component (Component &&)=delete
 
Componentoperator= (Component const &)=delete
 
Componentoperator= (Component &&)=delete
 
virtual ~Component ()
 
std::string const & name () const
 
std::string fullName () const
 
void status (StatusMessage::Kind status, char const *message)
 
template<typename ... MessageArgs>
void status (StatusMessage::Kind status, MessageArgs ... args)
 
bool isComposite () const
 
AudioPortBaseaudioPort (char const *portName)
 
AudioPortBase const & audioPort (char const *portName) const
 
AudioPortBaseaudioPort (std::string const &portName)
 
AudioPortBase const & audioPort (std::string const &portName) const
 
ParameterPortBaseparameterPort (char const *portName)
 
ParameterPortBase const & parameterPort (char const *portName) const
 
ParameterPortBaseparameterPort (std::string const &portName)
 
ParameterPortBase const & parameterPort (std::string const &portName) const
 
SamplingFrequencyType samplingFrequency () const
 
std::size_t period () const
 
bool isTopLevel () const
 
impl::ComponentImplementationimplementation ()
 
impl::ComponentImplementation const & implementation () const
 

Additional Inherited Members

- Static Public Member Functions inherited from visr::Component
static const std::string & nameSeparator ()
 
- Protected Member Functions inherited from visr::Component
 Component (impl::ComponentImplementation *impl)
 

Detailed Description

Audio component for calculating the loudspeaker gains for Higher-Order-Ambisonics (HOA) objects. Implementation based on AllRAD, i.e., the HOA signals are decoded to a virtual regular loudspeaker array, whose loudspeaker signals are panned to the real, physical loudspeaker setup using VBAP.

Member Typedef Documentation

◆ CoefficientType

Type of the gain coefficients. We use the standard type for audio samples (default: float)

Constructor & Destructor Documentation

◆ HoaAllRadGainCalculator() [1/2]

visr::rcl::HoaAllRadGainCalculator::HoaAllRadGainCalculator ( SignalFlowContext const &  context,
char const *  name,
CompositeComponent parent,
std::size_t  numberOfObjectChannels,
panning::LoudspeakerArray const &  regularArrayConfig,
panning::LoudspeakerArray const &  realArrayConfig,
efl::BasicMatrix< Afloat > const &  decodeMatrix,
pml::ListenerPosition const &  listenerPosition = pml::ListenerPosition(),
bool  adaptiveListenerPosition = false 
)
explicit

Constructor.

Parameters
contextConfiguration object containing basic execution parameters.
nameThe name of the component. Must be unique within the containing composite component (if there is one).
parentPointer to a containing component if there is one. Specify nullptr in case of a top-level component.
numberOfObjectChannelsThe totl number of object signal channels. Basically this defines the size of the gain matrices processed.
regularArrayConfigThe array configuration object for the virtual, regular array used for decoding the HOA signals.
realArrayConfigThe array configuration object for the real, physical array to which the soundfield is panned.
decodeMatrixMatrix coefficients for decoding the HOA signals to the regular, virtual array. Dimension (hoaOrder+1)^2 x number of regular loudspeakers. The row dimension determines the (maximum) HOA order and must be a square number.
listenerPositionThe initial listener position used for VBAP panning. Optional argument, default is (0,0,0).
adaptiveListenerPositionWhether the rendering supports adaptation to a tracked listener In this case a parameter input port "listenerInput"

◆ HoaAllRadGainCalculator() [2/2]

visr::rcl::HoaAllRadGainCalculator::HoaAllRadGainCalculator ( HoaAllRadGainCalculator const &  )
delete

Disabled (deleted) copy constructor

◆ ~HoaAllRadGainCalculator()

visr::rcl::HoaAllRadGainCalculator::~HoaAllRadGainCalculator ( )

Destructor.

Member Function Documentation

◆ process()

void visr::rcl::HoaAllRadGainCalculator::process ( )
overridevirtual

Process function implementing the runtime behaviour.

Implements visr::AtomicComponent.


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