VACS.cs 30.6 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
using System;
using System.Runtime.InteropServices;
using System.Text;

namespace VA
{
    public class VANet
    {
        private IntPtr _NetClient;
        
        public VANet()
        {
            _NetClient = NativeCreateNetClient();
        }

        ~VANet()
        {
            NativeDisposeNetClient(_NetClient);
        }

        public bool Connect()
        {
            return NativeConnectLocalNetClient(_NetClient);
        }

        public bool Connect( string HostIP , int Port )
        {
            return NativeConnectNetClient(_NetClient, HostIP, Port);
        }

        public bool IsConnected()
        {
            return NativeIsConnectedNetClient(_NetClient);
        }

        public void Disconnect()
        {
            NativeDisconnectNetClient(_NetClient);
        }

        public void Reset()
        {
            NativeReset(_NetClient);
        }
        // Listener
        /** 
         * Create a listener (returns ID)
         */
        public int CreateListener( string Name, int AuraMode, int HRIR )
        {
            if (!IsConnected())
                return -1;

            return NativeCreateListener(_NetClient, Name, AuraMode, HRIR);
        }

        public void SetListenerPosition(int Listener, double x, double y, double z)
        {
            NativeSetListenerPosition(_NetClient, Listener, x, y, z);
        }

        public void SetListenerOrientationYPR(int iListenerID, double yaw, double pitch, double roll)
        {
            NativeSetListenerOrientationYPR(_NetClient, iListenerID, yaw, pitch, roll);
        }

67
68
69
70
71
72
73
        public void SetListenerOrientationVU( int iListenerID,
            double vx, double vy, double vz,
            double ux, double uy, double uz)
        {
            NativeSetListenerOrientationVU(_NetClient, iListenerID, vx, vy, vz, ux, uy, uz);
        }

74
75
76
77
78
79
80
81
82
83
84
85
86
87
        public int CreateSoundSource(string sName, int iAuralizationMode, double dVolume)
        {
            return NativeCreateSoundSource(_NetClient, sName, iAuralizationMode, dVolume);
        }

        public void SetSoundSourcePosition(int iSoundSourceID, double x, double y, double z)
        {
            NativeSetSoundSourcePosition(_NetClient, iSoundSourceID, x, y, z);
        }
        public void SetSoundSourceOrientationYPR(int iSoundSourceID, double yaw, double pitch, double roll)
        {
            NativeSetSoundSourceOrientationYPR(_NetClient, iSoundSourceID, yaw, pitch, roll);
        }

88
89
90
91
92
        public void SetSoundSourceOrientationVU(int iSoundSourceID,
            double vx, double vy, double vz,
            double ux, double uy, double uz)
        {
            NativeSetListenerOrientationVU(_NetClient, iSoundSourceID, vx, vy, vz, ux, uy, uz);
93
            int i = 0;
94
        }
95
96
        public int LoadHRIRDataset(string FilePath, string Name)
        {
97
98
99
100
101
            Console.WriteLine("test");
            try
            {
                return NativeLoadHRIRDataset(_NetClient, FilePath, Name);
            }
102
            catch
103
            {
104
                Console.WriteLine("ErrorError");
105
106
            }
            return -1;
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
        }

        public void FreeHRIRDataset( int HRIR )
        {
            NativeFreeHRIRDataset(_NetClient, HRIR);
        }

        public void SetAudiofileSignalSourcePlaybackAction(string sSignalSourceID, int iPlayState)
        {
            NativeSetAudiofileSignalSourcePlaybackAction(_NetClient, sSignalSourceID, iPlayState);
        }

        public void SetAudiofileSignalSourcePlaybackPosition(string sSignalSourceID, double dPlaybackPosition)
        {
            NativeSetAudiofileSignalSourcePlaybackPosition(_NetClient, sSignalSourceID, dPlaybackPosition);
        }

