VISR  0.11.8
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_LATE_REVERB_FILTER_CALCULATOR_SIGNAL_FLOW_HPP_INCLUDED
4 #define VISR_MEX_LATE_REVERB_FILTER_CALCULATOR_SIGNAL_FLOW_HPP_INCLUDED
5 
7 
8 #include <libpml/message_queue.hpp>
9 
10 #include <librcl/scene_decoder.hpp>
11 #include <librcl/late_reverb_filter_calculator.hpp>
12 
13 #include <libefl/basic_matrix.hpp>
14 
16 
17 namespace visr
18 {
19 namespace mex
20 {
21 namespace late_reverb_filter_calculator
22 {
23 
25 {
26 public:
29 
30 
31  explicit SignalFlow( ril::SampleType lateReflectionLengthSeconds,
32  std::size_t numLateReflectionSubBandLevels,
33  std::size_t period,
34  ril::SamplingFrequencyType samplingFrequency );
35 
36  ~SignalFlow();
37 
41  /*virtual*/ void process() {};
42 
43  void process( std::string const & objectVector,
44  LateFilterMessageQueue & outputQueue );
45 
46 private:
47 
48  objectmodel::ObjectVector mObjectVector;
49 
50  rcl::SceneDecoder mDecoder;
51 
52  rcl::LateReverbFilterCalculator mCalc;
53 
55 
56  SubBandMessageQueue mLateObjects;
57 };
58 
59 } // namespace late_reverb_filter_calculator
60 } // namespace mex
61 } // namespace visr
62 
63 #endif // #ifndef VISR_MEX_LATE_REVERB_FILTER_CALCULATOR_SIGNAL_FLOW_HPP_INCLUDED
std::size_t period() const
Definition: audio_signal_flow.cpp:108
Definition: scene_decoder.hpp:39
Definition: audio_signal_flow.hpp:49
pml::MessageQueue< std::pair< std::size_t, objectmodel::PointSourceWithReverb::LateReverb > > SubBandMessageQueue
Definition: signal_flow.hpp:28
pml::MessageQueue< std::pair< std::size_t, std::vector< ril::SampleType > > > LateFilterMessageQueue
Definition: signal_flow.hpp:27
Definition: options.cpp:10
SignalFlow(ril::SampleType lateReflectionLengthSeconds, std::size_t numLateReflectionSubBandLevels, std::size_t period, ril::SamplingFrequencyType samplingFrequency)
Definition: signal_flow.cpp:18
Definition: object_vector.hpp:22
Definition: signal_flow.hpp:22
void process()
Definition: signal_flow.hpp:41
std::size_t SamplingFrequencyType
Definition: constants.hpp:19
float SampleType
Definition: constants.hpp:14