VISR  0.11.7
Versatile Interactive Scene Renderer
visr_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_VISR_RENDERER_HPP_INCLUDED
4 #define VISR_SIGNALFLOWS_VISR_RENDERER_HPP_INCLUDED
5 
6 #include "export_symbols.hpp"
7 
9 
11 #include <libvisr/audio_input.hpp>
12 #include <libvisr/audio_output.hpp>
13 
15 #include <librcl/scene_decoder.hpp>
16 #include <librcl/udp_receiver.hpp>
17 
19 #include <libpml/object_vector.hpp>
22 
23 #include <memory>
24 #include <string>
25 
26 namespace visr
27 {
28 
29 namespace signalflowspython
30 {
31 
35 class VISR_SIGNALFLOWSPYTHON_LIBRARY_SYMBOL VisrRenderer: public CompositeComponent
36 {
37 public:
63  explicit VisrRenderer( SignalFlowContext const & context,
64  char const * name,
65  CompositeComponent * parent,
66  panning::LoudspeakerArray const & loudspeakerConfiguration,
67  std::size_t numberOfInputs,
68  std::size_t numberOfOutputs,
69  std::size_t interpolationPeriod,
70  efl::BasicMatrix<SampleType> const & diffusionFilters,
71  std::string const & trackingConfiguration,
72  std::size_t sceneReceiverPort,
73  std::size_t numberOfObjectEqSections,
74  std::string const & reverbConfig,
75  bool frequencyDependentPanning = false,
76  std::string const & metadapterConfig = std::string() );
77  ~VisrRenderer();
78 
79 private:
80 
81  rcl::UdpReceiver mSceneReceiver;
82 
86  std::unique_ptr<Component> mSceneDecoder;
87 
95  std::unique_ptr<rcl::UdpReceiver> mTrackingReceiver;
96 
100  std::unique_ptr<rcl::PositionDecoder> mTrackingPositionDecoder;
102 
103  signalflows::CoreRenderer mCoreRenderer;
104 
105  AudioInput mInput;
106  AudioOutput mOutput;
107 };
108 
109 } // namespace signalflowspython
110 } // namespace visr
111 
112 #endif // VISR_SIGNALFLOWS_VISR_RENDERER_HPP_INCLUDED
Definition: udp_receiver.hpp:35
Definition: options.cpp:10
Definition: core_renderer.hpp:49
Definition: visr_renderer.hpp:35
Definition: composite_component.hpp:29
Definition: LoudspeakerArray.h:42
Definition: signal_flow_context.hpp:15