VISR  0.12.0
Versatile Interactive Scene Renderer
gain_matrix.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_SIGNALFLOWS_GAIN_MATRIX_HPP_INCLUDED
4 #define VISR_SIGNALFLOWS_GAIN_MATRIX_HPP_INCLUDED
5 
6 #include "export_symbols.hpp"
7 
11 
12 #include <librcl/gain_matrix.hpp>
13 
14 #include <libefl/basic_matrix.hpp>
15 
16 namespace visr
17 {
18 namespace signalflows
19 {
20 
21 class VISR_SIGNALFLOWS_LIBRARY_SYMBOL GainMatrix: public CompositeComponent
22 {
23 public:
24  explicit GainMatrix( SignalFlowContext const & context,
25  const char * name,
26  CompositeComponent * parent,
27  std::size_t numberOfInputs,
28  std::size_t numberOfOutputs,
29  efl::BasicMatrix<SampleType> const & initialMatrix,
30  std::size_t interpolationPeriod );
31 
32  ~GainMatrix();
33 
34  /*virtual*/ void process( );
35 
36 private:
37  const std::size_t cNumberOfInputs;
38 
39  const std::size_t cNumberOfOutputs;
40 
41  const std::size_t cInterpolationSteps;
42 
43  rcl::GainMatrix mMatrix;
44 
45  AudioInput mInput;
46 
47  AudioOutput mOutput;
48 };
49 
50 } // namespace signalflows
51 } // namespace visr
52 
53 #endif // #ifndef VISR_SIGNALFLOWS_GAIN_MATRIX_HPP_INCLUDED
Definition: options.cpp:10
Definition: composite_component.hpp:29
Definition: signal_flow_context.hpp:15
Definition: gain_matrix.hpp:21
Definition: gain_matrix.hpp:46