VANetClientImpl.cpp 56.3 KB
Newer Older
Jonas Stienen's avatar
Jonas Stienen committed
1
/*
2
 *  --------------------------------------------------------------------------------------------
Jonas Stienen's avatar
Jonas Stienen committed
3
 *
4
5
6
 *    VVV        VVV A           Virtual Acoustics (VA) | http://www.virtualacoustics.org
 *     VVV      VVV AAA          Licensed under the Apache License, Version 2.0
 *      VVV    VVV   AAA
7
 *       VVV  VVV     AAA        Copyright 2015-2019
8
9
 *        VVVVVV       AAA       Institute of Technical Acoustics (ITA)
 *         VVVV         AAA      RWTH Aachen University
Jonas Stienen's avatar
Jonas Stienen committed
10
 *
11
 *  --------------------------------------------------------------------------------------------
Jonas Stienen's avatar
Jonas Stienen committed
12
 */
13

Jonas Stienen's avatar
Jonas Stienen committed
14
15
16
17
#include "VANetClientImpl.h"
#include "VANetNetworkProtocol.h"
#include "VANetVistaCompatibility.h"

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
18
#include <VA.h>
Jonas Stienen's avatar
Jonas Stienen committed
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

// ViSTA includes
#include <VistaInterProcComm/Connections/VistaConnectionIP.h>
#include <VistaInterProcComm/Concurrency/VistaMutex.h>
#include <VistaInterProcComm/Concurrency/VistaThreadLoop.h>
#include <VistaBase/VistaDefaultTimerImp.h>
#include <VistaBase/VistaExceptionBase.h>
#include <VistaBase/VistaSerializingToolset.h>
#include <VistaBase/VistaTimerImp.h>

#include <algorithm>
#include <cassert>


// Ensures that any possible call to the client
// is executed stricly serial. No two commands may
// be entered at the same time. This ensures that
// multiple client thread can use the client safely.
#define VA_MUTAL_EXCLUDE VistaMutexLock oLock( m_oCommandMutex )

// State checking macro
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
40
#define VA_REQUIRE_CONNECTED { if( m_pParent->IsConnected() == false ) VA_EXCEPT2( MODAL_ERROR, "Not connected." ); }
Jonas Stienen's avatar
Jonas Stienen committed
41
42
43
44
45
46


////////////////////////////////////////////////
/////// NetworkedVACore                 ////////
////////////////////////////////////////////////

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
47
class CVANetClientImpl::CNetworkedVACore : public IVAInterface
48
{
Jonas Stienen's avatar
Jonas Stienen committed
49
public:
50
	inline CNetworkedVACore( CVANetNetworkProtocol* pProtocol, CVANetClientImpl* pParent, VistaConnectionIP* pCommandChannel, VistaConnectionIP* pHeadChannel )
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
51
		: IVAInterface()
52
53
54
55
		, m_pParent( pParent )
		, m_pCommandChannel( pCommandChannel )
		, m_pHeadChannel( pHeadChannel )
		, m_pProtocol( pProtocol )
Jonas Stienen's avatar
Jonas Stienen committed
56
57
58
59
60
	{
		if( m_pHeadChannel )
			m_pHeadMutex = new VistaMutex;
		else
			m_pHeadMutex = &m_oCommandMutex;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
61
	};
Jonas Stienen's avatar
Jonas Stienen committed
62

63
	inline ~CNetworkedVACore()
Jonas Stienen's avatar
Jonas Stienen committed
64
65
66
	{
		if( m_pHeadChannel )
			delete m_pHeadMutex;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
67
	};
Jonas Stienen's avatar
Jonas Stienen committed
68

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
69
70
71
72
	inline VistaMutex* GetCommandMutex()
	{
		return &m_oCommandMutex;
	};
Jonas Stienen's avatar
Jonas Stienen committed
73

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
74
75
76
77
	inline VistaMutex* GetHeadMutex()
	{
		return m_pHeadMutex;
	};
Jonas Stienen's avatar
Jonas Stienen committed
78

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
79
	inline void GetVersionInfo( CVAVersionInfo* pVersionInfo ) const
80
	{
Jonas Stienen's avatar
Jonas Stienen committed
81
82
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
83
		return m_pProtocol->ClientGetVersionInfo( pVersionInfo );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
84
	};
Jonas Stienen's avatar
Jonas Stienen committed
85

86
	inline void SetOutputStream( std::ostream* )
87
	{
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
88
89
		VA_EXCEPT_NOT_IMPLEMENTED;
	};
Jonas Stienen's avatar
Jonas Stienen committed
90

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
91
	inline int GetState() const
92
	{
Jonas Stienen's avatar
Jonas Stienen committed
93
94
95
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetState();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
96
	};
Jonas Stienen's avatar
Jonas Stienen committed
97

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
98
	inline void Initialize()
99
	{
Jonas Stienen's avatar
Jonas Stienen committed
100
101
102
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientInitialize();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
103
	};
Jonas Stienen's avatar
Jonas Stienen committed
104

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
105
	inline void Finalize()
106
	{
Jonas Stienen's avatar
Jonas Stienen committed
107
108
109
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientFinalize();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
110
	};
Jonas Stienen's avatar
Jonas Stienen committed
111

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
112
	inline void Reset()
113
	{
Jonas Stienen's avatar
Jonas Stienen committed
114
115
116
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientReset();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
117
	};
Jonas Stienen's avatar
Jonas Stienen committed
118

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
119
	inline void AttachEventHandler( IVAEventHandler* pEventHandler )
120
	{
Jonas Stienen's avatar
Jonas Stienen committed
121
122
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
123
		m_pParent->AttachEventHandler( pEventHandler );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
124
	};
Jonas Stienen's avatar
Jonas Stienen committed
125

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
126
	inline void DetachEventHandler( IVAEventHandler* pEventHandler )
127
	{
Jonas Stienen's avatar
Jonas Stienen committed
128
129
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
130
131
132
133
134
135
136
137
		m_pParent->DetachEventHandler( pEventHandler );
	};

	inline CVAStruct GetSearchPaths() const
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSearchPaths();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
138
	};
