VISR  0.11.8
Versatile Interactive Scene Renderer
object_gain_eq_calculator.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_LIBRCL_OBJECT_GAIN_EQ_CALCULATOR_HPP_INCLUDED
4 #define VISR_LIBRCL_OBJECT_GAIN_EQ_CALCULATOR_HPP_INCLUDED
5 
6 #include "export_symbols.hpp"
7 
11 
12 #include <memory>
13 
16 #include <libpml/object_vector.hpp>
18 
19 namespace visr
20 {
21 // forward declarations
22 namespace objectmodel
23 {
24 class ObjectVector;
25 }
26 namespace efl
27 {
28 template< typename SampleType > class BasicVector;
29 }
30 namespace rbbl
31 {
32 template< typename SampleType > class BiquadCoefficient;
33 template< typename SampleType > class BiquadCoefficientMatrix;
34 }
35 
36 namespace rcl
37 {
38 
42 class VISR_RCL_LIBRARY_SYMBOL ObjectGainEqCalculator: public AtomicComponent
43 {
44 public:
49 
58  explicit ObjectGainEqCalculator( SignalFlowContext const & context,
59  char const * name,
60  CompositeComponent * parent,
61  std::size_t numberOfObjectChannels,
62  std::size_t numberOfBiquadSections );
63 
68 
73 
77  void process( ) override;
78 
79 private:
87  void process( objectmodel::ObjectVector const & objects,
88  efl::BasicVector<CoefficientType> & objectSignalGains,
90 
94 
98  std::size_t const cNumberOfObjectChannels;
99 
100  std::size_t const cNumberOfBiquadSections;
101 
105  SamplingFrequencyType const cSamplingFrequency;
106 };
107 
108 } // namespace rcl
109 } // namespace visr
110 
111 #endif // #ifndef VISR_LIBRCL_OBJECT_GAIN_EQ_CALCULATOR_HPP_INCLUDED
Definition: parameter_output.hpp:45
SampleType CoefficientType
Definition: object_gain_eq_calculator.hpp:48
Definition: options.cpp:10
Definition: atomic_component.hpp:21
Definition: parameter_input.hpp:45
Definition: composite_component.hpp:29
Definition: signal_flow_context.hpp:15
Definition: LoudspeakerArray.h:36
Definition: object_gain_eq_calculator.hpp:42
Definition: object_vector.hpp:22
std::size_t SamplingFrequencyType
Definition: constants.hpp:19
float SampleType
Definition: constants.hpp:14