VISR  0.11.8
Versatile Interactive Scene Renderer
visr::signalflows::BunchRenderer Class Reference

#include <bunch_renderer.hpp>

Inheritance diagram for visr::signalflows::BunchRenderer:
visr::CompositeComponent visr::Component

Public Member Functions

 BunchRenderer (SignalFlowContext const &context, char const *name, CompositeComponent *parent, panning::LoudspeakerArray const &loudspeakerConfiguration, std::size_t numberOfInputs, std::size_t numberOfOutputs, std::size_t interpolationPeriod, efl::BasicMatrix< SampleType > const &diffusionFilters, std::string const &trackingConfiguration, std::size_t sceneReceiverPort, std::string const &reverbConfig)
 
 ~BunchRenderer ()
 
- Public Member Functions inherited from visr::CompositeComponent
 CompositeComponent (SignalFlowContext const &context, char const *name, CompositeComponent *parent=nullptr)
 
 ~CompositeComponent ()
 
std::size_t numberOfComponents () const
 
impl::CompositeComponentImplementationimplementation ()
 
impl::CompositeComponentImplementation const & implementation () const
 
void parameterConnection (char const *sendComponent, char const *sendPort, char const *receiveComponent, char const *receivePort)
 
void parameterConnection (ParameterPortBase &sender, ParameterPortBase &receiver)
 
void audioConnection (char const *sendComponent, char const *sendPort, ChannelList const &sendIndices, char const *receiveComponent, char const *receivePort, ChannelList const &receiveIndices)
 
void audioConnection (AudioPortBase &sendPort, ChannelList const &sendIndices, AudioPortBase &receivePort, ChannelList const &receiveIndices)
 
void audioConnection (AudioPortBase &sendPort, AudioPortBase &receivePort)
 
- 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

- Public Types inherited from visr::CompositeComponent
using ChannelRange = visr::ChannelRange
 
using ChannelList = visr::ChannelList
 
- 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 signal graph object for the VISR baseline renderer.

Constructor & Destructor Documentation

visr::signalflows::BunchRenderer::BunchRenderer ( SignalFlowContext const &  context,
char const *  name,
CompositeComponent parent,
panning::LoudspeakerArray const &  loudspeakerConfiguration,
std::size_t  numberOfInputs,
std::size_t  numberOfOutputs,
std::size_t  interpolationPeriod,
efl::BasicMatrix< SampleType > const &  diffusionFilters,
std::string const &  trackingConfiguration,
std::size_t  sceneReceiverPort,
std::string const &  reverbConfig 
)
explicit

Constructor to create, initialise and interconnect all processing components.

Parameters
contextConfiguration object holding basic execution parameters.
nameName of the component.
parentPointer to containing component (if there is one). A value of nullptr signals that this is a top-level component.
loudspeakerConfigurationThe configuration of the reproduction array, including the routing to physical output channels, potentially virtual loudspeakers and subwoofer configuration.
numberOfInputsThe number of inputs, i.e., the number of audio object signals
numberOfOutputsThe number of output channels. This number can be higher than the number of loudspeakers plus the number of subwoofers if the routing to output channels contains gaps. The output channels between 0 and numbeOfOutputs to which no signal is routed are configured to output zeros.
interpolationPeriodThe interpolation period used in the VBAP gain matrix, i.e., the number of samples it takes to fade to a new gain value. Must be multiple of period.
diffusionFiltersA matrix of floating-point values containing the the FIR coefficients of the decorrelation filter that creates diffuse sound components.
trackingConfigurationThe configuration of the tracker (empty string disables tracking)
sceneReceiverPortThe UDP port for receiving the scene data messages.
reverbConfigA JSON message containing configuration options for the late reverberation part.
  • numReverbObjects (integer) The maximum number of reverb objects (at a given time)
  • lateReverbFilterLength (floating-point) The length of the late reverberation filter (in seconds)
  • discreteReflectionsPerObject (integer) The number of discrete reflections per reverb object.
  • lateReverbDecorrelationFilters (string) Absolute or relative file path (relative to start directory of the renderer) to a multichannel audio file (typically WAV) containing the filter coefficients for the decorrelation of the late part.
visr::signalflows::BunchRenderer::~BunchRenderer ( )

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