Jonas Stienen's avatar
Jonas Stienen committed
139

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
140
141
142
143
144
145
	inline std::string FindFilePath( const std::string& sFilePath ) const
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientFindFilePath( sFilePath );
	};
Jonas Stienen's avatar
Jonas Stienen committed
146

147
148
149
150
151
152
153
	inline CVAStruct GetCoreConfiguration( const bool bFilterEnabled = true ) const
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetCoreConfiguration( bFilterEnabled );
	};

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
154
	inline CVAStruct GetHardwareConfiguration() const
155
156
157
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
158
		return m_pProtocol->ClientGetHardwareConfiguration();
159
160
161
162
163
164
165
166
167
	};

	inline CVAStruct GetFileList( const bool bRecursive = true, const std::string& sFileSuffixMask = "*" ) const
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetFileList( bRecursive, sFileSuffixMask );
	};

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
168
169
	inline void GetModules( std::vector< CVAModuleInfo >& viModuleInfos ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
170
171
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
172
173
		m_pProtocol->ClientGetModules( viModuleInfos );
	};
Jonas Stienen's avatar
Jonas Stienen committed
174

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
175
	inline CVAStruct CallModule( const std::string& sModuleName, const CVAStruct& oArgs )
Jonas Stienen's avatar
Jonas Stienen committed
176
177
178
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
179
180
		return m_pProtocol->ClientCallModule( sModuleName, oArgs );
	};
Jonas Stienen's avatar
Jonas Stienen committed
181
182


Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
183
184
	inline int CreateDirectivityFromParameters( const CVAStruct& oParams, const std::string& sName /* = "" */ )
	{
Jonas Stienen's avatar
Jonas Stienen committed
185
186
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
187
188
		return m_pProtocol->ClientCreateDirectivityFromParameters( oParams, sName );
	};
Jonas Stienen's avatar
Jonas Stienen committed
189

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
190
191
	inline bool DeleteDirectivity( const int iID )
	{
Jonas Stienen's avatar
Jonas Stienen committed
192
193
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
194
195
		return m_pProtocol->ClientDeleteDirectivity( iID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
196

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
197
198
	inline CVADirectivityInfo GetDirectivityInfo( const int iDirID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
199
200
201
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetDirectivityInfo( iDirID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
202
	};
Jonas Stienen's avatar
Jonas Stienen committed
203

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
204
	inline void GetDirectivityInfos( std::vector< CVADirectivityInfo >& vdiDest ) const
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
205
	{
Jonas Stienen's avatar
Jonas Stienen committed
206
207
208
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientGetDirectivityInfos( vdiDest );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
209
	};
Jonas Stienen's avatar
Jonas Stienen committed
210

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
	inline void SetDirectivityName( const int iID, const std::string& sName )
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetDirectivityName( iID, sName );
	};

	inline std::string GetDirectivityName( const int iID ) const
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetDirectivityName( iID );
	};

	inline void SetDirectivityParameters( const int iID, const CVAStruct& oParams )
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetDirectivityParameters( iID, oParams );
	};

	inline CVAStruct GetDirectivityParameters( const int iID, const CVAStruct& oArgs ) const
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetDirectivityParameters( iID, oArgs );
	};

239

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
240
	inline std::string CreateSignalSourceBufferFromParameters( const CVAStruct& oParams, const std::string& sName = "" )
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
241
	{
Jonas Stienen's avatar
Jonas Stienen committed
242
243
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
244
		return m_pProtocol->ClientCreateSignalSourceBufferFromParameters( oParams, sName );
245
246
	};

247
248
249
250
251
252
253
	inline std::string CreateSignalSourcePrototypeFromParameters( const CVAStruct& oParams, const std::string& sName = "" )
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientCreateSignalSourcePrototypeFromParameters( oParams, sName );
	};

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
254
	inline std::string CreateSignalSourceTextToSpeech( const std::string& sName = "" )
255
256
257
258
259
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientCreateTextToSpeechSignalSource( sName );
	};
