VISR  0.11.6
Versatile Interactive Scene Renderer
bunch_renderer.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_SIGNALFLOWS_BUNCH_RENDERER_HPP_INCLUDED
4 #define VISR_SIGNALFLOWS_BUNCH_RENDERER_HPP_INCLUDED
5 
6 #include "core_renderer.hpp"
7 #include "export_symbols.hpp"
8 
10 #include <libvisr/audio_input.hpp>
11 #include <libvisr/audio_output.hpp>
12 
13 #include <librcl/add.hpp>
14 #include <librcl/scene_decoder.hpp>
15 #include <librcl/udp_receiver.hpp>
16 
17 #include <libefl/basic_matrix.hpp>
18 
20 
21 namespace visr
22 {
23 
24 namespace signalflows
25 {
26 
30 class VISR_SIGNALFLOWS_LIBRARY_SYMBOL BunchRenderer: public CompositeComponent
31 {
32 public:
54  explicit BunchRenderer( SignalFlowContext const & context,
55  char const * name,
56  CompositeComponent * parent,
57  panning::LoudspeakerArray const & loudspeakerConfiguration,
58  std::size_t numberOfInputs,
59  std::size_t numberOfOutputs,
60  std::size_t interpolationPeriod,
61  efl::BasicMatrix<SampleType> const & diffusionFilters,
62  std::string const & trackingConfiguration,
63  std::size_t sceneReceiverPort,
64  std::string const & reverbConfig );
65 
66  ~BunchRenderer();
67 
68 private:
69  rcl::UdpReceiver mSceneReceiver;
70 
71  rcl::SceneDecoder mSceneDecoder;
72 
73  CoreRenderer mCoreRenderer;
74 
75  AudioInput mInput;
76  AudioOutput mOutput;
77 };
78 
79 } // namespace signalflows
80 } // namespace visr
81 
82 #endif // VISR_SIGNALFLOWS_BUNCH_RENDERER_HPP_INCLUDED
Definition: udp_receiver.hpp:35
Definition: scene_decoder.hpp:39
Definition: options.cpp:10
Definition: core_renderer.hpp:49
Definition: composite_component.hpp:29
Definition: LoudspeakerArray.h:42
Definition: signal_flow_context.hpp:15
Definition: bunch_renderer.hpp:30