VISR  0.11.1
Versatile Interactive Scene Renderer
audio_connection_descriptor.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_AUDIO_CONNECTION_DESCRIPTOR_HPP_INCLUDED
4 #define VISR_AUDIO_CONNECTION_DESCRIPTOR_HPP_INCLUDED
5 
6 #include "../channel_list.hpp"
7 #include "../export_symbols.hpp"
8 
9 #include <ciso646>
10 #include <cstddef>
11 #include <initializer_list>
12 #include <list>
13 #include <set>
14 #include <string>
15 #include <vector>
16 
17 namespace visr
18 {
19 
20 class AudioPortBase;
21 class Component;
22 
23 namespace impl
24 {
25 class AudioPortBaseImplementation;
26 
30 struct VISR_CORE_LIBRARY_SYMBOL AudioConnection
31 {
32 public:
38  : mSender( nullptr )
39  , mReceiver( nullptr )
40  {
41  }
42 
44  ChannelList const & pSendIndices,
45  AudioPortBaseImplementation * pReceiver,
46  ChannelList const & pReceiveIndices );
47 
48  bool operator<(AudioConnection const & rhs) const;
49 
50  AudioPortBaseImplementation * sender() const { return mSender; }
51  AudioPortBaseImplementation * receiver() const { return mReceiver; }
52 
53  ChannelList const & sendIndices() const { return mSendIndices; }
54  ChannelList const & receiveIndices( ) const { return mReceiveIndices; }
55 
56 private:
58  AudioPortBaseImplementation * mReceiver;
59  ChannelList const mSendIndices;
60  ChannelList const mReceiveIndices;
61 };
62 
63 using AudioConnectionTable = std::multiset< AudioConnection >;
64 
65 std::ostream & operator<<( std::ostream & str, impl::AudioConnection const & conn );
66 
67 std::ostream & operator<<( std::ostream & str, impl::AudioConnectionTable const & table );
68 
69 } // namespace impl
70 } // namespace visr
71 
72 #endif // #ifndef VISR_AUDIO_CONNECTION_DESCRIPTOR_HPP_INCLUDED
AudioConnection()
Definition: audio_connection_descriptor.hpp:37
std::ostream & operator<<(std::ostream &str, impl::AudioConnection const &conn)
Definition: audio_connection_descriptor.cpp:39
Definition: audio_port_base_implementation.hpp:27
Definition: channel_list.hpp:24
ChannelList const & sendIndices() const
Definition: audio_connection_descriptor.hpp:53
Definition: options.cpp:10
std::multiset< AudioConnection > AudioConnectionTable
Definition: audio_connection_descriptor.hpp:63
ChannelList const & receiveIndices() const
Definition: audio_connection_descriptor.hpp:54
bool operator<(InterpolationParameter const &lhs, InterpolationParameter const &rhs)
Definition: interpolation_parameter.hpp:80
AudioPortBaseImplementation * sender() const
Definition: audio_connection_descriptor.hpp:50
Definition: audio_connection_descriptor.hpp:30
AudioPortBaseImplementation * receiver() const
Definition: audio_connection_descriptor.hpp:51