Jonas Stienen's avatar
Jonas Stienen committed
260

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
261
	inline std::string CreateSignalSourceSequencer( const std::string& sName = "" )
262
	{
Jonas Stienen's avatar
Jonas Stienen committed
263
264
265
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientCreateSequencerSignalSource( sName );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
266
	};
Jonas Stienen's avatar
Jonas Stienen committed
267

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
268
269
	inline std::string CreateSignalSourceNetworkStream( const std::string& sInterface, const int iPort, const std::string& sName = "" )
	{
Jonas Stienen's avatar
Jonas Stienen committed
270
271
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
272
		return m_pProtocol->ClientCreateNetworkStreamSignalSource( sInterface, iPort, sName );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
273
	};
Jonas Stienen's avatar
Jonas Stienen committed
274

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
275
	inline std::string CreateSignalSourceEngine( const CVAStruct& oParams, const std::string& sName = "" )
Jonas Stienen's avatar
Jonas Stienen committed
276
277
278
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
279
280
		return m_pProtocol->ClientCreateEngineSignalSource( oParams, sName );
	};
Jonas Stienen's avatar
Jonas Stienen committed
281

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
282
	inline std::string CreateSignalSourceMachine( const CVAStruct& oParams, const std::string& sName = "" )
Jonas Stienen's avatar
Jonas Stienen committed
283
284
285
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
286
287
		return m_pProtocol->ClientCreateSignalSourceMachine( oParams, sName );
	};
Jonas Stienen's avatar
Jonas Stienen committed
288

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
289
	inline bool DeleteSignalSource( const std::string& sID )
Jonas Stienen's avatar
Jonas Stienen committed
290
291
292
293
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientDeleteSignalSource( sID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
294
	};
Jonas Stienen's avatar
Jonas Stienen committed
295

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
296
	inline std::string RegisterSignalSource( IVAAudioSignalSource*, const std::string& )
297
298
	{
		VA_EXCEPT2( NOT_IMPLEMENTED, "This function is not available when operating on a remote server" );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
299
	};
Jonas Stienen's avatar
Jonas Stienen committed
300

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
301
	inline bool UnregisterSignalSource( IVAAudioSignalSource* )
302
303
	{
		VA_EXCEPT2( NOT_IMPLEMENTED, "This function is not available when operating on a remote server" );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
304
	};
Jonas Stienen's avatar
Jonas Stienen committed
305

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
306
	inline CVASignalSourceInfo GetSignalSourceInfo( const std::string& sSignalSourceID ) const
307
	{
Jonas Stienen's avatar
Jonas Stienen committed
308
309
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
310
		return m_pProtocol->ClientGetSignalSourceInfo( sSignalSourceID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
311
	};
Jonas Stienen's avatar
Jonas Stienen committed
312

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
313
314
	inline void GetSignalSourceInfos( std::vector<CVASignalSourceInfo>& vssiDest ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
315
316
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
317
		return m_pProtocol->ClientGetSignalSourceInfos( vssiDest );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
318
	};
Jonas Stienen's avatar
Jonas Stienen committed
319

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
320
321
	inline int GetSignalSourceBufferPlaybackState( const std::string& sSignalSourceID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
322
323
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
324
325
		return m_pProtocol->ClientGetSignalSourceBufferPlaybackState( sSignalSourceID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
326

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
327
328
	inline void SetSignalSourceBufferPlaybackAction( const std::string& sSignalSourceID, const int iPlayState )
	{
Jonas Stienen's avatar
Jonas Stienen committed
329
330
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
331
332
		m_pProtocol->ClientSetSignalSourceBufferPlaybackAction( sSignalSourceID, iPlayState );
	};
Jonas Stienen's avatar
Jonas Stienen committed
333

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
334
335
	inline void SetSignalSourceBufferPlaybackPosition( const std::string& sSignalSourceID, const double dPlaybackPosition )
	{
Jonas Stienen's avatar
Jonas Stienen committed
336
337
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
338
339
		m_pProtocol->ClientSetSignalSourceBufferPlaybackPosition( sSignalSourceID, dPlaybackPosition );
	};
Jonas Stienen's avatar
Jonas Stienen committed
340

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
341
	inline bool GetSignalSourceBufferLooping( const std::string& sSignalSourceID ) const
Jonas Stienen's avatar
Jonas Stienen committed
342
343
344
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
345
		return m_pProtocol->ClientGetSignalSourceBufferLooping( sSignalSourceID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
346
	};
Jonas Stienen's avatar
Jonas Stienen committed
347

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
348
	inline void SetSignalSourceBufferLooping( const std::string& sSignalSourceID, const bool bLooping )
Jonas Stienen's avatar
Jonas Stienen committed
349
350
351
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
352
353
		m_pProtocol->ClientSetSignalSourceBufferLooping( sSignalSourceID, bLooping );
	};
Jonas Stienen's avatar
Jonas Stienen committed
354

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
355
	inline void SetSignalSourceParameters( const std::string& sSignalSourceID, const CVAStruct& oParams )
Jonas Stienen's avatar
Jonas Stienen committed
356
357
358
359
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetSignalSourceParameters( sSignalSourceID, oParams );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
360
	};
Jonas Stienen's avatar
Jonas Stienen committed
361

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
362
	inline CVAStruct GetSignalSourceParameters( const std::string& sSignalSourceID, const CVAStruct& oParams ) const
Jonas Stienen's avatar
Jonas Stienen committed
363
364
365
366
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSignalSourceParameters( sSignalSourceID, oParams );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
367
	};
