VISR  0.11.1
Versatile Interactive Scene Renderer
signal_flow.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_MEX_GAIN_MATRIX_SIGNAL_FLOW_HPP_INCLUDED
4 #define VISR_MEX_GAIN_MATRIX_SIGNAL_FLOW_HPP_INCLUDED
5 
7 
8 #include <librcl/gain_matrix.hpp>
9 
10 #include <libefl/basic_matrix.hpp>
11 
12 namespace visr
13 {
14 namespace mex
15 {
16 namespace gain_matrix
17 {
18 
19 class SignalFlow: public rrl::AudioSignalFlow
20 {
21 public:
22  explicit SignalFlow( std::size_t numberOfInputs,
23  std::size_t numberOfOutputs,
24  std::size_t interpolationPeriod,
25  std::size_t period, ril::SamplingFrequencyType samplingFrequency );
26 
27  ~SignalFlow();
28 
29  /*virtual*/ void process( );
30 
31  /*virtual*/ void setup( );
32 
33 private:
34  const std::size_t cNumberOfInputs;
35 
36  const std::size_t cNumberOfOutputs;
37 
38  const std::size_t cInterpolationSteps;
39 
40  rcl::GainMatrix mMatrix;
41 
42  efl::BasicMatrix<ril::SampleType> mNewMtx1;
43 
44  efl::BasicMatrix<ril::SampleType> mNewMtx2;
45 
49  std::size_t mCounter;
50 };
51 
52 } // namespace gain_matrix
53 } // namespace mex
54 } // namespace visr
55 
56 #endif // #ifndef VISR_MEX_GAIN_MATRIX_SIGNAL_FLOW_HPP_INCLUDED
void setup()
Definition: signal_flow.cpp:51
std::size_t period() const
Definition: audio_signal_flow.cpp:108
~SignalFlow()
Definition: signal_flow.cpp:40
void process()
Definition: signal_flow.cpp:45
Definition: options.cpp:10
SignalFlow(std::size_t numberOfChannels, std::size_t numberOfBiquadSections, pml::BiquadParameter< ril::SampleType > const &initialCoeffs, std::size_t period, ril::SamplingFrequencyType samplingFrequency)
Definition: signal_flow.cpp:28
std::size_t SamplingFrequencyType
Definition: constants.hpp:19