![]() |
VISR
0.11.8
Versatile Interactive Scene Renderer
|
#include <gain_matrix.hpp>
Public Member Functions | |
GainMatrix (SignalFlowContext const &context, char const *name, CompositeComponent *parent=nullptr) | |
void | setup (std::size_t numberOfInputs, std::size_t numberOfOutputs, std::size_t interpolationSteps, SampleType initialGain=static_cast< SampleType >(0.0), bool controlInput=true) |
void | setup (std::size_t numberOfInputs, std::size_t numberOfOutputs, std::size_t interpolationSteps, efl::BasicMatrix< SampleType > const &initialGains, bool controlInput=true) |
void | process () |
![]() | |
AtomicComponent (SignalFlowContext const &context, char const *name, CompositeComponent *parent=nullptr) | |
AtomicComponent (AtomicComponent const &)=delete | |
AtomicComponent (AtomicComponent &&)=delete | |
virtual | ~AtomicComponent () override |
![]() | |
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 | |
Component & | operator= (Component const &)=delete |
Component & | operator= (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 |
AudioPortBase & | audioPort (char const *portName) |
AudioPortBase const & | audioPort (char const *portName) const |
AudioPortBase & | audioPort (std::string const &portName) |
AudioPortBase const & | audioPort (std::string const &portName) const |
ParameterPortBase & | parameterPort (char const *portName) |
ParameterPortBase const & | parameterPort (char const *portName) const |
ParameterPortBase & | parameterPort (std::string const &portName) |
ParameterPortBase const & | parameterPort (std::string const &portName) const |
SamplingFrequencyType | samplingFrequency () const |
std::size_t | period () const |
bool | isTopLevel () const |
impl::ComponentImplementation & | implementation () |
impl::ComponentImplementation const & | implementation () const |
Additional Inherited Members | |
![]() | |
static const std::string & | nameSeparator () |
![]() | |
Component (impl::ComponentImplementation *impl) | |
Audio Component for matrixing a vector of input signals to a vector of output signals with a specific gain value for each routing point. The gain matrix can be changed at runtime. Optionally, the class features smooth transitions between differing gain settings. This class has one input port named "in" and one output port named "out". The width of these ports is determined by the arguments "numberOfInput" and "numberOfOutputs", respectively, which are passed to the setup() method.
|
explicit |
Constructor.
context | Configuration object containing basic execution parameters. |
name | The name of the component. Must be unique within the containing composite component (if there is one). |
parent | Pointer to a containing component if there is one. Specify nullptr in case of a top-level component |
|
virtual |
Pure virtual process() function. The overriding methods of base classes are called in regular intervals, each processing a fixed number (context.period()
) number of samples.
Implements visr::AtomicComponent.
void visr::rcl::GainMatrix::setup | ( | std::size_t | numberOfInputs, |
std::size_t | numberOfOutputs, | ||
std::size_t | interpolationSteps, | ||
SampleType | initialGain = static_cast<SampleType>(0.0) , |
||
bool | controlInput = true |
||
) |
Setup method to initialise the object and set the parameters.
numberOfInputs | The number of signals in the input signal. |
numberOfOutputs | The number of signals in the output signal. |
interpolationSteps | The number of samples needed for the transition after a new gain is set. It must be an integral multiple of the period of the signal flow. The value "0" denotes an immediate application of the new gain value. |
initialGain | The initial entries of the the gain matrix (linear scale). All entries are initialised to this value (default: 0.0) |
controlInput | Flag controlling whether to instantiate a parameter input to receive gain matrix updates. |
void visr::rcl::GainMatrix::setup | ( | std::size_t | numberOfInputs, |
std::size_t | numberOfOutputs, | ||
std::size_t | interpolationSteps, | ||
efl::BasicMatrix< SampleType > const & | initialGains, | ||
bool | controlInput = true |
||
) |
Setup method to initialise the object and set the parameters.
numberOfInputs | The number of signals in the input signal. |
numberOfOutputs | The number of signals in the output signal. |
interpolationSteps | The number of samples needed for the transition after a new gain is set. It must be an integral multiple of the period of the signal flow. The value "0" denotes an immediate application of the new gain value. |
initialGains | The initial entries of the the gain matrix (linear scale). The row and column numbers of the matrix must match the arguments numberOfOutputs and numberOfInputs, respectively. |
controlInput | Flag controlling whether to instantiate a parameter input to receive gain matrix updates. |