Jonas Stienen's avatar
Jonas Stienen committed
368

369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
	inline int AddSignalSourceSequencerSample( const std::string& sSignalSourceID, const CVAStruct& oArgs )
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientAddSignalSourceSequencerSample( sSignalSourceID, oArgs );
	};

	inline int AddSignalSourceSequencerPlayback( const std::string& sSignalSourceID, const int iSoundID, const int iFlags, const double dTimeCode )
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientAddSignalSourceSequencerPlayback( sSignalSourceID, iSoundID, iFlags, dTimeCode );
	};

	inline void RemoveSignalSourceSequencerSample( const std::string& sSignalSourceID, const int iSoundID )
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientRemoveSignalSourceSequencerSample( sSignalSourceID, iSoundID );
	};

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
390

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
391
	inline bool GetUpdateLocked() const
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
392
	{
Jonas Stienen's avatar
Jonas Stienen committed
393
394
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
395
396
		return m_pProtocol->ClientGetUpdateLocked();
	};
Jonas Stienen's avatar
Jonas Stienen committed
397

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
398
399
	inline void LockUpdate()
	{
Jonas Stienen's avatar
Jonas Stienen committed
400
401
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
402
		m_pProtocol->ClientLockUpdate();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
403
	};
Jonas Stienen's avatar
Jonas Stienen committed
404

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
405
406
	inline int UnlockUpdate()
	{
Jonas Stienen's avatar
Jonas Stienen committed
407
408
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
409
410
		return m_pProtocol->ClientUnlockUpdate();
	};
Jonas Stienen's avatar
Jonas Stienen committed
411
412


Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
413
414
	inline void GetSoundSourceIDs( std::vector< int >& vSoundSourceIDs )
	{
Jonas Stienen's avatar
Jonas Stienen committed
415
416
417
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSoundSourceIDs( vSoundSourceIDs );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
418
	};
Jonas Stienen's avatar
Jonas Stienen committed
419

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
420
421
	inline int CreateSoundSource( const std::string& sName = "" )
	{
422
423
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
424
425
		return m_pProtocol->ClientCreateSoundSource( sName );
	};
Jonas Stienen's avatar
Jonas Stienen committed
426

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
427
	inline int CreateSoundSourceExplicitRenderer( const std::string& sRendererID, const std::string& sName = "" )
Jonas Stienen's avatar
Jonas Stienen committed
428
	{
429
430
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
431
432
		return m_pProtocol->ClientCreateSoundSourceExplicitRenderer( sRendererID, sName );
	};
