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
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
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
239
240
241
242
243
244
245
246
247
248
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
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
/* automatically generated by rust-bindgen */


 /// The public interface to Libaudioverse. 
 pub type LavError = :: std :: os :: raw :: c_int ; pub type LavHandle = :: std :: os :: raw :: c_int ; pub type LavParameterlessCallback = :: std :: option :: Option < unsafe extern "C" fn ( nodeHandle : LavHandle , userdata : * mut :: std :: os :: raw :: c_void ) > ; pub type LavTimeCallback = :: std :: option :: Option < unsafe extern "C" fn ( handle : LavHandle , time : f64 , userdata : * mut :: std :: os :: raw :: c_void ) > ; pub const Lav_ERRORS_Lav_ERROR_NONE : Lav_ERRORS = 0 ; pub const Lav_ERRORS_Lav_ERROR_UNKNOWN : Lav_ERRORS = 1 ; pub const Lav_ERRORS_Lav_ERROR_NOT_INITIALIZED : Lav_ERRORS = 2 ; pub const Lav_ERRORS_Lav_ERROR_TYPE_MISMATCH : Lav_ERRORS = 3 ; pub const Lav_ERRORS_Lav_ERROR_INVALID_PROPERTY : Lav_ERRORS = 4 ; pub const Lav_ERRORS_Lav_ERROR_NULL_POINTER : Lav_ERRORS = 5 ; pub const Lav_ERRORS_Lav_ERROR_MEMORY : Lav_ERRORS = 6 ; pub const Lav_ERRORS_Lav_ERROR_INVALID_POINTER : Lav_ERRORS = 7 ; pub const Lav_ERRORS_Lav_ERROR_INVALID_HANDLE : Lav_ERRORS = 8 ; pub const Lav_ERRORS_Lav_ERROR_RANGE : Lav_ERRORS = 9 ; pub const Lav_ERRORS_Lav_ERROR_CANNOT_INIT_AUDIO : Lav_ERRORS = 10 ; pub const Lav_ERRORS_Lav_ERROR_NO_SUCH_DEVICE : Lav_ERRORS = 11 ; pub const Lav_ERRORS_Lav_ERROR_FILE : Lav_ERRORS = 12 ; pub const Lav_ERRORS_Lav_ERROR_FILE_NOT_FOUND : Lav_ERRORS = 13 ; pub const Lav_ERRORS_Lav_ERROR_HRTF_INVALID : Lav_ERRORS = 14 ; pub const Lav_ERRORS_Lav_ERROR_CANNOT_CROSS_SERVERS : Lav_ERRORS = 15 ; pub const Lav_ERRORS_Lav_ERROR_CAUSES_CYCLE : Lav_ERRORS = 16 ; pub const Lav_ERRORS_Lav_ERROR_PROPERTY_IS_READ_ONLY : Lav_ERRORS = 17 ; pub const Lav_ERRORS_Lav_ERROR_OVERLAPPING_AUTOMATORS : Lav_ERRORS = 18 ; pub const Lav_ERRORS_Lav_ERROR_CANNOT_CONNECT_TO_PROPERTY : Lav_ERRORS = 19 ; pub const Lav_ERRORS_Lav_ERROR_BUFFER_IN_USE : Lav_ERRORS = 20 ; pub const Lav_ERRORS_Lav_ERROR_INTERNAL : Lav_ERRORS = 999 ; pub type Lav_ERRORS = :: std :: os :: raw :: c_int ; pub const Lav_PROPERTY_TYPES_Lav_PROPERTYTYPE_INT : Lav_PROPERTY_TYPES = 0 ; pub const Lav_PROPERTY_TYPES_Lav_PROPERTYTYPE_FLOAT : Lav_PROPERTY_TYPES = 1 ; pub const Lav_PROPERTY_TYPES_Lav_PROPERTYTYPE_DOUBLE : Lav_PROPERTY_TYPES = 2 ; pub const Lav_PROPERTY_TYPES_Lav_PROPERTYTYPE_STRING : Lav_PROPERTY_TYPES = 3 ; pub const Lav_PROPERTY_TYPES_Lav_PROPERTYTYPE_FLOAT3 : Lav_PROPERTY_TYPES = 4 ; pub const Lav_PROPERTY_TYPES_Lav_PROPERTYTYPE_FLOAT6 : Lav_PROPERTY_TYPES = 5 ; pub const Lav_PROPERTY_TYPES_Lav_PROPERTYTYPE_FLOAT_ARRAY : Lav_PROPERTY_TYPES = 6 ; pub const Lav_PROPERTY_TYPES_Lav_PROPERTYTYPE_INT_ARRAY : Lav_PROPERTY_TYPES = 7 ; pub const Lav_PROPERTY_TYPES_Lav_PROPERTYTYPE_BUFFER : Lav_PROPERTY_TYPES = 8 ; pub type Lav_PROPERTY_TYPES = :: std :: os :: raw :: c_int ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_SERVER : Lav_OBJECT_TYPES = 0 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_BUFFER : Lav_OBJECT_TYPES = 1 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_GENERIC_NODE : Lav_OBJECT_TYPES = 2 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_ENVIRONMENT_NODE : Lav_OBJECT_TYPES = 3 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_SOURCE_NODE : Lav_OBJECT_TYPES = 4 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_HRTF_NODE : Lav_OBJECT_TYPES = 5 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_SINE_NODE : Lav_OBJECT_TYPES = 6 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_HARD_LIMITER_NODE : Lav_OBJECT_TYPES = 7 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_CROSSFADING_DELAY_NODE : Lav_OBJECT_TYPES = 8 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_DOPPLERING_DELAY_NODE : Lav_OBJECT_TYPES = 9 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_AMPLITUDE_PANNER_NODE : Lav_OBJECT_TYPES = 10 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_PUSH_NODE : Lav_OBJECT_TYPES = 11 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_BIQUAD_NODE : Lav_OBJECT_TYPES = 12 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_PULL_NODE : Lav_OBJECT_TYPES = 13 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_GRAPH_LISTENER_NODE : Lav_OBJECT_TYPES = 14 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_RINGMOD_NODE : Lav_OBJECT_TYPES = 15 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_MULTIPANNER_NODE : Lav_OBJECT_TYPES = 16 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_FEEDBACK_DELAY_NETWORK_NODE : Lav_OBJECT_TYPES = 17 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_ADDITIVE_SQUARE_NODE : Lav_OBJECT_TYPES = 18 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_ADDITIVE_TRIANGLE_NODE : Lav_OBJECT_TYPES = 19 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_ADDITIVE_SAW_NODE : Lav_OBJECT_TYPES = 20 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_NOISE_NODE : Lav_OBJECT_TYPES = 21 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_IIR_NODE : Lav_OBJECT_TYPES = 22 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_GAIN_NODE : Lav_OBJECT_TYPES = 23 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_CHANNEL_SPLITTER_NODE : Lav_OBJECT_TYPES = 24 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_CHANNEL_MERGER_NODE : Lav_OBJECT_TYPES = 25 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_BUFFER_NODE : Lav_OBJECT_TYPES = 26 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_BUFFER_TIMELINE_NODE : Lav_OBJECT_TYPES = 27 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_RECORDER_NODE : Lav_OBJECT_TYPES = 28 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_CONVOLVER_NODE : Lav_OBJECT_TYPES = 29 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_FFT_CONVOLVER_NODE : Lav_OBJECT_TYPES = 30 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_THREE_BAND_EQ_NODE : Lav_OBJECT_TYPES = 31 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_FILTERED_DELAY_NODE : Lav_OBJECT_TYPES = 32 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_CROSSFADER_NODE : Lav_OBJECT_TYPES = 33 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_ONE_POLE_FILTER_NODE : Lav_OBJECT_TYPES = 34 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_FIRST_ORDER_FILTER_NODE : Lav_OBJECT_TYPES = 35 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_ALLPASS_NODE : Lav_OBJECT_TYPES = 36 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_FDN_REVERB_NODE : Lav_OBJECT_TYPES = 37 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_BLIT_NODE : Lav_OBJECT_TYPES = 38 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_DC_BLOCKER_NODE : Lav_OBJECT_TYPES = 39 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_LEAKY_INTEGRATOR_NODE : Lav_OBJECT_TYPES = 40 ; pub const Lav_OBJECT_TYPES_Lav_OBJTYPE_FILE_STREAMER_NODE : Lav_OBJECT_TYPES = 41 ; pub type Lav_OBJECT_TYPES = :: std :: os :: raw :: c_int ; pub const Lav_NODE_STATES_Lav_NODESTATE_PAUSED : Lav_NODE_STATES = 0 ; pub const Lav_NODE_STATES_Lav_NODESTATE_PLAYING : Lav_NODE_STATES = 1 ; pub const Lav_NODE_STATES_Lav_NODESTATE_ALWAYS_PLAYING : Lav_NODE_STATES = 2 ; pub type Lav_NODE_STATES = :: std :: os :: raw :: c_int ; pub const Lav_LOGGING_LEVELS_Lav_LOGGING_LEVEL_CRITICAL : Lav_LOGGING_LEVELS = 10 ; pub const Lav_LOGGING_LEVELS_Lav_LOGGING_LEVEL_INFO : Lav_LOGGING_LEVELS = 20 ; pub const Lav_LOGGING_LEVELS_Lav_LOGGING_LEVEL_DEBUG : Lav_LOGGING_LEVELS = 30 ; pub const Lav_LOGGING_LEVELS_Lav_LOGGING_LEVEL_OFF : Lav_LOGGING_LEVELS = 40 ; pub type Lav_LOGGING_LEVELS = :: std :: os :: raw :: c_int ; extern "C" {
 
 /// Initialize Libaudioverse. 
 
 pub fn Lav_initialize ( ) -> LavError ; 
} extern "C" {
 
 /// Shuts down the library.
///
/// After a call to this function, any Libaudioverse handles are invalid.
/// So too are any pointers that Libaudioverse gave you, of any form. 
 
 pub fn Lav_shutdown ( ) -> LavError ; 
} extern "C" {
 pub fn Lav_isInitialized ( destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 
 /// Query the thread's current error.
/// Pointers are valid until the next time an error happens on this thread. 
 
 pub fn Lav_errorGetMessage ( destination : * mut * const :: std :: os :: raw :: c_char , ) -> LavError ; 
} extern "C" {
 pub fn Lav_errorGetFile ( destination : * mut * const :: std :: os :: raw :: c_char , ) -> LavError ; 
} extern "C" {
 pub fn Lav_errorGetLine ( destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 
 /// Free any pointer that libaudioverse gives you.  If something goes wrong, namely that the pointer isn't from Libaudioverse in the first place, this tries to fail gracefully and give you an error, but don't rely on this. 
 
 pub fn Lav_free ( ptr : * mut :: std :: os :: raw :: c_void , ) -> LavError ; 
} extern "C" {
 
 /// Handle refcounts. 
 
 pub fn Lav_handleIncRef ( handle : LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_handleDecRef ( handle : LavHandle , ) -> LavError ; 
} extern "C" {
 
 /// Every handle has a first external access bit which is cleared by this function.
/// This is to avoid an issue with bindings that need to know if they should increment counts. 
 
 pub fn Lav_handleGetAndClearFirstAccess ( handle : LavHandle , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_handleGetRefCount ( handle : LavHandle , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_handleGetType ( handle : LavHandle , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} 
 /// Configure and query logging.
///
/// These functions may be used before library initialization, the intent being that you can get initialization logs.  These functions, like all other functions, cannot be used after library termination. 
 pub type LavLoggingCallback = :: std :: option :: Option < unsafe extern "C" fn ( level : :: std :: os :: raw :: c_int , message : * const :: std :: os :: raw :: c_char ) > ; extern "C" {
 pub fn Lav_setLoggingCallback ( cb : LavLoggingCallback , ) -> LavError ; 
} extern "C" {
 pub fn Lav_getLoggingCallback ( destination : * mut LavLoggingCallback , ) -> LavError ; 
} extern "C" {
 pub fn Lav_setLoggingLevel ( level : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_getLoggingLevel ( destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} 
 /// Configure the handle destroyed callback.  Also may be used before initialization.
/// This exists only for bindings.  If you use this in your C program, you may have design issues. 
 pub type LavHandleDestroyedCallback = :: std :: option :: Option < unsafe extern "C" fn ( which : LavHandle ) > ; extern "C" {
 pub fn Lav_setHandleDestroyedCallback ( cb : LavHandleDestroyedCallback , ) -> LavError ; 
} extern "C" {
 pub fn Lav_deviceGetCount ( destination : * mut :: std :: os :: raw :: c_uint , ) -> LavError ; 
} extern "C" {
 pub fn Lav_deviceGetName ( index : :: std :: os :: raw :: c_uint , destination : * mut * mut :: std :: os :: raw :: c_char , ) -> LavError ; 
} extern "C" {
 pub fn Lav_deviceGetIdentifierString ( index : :: std :: os :: raw :: c_uint , destination : * mut * mut :: std :: os :: raw :: c_char , ) -> LavError ; 
} extern "C" {
 pub fn Lav_deviceGetChannels ( index : :: std :: os :: raw :: c_uint , destination : * mut :: std :: os :: raw :: c_uint , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createServer ( sr : :: std :: os :: raw :: c_uint , blockSize : :: std :: os :: raw :: c_uint , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverGetBlockSize ( serverHandle : LavHandle , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverGetBlock ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_uint , mayApplyMixingMatrix : :: std :: os :: raw :: c_int , buffer : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverGetSr ( serverHandle : LavHandle , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 
 /// Set or clear the output device. 
 
 pub fn Lav_serverSetOutputDevice ( serverHandle : LavHandle , device : * const :: std :: os :: raw :: c_char , channels : :: std :: os :: raw :: c_int , mixahead : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverClearOutputDevice ( serverHandle : LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverLock ( serverHandle : LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverUnlock ( serverHandle : LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverSetBlockCallback ( serverHandle : LavHandle , callback : LavTimeCallback , userdata : * mut :: std :: os :: raw :: c_void , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverWriteFile ( serverHandle : LavHandle , path : * const :: std :: os :: raw :: c_char , channels : :: std :: os :: raw :: c_int , duration : f64 , mayApplyMixingMatrix : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverSetThreads ( serverHandle : LavHandle , threads : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverGetThreads ( serverHandle : LavHandle , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_serverCallIn ( serverHandle : LavHandle , when : f64 , inAudioThread : :: std :: os :: raw :: c_int , cb : LavTimeCallback , userdata : * mut :: std :: os :: raw :: c_void , ) -> LavError ; 
} extern "C" {
 
 /// Buffers.
/// Buffers are chunks of audio data from any source.  A variety of nodes to work with buffers exist. 
 
 pub fn Lav_createBuffer ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_bufferGetServer ( bufferHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_bufferLoadFromFile ( bufferHandle : LavHandle , path : * const :: std :: os :: raw :: c_char , ) -> LavError ; 
} extern "C" {
 pub fn Lav_bufferLoadFromArray ( bufferHandle : LavHandle , sr : :: std :: os :: raw :: c_int , channels : :: std :: os :: raw :: c_int , frames : :: std :: os :: raw :: c_int , data : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_bufferDecodeFromArray ( bufferHandle : LavHandle , data : * mut :: std :: os :: raw :: c_char , datalen : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_bufferNormalize ( bufferHandle : LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_bufferGetDuration ( bufferHandle : LavHandle , destination : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_bufferGetLengthInSamples ( bufferHandle : LavHandle , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetServer ( nodeHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeConnect ( nodeHandle : LavHandle , output : :: std :: os :: raw :: c_int , destHandle : LavHandle , input : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeConnectServer ( nodeHandle : LavHandle , output : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeConnectProperty ( nodeHandle : LavHandle , output : :: std :: os :: raw :: c_int , otherHandle : LavHandle , slot : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeDisconnect ( nodeHandle : LavHandle , output : :: std :: os :: raw :: c_int , otherHandle : LavHandle , input : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeIsolate ( nodeHandle : LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetInputConnectionCount ( nodeHandle : LavHandle , destination : * mut :: std :: os :: raw :: c_uint , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetOutputConnectionCount ( nodeHandle : LavHandle , destination : * mut :: std :: os :: raw :: c_uint , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeResetProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeSetIntProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , value : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeSetFloatProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , value : f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeSetDoubleProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , value : f64 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeSetStringProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , value : * mut :: std :: os :: raw :: c_char , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeSetFloat3Property ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , v1 : f32 , v2 : f32 , v3 : f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeSetFloat6Property ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , v1 : f32 , v2 : f32 , v3 : f32 , v4 : f32 , v5 : f32 , v6 : f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetIntProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetFloatProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetDoubleProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination : * mut f64 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetStringProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination : * mut * const :: std :: os :: raw :: c_char , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetFloat3Property ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination1 : * mut f32 , destination2 : * mut f32 , destination3 : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetFloat6Property ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destinationV1 : * mut f32 , destinationV2 : * mut f32 , destinationV3 : * mut f32 , destinationV4 : * mut f32 , destinationV5 : * mut f32 , destinationV6 : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetIntPropertyRange ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destinationMin : * mut :: std :: os :: raw :: c_int , destinationMax : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetFloatPropertyRange ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destinationMin : * mut f32 , destinationMax : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetDoublePropertyRange ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destinationMin : * mut f64 , destinationMax : * mut f64 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetPropertyName ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination : * mut * mut :: std :: os :: raw :: c_char , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetPropertyType ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetPropertyHasDynamicRange ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeReplaceFloatArrayProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , length : :: std :: os :: raw :: c_uint , values : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeReadFloatArrayProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , index : :: std :: os :: raw :: c_uint , destination : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeWriteFloatArrayProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , start : :: std :: os :: raw :: c_uint , stop : :: std :: os :: raw :: c_uint , values : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetFloatArrayPropertyLength ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination : * mut :: std :: os :: raw :: c_uint , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeReplaceIntArrayProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , length : :: std :: os :: raw :: c_uint , values : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeReadIntArrayProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , index : :: std :: os :: raw :: c_uint , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeWriteIntArrayProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , start : :: std :: os :: raw :: c_uint , stop : :: std :: os :: raw :: c_uint , values : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetIntArrayPropertyLength ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetArrayPropertyLengthRange ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destinationMin : * mut :: std :: os :: raw :: c_uint , destinationMax : * mut :: std :: os :: raw :: c_uint , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeSetBufferProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , value : LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeGetBufferProperty ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_automationCancelAutomators ( nodeHandle : LavHandle , propertyIndex : :: std :: os :: raw :: c_int , time : f64 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_automationLinearRampToValue ( nodeHandle : LavHandle , slot : :: std :: os :: raw :: c_int , time : f64 , value : f64 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_automationSet ( nodeHandle : LavHandle , slot : :: std :: os :: raw :: c_int , time : f64 , value : f64 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_automationEnvelope ( nodeHandle : LavHandle , slot : :: std :: os :: raw :: c_int , time : f64 , duration : f64 , valuesLength : :: std :: os :: raw :: c_int , values : * mut f64 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_nodeReset ( nodeHandle : LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createSineNode ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createAdditiveSquareNode ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createAdditiveTriangleNode ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createAdditiveSawNode ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createNoiseNode ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createHrtfNode ( serverHandle : LavHandle , hrtfPath : * const :: std :: os :: raw :: c_char , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createHardLimiterNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createCrossfadingDelayNode ( serverHandle : LavHandle , maxDelay : f32 , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createDoppleringDelayNode ( serverHandle : LavHandle , maxDelay : f32 , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createAmplitudePannerNode ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_amplitudePannerNodeConfigureStandardMap ( nodeHandle : LavHandle , channels : :: std :: os :: raw :: c_uint , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createMultipannerNode ( serverHandle : LavHandle , hrtfPath : * mut :: std :: os :: raw :: c_char , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createPushNode ( serverHandle : LavHandle , sr : :: std :: os :: raw :: c_uint , channels : :: std :: os :: raw :: c_uint , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_pushNodeFeed ( nodeHandle : LavHandle , length : :: std :: os :: raw :: c_uint , frames : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_pushNodeSetLowCallback ( nodeHandle : LavHandle , callback : LavParameterlessCallback , userdata : * mut :: std :: os :: raw :: c_void , ) -> LavError ; 
} extern "C" {
 pub fn Lav_pushNodeSetUnderrunCallback ( nodeHandle : LavHandle , callback : LavParameterlessCallback , userdata : * mut :: std :: os :: raw :: c_void , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createBiquadNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_uint , destination : * mut LavHandle , ) -> LavError ; 
} pub type LavPullNodeAudioCallback = :: std :: option :: Option < unsafe extern "C" fn ( nodeHandle : LavHandle , frames : :: std :: os :: raw :: c_int , channels : :: std :: os :: raw :: c_int , buffer : * mut f32 , userdata : * mut :: std :: os :: raw :: c_void ) > ; extern "C" {
 pub fn Lav_createPullNode ( serverHandle : LavHandle , sr : :: std :: os :: raw :: c_uint , channels : :: std :: os :: raw :: c_uint , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_pullNodeSetAudioCallback ( nodeHandle : LavHandle , callback : LavPullNodeAudioCallback , userdata : * mut :: std :: os :: raw :: c_void , ) -> LavError ; 
} pub type LavGraphListenerNodeListeningCallback = :: std :: option :: Option < unsafe extern "C" fn ( nodeHandle : LavHandle , frames : :: std :: os :: raw :: c_uint , channels : :: std :: os :: raw :: c_uint , buffer : * mut f32 , userdata : * mut :: std :: os :: raw :: c_void ) > ; extern "C" {
 pub fn Lav_createGraphListenerNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_uint , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_graphListenerNodeSetListeningCallback ( nodeHandle : LavHandle , callback : LavGraphListenerNodeListeningCallback , userdata : * mut :: std :: os :: raw :: c_void , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createRingmodNode ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createFeedbackDelayNetworkNode ( serverHandle : LavHandle , maxDelay : f32 , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createIirNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_iirNodeSetCoefficients ( nodeHandle : LavHandle , numeratorLength : :: std :: os :: raw :: c_int , numerator : * mut f64 , denominatorLength : :: std :: os :: raw :: c_int , denominator : * mut f64 , shouldClearHistory : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createGainNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createChannelSplitterNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createChannelMergerNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createBufferNode ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_bufferNodeSetEndCallback ( nodeHandle : LavHandle , callback : LavParameterlessCallback , userdata : * mut :: std :: os :: raw :: c_void , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createBufferTimelineNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_bufferTimelineNodeScheduleBuffer ( nodeHandle : LavHandle , bufferHandle : LavHandle , time : f64 , pitchBend : f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createRecorderNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_recorderNodeStartRecording ( nodeHandle : LavHandle , path : * const :: std :: os :: raw :: c_char , ) -> LavError ; 
} extern "C" {
 pub fn Lav_recorderNodeStopRecording ( nodeHandle : LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createConvolverNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createFftConvolverNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_fftConvolverNodeSetResponse ( nodeHandle : LavHandle , channel : :: std :: os :: raw :: c_int , length : :: std :: os :: raw :: c_int , response : * mut f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_fftConvolverNodeSetResponseFromFile ( nodeHandle : LavHandle , path : * const :: std :: os :: raw :: c_char , fileChannel : :: std :: os :: raw :: c_int , convolverChannel : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createThreeBandEqNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createFilteredDelayNode ( serverHandle : LavHandle , maxDelay : f32 , channels : :: std :: os :: raw :: c_uint , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createCrossfaderNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , inputs : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_crossfaderNodeCrossfade ( nodeHandle : LavHandle , duration : f32 , input : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_crossfaderNodeSetFinishedCallback ( nodeHandle : LavHandle , callback : LavParameterlessCallback , userdata : * mut :: std :: os :: raw :: c_void , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createOnePoleFilterNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createFirstOrderFilterNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_firstOrderFilterNodeConfigureLowpass ( nodeHandle : LavHandle , frequency : f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_firstOrderFilterNodeConfigureHighpass ( nodeHandle : LavHandle , frequency : f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_firstOrderFilterNodeConfigureAllpass ( nodeHandle : LavHandle , frequency : f32 , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createAllpassNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , maxDelay : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createFdnReverbNode ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createBlitNode ( serverHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createDcBlockerNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createLeakyIntegratorNode ( serverHandle : LavHandle , channels : :: std :: os :: raw :: c_int , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createFileStreamerNode ( serverHandle : LavHandle , path : * const :: std :: os :: raw :: c_char , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_fileStreamerNodeSetEndCallback ( nodeHandle : LavHandle , callback : LavParameterlessCallback , userdata : * mut :: std :: os :: raw :: c_void , ) -> LavError ; 
} pub const lav_STANDARD_PROPERTIES_Lav_NODE_STATE : lav_STANDARD_PROPERTIES = -100 ; pub const lav_STANDARD_PROPERTIES_Lav_NODE_MUL : lav_STANDARD_PROPERTIES = -101 ; pub const lav_STANDARD_PROPERTIES_Lav_NODE_ADD : lav_STANDARD_PROPERTIES = -102 ; pub const lav_STANDARD_PROPERTIES_Lav_NODE_CHANNEL_INTERPRETATION : lav_STANDARD_PROPERTIES = -104 ; pub type lav_STANDARD_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_CHANNEL_INTERPRETATIONS_Lav_CHANNEL_INTERPRETATION_DISCRETE : Lav_CHANNEL_INTERPRETATIONS = 0 ; pub const Lav_CHANNEL_INTERPRETATIONS_Lav_CHANNEL_INTERPRETATION_SPEAKERS : Lav_CHANNEL_INTERPRETATIONS = 1 ; pub type Lav_CHANNEL_INTERPRETATIONS = :: std :: os :: raw :: c_int ; pub const Lav_OSCILLATOR_PROPERTIES_Lav_OSCILLATOR_FREQUENCY : Lav_OSCILLATOR_PROPERTIES = -200 ; pub const Lav_OSCILLATOR_PROPERTIES_Lav_OSCILLATOR_PHASE : Lav_OSCILLATOR_PROPERTIES = -201 ; pub const Lav_OSCILLATOR_PROPERTIES_Lav_OSCILLATOR_FREQUENCY_MULTIPLIER : Lav_OSCILLATOR_PROPERTIES = -202 ; pub type Lav_OSCILLATOR_PROPERTIES = :: std :: os :: raw :: c_int ; pub const lav_SQUARE_PROPERTIES_Lav_SQUARE_HARMONICS : lav_SQUARE_PROPERTIES = -1 ; pub const lav_SQUARE_PROPERTIES_Lav_SQUARE_DUTY_CYCLE : lav_SQUARE_PROPERTIES = -2 ; pub type lav_SQUARE_PROPERTIES = :: std :: os :: raw :: c_int ; pub const lav_TRIANGLE_PROPERTIES_Lav_TRIANGLE_HARMONICS : lav_TRIANGLE_PROPERTIES = -3 ; pub type lav_TRIANGLE_PROPERTIES = :: std :: os :: raw :: c_int ; pub const lav_SAW_PROPERTIES_Lav_SAW_HARMONICS : lav_SAW_PROPERTIES = -3 ; pub type lav_SAW_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_NOISE_PROPERTIES_Lav_NOISE_NOISE_TYPE : Lav_NOISE_PROPERTIES = -1 ; pub const Lav_NOISE_PROPERTIES_Lav_NOISE_SHOULD_NORMALIZE : Lav_NOISE_PROPERTIES = -2 ; pub type Lav_NOISE_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_NOISE_TYPES_Lav_NOISE_TYPE_WHITE : Lav_NOISE_TYPES = 0 ; pub const Lav_NOISE_TYPES_Lav_NOISE_TYPE_PINK : Lav_NOISE_TYPES = 1 ; pub const Lav_NOISE_TYPES_Lav_NOISE_TYPE_BROWN : Lav_NOISE_TYPES = 2 ; pub type Lav_NOISE_TYPES = :: std :: os :: raw :: c_int ; pub const Lav_PANNER_PROPERTIES_Lav_PANNER_AZIMUTH : Lav_PANNER_PROPERTIES = -1 ; pub const Lav_PANNER_PROPERTIES_Lav_PANNER_ELEVATION : Lav_PANNER_PROPERTIES = -2 ; pub const Lav_PANNER_PROPERTIES_Lav_PANNER_CHANNEL_MAP : Lav_PANNER_PROPERTIES = -3 ; pub const Lav_PANNER_PROPERTIES_Lav_PANNER_SHOULD_CROSSFADE : Lav_PANNER_PROPERTIES = -4 ; pub const Lav_PANNER_PROPERTIES_Lav_PANNER_STRATEGY : Lav_PANNER_PROPERTIES = -5 ; pub type Lav_PANNER_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_PANNER_BANK_PROPERTIES_Lav_PANNER_BANK_SPREAD : Lav_PANNER_BANK_PROPERTIES = -20 ; pub const Lav_PANNER_BANK_PROPERTIES_Lav_PANNER_BANK_COUNT : Lav_PANNER_BANK_PROPERTIES = -21 ; pub const Lav_PANNER_BANK_PROPERTIES_Lav_PANNER_BANK_IS_CENTERED : Lav_PANNER_BANK_PROPERTIES = -22 ; pub type Lav_PANNER_BANK_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_PANNING_STRATEGIES_Lav_PANNING_STRATEGY_HRTF : Lav_PANNING_STRATEGIES = 0 ; pub const Lav_PANNING_STRATEGIES_Lav_PANNING_STRATEGY_STEREO : Lav_PANNING_STRATEGIES = 1 ; pub const Lav_PANNING_STRATEGIES_Lav_PANNING_STRATEGY_SURROUND40 : Lav_PANNING_STRATEGIES = 2 ; pub const Lav_PANNING_STRATEGIES_Lav_PANNING_STRATEGY_SURROUND51 : Lav_PANNING_STRATEGIES = 3 ; pub const Lav_PANNING_STRATEGIES_Lav_PANNING_STRATEGY_SURROUND71 : Lav_PANNING_STRATEGIES = 4 ; pub type Lav_PANNING_STRATEGIES = :: std :: os :: raw :: c_int ; pub const Lav_MIXER_PROPERTIES_Lav_MIXER_MAX_PARENTS : Lav_MIXER_PROPERTIES = -1 ; pub const Lav_MIXER_PROPERTIES_Lav_MIXER_INPUTS_PER_PARENT : Lav_MIXER_PROPERTIES = -2 ; pub type Lav_MIXER_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_DELAY_PROPERTIES_Lav_DELAY_DELAY : Lav_DELAY_PROPERTIES = -1 ; pub const Lav_DELAY_PROPERTIES_Lav_DELAY_DELAY_MAX : Lav_DELAY_PROPERTIES = -2 ; pub const Lav_DELAY_PROPERTIES_Lav_DELAY_FEEDBACK : Lav_DELAY_PROPERTIES = -3 ; pub const Lav_DELAY_PROPERTIES_Lav_DELAY_INTERPOLATION_TIME : Lav_DELAY_PROPERTIES = -4 ; pub type Lav_DELAY_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_PUSH_NODE_PROPERTIES_Lav_PUSH_THRESHOLD : Lav_PUSH_NODE_PROPERTIES = -1 ; pub type Lav_PUSH_NODE_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_BIQUAD_PROPERTIES_Lav_BIQUAD_FILTER_TYPE : Lav_BIQUAD_PROPERTIES = -1 ; pub const Lav_BIQUAD_PROPERTIES_Lav_BIQUAD_Q : Lav_BIQUAD_PROPERTIES = -2 ; pub const Lav_BIQUAD_PROPERTIES_Lav_BIQUAD_FREQUENCY : Lav_BIQUAD_PROPERTIES = -3 ; pub const Lav_BIQUAD_PROPERTIES_Lav_BIQUAD_DBGAIN : Lav_BIQUAD_PROPERTIES = -4 ; pub type Lav_BIQUAD_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_BIQUAD_TYPES_Lav_BIQUAD_TYPE_LOWPASS : Lav_BIQUAD_TYPES = 0 ; pub const Lav_BIQUAD_TYPES_Lav_BIQUAD_TYPE_HIGHPASS : Lav_BIQUAD_TYPES = 1 ; pub const Lav_BIQUAD_TYPES_Lav_BIQUAD_TYPE_BANDPASS : Lav_BIQUAD_TYPES = 2 ; pub const Lav_BIQUAD_TYPES_Lav_BIQUAD_TYPE_NOTCH : Lav_BIQUAD_TYPES = 3 ; pub const Lav_BIQUAD_TYPES_Lav_BIQUAD_TYPE_ALLPASS : Lav_BIQUAD_TYPES = 4 ; pub const Lav_BIQUAD_TYPES_Lav_BIQUAD_TYPE_PEAKING : Lav_BIQUAD_TYPES = 5 ; pub const Lav_BIQUAD_TYPES_Lav_BIQUAD_TYPE_LOWSHELF : Lav_BIQUAD_TYPES = 6 ; pub const Lav_BIQUAD_TYPES_Lav_BIQUAD_TYPE_HIGHSHELF : Lav_BIQUAD_TYPES = 7 ; pub const Lav_BIQUAD_TYPES_Lav_BIQUAD_TYPE_IDENTITY : Lav_BIQUAD_TYPES = 8 ; pub type Lav_BIQUAD_TYPES = :: std :: os :: raw :: c_int ; pub const Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES_Lav_FDN_MAX_DELAY : Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES = -1 ; pub const Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES_Lav_FDN_OUTPUT_GAINS : Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES = -2 ; pub const Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES_Lav_FDN_DELAYS : Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES = -3 ; pub const Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES_Lav_FDN_MATRIX : Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES = -4 ; pub const Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES_Lav_FDN_FILTER_TYPES : Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES = -5 ; pub const Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES_Lav_FDN_FILTER_FREQUENCIES : Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES = -6 ; pub type Lav_FEEDBACK_DELAY_NETWORK_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_FDN_FILTER_TYPES_Lav_FDN_FILTER_TYPE_DISABLED : Lav_FDN_FILTER_TYPES = 0 ; pub const Lav_FDN_FILTER_TYPES_Lav_FDN_FILTER_TYPE_LOWPASS : Lav_FDN_FILTER_TYPES = 1 ; pub const Lav_FDN_FILTER_TYPES_Lav_FDN_FILTER_TYPE_HIGHPASS : Lav_FDN_FILTER_TYPES = 2 ; pub type Lav_FDN_FILTER_TYPES = :: std :: os :: raw :: c_int ; pub const Lav_BUFFER_PROPERTIES_Lav_BUFFER_BUFFER : Lav_BUFFER_PROPERTIES = -1 ; pub const Lav_BUFFER_PROPERTIES_Lav_BUFFER_POSITION : Lav_BUFFER_PROPERTIES = -2 ; pub const Lav_BUFFER_PROPERTIES_Lav_BUFFER_RATE : Lav_BUFFER_PROPERTIES = -3 ; pub const Lav_BUFFER_PROPERTIES_Lav_BUFFER_LOOPING : Lav_BUFFER_PROPERTIES = -4 ; pub const Lav_BUFFER_PROPERTIES_Lav_BUFFER_ENDED_COUNT : Lav_BUFFER_PROPERTIES = -5 ; pub type Lav_BUFFER_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_CONVOLVER_PROPERTIES_Lav_CONVOLVER_IMPULSE_RESPONSE : Lav_CONVOLVER_PROPERTIES = -1 ; pub type Lav_CONVOLVER_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_THREE_BAND_EQ_PROPERTIES_Lav_THREE_BAND_EQ_HIGHBAND_DBGAIN : Lav_THREE_BAND_EQ_PROPERTIES = -1 ; pub const Lav_THREE_BAND_EQ_PROPERTIES_Lav_THREE_BAND_EQ_HIGHBAND_FREQUENCY : Lav_THREE_BAND_EQ_PROPERTIES = -2 ; pub const Lav_THREE_BAND_EQ_PROPERTIES_Lav_THREE_BAND_EQ_MIDBAND_DBGAIN : Lav_THREE_BAND_EQ_PROPERTIES = -3 ; pub const Lav_THREE_BAND_EQ_PROPERTIES_Lav_THREE_BAND_EQ_LOWBAND_DBGAIN : Lav_THREE_BAND_EQ_PROPERTIES = -4 ; pub const Lav_THREE_BAND_EQ_PROPERTIES_Lav_THREE_BAND_EQ_LOWBAND_FREQUENCY : Lav_THREE_BAND_EQ_PROPERTIES = -5 ; pub type Lav_THREE_BAND_EQ_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_FILTERED_DELAY_PROPERTIES_Lav_FILTERED_DELAY_DELAY : Lav_FILTERED_DELAY_PROPERTIES = -1 ; pub const Lav_FILTERED_DELAY_PROPERTIES_Lav_FILTERED_DELAY_FEEDBACK : Lav_FILTERED_DELAY_PROPERTIES = -2 ; pub const Lav_FILTERED_DELAY_PROPERTIES_Lav_FILTERED_DELAY_INTERPOLATION_TIME : Lav_FILTERED_DELAY_PROPERTIES = -3 ; pub const Lav_FILTERED_DELAY_PROPERTIES_Lav_FILTERED_DELAY_DELAY_MAX : Lav_FILTERED_DELAY_PROPERTIES = -4 ; pub const Lav_FILTERED_DELAY_PROPERTIES_Lav_FILTERED_DELAY_FILTER_TYPE : Lav_FILTERED_DELAY_PROPERTIES = -5 ; pub const Lav_FILTERED_DELAY_PROPERTIES_Lav_FILTERED_DELAY_Q : Lav_FILTERED_DELAY_PROPERTIES = -6 ; pub const Lav_FILTERED_DELAY_PROPERTIES_Lav_FILTERED_DELAY_FREQUENCY : Lav_FILTERED_DELAY_PROPERTIES = -7 ; pub const Lav_FILTERED_DELAY_PROPERTIES_Lav_FILTERED_DELAY_DBGAIN : Lav_FILTERED_DELAY_PROPERTIES = -8 ; pub type Lav_FILTERED_DELAY_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_CROSSFADER_PROPERTIES_Lav_CROSSFADER_CURRENT_INPUT : Lav_CROSSFADER_PROPERTIES = -1 ; pub const Lav_CROSSFADER_PROPERTIES_Lav_CROSSFADER_TARGET_INPUT : Lav_CROSSFADER_PROPERTIES = -2 ; pub const Lav_CROSSFADER_PROPERTIES_Lav_CROSSFADER_IS_CROSSFADING : Lav_CROSSFADER_PROPERTIES = -3 ; pub type Lav_CROSSFADER_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_ONE_POLE_FILTER_PROPERTIES_Lav_ONE_POLE_FILTER_FREQUENCY : Lav_ONE_POLE_FILTER_PROPERTIES = -1 ; pub const Lav_ONE_POLE_FILTER_PROPERTIES_Lav_ONE_POLE_FILTER_IS_HIGHPASS : Lav_ONE_POLE_FILTER_PROPERTIES = -2 ; pub type Lav_ONE_POLE_FILTER_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_FIRST_ORDER_FILTER_PROPERTIES_Lav_FIRST_ORDER_FILTER_POLE : Lav_FIRST_ORDER_FILTER_PROPERTIES = -1 ; pub const Lav_FIRST_ORDER_FILTER_PROPERTIES_Lav_FIRST_ORDER_FILTER_ZERO : Lav_FIRST_ORDER_FILTER_PROPERTIES = -2 ; pub type Lav_FIRST_ORDER_FILTER_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_ALLPASS_OPROPERTIES_Lav_ALLPASS_DELAY_SAMPLES : Lav_ALLPASS_OPROPERTIES = -1 ; pub const Lav_ALLPASS_OPROPERTIES_Lav_ALLPASS_DELAY_SAMPLES_MAX : Lav_ALLPASS_OPROPERTIES = -2 ; pub const Lav_ALLPASS_OPROPERTIES_Lav_ALLPASS_INTERPOLATION_TIME : Lav_ALLPASS_OPROPERTIES = -3 ; pub const Lav_ALLPASS_OPROPERTIES_Lav_ALLPASS_COEFFICIENT : Lav_ALLPASS_OPROPERTIES = -4 ; pub type Lav_ALLPASS_OPROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_FDN_REVERB_PROPERTIES_Lav_FDN_REVERB_T60 : Lav_FDN_REVERB_PROPERTIES = -1 ; pub const Lav_FDN_REVERB_PROPERTIES_Lav_FDN_REVERB_CUTOFF_FREQUENCY : Lav_FDN_REVERB_PROPERTIES = -2 ; pub const Lav_FDN_REVERB_PROPERTIES_Lav_FDN_REVERB_DENSITY : Lav_FDN_REVERB_PROPERTIES = -3 ; pub const Lav_FDN_REVERB_PROPERTIES_Lav_FDN_REVERB_DELAY_MODULATION_DEPTH : Lav_FDN_REVERB_PROPERTIES = -4 ; pub const Lav_FDN_REVERB_PROPERTIES_Lav_FDN_REVERB_DELAY_MODULATION_FREQUENCY : Lav_FDN_REVERB_PROPERTIES = -5 ; pub type Lav_FDN_REVERB_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_BLIT_PROPERTIES_Lav_BLIT_HARMONICS : Lav_BLIT_PROPERTIES = -1 ; pub const Lav_BLIT_PROPERTIES_Lav_BLIT_SHOULD_NORMALIZE : Lav_BLIT_PROPERTIES = -4 ; pub type Lav_BLIT_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_LEAKY_INTEGRATOR_PROPERTIES_Lav_LEAKY_INTEGRATOR_LEAKYNESS : Lav_LEAKY_INTEGRATOR_PROPERTIES = -1 ; pub type Lav_LEAKY_INTEGRATOR_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_FILE_STREAMER_PROPERTIES_Lav_FILE_STREAMER_POSITION : Lav_FILE_STREAMER_PROPERTIES = -1 ; pub const Lav_FILE_STREAMER_PROPERTIES_Lav_FILE_STREAMER_LOOPING : Lav_FILE_STREAMER_PROPERTIES = -2 ; pub const Lav_FILE_STREAMER_PROPERTIES_Lav_FILE_STREAMER_ENDED : Lav_FILE_STREAMER_PROPERTIES = -3 ; pub type Lav_FILE_STREAMER_PROPERTIES = :: std :: os :: raw :: c_int ; extern "C" {
 pub fn Lav_createEnvironmentNode ( serverHandle : LavHandle , hrtfPath : * const :: std :: os :: raw :: c_char , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_environmentNodePlayAsync ( nodeHandle : LavHandle , bufferHandle : LavHandle , x : f32 , y : f32 , z : f32 , isDry : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_environmentNodeAddEffectSend ( nodeHandle : LavHandle , channels : :: std :: os :: raw :: c_int , isReverb : :: std :: os :: raw :: c_int , connectByDefault : :: std :: os :: raw :: c_int , destination : * mut :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_createSourceNode ( serverHandle : LavHandle , environmentHandle : LavHandle , destination : * mut LavHandle , ) -> LavError ; 
} extern "C" {
 pub fn Lav_sourceNodeFeedEffect ( nodeHandle : LavHandle , effect : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_sourceNodeStopFeedingEffect ( nodeHandle : LavHandle , effect : :: std :: os :: raw :: c_int , ) -> LavError ; 
} extern "C" {
 pub fn Lav_sourceNodeSetPropertiesFromEnvironment ( nodeHandle : LavHandle , ) -> LavError ; 
} pub const lav_STANDARD_ENVIRONMENT_PROPERTIES_Lav_ENVIRONMENT_PANNING_STRATEGY : lav_STANDARD_ENVIRONMENT_PROPERTIES = 0 ; pub const lav_STANDARD_ENVIRONMENT_PROPERTIES_Lav_ENVIRONMENT_DISTANCE_MODEL : lav_STANDARD_ENVIRONMENT_PROPERTIES = 1 ; pub const lav_STANDARD_ENVIRONMENT_PROPERTIES_Lav_ENVIRONMENT_MAX_DISTANCE : lav_STANDARD_ENVIRONMENT_PROPERTIES = -12 ; pub const lav_STANDARD_ENVIRONMENT_PROPERTIES_Lav_ENVIRONMENT_DEFAULT_SIZE : lav_STANDARD_ENVIRONMENT_PROPERTIES = -11 ; pub const lav_STANDARD_ENVIRONMENT_PROPERTIES_Lav_ENVIRONMENT_OUTPUT_CHANNELS : lav_STANDARD_ENVIRONMENT_PROPERTIES = -10 ; pub const lav_STANDARD_ENVIRONMENT_PROPERTIES_Lav_ENVIRONMENT_REVERB_DISTANCE : lav_STANDARD_ENVIRONMENT_PROPERTIES = -9 ; pub const lav_STANDARD_ENVIRONMENT_PROPERTIES_Lav_ENVIRONMENT_MIN_REVERB_LEVEL : lav_STANDARD_ENVIRONMENT_PROPERTIES = -8 ; pub const lav_STANDARD_ENVIRONMENT_PROPERTIES_Lav_ENVIRONMENT_MAX_REVERB_LEVEL : lav_STANDARD_ENVIRONMENT_PROPERTIES = -7 ; pub const lav_STANDARD_ENVIRONMENT_PROPERTIES_Lav_ENVIRONMENT_POSITION : lav_STANDARD_ENVIRONMENT_PROPERTIES = -6 ; pub const lav_STANDARD_ENVIRONMENT_PROPERTIES_Lav_ENVIRONMENT_ORIENTATION : lav_STANDARD_ENVIRONMENT_PROPERTIES = -5 ; pub type lav_STANDARD_ENVIRONMENT_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_MAX_DISTANCE : Lav_SOURCE_PROPERTIES = 0 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_DISTANCE_MODEL : Lav_SOURCE_PROPERTIES = 1 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_SIZE : Lav_SOURCE_PROPERTIES = 2 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_REVERB_DISTANCE : Lav_SOURCE_PROPERTIES = 3 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_PANNING_STRATEGY : Lav_SOURCE_PROPERTIES = 4 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_HEAD_RELATIVE : Lav_SOURCE_PROPERTIES = 5 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_MIN_REVERB_LEVEL : Lav_SOURCE_PROPERTIES = 6 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_MAX_REVERB_LEVEL : Lav_SOURCE_PROPERTIES = 7 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_OCCLUSION : Lav_SOURCE_PROPERTIES = 8 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_CONTROL_PANNING : Lav_SOURCE_PROPERTIES = 9 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_CONTROL_DISTANCE_MODEL : Lav_SOURCE_PROPERTIES = 10 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_CONTROL_REVERB : Lav_SOURCE_PROPERTIES = 11 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_POSITION : Lav_SOURCE_PROPERTIES = 12 ; pub const Lav_SOURCE_PROPERTIES_Lav_SOURCE_ORIENTATION : Lav_SOURCE_PROPERTIES = 13 ; pub type Lav_SOURCE_PROPERTIES = :: std :: os :: raw :: c_int ; pub const Lav_DISTANCE_MODELS_Lav_DISTANCE_MODEL_LINEAR : Lav_DISTANCE_MODELS = 0 ; pub const Lav_DISTANCE_MODELS_Lav_DISTANCE_MODEL_INVERSE : Lav_DISTANCE_MODELS = 1 ; pub const Lav_DISTANCE_MODELS_Lav_DISTANCE_MODEL_INVERSE_SQUARE : Lav_DISTANCE_MODELS = 2 ; pub type Lav_DISTANCE_MODELS = :: std :: os :: raw :: c_int ;