        public bool GetAudiofileSignalSourceIsLooping(string sSignalSourceID)
        {
            return NativeGetAudiofileSignalSourceIsLooping(_NetClient, sSignalSourceID);
        }
        
        public void SetAudiofileSignalSourceIsLooping(string sSignalSourceID, bool bLooping)
        {
            NativeSetAudiofileSignalSourceIsLooping(_NetClient, sSignalSourceID, bLooping);
        }

        public void GetSoundSourceSignalSource(int iSoundSourceID)
        {
            NativeGetSoundSourceSignalSource(_NetClient, iSoundSourceID);
        }

        public void SetSoundSourceSignalSource(int iSoundSourceID, string sSignalSourceID)
        {
            NativeSetSoundSourceSignalSource(_NetClient, iSoundSourceID, sSignalSourceID);
        }

        public int DeleteListener(int iListenerID)
        {
            return NativeDeleteListener(_NetClient, iListenerID);
        }
        public bool DeleteSignalSource(string sIdentifier)
        {
            return NativeDeleteSignalSource(_NetClient, sIdentifier);
        }
        public int DeleteSoundSource(int iSoundSourceID)
        {
            return NativeDeleteSoundSource(_NetClient, iSoundSourceID);
        }


        public string CreateAudiofileSignalSource(string FilePath, string Name)
        {
            StringBuilder sIdentifier = new StringBuilder(256);
161
            int b = NativeCreateAudiofileSignalSource(_NetClient, FilePath, Name, sIdentifier);    
162
163
164
            return sIdentifier.ToString();
        }

165
166
167
168
169
170
171
172
173
        public void SetSoundSourceVolume(int iSoundSourceID, int dGain)
        {
            NativeSetSoundSourceVolume(_NetClient, iSoundSourceID, dGain);
        }

        public void SetSoundSourceMuted(int iSoundSourceID, bool bMuted)
        {
            NativeSetSoundSourceMuted(_NetClient, iSoundSourceID, bMuted);
        }
174

175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
        public int LoadDirectivity(string sFileName, string sName)
        {
            return NativeLoadDirectivity(_NetClient, sFileName, sName);
        }
        public bool FreeDirectivity(int iDirID)
        {
            return NativeFreeDirectivity(_NetClient, iDirID);
        }
        public int LoadSound(string sFileName, string sName)
        {
            return NativeLoadSound(_NetClient, sFileName, sName);
        }
        public bool FreeSound(int iSoundID)
        {
            return NativeFreeSound(_NetClient, iSoundID);
        }
        public void SetSoundSourceEnabled(int iSoundSourceID, bool bEnabled)
        {
            NativeSetSoundSourceEnabled(_NetClient, iSoundSourceID, bEnabled);
        }
195
        public void SetListenerEnabled(int iListenerID, bool bEnabled)
196
197
198
        {
            NativeSetListenerEnabled(_NetClient, iListenerID, bEnabled);
        }
199
200
201
202
        public void SetListenerHRIRDataset(int iListenerID, int iHRIRDatasetID)
        {
            NativeSetListenerHRIRDataset(_NetClient,iListenerID, iHRIRDatasetID);
        }
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
        public void GetListenerPositionOrientationVU(int iListenerID,
            double px, double py, double pz,
            double vx, double vy, double vz,
            double ux, double uy, double uz)
        {
            NativeGetListenerPositionOrientationVU(_NetClient, iListenerID, px, py, pz, vx, vy, vz, ux, uy, uz);
        }
        public void SetListenerPositionOrientationVU(int iListenerID,
            double px, double py, double pz,
            double vx, double vy, double vz,
            double ux, double uy, double uz)
        {
            NativeSetListenerPositionOrientationVU(_NetClient, iListenerID, px, py, pz, vx, vy, vz, ux, uy, uz);
        }

        public void SetSoundSourceDirectivity(int iSoundSourceID, int iDirectivityID)
        {
            NativeSetSoundSourceDirectivity(_NetClient, iSoundSourceID, iDirectivityID);
        }
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248

