VISR  0.12.0
Versatile Interactive Scene Renderer
visr::rrl::SignalRoutingInternal< SampleType > Class Template Reference

#include <signal_routing_internal.hpp>

Inheritance diagram for visr::rrl::SignalRoutingInternal< SampleType >:
visr::AtomicComponent visr::Component

Public Member Functions

 SignalRoutingInternal (SignalFlowContext const &context, char const *name, CompositeComponent *parent, std::size_t inputWidth, std::vector< std::size_t > signalIndices)
 
 ~SignalRoutingInternal ()
 
void process ()
 
AudioPortBaseinput ()
 
AudioPortBaseoutput ()
 
- 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

template<typename SampleType>
class visr::rrl::SignalRoutingInternal< SampleType >

Audio component for performing arbitrary routings between the channels of the input and the output port. The number of channels of the input and output port are set by the inputWidth and outputWidth arguments passed to the setup() method, respectively.

Constructor & Destructor Documentation

◆ SignalRoutingInternal()

template<typename SampleType >
visr::rrl::SignalRoutingInternal< SampleType >::SignalRoutingInternal ( SignalFlowContext const &  context,
char const *  name,
CompositeComponent parent,
std::size_t  inputWidth,
std::vector< std::size_t >  signalIndices 
)
explicit

Constructor.

Parameters
contextConfiguration object holding basic execution parameters.
nameName of the component.
parentPointer to a containing component (if there is one). A value of nullptr signals that this is a top-level component.
inputWidthThe width of the input port, i.e., the total span of the channels indices of the outside signal vector that are routed through this component.
signalIndicesThe channel indices within the input port that are routed to the channels of the output port (in increasing order). The number of elements determines the number of signals routed through this component.

◆ ~SignalRoutingInternal()

template<typename SampleType >
visr::rrl::SignalRoutingInternal< SampleType >::~SignalRoutingInternal ( )
default

Destructor.

Member Function Documentation

◆ input()

template<typename SampleType >
AudioPortBase * visr::rrl::SignalRoutingInternal< SampleType >::input ( )

◆ output()

template<typename SampleType >
AudioPortBase * visr::rrl::SignalRoutingInternal< SampleType >::output ( )

◆ process()

template<typename SampleType >
void visr::rrl::SignalRoutingInternal< SampleType >::process ( )
virtual

The process function. For each routing connection set within the component, it copies the audio signal from the input channel references by the routing to the corresponding output channel of this routing. The number of samples processed in each call is determined by the period of the containing audio signal flow.

Implements visr::AtomicComponent.


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