Jonas Stienen's avatar
Jonas Stienen committed
433

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
434
435
	inline int DeleteSoundSource( const int iID )
	{
Jonas Stienen's avatar
Jonas Stienen committed
436
437
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
438
439
		return m_pProtocol->ClientDeleteSoundSource( iID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
440

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
441
	inline void SetSoundSourceEnabled( const int iSoundSourceID, const bool bEnabled = true )
Jonas Stienen's avatar
Jonas Stienen committed
442
443
444
445
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientSetSoundSourceEnabled( iSoundSourceID, bEnabled );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
446
	};
Jonas Stienen's avatar
Jonas Stienen committed
447

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
448
	inline bool GetSoundSourceEnabled( const int iSoundSourceID ) const
Jonas Stienen's avatar
Jonas Stienen committed
449
450
451
452
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSoundSourceEnabled( iSoundSourceID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
453
454
455
456
457
458
459
460
	};

	inline CVASoundSourceInfo GetSoundSourceInfo( const int iSoundSourceID ) const
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSoundSourceInfo( iSoundSourceID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
461

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
462
463
	inline std::string GetSoundSourceName( const int iSoundSourceID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
464
465
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
466
		return m_pProtocol->ClientGetSoundSourceName( iSoundSourceID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
467
	};
Jonas Stienen's avatar
Jonas Stienen committed
468

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
469
470
	inline void SetSoundSourceName( const int iSoundSourceID, const std::string& sName )
	{
Jonas Stienen's avatar
Jonas Stienen committed
471
472
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
473
		m_pProtocol->ClientSetSoundSourceName( iSoundSourceID, sName );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
474
	};
Jonas Stienen's avatar
Jonas Stienen committed
475

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
476
477
	inline std::string GetSoundSourceSignalSource( const int iSoundSourceID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
478
479
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
480
		return m_pProtocol->ClientGetSoundSourceSignalSource( iSoundSourceID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
481
	};
Jonas Stienen's avatar
Jonas Stienen committed
482

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
483
484
	inline void SetSoundSourceSignalSource( const int iSoundSourceID, const std::string& sSignalSourceID )
	{
Jonas Stienen's avatar
Jonas Stienen committed
485
486
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
487
		m_pProtocol->ClientSetSoundSourceSignalSource( iSoundSourceID, sSignalSourceID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
488
	};
Jonas Stienen's avatar
Jonas Stienen committed
489

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
490
491
	inline int GetSoundSourceAuralizationMode( const int iSoundSourceID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
492
493
494
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSoundSourceAuralizationMode( iSoundSourceID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
495
	};
Jonas Stienen's avatar
Jonas Stienen committed
496

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
497
498
	inline void SetSoundSourceAuralizationMode( const int iSoundSourceID, const int iAuralizationMode )
	{
Jonas Stienen's avatar
Jonas Stienen committed
499
500
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
501
		m_pProtocol->ClientSetSoundSourceAuralizationMode( iSoundSourceID, iAuralizationMode );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
502
	};
Jonas Stienen's avatar
Jonas Stienen committed
503

504
	inline CVAStruct GetSoundSourceParameters( const int iID, const CVAStruct& oArgs ) const
Jonas Stienen's avatar
Jonas Stienen committed
505
506
507
508
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSoundSourceParameters( iID, oArgs );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
509
	};
Jonas Stienen's avatar
Jonas Stienen committed
510

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
511
	inline void SetSoundSourceParameters( const int iID, const CVAStruct& oParams )
Jonas Stienen's avatar
Jonas Stienen committed
512
513
514
515
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetSoundSourceParameters( iID, oParams );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
516
	};
Jonas Stienen's avatar
Jonas Stienen committed
517

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
518
519
	inline int GetSoundSourceDirectivity( const int iSoundSourceID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
520
521
522
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSoundSourceDirectivity( iSoundSourceID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
523
	};
Jonas Stienen's avatar
Jonas Stienen committed
524

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
525
526
	inline void SetSoundSourceDirectivity( const int iSoundSourceID, const int iDirectivityID )
	{
Jonas Stienen's avatar
Jonas Stienen committed
527
528
529
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientSetSoundSourceDirectivity( iSoundSourceID, iDirectivityID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
530
	};
Jonas Stienen's avatar
Jonas Stienen committed
531

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
532
533
	inline double GetSoundSourceSoundPower( const int iSoundSourceID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
534
535
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
536
		return m_pProtocol->ClientGetSoundSourceSoundPower( iSoundSourceID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
537
	};
Jonas Stienen's avatar
Jonas Stienen committed
538

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
539
540
	inline void SetSoundSourceSoundPower( const int iSoundSourceID, const double dPower )
	{
Jonas Stienen's avatar
Jonas Stienen committed
541
542
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
543
544
		m_pProtocol->ClientSetSoundSourceSoundPower( iSoundSourceID, dPower );
	};
Jonas Stienen's avatar
Jonas Stienen committed
545

546
547
	inline bool GetSoundSourceMuted( const int iSoundSourceID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
548
549
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
550
		return m_pProtocol->ClientGetSoundSourceMuted( iSoundSourceID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
551
	};
Jonas Stienen's avatar
Jonas Stienen committed
552

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
553
554
	inline void SetSoundSourceMuted( const int iSoundSourceID, const bool bMuted = true )
	{
Jonas Stienen's avatar
Jonas Stienen committed
555
556
557
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetSoundSourceMuted( iSoundSourceID, bMuted );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
558
	};
Jonas Stienen's avatar
Jonas Stienen committed
559

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
560
561
	inline void GetSoundSourcePose( const int iID, VAVec3& v3Pos, VAQuat& qOrient ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
562
563
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
564
565
		m_pProtocol->ClientGetSoundSourcePose( iID, v3Pos, qOrient );
	};
Jonas Stienen's avatar
Jonas Stienen committed
566

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
567
568
	inline void SetSoundSourcePose( const int iID, const VAVec3& v3Pos, const VAQuat& qOrient )
	{
Jonas Stienen's avatar
Jonas Stienen committed
569
570
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
571
572
		m_pProtocol->ClientSetSoundSourcePose( iID, v3Pos, qOrient );
	};
Jonas Stienen's avatar
Jonas Stienen committed
573

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
574
575
	inline void SetSoundSourcePosition( const int iID, const VAVec3& v3Pos )
	{
Jonas Stienen's avatar
Jonas Stienen committed
576
577
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
578
579
		m_pProtocol->ClientSetSoundSourcePosition( iID, v3Pos );
	};
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
580

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
581
582
	inline void SetSoundSourceOrientation( const int iID, const VAQuat& qOrient )
	{
Jonas Stienen's avatar
Jonas Stienen committed
583
584
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
585
586
		m_pProtocol->ClientSetSoundSourceOrientation( iID, qOrient );
	};
Jonas Stienen's avatar
Jonas Stienen committed
587

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
588
589
	inline void SetSoundSourceOrientationVU( const int iID, const VAVec3& v3View, const VAVec3& v3Up )
	{
Jonas Stienen's avatar
Jonas Stienen committed
590
591
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
592
593
		m_pProtocol->ClientSetSoundSourceOrientationVU( iID, v3View, v3Up );
	};
Jonas Stienen's avatar
Jonas Stienen committed
594

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
595
596
	inline VAVec3 GetSoundSourcePosition( const int iID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
597
598
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
599
600
		return m_pProtocol->ClientGetSoundSourcePosition( iID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
601

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
602
603
	inline VAQuat GetSoundSourceOrientation( const int iSoundSourceID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
604
605
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
606
607
		return m_pProtocol->ClientGetSoundSourceOrientation( iSoundSourceID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
608

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
609
610
	inline void GetSoundSourceOrientationVU( const int iSoundSourceID, VAVec3& v3View, VAVec3& v3Up ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
611
612
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
613
614
		m_pProtocol->ClientGetSoundSourceOrientationVU( iSoundSourceID, v3View, v3Up );
	};
Jonas Stienen's avatar
Jonas Stienen committed
615

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
616

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
617
618
	inline int GetSoundSourceGeometryMesh( const int iID ) const
	{
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
619
620
621
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSoundSourceGeometryMesh( iID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
622
	};
Jonas Stienen's avatar
Jonas Stienen committed
623

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
624
625
	inline void SetSoundSourceGeometryMesh( const int iSoundSourceID, const int iGeometryMeshID )
	{
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
626
627
628
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetSoundSourceGeometryMesh( iSoundSourceID, iGeometryMeshID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
629
	};
Jonas Stienen's avatar
Jonas Stienen committed
630
631


Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
632
633
	inline void GetSoundReceiverIDs( std::vector< int >& vSoundReceiverIDs ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
634
635
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
636
637
		m_pProtocol->ClientGetSoundReceiverIDs( vSoundReceiverIDs );
	};
Jonas Stienen's avatar
Jonas Stienen committed
638

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
639
640
	inline int CreateSoundReceiver( const std::string& sName = "" )
	{
641
642
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
643
644
		return m_pProtocol->ClientCreateSoundReceiver( sName );
	};
Jonas Stienen's avatar
Jonas Stienen committed
645

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
646
	inline int CreateSoundReceiverExplicitRenderer( const std::string& sRendererID, const std::string& sName )
Jonas Stienen's avatar
Jonas Stienen committed
647
648
649
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
650
651
		return m_pProtocol->ClientCreateSoundReceiverExplicitRenderer( sRendererID, sName );
	};
Jonas Stienen's avatar
Jonas Stienen committed
652

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
653
	inline void SetActiveSoundReceiverExplicitRenderer( const int iSoundReceiverID, const std::string& sRendererID )
Jonas Stienen's avatar
Jonas Stienen committed
654
655
656
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
657
		return m_pProtocol->ClientSetActiveSoundReceiverExplicitRenderer( iSoundReceiverID, sRendererID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
658
	};
Jonas Stienen's avatar
Jonas Stienen committed
659

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
660
	inline int GetActiveSoundReceiverExplicitRenderer( const std::string& sRendererID ) const
Jonas Stienen's avatar
Jonas Stienen committed
661
662
663
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
664
		return m_pProtocol->ClientGetActiveSoundReceiverExplicitRenderer( sRendererID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
665
	};
Jonas Stienen's avatar
Jonas Stienen committed
666

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
667
668
	inline int DeleteSoundReceiver( const int iSoundReceiverID )
	{
Jonas Stienen's avatar
Jonas Stienen committed
669
670
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
671
672
		return m_pProtocol->ClientDeleteSoundReceiver( iSoundReceiverID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
673

674
675
676
677
678
679
680
	inline CVASoundReceiverInfo GetSoundReceiverInfo( const int iID ) const
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSoundReceiverInfo( iID );
	};

681
	inline void SetSoundReceiverEnabled( const int iSoundReceiverID, const bool bEnabled = true )
Jonas Stienen's avatar
Jonas Stienen committed
682
683
684
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
685
		return m_pProtocol->ClientSetSoundReceiverEnabled( iSoundReceiverID, bEnabled );
686
	};
Jonas Stienen's avatar
Jonas Stienen committed
687

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
688
	inline bool GetSoundReceiverEnabled( const int iSoundReceiverID ) const
Jonas Stienen's avatar
Jonas Stienen committed
689
690
691
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
692
693
		return m_pProtocol->ClientGetSoundReceiverEnabled( iSoundReceiverID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
694

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
695
696
	inline std::string GetSoundReceiverName( const int iSoundReceiverID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
697
698
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
699
		return m_pProtocol->ClientGetSoundReceiverName( iSoundReceiverID );
700
	};
Jonas Stienen's avatar
Jonas Stienen committed
701

702
703
	inline void SetSoundReceiverName( const int iSoundReceiverID, const std::string& sName )
	{
Jonas Stienen's avatar
Jonas Stienen committed
704
705
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
706
		m_pProtocol->ClientSetSoundReceiverName( iSoundReceiverID, sName );
707
	};
Jonas Stienen's avatar
Jonas Stienen committed
708

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
709
710
	inline int GetSoundReceiverAuralizationMode( const int iSoundReceiverID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
711
712
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
713
		return m_pProtocol->ClientGetSoundReceiverAuralizationMode( iSoundReceiverID );
Jonas Stienen's avatar
Jonas Stienen committed
714
715
	}

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
716
717
	inline void SetSoundReceiverAuralizationMode( const int iSoundReceiverID, const int iAuralizationMode )
	{
Jonas Stienen's avatar
Jonas Stienen committed
718
719
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
720
721
		m_pProtocol->ClientSetSoundReceiverAuralizationMode( iSoundReceiverID, iAuralizationMode );
	};
Jonas Stienen's avatar
Jonas Stienen committed
722

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
723
	inline CVAStruct GetSoundReceiverParameters( const int iID, const CVAStruct& oArgs ) const
Jonas Stienen's avatar
Jonas Stienen committed
724
725
726
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
727
728
		return m_pProtocol->ClientGetSoundReceiverParameters( iID, oArgs );
	};
Jonas Stienen's avatar
Jonas Stienen committed
729

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
730
	inline void SetSoundReceiverParameters( const int iID, const CVAStruct& oParams )
Jonas Stienen's avatar
Jonas Stienen committed
731
732
733
	{
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
734
735
		m_pProtocol->ClientSetSoundReceiverParameters( iID, oParams );
	};
Jonas Stienen's avatar
Jonas Stienen committed
736

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
737
738
	inline int GetSoundReceiverDirectivity( const int iSoundReceiverID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
739
740
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
741
742
		return m_pProtocol->ClientGetSoundReceiverDirectivity( iSoundReceiverID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
743

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
744
745
	inline void SetSoundReceiverDirectivity( const int iSoundReceiverID, const int iDirectivityID )
	{
Jonas Stienen's avatar
Jonas Stienen committed
746
747
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
748
749
		m_pProtocol->ClientSetSoundReceiverDirectivity( iSoundReceiverID, iDirectivityID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
750

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
751
752
	inline void GetSoundReceiverPose( const int iID, VAVec3& v3Pos, VAQuat& qOrient ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
753
754
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
755
756
		m_pProtocol->ClientGetSoundReceiverPose( iID, v3Pos, qOrient );
	};
Jonas Stienen's avatar
Jonas Stienen committed
757

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
758
759
	inline void SetSoundReceiverPose( const int iID, const VAVec3& v3Pos, const VAQuat& qOrient )
	{
Jonas Stienen's avatar
Jonas Stienen committed
760
761
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
762
763
		m_pProtocol->ClientSetSoundReceiverPose( iID, v3Pos, qOrient );
	};
Jonas Stienen's avatar
Jonas Stienen committed
764

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
765
766
	inline VAVec3 GetSoundReceiverPosition( const int iID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
767
768
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
769
770
		return m_pProtocol->ClientGetSoundReceiverPosition( iID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
771

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
772
773
	inline void SetSoundReceiverPosition( const int iID, const VAVec3& v3Pos )
	{
Jonas Stienen's avatar
Jonas Stienen committed
774
775
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
776
777
		m_pProtocol->ClientSetSoundReceiverPosition( iID, v3Pos );
	};
Jonas Stienen's avatar
Jonas Stienen committed
778

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
779
780
	inline VAQuat GetSoundReceiverOrientation( const int iSoundReceiverID ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
781
782
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
783
784
		return m_pProtocol->ClientGetSoundReceiverOrientation( iSoundReceiverID );
	};
Jonas Stienen's avatar
Jonas Stienen committed
785

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
786
787
	inline void SetSoundReceiverOrientation( const int iID, const VAQuat& qOrient )
	{
Jonas Stienen's avatar
Jonas Stienen committed
788
789
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
790
791
		m_pProtocol->ClientSetSoundReceiverOrientation( iID, qOrient );
	};
Jonas Stienen's avatar
Jonas Stienen committed
792

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
793
794
795

	inline void GetSoundReceiverOrientationVU( const int iSoundReceiverID, VAVec3& v3View, VAVec3& v3Up ) const
	{
Jonas Stienen's avatar
Jonas Stienen committed
796
797
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
798
799
		m_pProtocol->ClientGetSoundReceiverOrientationVU( iSoundReceiverID, v3View, v3Up );
	};
Jonas Stienen's avatar
Jonas Stienen committed
800

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
801
802
	inline void SetSoundReceiverOrientationVU( const int iID, const VAVec3& v3View, const VAVec3& v3Up )
	{
Jonas Stienen's avatar
Jonas Stienen committed
803
		VA_REQUIRE_CONNECTED;
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
804
805
806
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetSoundReceiverOrientationVU( iID, v3View, v3Up );
	};
Jonas Stienen's avatar
Jonas Stienen committed
807

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
808
809
	inline VAQuat GetSoundReceiverHeadAboveTorsoOrientation( const int iID ) const
	{
810
811
812
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSoundReceiverHeadAboveTorsoOrientation( iID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
813
	};
Jonas Stienen's avatar
Jonas Stienen committed
814

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
815
816
	inline void SetSoundReceiverHeadAboveTorsoOrientation( const int iID, const VAQuat& qOrient )
	{
817
818
819
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetSoundReceiverHeadAboveTorsoOrientation( iID, qOrient );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
820
	};
Jonas Stienen's avatar
Jonas Stienen committed
821

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
822
823
	inline int GetSoundReceiverGeometryMesh( const int iID ) const
	{
824
825
826
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetSoundReceiverGeometryMesh( iID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
827
	};
Jonas Stienen's avatar
Jonas Stienen committed
828

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
829
830
	inline void SetSoundReceiverGeometryMesh( const int iSoundReceiverID, const int iGeometryMeshID )
	{
831
832
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
833
		m_pProtocol->ClientSetSoundReceiverGeometryMesh( iSoundReceiverID, iGeometryMeshID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
834
	};
Jonas Stienen's avatar
Jonas Stienen committed
835

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
836
837
	inline void GetSoundReceiverRealWorldPose( const int iID, VAVec3& v3Pos, VAQuat& qOrient ) const
	{
838
839
840
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientGetSoundReceiverRealWorldPose( iID, v3Pos, qOrient );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
841
	};
Jonas Stienen's avatar
Jonas Stienen committed
842

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
843
844
	inline void SetSoundReceiverRealWorldPose( const int iID, const VAVec3& v3Pos, const VAQuat& qOrient )
	{
845
846
847
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetSoundReceiverRealWorldPose( iID, v3Pos, qOrient );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
848
	};
Jonas Stienen's avatar
Jonas Stienen committed
849

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
850
	inline VAQuat GetSoundReceiverRealWorldHeadAboveTorsoOrientation( const int iID ) const
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
851
	{
852
853
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
854
		return m_pProtocol->ClientGetSoundReceiverRealWorldTorsoOrientation( iID );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
855
	};
Jonas Stienen's avatar
Jonas Stienen committed
856

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
857
	inline void SetSoundReceiverRealWorldHeadAboveTorsoOrientation( const int iID, const VAQuat& qOrient )
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
858
	{
859
860
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
861
		m_pProtocol->ClientSetSoundReceiverRealWorldTorsoOrientation( iID, qOrient );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
862
863
864
865
	};

	inline void GetSoundReceiverRealWorldPositionOrientationVU( const int iID, VAVec3& v3Pos, VAVec3& v3View, VAVec3& v3Up ) const
	{
866
867
868
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientGetSoundReceiverRealWorldPositionOrientationVU( iID, v3Pos, v3View, v3Up );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
869
870
871
872
	};

	inline void SetSoundReceiverRealWorldPositionOrientationVU( const int iID, const VAVec3& v3Pos, const VAVec3& v3View, const VAVec3& v3Up )
	{
873
874
875
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetSoundReceiverRealWorldPositionOrientationVU( iID, v3Pos, v3View, v3Up );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
876
	};
877

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
878
879
880

	inline void SetHomogeneousMediumSoundSpeed( const double dSoundSpeed )
	{
881
882
883
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetHomogeneousMediumSoundSpeed( dSoundSpeed );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
884
885
886
887
	};

	inline double GetHomogeneousMediumSoundSpeed() const
	{
888
889
890
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetHomogeneousMediumSoundSpeed();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
891
892
893
894
	};

	inline void SetHomogeneousMediumTemperature( const double dDegreesCentigrade )
	{
895
896
897
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetHomogeneousMediumTemperature( dDegreesCentigrade );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
898
899
900
901
	};

	inline double GetHomogeneousMediumTemperature() const
	{
902
903
904
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetHomogeneousMediumTemperature();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
905
906
907
908
	};

	inline void SetHomogeneousMediumStaticPressure( const double dPressurePascal )
	{
909
910
911
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetHomogeneousMediumStaticPressure( dPressurePascal );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
912
913
914
915
	};

	inline double GetHomogeneousMediumStaticPressure() const
	{
916
917
918
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetHomogeneousMediumStaticPressure();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
919
	};
Jonas Stienen's avatar
Jonas Stienen committed
920

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
921
922
	inline void SetHomogeneousMediumRelativeHumidity( const double dRelativeHumidityPercent )
	{
923
924
925
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetHomogeneousMediumRelativeHumidity( dRelativeHumidityPercent );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
926
927
928
929
	};

	inline double GetHomogeneousMediumRelativeHumidity()
	{
930
931
932
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetHomogeneousMediumRelativeHumidity();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
933
	};
Jonas Stienen's avatar
Jonas Stienen committed
934

Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
935
936
	inline void SetHomogeneousMediumShiftSpeed( const VAVec3& v3TranslationSpeed )
	{
937
938
939
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		m_pProtocol->ClientSetHomogeneousMediumShiftSpeed( v3TranslationSpeed );
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
940
941
942
943
	};

	inline VAVec3 GetHomogeneousMediumShiftSpeed() const
	{
944
945
946
		VA_REQUIRE_CONNECTED;
		VA_MUTAL_EXCLUDE;
		return m_pProtocol->ClientGetHomogeneousMediumShiftSpeed();
Dipl.-Ing. Jonas Stienen's avatar
Dipl.-Ing. Jonas Stienen committed
947
948
949
950
	};

	inline void SetHomogeneousMediumParameters( const CVAStruct& oParams )
	{