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
8
#include <
libsignalflows/core_renderer.hpp
>
9
10
#include <
libvisr/composite_component.hpp
>
11
#include <
libvisr/audio_input.hpp
>
12
#include <
libvisr/audio_output.hpp
>
13
14
#include <
librcl/position_decoder.hpp
>
15
#include <
librcl/scene_decoder.hpp
>
16
#include <
librcl/udp_receiver.hpp
>
17
18
#include <
libpml/listener_position.hpp
>
19
#include <
libpml/object_vector.hpp
>
20
#include <
libpml/double_buffering_protocol.hpp
>
21
#include <
libpml/message_queue_protocol.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
position_decoder.hpp
scene_decoder.hpp
double_buffering_protocol.hpp
visr::rcl::UdpReceiver
Definition:
udp_receiver.hpp:35
udp_receiver.hpp
visr::AudioOutputT< SampleType >
visr
Definition:
options.cpp:10
visr::signalflows::CoreRenderer
Definition:
core_renderer.hpp:49
visr::signalflowspython::VisrRenderer
Definition:
visr_renderer.hpp:35
object_vector.hpp
visr::CompositeComponent
Definition:
composite_component.hpp:29
visr::panning::LoudspeakerArray
Definition:
LoudspeakerArray.h:42
visr::SignalFlowContext
Definition:
signal_flow_context.hpp:15
audio_output.hpp
visr::AudioInputT< SampleType >
core_renderer.hpp
export_symbols.hpp
listener_position.hpp
message_queue_protocol.hpp
audio_input.hpp
visr::efl::BasicMatrix< SampleType >
composite_component.hpp
src
libsignalflowspython
visr_renderer.hpp
Generated on Mon Nov 12 2018 10:54:07 for VISR by
1.8.14