        public void SetSoundSourcePositionOrientationVU(int iSoundSourceID,
            double px, double py, double pz,
            double vx, double vy, double vz,
            double ux, double uy, double uz)
        {
            NativeSetSoundSourcePositionOrientationVU(_NetClient, iSoundSourceID,
            px, py, pz,
            vx, vy, vz,
            ux, uy, uz);
        }

        public void SetGlobalAuralizationMode(string sAuralizationMode)
        {
            NativeSetGlobalAuralizationMode(_NetClient, sAuralizationMode);
        }

        public void SetListenerAuralizationMode(int iListenerID, string sAuralizationMode)
        {
            NativeSetListenerAuralizationMode(_NetClient, iListenerID, sAuralizationMode);
        }

        public void SetSoundSourceAuralizationMode(int iSoundSourceID, string sAuralizationMode)
        {
            NativeSetSoundSourceAuralizationMode(_NetClient, iSoundSourceID, sAuralizationMode);
        }

249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
        /*
         * Native imported functions from C++ unmanaged library declared private, so they can not be accessed
         * directly through C# class method
         * 
         */

        [DllImport( "VANetCSWrapper" ) ] private static extern IntPtr NativeCreateNetClient();
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeConnectLocalNetClient( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeConnectNetClient( IntPtr pClient, string sServerIP, int iPort );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeIsConnectedNetClient( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeDisconnectNetClient( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeDisposeNetClient( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetState( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeInitialize( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeFinalize( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeReset( IntPtr pClient );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeEnumerateModules( IntPtr pClient, std::vector<CVAModuleInfo>& viModuleInfos );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeCallModule( IntPtr pClient, char pcModuleID, const CVAStruct& oArgs, CVAStruct& oReturn );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeLoadDirectivity( IntPtr pClient, string sFileName, string sName );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeFreeDirectivity( IntPtr pClient, int iDirID );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetDirectivityInfo( IntPtr pClient, int iDirID, CVADirectivityInfo& );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetDirectivityInfos( IntPtr pClient, std::vector<CVADirectivityInfo>& vdiDest );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeLoadHRIRDataset( IntPtr pClient, string sFileName, string sName );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeFreeHRIRDataset( IntPtr pClient, int iHRIRID );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetHRIRInfo( IntPtr pClient, int iHRIRID, CVAHRIRInfo& );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetHRIRInfos( IntPtr pClient, std::vector< CVAHRIRInfo >& vhiDest );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeLoadSound( IntPtr pClient, string sFileName, string sName );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeFreeSound( IntPtr pClient, int iSoundID );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundInfo( IntPtr pClient, int iSoundID, CVASoundInfo& );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundInfos( IntPtr pClient, std::vector<CVASoundInfo>& vsiDest );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativePlaySound( IntPtr pClient, int iSoundID, double dVolume );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeCreateAudiofileSignalSource( IntPtr pClient, string sFileName, string sName, StringBuilder sIdentifier );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeCreateSequencerSignalSource( IntPtr pClient, string sName );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeCreateNetworkStreamSignalSource( IntPtr pClient, string sInterface, int iPort, string sIdentifier );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeCreateEngineSignalSource( IntPtr pClient, string sIdentifier );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeCreateMachineSignalSource( IntPtr pClient, string sIdentifier );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeDeleteSignalSource( IntPtr pClient, string sIdentifier );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSignalSourceInfo( IntPtr pClient, string sSignalSourceID, CVASignalSourceInfo& );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSignalSourceInfos( IntPtr pClient, std::vector<CVASignalSourceInfo>& vssiDest );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetAudiofileSignalSourcePlaybackState( IntPtr pClient, string sSignalSourceID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourcePlaybackAction( IntPtr pClient, string sSignalSourceID, int iPlayState );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourcePlaybackPosition( IntPtr pClient, string sSignalSourceID, double dPlaybackPosition );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeGetAudiofileSignalSourceIsLooping( IntPtr pClient, string sSignalSourceID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourceIsLooping( IntPtr pClient, string sSignalSourceID, bool bLooping );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeAddSoundPlayback( IntPtr pClient, string sSignalSourceID, int iSoundID, int iFlags, double dTimecode );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeRemoveSoundPlayback( IntPtr pClient, int iPlaybackID );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSignalSourceParameters( IntPtr pClient, string sSignalSourceID, CVAStruct& oParams, CVAStruct& oResult );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeIsSceneLocked( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeLockScene( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeUnlockScene( IntPtr pClient );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundSourceIDs( IntPtr pClient, std::vector<int>& vSoundSourceIDs );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeCreateSoundSource( IntPtr pClient, string sName, int iAuralizationMode, double dVolume );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeCreateSoundSourceExplicitRenderer( IntPtr pClient, string sName, string sRendererID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeDeleteSoundSource( IntPtr pClient, int iSoundSourceID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourceEnabled( IntPtr pClient, int iSoundSourceID, bool bEnabled );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeGetSoundSourceEnabled( IntPtr pClient, int iSoundSourceID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundSourceName( IntPtr pClient, int iSoundSourceID, string sName );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourceName( IntPtr pClient, int iSoundSourceID, string sName );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundSourceSignalSource( IntPtr pClient, int iSoundSourceID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourceSignalSource( IntPtr pClient, int iSoundSourceID, string sSignalSourceID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetSoundSourceAuralizationMode( IntPtr pClient, int iSoundSourceID );
310
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourceAuralizationMode( IntPtr pClient, int iSoundSourceID, string iAuralizationMode );
311
312
313
314
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void GetSoundSourceParameters( IntPtr pClient, int iID, CVAStruct oArgs );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourceParameters( IntPtr pClient, int iID, CVAStruct oParams, CVAStruct& oResult );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetSoundSourceDirectivity( IntPtr pClient, int iSoundSourceID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourceDirectivity( IntPtr pClient, int iSoundSourceID, int iDirectivityID );
315
	    [ DllImport( "VANetCSWrapper" ) ] private static extern double NativeGetSoundSourceVolume( IntPtr pClient, int iSoundSourceID );
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourceVolume( IntPtr pClient, int iSoundSourceID, int dGain );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeIsSoundSourceMuted( IntPtr pClient, int iSoundSourceID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourceMuted( IntPtr pClient, int iSoundSourceID, bool bMuted );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundSourcePosition( IntPtr pClient, int iSoundSourceID, double x, double y, double z );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundSourceOrientationYPR( IntPtr pClient, int iSoundSourceID, double yaw, double pitch, double roll );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundSourceOrientationVU( IntPtr pClient, int iSoundSourceID, double vx, double vy, double vz,
		    double ux, double uy, double uz );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundSourcePositionOrientationYPR( IntPtr pClient, int iSoundSourceID,
		    double x, double y, double z,
		    double yaw, double pitch, double roll );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundSourcePositionOrientationVU( IntPtr pClient, int iSoundSourceID,
		    double px, double py, double pz,
		    double vx, double vy, double vz,
		    double ux, double uy, double uz );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundSourcePositionOrientationVelocityYPR( IntPtr pClient, int iSoundSourceID,
		    double dPosX, double dPosY, double dPosZ,
		    double dYaw, double dPitch, double dRoll,
		    double dVelocityX, double dVelocityY, double dVelocityZ );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSoundSourcePositionOrientationVelocityVU( IntPtr pClient, int iSoundSourceID,
		    double dPosX, double dPosY, double dPosZ,
		    double dViewX, double dViewY, double dViewZ,
		    double dUpX, double dUpY, double dUpZ,
		    double dVelocityX, double dVelocityY, double dVelocityZ );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourcePosition( IntPtr pClient, int iSoundSourceID, double x, double y, double z );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourceOrientationYPR( IntPtr pClient, int iSoundSourceID, double yaw, double pitch, double roll );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourceOrientationVU( IntPtr pClient, int iSoundSourceID,
		    double vx, double vy, double vz,
		    double ux, double uy, double uz );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourcePositionOrientationYPR( IntPtr pClient, int iSoundSourceID,
		    double x, double y, double z,
		    double yaw, double pitch, double roll );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourcePositionOrientationVU( IntPtr pClient, int iSoundSourceID,
		    double px, double py, double pz,
		    double vx, double vy, double vz,
		    double ux, double uy, double uz );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourcePositionOrientationVelocityYPR( IntPtr pClient, int iSoundSourceID,
		    double dPosX, double dPosY, double dPosZ,
		    double dYaw, double dPitch, double dRoll,
		    double dVelocityX, double dVelocityY, double dVelocityZ );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetSoundSourcePositionOrientationVelocityVU( IntPtr pClient, int iSoundSourceID,
		    double dPosX, double dPosY, double dPosZ,
		    double dViewX, double dViewY, double dViewZ,
		    double dUpX, double dUpY, double dUpZ,
		    double dVelocityX, double dVelocityY, double dVelocityZ );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetListenerIDs( IntPtr pClient, std::vector<int>& vListenerIDs );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeCreateListener( IntPtr pClient, string sName, int iAuralizationMode, int iHRIRDatasetID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeCreateListenerExplicitRenderer( IntPtr pClient, string sName, string sRendererID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetActiveListenerExplicitRenderer( IntPtr pClient, int iListenerID, string sRendererID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetActiveListenerExplicitRenderer( IntPtr pClient, string sRendererID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeDeleteListener( IntPtr pClient, int iListenerID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerEnabled( IntPtr pClient, int iListenerID, bool bEnabled );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeGetListenerEnabled( IntPtr pClient, int iListenerID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void GetListenerName( IntPtr pClient, int iListenerID, char cName );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerName( IntPtr pClient, int iListenerID, string sName );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetListenerAuralizationMode( IntPtr pClient, int iListenerID );
371
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerAuralizationMode( IntPtr pClient, int iListenerID, string sAuralizationMode );
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetListenerParameters( IntPtr pClient, int iID, const CVAStruct& oArgs, CVAStruct& oResult );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerParameters( IntPtr pClient, int iID, const CVAStruct& oParams );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetListenerHRIRDataset( IntPtr pClient, int iListenerID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerHRIRDataset( IntPtr pClient, int iListenerID, int iHRIRDatasetID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetListenerPosition( IntPtr pClient, int iListenerID,
		    double x, double y, double z );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetListenerOrientationYPR( IntPtr pClient, int iListenerID,
		    double yaw, double pitch, double roll );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetListenerOrientationVU( IntPtr pClient, int iListenerID,
		    double vx, double vy, double vz,
		    double ux, double uy, double uz );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetListenerPositionOrientationYPR( IntPtr pClient, int iListenerID,
		    double x, double y, double z,
		    double yaw, double pitch, double roll );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetListenerPositionOrientationVU( IntPtr pClient, int iListenerID,
		    double px, double py, double pz,
		    double vx, double vy, double vz,
		    double ux, double uy, double uz );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetListenerPositionOrientationVelocityYPR( IntPtr pClient, int iListenerID,
		    double dPosX, double dPosY, double dPosZ,
		    double dYaw, double dPitch, double dRoll,
		    double dVelocityX, double dVelocityY, double dVelocityZ );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetListenerPositionOrientationVelocityVU( IntPtr pClient, int iListenerID,
		    double dPosX, double dPosY, double dPosZ,
		    double dViewX, double dViewY, double dViewZ,
		    double dUpX, double dUpY, double dUpZ,
		    double dVelocityX, double dVelocityY, double dVelocityZ );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerPosition( IntPtr pClient, int iListenerID,
		    double x, double y, double z );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerOrientationYPR( IntPtr pClient, int iListenerID,
		    double yaw, double pitch, double roll );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerOrientationVU( IntPtr pClient, int iListenerID,
		    double vx, double vy, double vz,
		    double ux, double uy, double uz );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerPositionOrientationYPR( IntPtr pClient, int iListenerID,
		    double x, double y, double z,
		    double yaw, double pitch, double roll );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerPositionOrientationVU( IntPtr pClient, int iListenerID,
		    double px, double py, double pz,
		    double vx, double vy, double vz,
		    double ux, double uy, double uz );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerPositionOrientationVelocityYPR( IntPtr pClient, int iListenerID,
		    double dPosX, double dPosY, double dPosZ,
		    double dYaw, double dPitch, double dRoll,
		    double dVelocityX, double dVelocityY, double dVelocityZ );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerPositionOrientationVelocityVU( IntPtr pClient, int iListenerID,
		    double dPosX, double dPosY, double dPosZ,
		    double dViewX, double dViewY, double dViewZ,
		    double dUpX, double dUpY, double dUpZ,
		    double dVelocityX, double dVelocityY, double dVelocityZ );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetListenerRealWorldHeadPositionOrientationVU( IntPtr pClient, int iListenerID,
		    double px, double py, double pz,
		    double vx, double vy, double vz,
		    double ux, double uy, double uz );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetListenerRealWorldHeadPositionOrientationVU( IntPtr pClient, int iListenerID,
		    double px, double py, double pz,
		    double vx, double vy, double vz,
		    double ux, double uy, double uz );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeLoadScene( IntPtr pClient, string sFileName );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeIsSceneLoaded( IntPtr pClient );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSceneInfo( IntPtr pClient, CVASceneInfo& );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetPortalIDs( IntPtr pClient, std::vector<int> vPortalIDs );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetPortalName( IntPtr pClient, int iPortalID, string sName );

	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetPortalName( IntPtr pClient, int iPortalID, string sName );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern double NativeGetPortalState( IntPtr pClient, int iPortalID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetPortalState( IntPtr pClient, int iPortalID, double dState );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeIsInputMuted( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetInputMuted( IntPtr pClient, bool bMuted );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern double NativeGetInputGain( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetInputGain( IntPtr pClient, double dGain );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern double NativeGetOutputGain( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetOutputGain( IntPtr pClient, double dGain );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeIsOutputMuted( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetOutputMuted( IntPtr pClient, bool bMuted );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetGlobalAuralizationMode( IntPtr pClient );
448
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetGlobalAuralizationMode( IntPtr pClient, string sAuralizationMode );
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
	    [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetActiveListener( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetActiveListener( IntPtr pClient, int iListenerID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern double NativeGetCoreClock( IntPtr pClient );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetCoreClock( IntPtr pClient, double dSeconds );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetRenderingModules( IntPtr pClient, std::vector< CVAAudioRenderingModuleInfo >& voRenderer );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetRenderingModuleMuted( IntPtr pClient, string sModuleID, bool bMuted );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeIsRenderingModuleMuted( IntPtr pClient, string sModuleID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetRenderingModuleGain( IntPtr pClient, string sModuleID, double dGain );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern double NativeGetRenderingModuleGain( IntPtr pClient, string sModuleID );
	    //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetReproductionModules( IntPtr pClient, std::vector< CVAAudioReproductionModuleInfo >& voRepros );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetReproductionModuleMuted( IntPtr pClient, string sModuleID, bool bMuted );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeIsReproductionModuleMuted( IntPtr pClient, string sModuleID );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetReproductionModuleGain( IntPtr pClient, string sModuleID, double dGain );
	    [ DllImport( "VANetCSWrapper" ) ] private static extern double NativeGetReproductionModuleGain( IntPtr pClient, string sModuleID );
    }
}