mt-lang 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/docs/index.html +4 -3
  3. data/lib/milk_tea/base.rb +1 -1
  4. data/std/asset_pack.mt +267 -0
  5. data/std/async/libuv_runtime.mt +539 -0
  6. data/std/async/mailbox.mt +191 -0
  7. data/std/async/runtime.mt +87 -0
  8. data/std/async.mt +87 -0
  9. data/std/base64.mt +185 -0
  10. data/std/behavior_tree.mt +396 -0
  11. data/std/binary.mt +314 -0
  12. data/std/binary_heap.mt +157 -0
  13. data/std/bitset.mt +239 -0
  14. data/std/box2d.mt +535 -0
  15. data/std/bytes.mt +46 -0
  16. data/std/c/box2d.mt +1254 -0
  17. data/std/c/cgltf.mt +647 -0
  18. data/std/c/cjson.mt +106 -0
  19. data/std/c/crypto.mt +11 -0
  20. data/std/c/crypto_support.h +51 -0
  21. data/std/c/ctype.mt +19 -0
  22. data/std/c/ctype_bindgen.h +29 -0
  23. data/std/c/curl.mt +1223 -0
  24. data/std/c/enet.mt +473 -0
  25. data/std/c/errno.mt +41 -0
  26. data/std/c/errno_bindgen.h +53 -0
  27. data/std/c/flecs.mt +2945 -0
  28. data/std/c/fs.linux.mt +43 -0
  29. data/std/c/fs.windows.mt +43 -0
  30. data/std/c/fs_support.h +954 -0
  31. data/std/c/gl.mt +2065 -0
  32. data/std/c/gl_registry_helpers.h +10748 -0
  33. data/std/c/glfw.mt +499 -0
  34. data/std/c/libc.mt +167 -0
  35. data/std/c/libuv.mt +1491 -0
  36. data/std/c/math.mt +22 -0
  37. data/std/c/math_bindgen.h +31 -0
  38. data/std/c/miniaudio.mt +3420 -0
  39. data/std/c/pcre2.mt +735 -0
  40. data/std/c/process.mt +58 -0
  41. data/std/c/process_support.h +1147 -0
  42. data/std/c/raygui.mt +1602 -0
  43. data/std/c/raylib.mt +1245 -0
  44. data/std/c/raymath.mt +163 -0
  45. data/std/c/rlgl.mt +434 -0
  46. data/std/c/rpng.mt +60 -0
  47. data/std/c/rres.mt +187 -0
  48. data/std/c/sdl3.mt +4132 -0
  49. data/std/c/sqlite3.mt +951 -0
  50. data/std/c/stb_image.mt +52 -0
  51. data/std/c/stb_image_resize2.mt +128 -0
  52. data/std/c/stb_image_write.mt +19 -0
  53. data/std/c/stb_rect_pack.mt +38 -0
  54. data/std/c/stb_truetype.mt +175 -0
  55. data/std/c/stb_vorbis.mt +31 -0
  56. data/std/c/stdio.mt +90 -0
  57. data/std/c/steamworks.h +5769 -0
  58. data/std/c/steamworks.mt +4771 -0
  59. data/std/c/string.mt +16 -0
  60. data/std/c/string_bindgen.h +36 -0
  61. data/std/c/sync.mt +33 -0
  62. data/std/c/sync_support.h +219 -0
  63. data/std/c/terminal.mt +24 -0
  64. data/std/c/terminal_support.h +408 -0
  65. data/std/c/time.mt +26 -0
  66. data/std/c/tls.mt +24 -0
  67. data/std/c/tls_support.h +626 -0
  68. data/std/c/tracy.mt +53 -0
  69. data/std/c/zlib.mt +20 -0
  70. data/std/c/zlib_support.h +239 -0
  71. data/std/c/zstd.mt +231 -0
  72. data/std/cell.mt +60 -0
  73. data/std/cgltf.mt +115 -0
  74. data/std/cjson.mt +90 -0
  75. data/std/cli.mt +768 -0
  76. data/std/cookie.mt +198 -0
  77. data/std/counter.mt +160 -0
  78. data/std/crypto.mt +74 -0
  79. data/std/cstring.mt +13 -0
  80. data/std/ctype.mt +52 -0
  81. data/std/curl/runtime.mt +261 -0
  82. data/std/curl.mt +38 -0
  83. data/std/deque.mt +348 -0
  84. data/std/encoding.mt +93 -0
  85. data/std/enet.mt +133 -0
  86. data/std/env.mt +41 -0
  87. data/std/errno.mt +47 -0
  88. data/std/flecs.mt +978 -0
  89. data/std/fmt.mt +271 -0
  90. data/std/fs.linux.mt +696 -0
  91. data/std/fs.windows.mt +711 -0
  92. data/std/fsm.mt +267 -0
  93. data/std/gl.mt +2062 -0
  94. data/std/glfw.mt +471 -0
  95. data/std/goap.mt +342 -0
  96. data/std/graph.mt +521 -0
  97. data/std/gzip.mt +77 -0
  98. data/std/hash.mt +429 -0
  99. data/std/http/server.mt +810 -0
  100. data/std/http.mt +1227 -0
  101. data/std/intern.mt +53 -0
  102. data/std/jobs.mt +288 -0
  103. data/std/json.mt +627 -0
  104. data/std/libc.mt +34 -0
  105. data/std/libuv.mt +554 -0
  106. data/std/linear_algebra.mt +243 -0
  107. data/std/linked_map.mt +372 -0
  108. data/std/linked_map_view.mt +49 -0
  109. data/std/linked_set.mt +117 -0
  110. data/std/log.mt +69 -0
  111. data/std/map.mt +418 -0
  112. data/std/math.mt +24 -0
  113. data/std/mem/arena.mt +137 -0
  114. data/std/mem/endian.mt +51 -0
  115. data/std/mem/heap.mt +298 -0
  116. data/std/mem/pool.mt +164 -0
  117. data/std/mem/stack.mt +47 -0
  118. data/std/mem/tracking.mt +119 -0
  119. data/std/miniaudio.mt +1299 -0
  120. data/std/multiset.mt +191 -0
  121. data/std/net/channel.mt +727 -0
  122. data/std/net/clock.mt +237 -0
  123. data/std/net/discovery.mt +277 -0
  124. data/std/net/lobby.mt +813 -0
  125. data/std/net/manager.mt +539 -0
  126. data/std/net/mux.mt +839 -0
  127. data/std/net/nat.mt +122 -0
  128. data/std/net/packet.mt +219 -0
  129. data/std/net/punch.mt +162 -0
  130. data/std/net/rpc.mt +119 -0
  131. data/std/net/session.mt +1157 -0
  132. data/std/net/stun.mt +252 -0
  133. data/std/net/sync.mt +183 -0
  134. data/std/net/turn.mt +459 -0
  135. data/std/net.mt +2944 -0
  136. data/std/oauth2.mt +408 -0
  137. data/std/option.mt +51 -0
  138. data/std/ordered_map.mt +497 -0
  139. data/std/ordered_set.mt +348 -0
  140. data/std/path.mt +368 -0
  141. data/std/pcre2/runtime.mt +35 -0
  142. data/std/pcre2.mt +78 -0
  143. data/std/priority_queue.mt +55 -0
  144. data/std/process.mt +837 -0
  145. data/std/queue.mt +55 -0
  146. data/std/random.mt +146 -0
  147. data/std/raygui.mt +99 -0
  148. data/std/raylib/debug_console.mt +71 -0
  149. data/std/raylib/easing.mt +388 -0
  150. data/std/raylib/packed_assets.mt +255 -0
  151. data/std/raylib/runtime.mt +30 -0
  152. data/std/raylib/tracy_gpu.mt +37 -0
  153. data/std/raylib.mt +1510 -0
  154. data/std/raymath.mt +153 -0
  155. data/std/result.mt +89 -0
  156. data/std/rlgl.mt +268 -0
  157. data/std/rpng.mt +46 -0
  158. data/std/rres.mt +36 -0
  159. data/std/sdl3/runtime.mt +54 -0
  160. data/std/sdl3.mt +1731 -0
  161. data/std/serialize.mt +68 -0
  162. data/std/set.mt +124 -0
  163. data/std/spatial.mt +176 -0
  164. data/std/sqlite3.mt +151 -0
  165. data/std/stack.mt +55 -0
  166. data/std/stb_image.mt +47 -0
  167. data/std/stb_image_resize2.mt +41 -0
  168. data/std/stb_image_write.mt +17 -0
  169. data/std/stb_rect_pack.mt +15 -0
  170. data/std/stb_truetype.mt +77 -0
  171. data/std/stb_vorbis.mt +16 -0
  172. data/std/stdio.mt +88 -0
  173. data/std/steamworks.mt +1542 -0
  174. data/std/str.mt +293 -0
  175. data/std/string.mt +234 -0
  176. data/std/sync.mt +194 -0
  177. data/std/tar.mt +704 -0
  178. data/std/terminal.mt +1002 -0
  179. data/std/testing.mt +266 -0
  180. data/std/thread.mt +120 -0
  181. data/std/time.mt +105 -0
  182. data/std/tls.mt +616 -0
  183. data/std/toml.mt +1310 -0
  184. data/std/tracy.mt +42 -0
  185. data/std/uri.mt +118 -0
  186. data/std/url.mt +372 -0
  187. data/std/vec.mt +433 -0
  188. data/std/zstd.mt +94 -0
  189. metadata +187 -2
@@ -0,0 +1,3420 @@
1
+ # generated by mtc bindgen from /home/teefan/Projects/Ruby/mt-lang/third_party/miniaudio-upstream/miniaudio.h
2
+ external
3
+
4
+ link "dl"
5
+ link "pthread"
6
+ link "m"
7
+ include "miniaudio.h"
8
+
9
+ union ma_context_anonymous_union_14:
10
+ alsa: ma_context_anonymous_union_14_alsa
11
+ pulse: ma_context_anonymous_union_14_pulse
12
+ jack: ma_context_anonymous_union_14_jack
13
+ null_backend: ma_context_anonymous_union_14_null_backend
14
+
15
+ union ma_context_anonymous_union_15:
16
+ posix: ma_context_anonymous_union_15_posix
17
+ _unused: int
18
+
19
+ struct ma_device_resampling:
20
+ algorithm: ma_resample_algorithm
21
+ pBackendVTable: ptr[ma_resampling_backend_vtable]
22
+ pBackendUserData: ptr[void]
23
+ linear: ma_device_resampling_linear
24
+
25
+ struct ma_device_playback:
26
+ pID: ptr[ma_device_id]
27
+ id: ma_device_id
28
+ name: array[char, 256]
29
+ shareMode: ma_share_mode
30
+ format: ma_format
31
+ channels: uint
32
+ channelMap: array[ma_channel, 254]
33
+ internalFormat: ma_format
34
+ internalChannels: uint
35
+ internalSampleRate: uint
36
+ internalChannelMap: array[ma_channel, 254]
37
+ internalPeriodSizeInFrames: uint
38
+ internalPeriods: uint
39
+ channelMixMode: ma_channel_mix_mode
40
+ calculateLFEFromSpatialChannels: uint
41
+ converter: ma_data_converter
42
+ pIntermediaryBuffer: ptr[void]
43
+ intermediaryBufferCap: uint
44
+ intermediaryBufferLen: uint
45
+ pInputCache: ptr[void]
46
+ inputCacheCap: ulong
47
+ inputCacheConsumed: ulong
48
+ inputCacheRemaining: ulong
49
+
50
+ struct ma_device_capture:
51
+ pID: ptr[ma_device_id]
52
+ id: ma_device_id
53
+ name: array[char, 256]
54
+ shareMode: ma_share_mode
55
+ format: ma_format
56
+ channels: uint
57
+ channelMap: array[ma_channel, 254]
58
+ internalFormat: ma_format
59
+ internalChannels: uint
60
+ internalSampleRate: uint
61
+ internalChannelMap: array[ma_channel, 254]
62
+ internalPeriodSizeInFrames: uint
63
+ internalPeriods: uint
64
+ channelMixMode: ma_channel_mix_mode
65
+ calculateLFEFromSpatialChannels: uint
66
+ converter: ma_data_converter
67
+ pIntermediaryBuffer: ptr[void]
68
+ intermediaryBufferCap: uint
69
+ intermediaryBufferLen: uint
70
+
71
+ union ma_device_anonymous_union_24:
72
+ alsa: ma_device_anonymous_union_24_alsa
73
+ pulse: ma_device_anonymous_union_24_pulse
74
+ jack: ma_device_anonymous_union_24_jack
75
+ null_device: ma_device_anonymous_union_24_null_device
76
+
77
+ union ma_linear_resampler_x0:
78
+ f32: ptr[float]
79
+ s16: ptr[ma_int16]
80
+
81
+ union ma_linear_resampler_x1:
82
+ f32: ptr[float]
83
+ s16: ptr[ma_int16]
84
+
85
+ struct ma_resampler_config_linear:
86
+ lpfOrder: uint
87
+
88
+ union ma_resampler_state:
89
+ linear: ma_linear_resampler
90
+
91
+ union ma_channel_converter_weights:
92
+ f32: ptr[ptr[float]]
93
+ s16: ptr[ptr[ma_int32]]
94
+
95
+ union ma_job_toc:
96
+ breakup: ma_job_toc_breakup
97
+ allocation: ulong
98
+
99
+ union ma_job_data:
100
+ custom: ma_job_data_custom
101
+ resourceManager: ma_job_data_resourceManager
102
+ device: ma_job_data_device
103
+
104
+ union ma_device_notification_data:
105
+ started: ma_device_notification_data_started
106
+ stopped: ma_device_notification_data_stopped
107
+ rerouted: ma_device_notification_data_rerouted
108
+ interruption: ma_device_notification_data_interruption
109
+
110
+ union ma_device_id_custom:
111
+ i: int
112
+ s: array[char, 256]
113
+ p: ptr[void]
114
+
115
+ struct ma_context_config_dsound:
116
+ hWnd: ptr[void]
117
+
118
+ struct ma_context_config_alsa:
119
+ useVerboseDeviceEnumeration: uint
120
+
121
+ struct ma_context_config_pulse:
122
+ pApplicationName: cstr
123
+ pServerName: cstr
124
+ tryAutoSpawn: uint
125
+
126
+ struct ma_context_config_coreaudio:
127
+ sessionCategory: ma_ios_session_category
128
+ sessionCategoryOptions: uint
129
+ noAudioSessionActivate: uint
130
+ noAudioSessionDeactivate: uint
131
+
132
+ struct ma_context_config_jack:
133
+ pClientName: cstr
134
+ tryStartServer: uint
135
+
136
+ struct ma_device_config_playback:
137
+ pDeviceID: const_ptr[ma_device_id]
138
+ format: ma_format
139
+ channels: uint
140
+ pChannelMap: ptr[ma_channel]
141
+ channelMixMode: ma_channel_mix_mode
142
+ calculateLFEFromSpatialChannels: uint
143
+ shareMode: ma_share_mode
144
+
145
+ struct ma_device_config_capture:
146
+ pDeviceID: const_ptr[ma_device_id]
147
+ format: ma_format
148
+ channels: uint
149
+ pChannelMap: ptr[ma_channel]
150
+ channelMixMode: ma_channel_mix_mode
151
+ calculateLFEFromSpatialChannels: uint
152
+ shareMode: ma_share_mode
153
+
154
+ struct ma_device_config_wasapi:
155
+ usage: ma_wasapi_usage
156
+ noAutoConvertSRC: ubyte
157
+ noDefaultQualitySRC: ubyte
158
+ noAutoStreamRouting: ubyte
159
+ noHardwareOffloading: ubyte
160
+ loopbackProcessID: uint
161
+ loopbackProcessExclude: ubyte
162
+
163
+ struct ma_device_config_alsa:
164
+ noMMap: uint
165
+ noAutoFormat: uint
166
+ noAutoChannels: uint
167
+ noAutoResample: uint
168
+
169
+ struct ma_device_config_pulse:
170
+ pStreamNamePlayback: cstr
171
+ pStreamNameCapture: cstr
172
+ channelMap: int
173
+
174
+ struct ma_device_config_coreaudio:
175
+ allowNominalSampleRateChange: uint
176
+
177
+ struct ma_device_config_opensl:
178
+ streamType: ma_opensl_stream_type
179
+ recordingPreset: ma_opensl_recording_preset
180
+ enableCompatibilityWorkarounds: uint
181
+
182
+ struct ma_device_config_aaudio:
183
+ usage: ma_aaudio_usage
184
+ contentType: ma_aaudio_content_type
185
+ inputPreset: ma_aaudio_input_preset
186
+ allowedCapturePolicy: ma_aaudio_allowed_capture_policy
187
+ noAutoStartAfterReroute: uint
188
+ enableCompatibilityWorkarounds: uint
189
+ allowSetBufferCapacity: uint
190
+
191
+ struct ma_device_info_nativeDataFormats:
192
+ format: ma_format
193
+ channels: uint
194
+ sampleRate: uint
195
+ flags_: uint
196
+
197
+ union ma_context_command__wasapi_data:
198
+ quit: ma_context_command__wasapi_data_quit
199
+ createAudioClient: ma_context_command__wasapi_data_createAudioClient
200
+ releaseAudioClient: ma_context_command__wasapi_data_releaseAudioClient
201
+
202
+ union ma_decoder_data:
203
+ vfs: ma_decoder_data_vfs
204
+ memory: ma_decoder_data_memory
205
+
206
+ union ma_encoder_data:
207
+ vfs: ma_encoder_data_vfs
208
+
209
+ union ma_noise_state:
210
+ pink: ma_noise_state_pink
211
+ brownian: ma_noise_state_brownian
212
+
213
+ union ma_resource_manager_data_buffer_connector:
214
+ decoder: ma_decoder
215
+ buffer: ma_audio_buffer
216
+ pagedBuffer: ma_paged_audio_buffer
217
+
218
+ union ma_resource_manager_data_source_backend:
219
+ buffer: ma_resource_manager_data_buffer
220
+ stream: ma_resource_manager_data_stream
221
+
222
+ union ma_resource_manager_data_supply_backend:
223
+ encoded: ma_resource_manager_data_supply_backend_encoded
224
+ decoded: ma_resource_manager_data_supply_backend_decoded
225
+ decodedPaged: ma_resource_manager_data_supply_backend_decodedPaged
226
+
227
+ struct ma_engine_node_fadeSettings:
228
+ volumeBeg: ma_atomic_float
229
+ volumeEnd: ma_atomic_float
230
+ fadeLengthInFrames: ma_atomic_uint64
231
+ absoluteGlobalTimeInFrames: ma_atomic_uint64
232
+
233
+ struct ma_context_anonymous_union_14_alsa:
234
+ asoundSO: ptr[void]
235
+ snd_pcm_open: fn() -> void
236
+ snd_pcm_close: fn() -> void
237
+ snd_pcm_hw_params_sizeof: fn() -> void
238
+ snd_pcm_hw_params_any: fn() -> void
239
+ snd_pcm_hw_params_set_format: fn() -> void
240
+ snd_pcm_hw_params_set_format_first: fn() -> void
241
+ snd_pcm_hw_params_get_format_mask: fn() -> void
242
+ snd_pcm_hw_params_set_channels: fn() -> void
243
+ snd_pcm_hw_params_set_channels_near: fn() -> void
244
+ snd_pcm_hw_params_set_channels_minmax: fn() -> void
245
+ snd_pcm_hw_params_set_rate_resample: fn() -> void
246
+ snd_pcm_hw_params_set_rate: fn() -> void
247
+ snd_pcm_hw_params_set_rate_near: fn() -> void
248
+ snd_pcm_hw_params_set_rate_minmax: fn() -> void
249
+ snd_pcm_hw_params_set_buffer_size_near: fn() -> void
250
+ snd_pcm_hw_params_set_periods_near: fn() -> void
251
+ snd_pcm_hw_params_set_access: fn() -> void
252
+ snd_pcm_hw_params_get_format: fn() -> void
253
+ snd_pcm_hw_params_get_channels: fn() -> void
254
+ snd_pcm_hw_params_get_channels_min: fn() -> void
255
+ snd_pcm_hw_params_get_channels_max: fn() -> void
256
+ snd_pcm_hw_params_get_rate: fn() -> void
257
+ snd_pcm_hw_params_get_rate_min: fn() -> void
258
+ snd_pcm_hw_params_get_rate_max: fn() -> void
259
+ snd_pcm_hw_params_get_buffer_size: fn() -> void
260
+ snd_pcm_hw_params_get_periods: fn() -> void
261
+ snd_pcm_hw_params_get_access: fn() -> void
262
+ snd_pcm_hw_params_test_format: fn() -> void
263
+ snd_pcm_hw_params_test_channels: fn() -> void
264
+ snd_pcm_hw_params_test_rate: fn() -> void
265
+ snd_pcm_hw_params: fn() -> void
266
+ snd_pcm_sw_params_sizeof: fn() -> void
267
+ snd_pcm_sw_params_current: fn() -> void
268
+ snd_pcm_sw_params_get_boundary: fn() -> void
269
+ snd_pcm_sw_params_set_avail_min: fn() -> void
270
+ snd_pcm_sw_params_set_start_threshold: fn() -> void
271
+ snd_pcm_sw_params_set_stop_threshold: fn() -> void
272
+ snd_pcm_sw_params: fn() -> void
273
+ snd_pcm_format_mask_sizeof: fn() -> void
274
+ snd_pcm_format_mask_test: fn() -> void
275
+ snd_pcm_get_chmap: fn() -> void
276
+ snd_pcm_state: fn() -> void
277
+ snd_pcm_prepare: fn() -> void
278
+ snd_pcm_start: fn() -> void
279
+ snd_pcm_drop: fn() -> void
280
+ snd_pcm_drain: fn() -> void
281
+ snd_pcm_reset: fn() -> void
282
+ snd_device_name_hint: fn() -> void
283
+ snd_device_name_get_hint: fn() -> void
284
+ snd_card_get_index: fn() -> void
285
+ snd_device_name_free_hint: fn() -> void
286
+ snd_pcm_mmap_begin: fn() -> void
287
+ snd_pcm_mmap_commit: fn() -> void
288
+ snd_pcm_recover: fn() -> void
289
+ snd_pcm_readi: fn() -> void
290
+ snd_pcm_writei: fn() -> void
291
+ snd_pcm_avail: fn() -> void
292
+ snd_pcm_avail_update: fn() -> void
293
+ snd_pcm_wait: fn() -> void
294
+ snd_pcm_nonblock: fn() -> void
295
+ snd_pcm_info: fn() -> void
296
+ snd_pcm_info_sizeof: fn() -> void
297
+ snd_pcm_info_get_name: fn() -> void
298
+ snd_pcm_poll_descriptors: fn() -> void
299
+ snd_pcm_poll_descriptors_count: fn() -> void
300
+ snd_pcm_poll_descriptors_revents: fn() -> void
301
+ snd_config_update_free_global: fn() -> void
302
+ internalDeviceEnumLock: pthread_mutex_t
303
+ useVerboseDeviceEnumeration: uint
304
+
305
+ struct ma_context_anonymous_union_14_pulse:
306
+ pulseSO: ptr[void]
307
+ pa_mainloop_new: fn() -> void
308
+ pa_mainloop_free: fn() -> void
309
+ pa_mainloop_quit: fn() -> void
310
+ pa_mainloop_get_api: fn() -> void
311
+ pa_mainloop_iterate: fn() -> void
312
+ pa_mainloop_wakeup: fn() -> void
313
+ pa_threaded_mainloop_new: fn() -> void
314
+ pa_threaded_mainloop_free: fn() -> void
315
+ pa_threaded_mainloop_start: fn() -> void
316
+ pa_threaded_mainloop_stop: fn() -> void
317
+ pa_threaded_mainloop_lock: fn() -> void
318
+ pa_threaded_mainloop_unlock: fn() -> void
319
+ pa_threaded_mainloop_wait: fn() -> void
320
+ pa_threaded_mainloop_signal: fn() -> void
321
+ pa_threaded_mainloop_accept: fn() -> void
322
+ pa_threaded_mainloop_get_retval: fn() -> void
323
+ pa_threaded_mainloop_get_api: fn() -> void
324
+ pa_threaded_mainloop_in_thread: fn() -> void
325
+ pa_threaded_mainloop_set_name: fn() -> void
326
+ pa_context_new: fn() -> void
327
+ pa_context_unref: fn() -> void
328
+ pa_context_connect: fn() -> void
329
+ pa_context_disconnect: fn() -> void
330
+ pa_context_set_state_callback: fn() -> void
331
+ pa_context_get_state: fn() -> void
332
+ pa_context_get_sink_info_list: fn() -> void
333
+ pa_context_get_source_info_list: fn() -> void
334
+ pa_context_get_sink_info_by_name: fn() -> void
335
+ pa_context_get_source_info_by_name: fn() -> void
336
+ pa_operation_unref: fn() -> void
337
+ pa_operation_get_state: fn() -> void
338
+ pa_channel_map_init_extend: fn() -> void
339
+ pa_channel_map_valid: fn() -> void
340
+ pa_channel_map_compatible: fn() -> void
341
+ pa_stream_new: fn() -> void
342
+ pa_stream_unref: fn() -> void
343
+ pa_stream_connect_playback: fn() -> void
344
+ pa_stream_connect_record: fn() -> void
345
+ pa_stream_disconnect: fn() -> void
346
+ pa_stream_get_state: fn() -> void
347
+ pa_stream_get_sample_spec: fn() -> void
348
+ pa_stream_get_channel_map: fn() -> void
349
+ pa_stream_get_buffer_attr: fn() -> void
350
+ pa_stream_set_buffer_attr: fn() -> void
351
+ pa_stream_get_device_name: fn() -> void
352
+ pa_stream_set_write_callback: fn() -> void
353
+ pa_stream_set_read_callback: fn() -> void
354
+ pa_stream_set_suspended_callback: fn() -> void
355
+ pa_stream_set_moved_callback: fn() -> void
356
+ pa_stream_is_suspended: fn() -> void
357
+ pa_stream_flush: fn() -> void
358
+ pa_stream_drain: fn() -> void
359
+ pa_stream_is_corked: fn() -> void
360
+ pa_stream_cork: fn() -> void
361
+ pa_stream_trigger: fn() -> void
362
+ pa_stream_begin_write: fn() -> void
363
+ pa_stream_write: fn() -> void
364
+ pa_stream_peek: fn() -> void
365
+ pa_stream_drop: fn() -> void
366
+ pa_stream_writable_size: fn() -> void
367
+ pa_stream_readable_size: fn() -> void
368
+ pMainLoop: ptr[void]
369
+ pPulseContext: ptr[void]
370
+ pApplicationName: ptr[char]
371
+ pServerName: ptr[char]
372
+
373
+ struct ma_context_anonymous_union_14_jack:
374
+ jackSO: ptr[void]
375
+ jack_client_open: fn() -> void
376
+ jack_client_close: fn() -> void
377
+ jack_client_name_size: fn() -> void
378
+ jack_set_process_callback: fn() -> void
379
+ jack_set_buffer_size_callback: fn() -> void
380
+ jack_on_shutdown: fn() -> void
381
+ jack_get_sample_rate: fn() -> void
382
+ jack_get_buffer_size: fn() -> void
383
+ jack_get_ports: fn() -> void
384
+ jack_activate: fn() -> void
385
+ jack_deactivate: fn() -> void
386
+ jack_connect: fn() -> void
387
+ jack_port_register: fn() -> void
388
+ jack_port_name: fn() -> void
389
+ jack_port_get_buffer: fn() -> void
390
+ jack_free: fn() -> void
391
+ pClientName: ptr[char]
392
+ tryStartServer: uint
393
+
394
+ struct ma_context_anonymous_union_14_null_backend:
395
+ _unused: int
396
+
397
+ struct ma_context_anonymous_union_15_posix:
398
+ _unused: int
399
+
400
+ struct ma_device_resampling_linear:
401
+ lpfOrder: uint
402
+
403
+ struct ma_device_anonymous_union_24_alsa:
404
+ pPCMPlayback: ptr[void]
405
+ pPCMCapture: ptr[void]
406
+ pPollDescriptorsPlayback: ptr[void]
407
+ pPollDescriptorsCapture: ptr[void]
408
+ pollDescriptorCountPlayback: int
409
+ pollDescriptorCountCapture: int
410
+ wakeupfdPlayback: int
411
+ wakeupfdCapture: int
412
+ isUsingMMapPlayback: ubyte
413
+ isUsingMMapCapture: ubyte
414
+
415
+ struct ma_device_anonymous_union_24_pulse:
416
+ pMainLoop: ptr[void]
417
+ pPulseContext: ptr[void]
418
+ pStreamPlayback: ptr[void]
419
+ pStreamCapture: ptr[void]
420
+
421
+ struct ma_device_anonymous_union_24_jack:
422
+ pClient: ptr[void]
423
+ ppPortsPlayback: ptr[ma_ptr]
424
+ ppPortsCapture: ptr[ma_ptr]
425
+ pIntermediaryBufferPlayback: ptr[float]
426
+ pIntermediaryBufferCapture: ptr[float]
427
+
428
+ struct ma_device_anonymous_union_24_null_device:
429
+ deviceThread: ptr_uint
430
+ operationEvent: ma_event
431
+ operationCompletionEvent: ma_event
432
+ operationSemaphore: ma_semaphore
433
+ operation: uint
434
+ operationResult: ma_result
435
+ timer: ma_timer
436
+ priorRunTime: double
437
+ currentPeriodFramesRemainingPlayback: uint
438
+ currentPeriodFramesRemainingCapture: uint
439
+ lastProcessedFramePlayback: ulong
440
+ lastProcessedFrameCapture: ulong
441
+ isStarted: ma_atomic_bool32
442
+
443
+ struct ma_job_toc_breakup:
444
+ code: ushort
445
+ slot: ushort
446
+ refcount: uint
447
+
448
+ struct ma_job_data_custom:
449
+ proc_: fn(arg0: ptr[ma_job]) -> ma_result
450
+ data0: ulong
451
+ data1: ulong
452
+
453
+ union ma_job_data_resourceManager:
454
+ loadDataBufferNode: ma_job_data_resourceManager_loadDataBufferNode
455
+ freeDataBufferNode: ma_job_data_resourceManager_freeDataBufferNode
456
+ pageDataBufferNode: ma_job_data_resourceManager_pageDataBufferNode
457
+ loadDataBuffer: ma_job_data_resourceManager_loadDataBuffer
458
+ freeDataBuffer: ma_job_data_resourceManager_freeDataBuffer
459
+ loadDataStream: ma_job_data_resourceManager_loadDataStream
460
+ freeDataStream: ma_job_data_resourceManager_freeDataStream
461
+ pageDataStream: ma_job_data_resourceManager_pageDataStream
462
+ seekDataStream: ma_job_data_resourceManager_seekDataStream
463
+
464
+ union ma_job_data_device:
465
+ aaudio: ma_job_data_device_aaudio
466
+
467
+ struct ma_device_notification_data_started:
468
+ _unused: int
469
+
470
+ struct ma_device_notification_data_stopped:
471
+ _unused: int
472
+
473
+ struct ma_device_notification_data_rerouted:
474
+ _unused: int
475
+
476
+ struct ma_device_notification_data_interruption:
477
+ _unused: int
478
+
479
+ struct ma_context_command__wasapi_data_quit:
480
+ _unused: int
481
+
482
+ struct ma_context_command__wasapi_data_createAudioClient:
483
+ deviceType: ma_device_type
484
+ pAudioClient: ptr[void]
485
+ ppAudioClientService: ptr[ptr[void]]
486
+ pResult: ptr[ma_result]
487
+
488
+ struct ma_context_command__wasapi_data_releaseAudioClient:
489
+ pDevice: ptr[ma_device]
490
+ deviceType: ma_device_type
491
+
492
+ struct ma_decoder_data_vfs:
493
+ pVFS: ptr[ma_vfs]
494
+ file: ptr[void]
495
+
496
+ struct ma_decoder_data_memory:
497
+ pData: const_ptr[ma_uint8]
498
+ dataSize: ptr_uint
499
+ currentReadPos: ptr_uint
500
+
501
+ struct ma_encoder_data_vfs:
502
+ pVFS: ptr[ma_vfs]
503
+ file: ptr[void]
504
+
505
+ struct ma_noise_state_pink:
506
+ bin: ptr[ptr[double]]
507
+ accumulation: ptr[double]
508
+ counter: ptr[ma_uint32]
509
+
510
+ struct ma_noise_state_brownian:
511
+ accumulation: ptr[double]
512
+
513
+ struct ma_resource_manager_data_supply_backend_encoded:
514
+ pData: const_ptr[void]
515
+ sizeInBytes: ptr_uint
516
+
517
+ struct ma_resource_manager_data_supply_backend_decoded:
518
+ pData: const_ptr[void]
519
+ totalFrameCount: ulong
520
+ decodedFrameCount: ulong
521
+ format: ma_format
522
+ channels: uint
523
+ sampleRate: uint
524
+
525
+ struct ma_resource_manager_data_supply_backend_decodedPaged:
526
+ data: ma_paged_audio_buffer_data
527
+ decodedFrameCount: ulong
528
+ sampleRate: uint
529
+
530
+ struct ma_job_data_resourceManager_loadDataBufferNode:
531
+ pResourceManager: ptr[void]
532
+ pDataBufferNode: ptr[void]
533
+ pFilePath: ptr[char]
534
+ pFilePathW: ptr[int]
535
+ flags_: uint
536
+ pInitNotification: ptr[ma_async_notification]
537
+ pDoneNotification: ptr[ma_async_notification]
538
+ pInitFence: ptr[ma_fence]
539
+ pDoneFence: ptr[ma_fence]
540
+
541
+ struct ma_job_data_resourceManager_freeDataBufferNode:
542
+ pResourceManager: ptr[void]
543
+ pDataBufferNode: ptr[void]
544
+ pDoneNotification: ptr[ma_async_notification]
545
+ pDoneFence: ptr[ma_fence]
546
+
547
+ struct ma_job_data_resourceManager_pageDataBufferNode:
548
+ pResourceManager: ptr[void]
549
+ pDataBufferNode: ptr[void]
550
+ pDecoder: ptr[void]
551
+ pDoneNotification: ptr[ma_async_notification]
552
+ pDoneFence: ptr[ma_fence]
553
+
554
+ struct ma_job_data_resourceManager_loadDataBuffer:
555
+ pDataBuffer: ptr[void]
556
+ pInitNotification: ptr[ma_async_notification]
557
+ pDoneNotification: ptr[ma_async_notification]
558
+ pInitFence: ptr[ma_fence]
559
+ pDoneFence: ptr[ma_fence]
560
+ rangeBegInPCMFrames: ulong
561
+ rangeEndInPCMFrames: ulong
562
+ loopPointBegInPCMFrames: ulong
563
+ loopPointEndInPCMFrames: ulong
564
+ isLooping: uint
565
+
566
+ struct ma_job_data_resourceManager_freeDataBuffer:
567
+ pDataBuffer: ptr[void]
568
+ pDoneNotification: ptr[ma_async_notification]
569
+ pDoneFence: ptr[ma_fence]
570
+
571
+ struct ma_job_data_resourceManager_loadDataStream:
572
+ pDataStream: ptr[void]
573
+ pFilePath: ptr[char]
574
+ pFilePathW: ptr[int]
575
+ initialSeekPoint: ulong
576
+ pInitNotification: ptr[ma_async_notification]
577
+ pInitFence: ptr[ma_fence]
578
+
579
+ struct ma_job_data_resourceManager_freeDataStream:
580
+ pDataStream: ptr[void]
581
+ pDoneNotification: ptr[ma_async_notification]
582
+ pDoneFence: ptr[ma_fence]
583
+
584
+ struct ma_job_data_resourceManager_pageDataStream:
585
+ pDataStream: ptr[void]
586
+ pageIndex: uint
587
+
588
+ struct ma_job_data_resourceManager_seekDataStream:
589
+ pDataStream: ptr[void]
590
+ frameIndex: ulong
591
+
592
+ union ma_job_data_device_aaudio:
593
+ reroute: ma_job_data_device_aaudio_reroute
594
+
595
+ struct ma_job_data_device_aaudio_reroute:
596
+ pDevice: ptr[void]
597
+ deviceType: uint
598
+
599
+ opaque pthread_mutex_t = c"union pthread_mutex_t"
600
+ opaque pthread_cond_t = c"union pthread_cond_t"
601
+ opaque va_list = c"va_list"
602
+
603
+ type ma_int8 = byte
604
+ type ma_uint8 = ubyte
605
+ type ma_int16 = short
606
+ type ma_uint16 = ushort
607
+ type ma_int32 = int
608
+ type ma_uint32 = uint
609
+ type ma_int64 = long
610
+ type ma_uint64 = ulong
611
+ type ma_uintptr = ulong
612
+ type ma_bool8 = ubyte
613
+ type ma_bool32 = uint
614
+ type ma_float = float
615
+ type ma_double = double
616
+ type ma_handle = ptr[void]
617
+ type ma_ptr = ptr[void]
618
+ type ma_proc = fn() -> void
619
+ type ma_pthread_t = ptr_uint
620
+ type ma_pthread_mutex_t = pthread_mutex_t
621
+ type ma_pthread_cond_t = pthread_cond_t
622
+ type ma_wchar_win32 = ushort
623
+
624
+ enum ma_log_level: int
625
+ MA_LOG_LEVEL_DEBUG = 4
626
+ MA_LOG_LEVEL_INFO = 3
627
+ MA_LOG_LEVEL_WARNING = 2
628
+ MA_LOG_LEVEL_ERROR = 1
629
+
630
+ type ma_channel = ubyte
631
+
632
+ enum ma_result: int
633
+ MA_SUCCESS = 0
634
+ MA_ERROR = -1
635
+ MA_INVALID_ARGS = -2
636
+ MA_INVALID_OPERATION = -3
637
+ MA_OUT_OF_MEMORY = -4
638
+ MA_OUT_OF_RANGE = -5
639
+ MA_ACCESS_DENIED = -6
640
+ MA_DOES_NOT_EXIST = -7
641
+ MA_ALREADY_EXISTS = -8
642
+ MA_TOO_MANY_OPEN_FILES = -9
643
+ MA_INVALID_FILE = -10
644
+ MA_TOO_BIG = -11
645
+ MA_PATH_TOO_LONG = -12
646
+ MA_NAME_TOO_LONG = -13
647
+ MA_NOT_DIRECTORY = -14
648
+ MA_IS_DIRECTORY = -15
649
+ MA_DIRECTORY_NOT_EMPTY = -16
650
+ MA_AT_END = -17
651
+ MA_NO_SPACE = -18
652
+ MA_BUSY = -19
653
+ MA_IO_ERROR = -20
654
+ MA_INTERRUPT = -21
655
+ MA_UNAVAILABLE = -22
656
+ MA_ALREADY_IN_USE = -23
657
+ MA_BAD_ADDRESS = -24
658
+ MA_BAD_SEEK = -25
659
+ MA_BAD_PIPE = -26
660
+ MA_DEADLOCK = -27
661
+ MA_TOO_MANY_LINKS = -28
662
+ MA_NOT_IMPLEMENTED = -29
663
+ MA_NO_MESSAGE = -30
664
+ MA_BAD_MESSAGE = -31
665
+ MA_NO_DATA_AVAILABLE = -32
666
+ MA_INVALID_DATA = -33
667
+ MA_TIMEOUT = -34
668
+ MA_NO_NETWORK = -35
669
+ MA_NOT_UNIQUE = -36
670
+ MA_NOT_SOCKET = -37
671
+ MA_NO_ADDRESS = -38
672
+ MA_BAD_PROTOCOL = -39
673
+ MA_PROTOCOL_UNAVAILABLE = -40
674
+ MA_PROTOCOL_NOT_SUPPORTED = -41
675
+ MA_PROTOCOL_FAMILY_NOT_SUPPORTED = -42
676
+ MA_ADDRESS_FAMILY_NOT_SUPPORTED = -43
677
+ MA_SOCKET_NOT_SUPPORTED = -44
678
+ MA_CONNECTION_RESET = -45
679
+ MA_ALREADY_CONNECTED = -46
680
+ MA_NOT_CONNECTED = -47
681
+ MA_CONNECTION_REFUSED = -48
682
+ MA_NO_HOST = -49
683
+ MA_IN_PROGRESS = -50
684
+ MA_CANCELLED = -51
685
+ MA_MEMORY_ALREADY_MAPPED = -52
686
+ MA_CRC_MISMATCH = -100
687
+ MA_FORMAT_NOT_SUPPORTED = -200
688
+ MA_DEVICE_TYPE_NOT_SUPPORTED = -201
689
+ MA_SHARE_MODE_NOT_SUPPORTED = -202
690
+ MA_NO_BACKEND = -203
691
+ MA_NO_DEVICE = -204
692
+ MA_API_NOT_FOUND = -205
693
+ MA_INVALID_DEVICE_CONFIG = -206
694
+ MA_LOOP = -207
695
+ MA_BACKEND_NOT_ENABLED = -208
696
+ MA_DEVICE_NOT_INITIALIZED = -300
697
+ MA_DEVICE_ALREADY_INITIALIZED = -301
698
+ MA_DEVICE_NOT_STARTED = -302
699
+ MA_DEVICE_NOT_STOPPED = -303
700
+ MA_FAILED_TO_INIT_BACKEND = -400
701
+ MA_FAILED_TO_OPEN_BACKEND_DEVICE = -401
702
+ MA_FAILED_TO_START_BACKEND_DEVICE = -402
703
+ MA_FAILED_TO_STOP_BACKEND_DEVICE = -403
704
+
705
+ enum ma_stream_format: int
706
+ ma_stream_format_pcm = 0
707
+
708
+ flags ma_stream_layout: int
709
+ ma_stream_layout_interleaved = 0
710
+ ma_stream_layout_deinterleaved = 1
711
+ flags ma_dither_mode: int
712
+ ma_dither_mode_none = 0
713
+ ma_dither_mode_rectangle = 1
714
+ ma_dither_mode_triangle = 2
715
+
716
+ enum ma_format: int
717
+ ma_format_unknown = 0
718
+ ma_format_u8 = 1
719
+ ma_format_s16 = 2
720
+ ma_format_s24 = 3
721
+ ma_format_s32 = 4
722
+ ma_format_f32 = 5
723
+ ma_format_count = 6
724
+
725
+ enum ma_standard_sample_rate: int
726
+ ma_standard_sample_rate_48000 = 48000
727
+ ma_standard_sample_rate_44100 = 44100
728
+ ma_standard_sample_rate_32000 = 32000
729
+ ma_standard_sample_rate_24000 = 24000
730
+ ma_standard_sample_rate_22050 = 22050
731
+ ma_standard_sample_rate_88200 = 88200
732
+ ma_standard_sample_rate_96000 = 96000
733
+ ma_standard_sample_rate_176400 = 176400
734
+ ma_standard_sample_rate_192000 = 192000
735
+ ma_standard_sample_rate_16000 = 16000
736
+ ma_standard_sample_rate_11025 = 11025
737
+ ma_standard_sample_rate_8000 = 8000
738
+ ma_standard_sample_rate_352800 = 352800
739
+ ma_standard_sample_rate_384000 = 384000
740
+ ma_standard_sample_rate_min = 8000
741
+ ma_standard_sample_rate_max = 384000
742
+ ma_standard_sample_rate_count = 14
743
+
744
+ flags ma_channel_mix_mode: int
745
+ ma_channel_mix_mode_rectangular = 0
746
+ ma_channel_mix_mode_simple = 1
747
+ ma_channel_mix_mode_custom_weights = 2
748
+ ma_channel_mix_mode_default = 0
749
+
750
+ enum ma_standard_channel_map: int
751
+ ma_standard_channel_map_microsoft = 0
752
+ ma_standard_channel_map_alsa = 1
753
+ ma_standard_channel_map_rfc3551 = 2
754
+ ma_standard_channel_map_flac = 3
755
+ ma_standard_channel_map_vorbis = 4
756
+ ma_standard_channel_map_sound4 = 5
757
+ ma_standard_channel_map_sndio = 6
758
+ ma_standard_channel_map_webaudio = 3
759
+ ma_standard_channel_map_default = 0
760
+
761
+ flags ma_performance_profile: int
762
+ ma_performance_profile_low_latency = 0
763
+ ma_performance_profile_conservative = 1
764
+
765
+ struct ma_allocation_callbacks:
766
+ pUserData: ptr[void]
767
+ onMalloc: fn(arg0: ptr_uint, arg1: ptr[void]) -> ptr[void]
768
+ onRealloc: fn(arg0: ptr[void], arg1: ptr_uint, arg2: ptr[void]) -> ptr[void]
769
+ onFree: fn(arg0: ptr[void], arg1: ptr[void]) -> void
770
+
771
+ struct ma_lcg:
772
+ state: uint
773
+
774
+ struct ma_atomic_uint32:
775
+ value: uint
776
+
777
+ struct ma_atomic_int32:
778
+ value: int
779
+
780
+ struct ma_atomic_uint64:
781
+ value: ulong
782
+
783
+ struct ma_atomic_float:
784
+ value: float
785
+
786
+ struct ma_atomic_bool32:
787
+ value: uint
788
+
789
+ type ma_spinlock = uint
790
+
791
+ enum ma_thread_priority: int
792
+ ma_thread_priority_idle = -5
793
+ ma_thread_priority_lowest = -4
794
+ ma_thread_priority_low = -3
795
+ ma_thread_priority_normal = -2
796
+ ma_thread_priority_high = -1
797
+ ma_thread_priority_highest = 0
798
+ ma_thread_priority_realtime = 1
799
+ ma_thread_priority_default = 0
800
+
801
+ type ma_thread = ptr_uint
802
+ type ma_mutex = pthread_mutex_t
803
+
804
+ struct ma_event:
805
+ value: uint
806
+ lock: pthread_mutex_t
807
+ cond: pthread_cond_t
808
+
809
+ struct ma_semaphore:
810
+ value: int
811
+ lock: pthread_mutex_t
812
+ cond: pthread_cond_t
813
+
814
+ external function ma_version(pMajor: ptr[ma_uint32], pMinor: ptr[ma_uint32], pRevision: ptr[ma_uint32]) -> void
815
+ external function ma_version_string() -> cstr
816
+
817
+ type ma_log_callback_proc = fn(arg0: ptr[void], arg1: ma_uint32, arg2: cstr) -> void
818
+
819
+ struct ma_log_callback:
820
+ onLog: fn(arg0: ptr[void], arg1: ma_uint32, arg2: cstr) -> void
821
+ pUserData: ptr[void]
822
+
823
+ external function ma_log_callback_init(onLog: fn(arg0: ptr[void], arg1: ma_uint32, arg2: cstr) -> void, pUserData: ptr[void]) -> ma_log_callback
824
+
825
+ struct ma_log:
826
+ callbacks: array[ma_log_callback, 4]
827
+ callbackCount: uint
828
+ allocationCallbacks: ma_allocation_callbacks
829
+ lock: pthread_mutex_t
830
+
831
+ external function ma_log_init(pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pLog: ptr[ma_log]) -> ma_result
832
+ external function ma_log_uninit(pLog: ptr[ma_log]) -> void
833
+ external function ma_log_register_callback(pLog: ptr[ma_log], callback: ma_log_callback) -> ma_result
834
+ external function ma_log_unregister_callback(pLog: ptr[ma_log], callback: ma_log_callback) -> ma_result
835
+ external function ma_log_post(pLog: ptr[ma_log], level: uint, pMessage: cstr) -> ma_result
836
+ external function ma_log_postv(pLog: ptr[ma_log], level: uint, pFormat: cstr, args: va_list) -> ma_result
837
+ external function ma_log_postf(pLog: ptr[ma_log], level: uint, pFormat: cstr, ...) -> ma_result
838
+
839
+ union ma_biquad_coefficient:
840
+ f32: float
841
+ s32: int
842
+
843
+ struct ma_biquad_config:
844
+ format: ma_format
845
+ channels: uint
846
+ b0: double
847
+ b1: double
848
+ b2: double
849
+ a0: double
850
+ a1: double
851
+ a2: double
852
+
853
+ external function ma_biquad_config_init(format: ma_format, channels: uint, b0: double, b1: double, b2: double, a0: double, a1: double, a2: double) -> ma_biquad_config
854
+
855
+ struct ma_biquad:
856
+ format: ma_format
857
+ channels: uint
858
+ b0: ma_biquad_coefficient
859
+ b1: ma_biquad_coefficient
860
+ b2: ma_biquad_coefficient
861
+ a1: ma_biquad_coefficient
862
+ a2: ma_biquad_coefficient
863
+ pR1: ptr[ma_biquad_coefficient]
864
+ pR2: ptr[ma_biquad_coefficient]
865
+ _pHeap: ptr[void]
866
+ _ownsHeap: uint
867
+
868
+ external function ma_biquad_get_heap_size(pConfig: const_ptr[ma_biquad_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
869
+ external function ma_biquad_init_preallocated(pConfig: const_ptr[ma_biquad_config], pHeap: ptr[void], pBQ: ptr[ma_biquad]) -> ma_result
870
+ external function ma_biquad_init(pConfig: const_ptr[ma_biquad_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pBQ: ptr[ma_biquad]) -> ma_result
871
+ external function ma_biquad_uninit(pBQ: ptr[ma_biquad], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
872
+ external function ma_biquad_reinit(pConfig: const_ptr[ma_biquad_config], pBQ: ptr[ma_biquad]) -> ma_result
873
+ external function ma_biquad_clear_cache(pBQ: ptr[ma_biquad]) -> ma_result
874
+ external function ma_biquad_process_pcm_frames(pBQ: ptr[ma_biquad], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
875
+ external function ma_biquad_get_latency(pBQ: const_ptr[ma_biquad]) -> ma_uint32
876
+
877
+ struct ma_lpf2_config:
878
+ format: ma_format
879
+ channels: uint
880
+ sampleRate: uint
881
+ cutoffFrequency: double
882
+ q: double
883
+
884
+ type ma_lpf1_config = ma_lpf2_config
885
+
886
+ external function ma_lpf1_config_init(format: ma_format, channels: uint, sampleRate: uint, cutoffFrequency: double) -> ma_lpf1_config
887
+ external function ma_lpf2_config_init(format: ma_format, channels: uint, sampleRate: uint, cutoffFrequency: double, q: double) -> ma_lpf2_config
888
+
889
+ struct ma_lpf1:
890
+ format: ma_format
891
+ channels: uint
892
+ a: ma_biquad_coefficient
893
+ pR1: ptr[ma_biquad_coefficient]
894
+ _pHeap: ptr[void]
895
+ _ownsHeap: uint
896
+
897
+ external function ma_lpf1_get_heap_size(pConfig: const_ptr[ma_lpf1_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
898
+ external function ma_lpf1_init_preallocated(pConfig: const_ptr[ma_lpf1_config], pHeap: ptr[void], pLPF: ptr[ma_lpf1]) -> ma_result
899
+ external function ma_lpf1_init(pConfig: const_ptr[ma_lpf1_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pLPF: ptr[ma_lpf1]) -> ma_result
900
+ external function ma_lpf1_uninit(pLPF: ptr[ma_lpf1], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
901
+ external function ma_lpf1_reinit(pConfig: const_ptr[ma_lpf1_config], pLPF: ptr[ma_lpf1]) -> ma_result
902
+ external function ma_lpf1_clear_cache(pLPF: ptr[ma_lpf1]) -> ma_result
903
+ external function ma_lpf1_process_pcm_frames(pLPF: ptr[ma_lpf1], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
904
+ external function ma_lpf1_get_latency(pLPF: const_ptr[ma_lpf1]) -> ma_uint32
905
+
906
+ struct ma_lpf2:
907
+ bq: ma_biquad
908
+
909
+ external function ma_lpf2_get_heap_size(pConfig: const_ptr[ma_lpf2_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
910
+ external function ma_lpf2_init_preallocated(pConfig: const_ptr[ma_lpf2_config], pHeap: ptr[void], pHPF: ptr[ma_lpf2]) -> ma_result
911
+ external function ma_lpf2_init(pConfig: const_ptr[ma_lpf2_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pLPF: ptr[ma_lpf2]) -> ma_result
912
+ external function ma_lpf2_uninit(pLPF: ptr[ma_lpf2], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
913
+ external function ma_lpf2_reinit(pConfig: const_ptr[ma_lpf2_config], pLPF: ptr[ma_lpf2]) -> ma_result
914
+ external function ma_lpf2_clear_cache(pLPF: ptr[ma_lpf2]) -> ma_result
915
+ external function ma_lpf2_process_pcm_frames(pLPF: ptr[ma_lpf2], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
916
+ external function ma_lpf2_get_latency(pLPF: const_ptr[ma_lpf2]) -> ma_uint32
917
+
918
+ struct ma_lpf_config:
919
+ format: ma_format
920
+ channels: uint
921
+ sampleRate: uint
922
+ cutoffFrequency: double
923
+ order: uint
924
+
925
+ external function ma_lpf_config_init(format: ma_format, channels: uint, sampleRate: uint, cutoffFrequency: double, order: uint) -> ma_lpf_config
926
+
927
+ struct ma_lpf:
928
+ format: ma_format
929
+ channels: uint
930
+ sampleRate: uint
931
+ lpf1Count: uint
932
+ lpf2Count: uint
933
+ pLPF1: ptr[ma_lpf1]
934
+ pLPF2: ptr[ma_lpf2]
935
+ _pHeap: ptr[void]
936
+ _ownsHeap: uint
937
+
938
+ external function ma_lpf_get_heap_size(pConfig: const_ptr[ma_lpf_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
939
+ external function ma_lpf_init_preallocated(pConfig: const_ptr[ma_lpf_config], pHeap: ptr[void], pLPF: ptr[ma_lpf]) -> ma_result
940
+ external function ma_lpf_init(pConfig: const_ptr[ma_lpf_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pLPF: ptr[ma_lpf]) -> ma_result
941
+ external function ma_lpf_uninit(pLPF: ptr[ma_lpf], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
942
+ external function ma_lpf_reinit(pConfig: const_ptr[ma_lpf_config], pLPF: ptr[ma_lpf]) -> ma_result
943
+ external function ma_lpf_clear_cache(pLPF: ptr[ma_lpf]) -> ma_result
944
+ external function ma_lpf_process_pcm_frames(pLPF: ptr[ma_lpf], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
945
+ external function ma_lpf_get_latency(pLPF: const_ptr[ma_lpf]) -> ma_uint32
946
+
947
+ struct ma_hpf2_config:
948
+ format: ma_format
949
+ channels: uint
950
+ sampleRate: uint
951
+ cutoffFrequency: double
952
+ q: double
953
+
954
+ type ma_hpf1_config = ma_hpf2_config
955
+
956
+ external function ma_hpf1_config_init(format: ma_format, channels: uint, sampleRate: uint, cutoffFrequency: double) -> ma_hpf1_config
957
+ external function ma_hpf2_config_init(format: ma_format, channels: uint, sampleRate: uint, cutoffFrequency: double, q: double) -> ma_hpf2_config
958
+
959
+ struct ma_hpf1:
960
+ format: ma_format
961
+ channels: uint
962
+ a: ma_biquad_coefficient
963
+ pR1: ptr[ma_biquad_coefficient]
964
+ _pHeap: ptr[void]
965
+ _ownsHeap: uint
966
+
967
+ external function ma_hpf1_get_heap_size(pConfig: const_ptr[ma_hpf1_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
968
+ external function ma_hpf1_init_preallocated(pConfig: const_ptr[ma_hpf1_config], pHeap: ptr[void], pLPF: ptr[ma_hpf1]) -> ma_result
969
+ external function ma_hpf1_init(pConfig: const_ptr[ma_hpf1_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pHPF: ptr[ma_hpf1]) -> ma_result
970
+ external function ma_hpf1_uninit(pHPF: ptr[ma_hpf1], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
971
+ external function ma_hpf1_reinit(pConfig: const_ptr[ma_hpf1_config], pHPF: ptr[ma_hpf1]) -> ma_result
972
+ external function ma_hpf1_process_pcm_frames(pHPF: ptr[ma_hpf1], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
973
+ external function ma_hpf1_get_latency(pHPF: const_ptr[ma_hpf1]) -> ma_uint32
974
+
975
+ struct ma_hpf2:
976
+ bq: ma_biquad
977
+
978
+ external function ma_hpf2_get_heap_size(pConfig: const_ptr[ma_hpf2_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
979
+ external function ma_hpf2_init_preallocated(pConfig: const_ptr[ma_hpf2_config], pHeap: ptr[void], pHPF: ptr[ma_hpf2]) -> ma_result
980
+ external function ma_hpf2_init(pConfig: const_ptr[ma_hpf2_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pHPF: ptr[ma_hpf2]) -> ma_result
981
+ external function ma_hpf2_uninit(pHPF: ptr[ma_hpf2], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
982
+ external function ma_hpf2_reinit(pConfig: const_ptr[ma_hpf2_config], pHPF: ptr[ma_hpf2]) -> ma_result
983
+ external function ma_hpf2_process_pcm_frames(pHPF: ptr[ma_hpf2], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
984
+ external function ma_hpf2_get_latency(pHPF: const_ptr[ma_hpf2]) -> ma_uint32
985
+
986
+ struct ma_hpf_config:
987
+ format: ma_format
988
+ channels: uint
989
+ sampleRate: uint
990
+ cutoffFrequency: double
991
+ order: uint
992
+
993
+ external function ma_hpf_config_init(format: ma_format, channels: uint, sampleRate: uint, cutoffFrequency: double, order: uint) -> ma_hpf_config
994
+
995
+ struct ma_hpf:
996
+ format: ma_format
997
+ channels: uint
998
+ sampleRate: uint
999
+ hpf1Count: uint
1000
+ hpf2Count: uint
1001
+ pHPF1: ptr[ma_hpf1]
1002
+ pHPF2: ptr[ma_hpf2]
1003
+ _pHeap: ptr[void]
1004
+ _ownsHeap: uint
1005
+
1006
+ external function ma_hpf_get_heap_size(pConfig: const_ptr[ma_hpf_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1007
+ external function ma_hpf_init_preallocated(pConfig: const_ptr[ma_hpf_config], pHeap: ptr[void], pLPF: ptr[ma_hpf]) -> ma_result
1008
+ external function ma_hpf_init(pConfig: const_ptr[ma_hpf_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pHPF: ptr[ma_hpf]) -> ma_result
1009
+ external function ma_hpf_uninit(pHPF: ptr[ma_hpf], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1010
+ external function ma_hpf_reinit(pConfig: const_ptr[ma_hpf_config], pHPF: ptr[ma_hpf]) -> ma_result
1011
+ external function ma_hpf_process_pcm_frames(pHPF: ptr[ma_hpf], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1012
+ external function ma_hpf_get_latency(pHPF: const_ptr[ma_hpf]) -> ma_uint32
1013
+
1014
+ struct ma_bpf2_config:
1015
+ format: ma_format
1016
+ channels: uint
1017
+ sampleRate: uint
1018
+ cutoffFrequency: double
1019
+ q: double
1020
+
1021
+ external function ma_bpf2_config_init(format: ma_format, channels: uint, sampleRate: uint, cutoffFrequency: double, q: double) -> ma_bpf2_config
1022
+
1023
+ struct ma_bpf2:
1024
+ bq: ma_biquad
1025
+
1026
+ external function ma_bpf2_get_heap_size(pConfig: const_ptr[ma_bpf2_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1027
+ external function ma_bpf2_init_preallocated(pConfig: const_ptr[ma_bpf2_config], pHeap: ptr[void], pBPF: ptr[ma_bpf2]) -> ma_result
1028
+ external function ma_bpf2_init(pConfig: const_ptr[ma_bpf2_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pBPF: ptr[ma_bpf2]) -> ma_result
1029
+ external function ma_bpf2_uninit(pBPF: ptr[ma_bpf2], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1030
+ external function ma_bpf2_reinit(pConfig: const_ptr[ma_bpf2_config], pBPF: ptr[ma_bpf2]) -> ma_result
1031
+ external function ma_bpf2_process_pcm_frames(pBPF: ptr[ma_bpf2], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1032
+ external function ma_bpf2_get_latency(pBPF: const_ptr[ma_bpf2]) -> ma_uint32
1033
+
1034
+ struct ma_bpf_config:
1035
+ format: ma_format
1036
+ channels: uint
1037
+ sampleRate: uint
1038
+ cutoffFrequency: double
1039
+ order: uint
1040
+
1041
+ external function ma_bpf_config_init(format: ma_format, channels: uint, sampleRate: uint, cutoffFrequency: double, order: uint) -> ma_bpf_config
1042
+
1043
+ struct ma_bpf:
1044
+ format: ma_format
1045
+ channels: uint
1046
+ bpf2Count: uint
1047
+ pBPF2: ptr[ma_bpf2]
1048
+ _pHeap: ptr[void]
1049
+ _ownsHeap: uint
1050
+
1051
+ external function ma_bpf_get_heap_size(pConfig: const_ptr[ma_bpf_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1052
+ external function ma_bpf_init_preallocated(pConfig: const_ptr[ma_bpf_config], pHeap: ptr[void], pBPF: ptr[ma_bpf]) -> ma_result
1053
+ external function ma_bpf_init(pConfig: const_ptr[ma_bpf_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pBPF: ptr[ma_bpf]) -> ma_result
1054
+ external function ma_bpf_uninit(pBPF: ptr[ma_bpf], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1055
+ external function ma_bpf_reinit(pConfig: const_ptr[ma_bpf_config], pBPF: ptr[ma_bpf]) -> ma_result
1056
+ external function ma_bpf_process_pcm_frames(pBPF: ptr[ma_bpf], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1057
+ external function ma_bpf_get_latency(pBPF: const_ptr[ma_bpf]) -> ma_uint32
1058
+
1059
+ struct ma_notch_config:
1060
+ format: ma_format
1061
+ channels: uint
1062
+ sampleRate: uint
1063
+ q: double
1064
+ frequency: double
1065
+
1066
+ type ma_notch2_config = ma_notch_config
1067
+
1068
+ external function ma_notch2_config_init(format: ma_format, channels: uint, sampleRate: uint, q: double, frequency: double) -> ma_notch2_config
1069
+
1070
+ struct ma_notch2:
1071
+ bq: ma_biquad
1072
+
1073
+ external function ma_notch2_get_heap_size(pConfig: const_ptr[ma_notch2_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1074
+ external function ma_notch2_init_preallocated(pConfig: const_ptr[ma_notch2_config], pHeap: ptr[void], pFilter: ptr[ma_notch2]) -> ma_result
1075
+ external function ma_notch2_init(pConfig: const_ptr[ma_notch2_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pFilter: ptr[ma_notch2]) -> ma_result
1076
+ external function ma_notch2_uninit(pFilter: ptr[ma_notch2], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1077
+ external function ma_notch2_reinit(pConfig: const_ptr[ma_notch2_config], pFilter: ptr[ma_notch2]) -> ma_result
1078
+ external function ma_notch2_process_pcm_frames(pFilter: ptr[ma_notch2], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1079
+ external function ma_notch2_get_latency(pFilter: const_ptr[ma_notch2]) -> ma_uint32
1080
+
1081
+ struct ma_peak_config:
1082
+ format: ma_format
1083
+ channels: uint
1084
+ sampleRate: uint
1085
+ gainDB: double
1086
+ q: double
1087
+ frequency: double
1088
+
1089
+ type ma_peak2_config = ma_peak_config
1090
+
1091
+ external function ma_peak2_config_init(format: ma_format, channels: uint, sampleRate: uint, gainDB: double, q: double, frequency: double) -> ma_peak2_config
1092
+
1093
+ struct ma_peak2:
1094
+ bq: ma_biquad
1095
+
1096
+ external function ma_peak2_get_heap_size(pConfig: const_ptr[ma_peak2_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1097
+ external function ma_peak2_init_preallocated(pConfig: const_ptr[ma_peak2_config], pHeap: ptr[void], pFilter: ptr[ma_peak2]) -> ma_result
1098
+ external function ma_peak2_init(pConfig: const_ptr[ma_peak2_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pFilter: ptr[ma_peak2]) -> ma_result
1099
+ external function ma_peak2_uninit(pFilter: ptr[ma_peak2], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1100
+ external function ma_peak2_reinit(pConfig: const_ptr[ma_peak2_config], pFilter: ptr[ma_peak2]) -> ma_result
1101
+ external function ma_peak2_process_pcm_frames(pFilter: ptr[ma_peak2], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1102
+ external function ma_peak2_get_latency(pFilter: const_ptr[ma_peak2]) -> ma_uint32
1103
+
1104
+ struct ma_loshelf_config:
1105
+ format: ma_format
1106
+ channels: uint
1107
+ sampleRate: uint
1108
+ gainDB: double
1109
+ shelfSlope: double
1110
+ frequency: double
1111
+
1112
+ type ma_loshelf2_config = ma_loshelf_config
1113
+
1114
+ external function ma_loshelf2_config_init(format: ma_format, channels: uint, sampleRate: uint, gainDB: double, shelfSlope: double, frequency: double) -> ma_loshelf2_config
1115
+
1116
+ struct ma_loshelf2:
1117
+ bq: ma_biquad
1118
+
1119
+ external function ma_loshelf2_get_heap_size(pConfig: const_ptr[ma_loshelf2_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1120
+ external function ma_loshelf2_init_preallocated(pConfig: const_ptr[ma_loshelf2_config], pHeap: ptr[void], pFilter: ptr[ma_loshelf2]) -> ma_result
1121
+ external function ma_loshelf2_init(pConfig: const_ptr[ma_loshelf2_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pFilter: ptr[ma_loshelf2]) -> ma_result
1122
+ external function ma_loshelf2_uninit(pFilter: ptr[ma_loshelf2], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1123
+ external function ma_loshelf2_reinit(pConfig: const_ptr[ma_loshelf2_config], pFilter: ptr[ma_loshelf2]) -> ma_result
1124
+ external function ma_loshelf2_process_pcm_frames(pFilter: ptr[ma_loshelf2], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1125
+ external function ma_loshelf2_get_latency(pFilter: const_ptr[ma_loshelf2]) -> ma_uint32
1126
+
1127
+ struct ma_hishelf_config:
1128
+ format: ma_format
1129
+ channels: uint
1130
+ sampleRate: uint
1131
+ gainDB: double
1132
+ shelfSlope: double
1133
+ frequency: double
1134
+
1135
+ type ma_hishelf2_config = ma_hishelf_config
1136
+
1137
+ external function ma_hishelf2_config_init(format: ma_format, channels: uint, sampleRate: uint, gainDB: double, shelfSlope: double, frequency: double) -> ma_hishelf2_config
1138
+
1139
+ struct ma_hishelf2:
1140
+ bq: ma_biquad
1141
+
1142
+ external function ma_hishelf2_get_heap_size(pConfig: const_ptr[ma_hishelf2_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1143
+ external function ma_hishelf2_init_preallocated(pConfig: const_ptr[ma_hishelf2_config], pHeap: ptr[void], pFilter: ptr[ma_hishelf2]) -> ma_result
1144
+ external function ma_hishelf2_init(pConfig: const_ptr[ma_hishelf2_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pFilter: ptr[ma_hishelf2]) -> ma_result
1145
+ external function ma_hishelf2_uninit(pFilter: ptr[ma_hishelf2], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1146
+ external function ma_hishelf2_reinit(pConfig: const_ptr[ma_hishelf2_config], pFilter: ptr[ma_hishelf2]) -> ma_result
1147
+ external function ma_hishelf2_process_pcm_frames(pFilter: ptr[ma_hishelf2], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1148
+ external function ma_hishelf2_get_latency(pFilter: const_ptr[ma_hishelf2]) -> ma_uint32
1149
+
1150
+ struct ma_delay_config:
1151
+ channels: uint
1152
+ sampleRate: uint
1153
+ delayInFrames: uint
1154
+ delayStart: uint
1155
+ wet: float
1156
+ dry: float
1157
+ decay: float
1158
+
1159
+ external function ma_delay_config_init(channels: uint, sampleRate: uint, delayInFrames: uint, decay: float) -> ma_delay_config
1160
+
1161
+ struct ma_delay:
1162
+ config: ma_delay_config
1163
+ cursor: uint
1164
+ bufferSizeInFrames: uint
1165
+ pBuffer: ptr[float]
1166
+
1167
+ external function ma_delay_init(pConfig: const_ptr[ma_delay_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pDelay: ptr[ma_delay]) -> ma_result
1168
+ external function ma_delay_uninit(pDelay: ptr[ma_delay], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1169
+ external function ma_delay_process_pcm_frames(pDelay: ptr[ma_delay], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: uint) -> ma_result
1170
+ external function ma_delay_set_wet(pDelay: ptr[ma_delay], value: float) -> void
1171
+ external function ma_delay_get_wet(pDelay: const_ptr[ma_delay]) -> float
1172
+ external function ma_delay_set_dry(pDelay: ptr[ma_delay], value: float) -> void
1173
+ external function ma_delay_get_dry(pDelay: const_ptr[ma_delay]) -> float
1174
+ external function ma_delay_set_decay(pDelay: ptr[ma_delay], value: float) -> void
1175
+ external function ma_delay_get_decay(pDelay: const_ptr[ma_delay]) -> float
1176
+
1177
+ struct ma_gainer_config:
1178
+ channels: uint
1179
+ smoothTimeInFrames: uint
1180
+
1181
+ external function ma_gainer_config_init(channels: uint, smoothTimeInFrames: uint) -> ma_gainer_config
1182
+
1183
+ struct ma_gainer:
1184
+ config: ma_gainer_config
1185
+ t: uint
1186
+ masterVolume: float
1187
+ pOldGains: ptr[float]
1188
+ pNewGains: ptr[float]
1189
+ _pHeap: ptr[void]
1190
+ _ownsHeap: uint
1191
+
1192
+ external function ma_gainer_get_heap_size(pConfig: const_ptr[ma_gainer_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1193
+ external function ma_gainer_init_preallocated(pConfig: const_ptr[ma_gainer_config], pHeap: ptr[void], pGainer: ptr[ma_gainer]) -> ma_result
1194
+ external function ma_gainer_init(pConfig: const_ptr[ma_gainer_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pGainer: ptr[ma_gainer]) -> ma_result
1195
+ external function ma_gainer_uninit(pGainer: ptr[ma_gainer], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1196
+ external function ma_gainer_process_pcm_frames(pGainer: ptr[ma_gainer], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1197
+ external function ma_gainer_set_gain(pGainer: ptr[ma_gainer], newGain: float) -> ma_result
1198
+ external function ma_gainer_set_gains(pGainer: ptr[ma_gainer], pNewGains: ptr[float]) -> ma_result
1199
+ external function ma_gainer_set_master_volume(pGainer: ptr[ma_gainer], volume: float) -> ma_result
1200
+ external function ma_gainer_get_master_volume(pGainer: const_ptr[ma_gainer], pVolume: ptr[float]) -> ma_result
1201
+
1202
+ flags ma_pan_mode: int
1203
+ ma_pan_mode_balance = 0
1204
+ ma_pan_mode_pan = 1
1205
+
1206
+ struct ma_panner_config:
1207
+ format: ma_format
1208
+ channels: uint
1209
+ mode: ma_pan_mode
1210
+ pan: float
1211
+
1212
+ external function ma_panner_config_init(format: ma_format, channels: uint) -> ma_panner_config
1213
+
1214
+ struct ma_panner:
1215
+ format: ma_format
1216
+ channels: uint
1217
+ mode: ma_pan_mode
1218
+ pan: float
1219
+
1220
+ external function ma_panner_init(pConfig: const_ptr[ma_panner_config], pPanner: ptr[ma_panner]) -> ma_result
1221
+ external function ma_panner_process_pcm_frames(pPanner: ptr[ma_panner], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1222
+ external function ma_panner_set_mode(pPanner: ptr[ma_panner], mode: ma_pan_mode) -> void
1223
+ external function ma_panner_get_mode(pPanner: const_ptr[ma_panner]) -> ma_pan_mode
1224
+ external function ma_panner_set_pan(pPanner: ptr[ma_panner], pan: float) -> void
1225
+ external function ma_panner_get_pan(pPanner: const_ptr[ma_panner]) -> float
1226
+
1227
+ struct ma_fader_config:
1228
+ format: ma_format
1229
+ channels: uint
1230
+ sampleRate: uint
1231
+
1232
+ external function ma_fader_config_init(format: ma_format, channels: uint, sampleRate: uint) -> ma_fader_config
1233
+
1234
+ struct ma_fader:
1235
+ config: ma_fader_config
1236
+ volumeBeg: float
1237
+ volumeEnd: float
1238
+ lengthInFrames: ulong
1239
+ cursorInFrames: long
1240
+
1241
+ external function ma_fader_init(pConfig: const_ptr[ma_fader_config], pFader: ptr[ma_fader]) -> ma_result
1242
+ external function ma_fader_process_pcm_frames(pFader: ptr[ma_fader], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1243
+ external function ma_fader_get_data_format(pFader: const_ptr[ma_fader], pFormat: ptr[ma_format], pChannels: ptr[ma_uint32], pSampleRate: ptr[ma_uint32]) -> void
1244
+ external function ma_fader_set_fade(pFader: ptr[ma_fader], volumeBeg: float, volumeEnd: float, lengthInFrames: ulong) -> void
1245
+ external function ma_fader_set_fade_ex(pFader: ptr[ma_fader], volumeBeg: float, volumeEnd: float, lengthInFrames: ulong, startOffsetInFrames: long) -> void
1246
+ external function ma_fader_get_current_volume(pFader: const_ptr[ma_fader]) -> float
1247
+
1248
+ struct ma_vec3f:
1249
+ x: float
1250
+ y: float
1251
+ z: float
1252
+
1253
+ struct ma_atomic_vec3f:
1254
+ v: ma_vec3f
1255
+ lock: uint
1256
+
1257
+ enum ma_attenuation_model: int
1258
+ ma_attenuation_model_none = 0
1259
+ ma_attenuation_model_inverse = 1
1260
+ ma_attenuation_model_linear = 2
1261
+ ma_attenuation_model_exponential = 3
1262
+
1263
+ flags ma_positioning: int
1264
+ ma_positioning_absolute = 0
1265
+ ma_positioning_relative = 1
1266
+ flags ma_handedness: int
1267
+ ma_handedness_right = 0
1268
+ ma_handedness_left = 1
1269
+
1270
+ struct ma_spatializer_listener_config:
1271
+ channelsOut: uint
1272
+ pChannelMapOut: ptr[ma_channel]
1273
+ handedness: ma_handedness
1274
+ coneInnerAngleInRadians: float
1275
+ coneOuterAngleInRadians: float
1276
+ coneOuterGain: float
1277
+ speedOfSound: float
1278
+ worldUp: ma_vec3f
1279
+
1280
+ external function ma_spatializer_listener_config_init(channelsOut: uint) -> ma_spatializer_listener_config
1281
+
1282
+ struct ma_spatializer_listener:
1283
+ config: ma_spatializer_listener_config
1284
+ position: ma_atomic_vec3f
1285
+ direction: ma_atomic_vec3f
1286
+ velocity: ma_atomic_vec3f
1287
+ isEnabled: uint
1288
+ _ownsHeap: uint
1289
+ _pHeap: ptr[void]
1290
+
1291
+ external function ma_spatializer_listener_get_heap_size(pConfig: const_ptr[ma_spatializer_listener_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1292
+ external function ma_spatializer_listener_init_preallocated(pConfig: const_ptr[ma_spatializer_listener_config], pHeap: ptr[void], pListener: ptr[ma_spatializer_listener]) -> ma_result
1293
+ external function ma_spatializer_listener_init(pConfig: const_ptr[ma_spatializer_listener_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pListener: ptr[ma_spatializer_listener]) -> ma_result
1294
+ external function ma_spatializer_listener_uninit(pListener: ptr[ma_spatializer_listener], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1295
+ external function ma_spatializer_listener_get_channel_map(pListener: ptr[ma_spatializer_listener]) -> ptr[ma_channel]
1296
+ external function ma_spatializer_listener_set_cone(pListener: ptr[ma_spatializer_listener], innerAngleInRadians: float, outerAngleInRadians: float, outerGain: float) -> void
1297
+ external function ma_spatializer_listener_get_cone(pListener: const_ptr[ma_spatializer_listener], pInnerAngleInRadians: ptr[float], pOuterAngleInRadians: ptr[float], pOuterGain: ptr[float]) -> void
1298
+ external function ma_spatializer_listener_set_position(pListener: ptr[ma_spatializer_listener], x: float, y: float, z: float) -> void
1299
+ external function ma_spatializer_listener_get_position(pListener: const_ptr[ma_spatializer_listener]) -> ma_vec3f
1300
+ external function ma_spatializer_listener_set_direction(pListener: ptr[ma_spatializer_listener], x: float, y: float, z: float) -> void
1301
+ external function ma_spatializer_listener_get_direction(pListener: const_ptr[ma_spatializer_listener]) -> ma_vec3f
1302
+ external function ma_spatializer_listener_set_velocity(pListener: ptr[ma_spatializer_listener], x: float, y: float, z: float) -> void
1303
+ external function ma_spatializer_listener_get_velocity(pListener: const_ptr[ma_spatializer_listener]) -> ma_vec3f
1304
+ external function ma_spatializer_listener_set_speed_of_sound(pListener: ptr[ma_spatializer_listener], speedOfSound: float) -> void
1305
+ external function ma_spatializer_listener_get_speed_of_sound(pListener: const_ptr[ma_spatializer_listener]) -> float
1306
+ external function ma_spatializer_listener_set_world_up(pListener: ptr[ma_spatializer_listener], x: float, y: float, z: float) -> void
1307
+ external function ma_spatializer_listener_get_world_up(pListener: const_ptr[ma_spatializer_listener]) -> ma_vec3f
1308
+ external function ma_spatializer_listener_set_enabled(pListener: ptr[ma_spatializer_listener], isEnabled: uint) -> void
1309
+ external function ma_spatializer_listener_is_enabled(pListener: const_ptr[ma_spatializer_listener]) -> ma_bool32
1310
+
1311
+ struct ma_spatializer_config:
1312
+ channelsIn: uint
1313
+ channelsOut: uint
1314
+ pChannelMapIn: ptr[ma_channel]
1315
+ attenuationModel: ma_attenuation_model
1316
+ positioning: ma_positioning
1317
+ handedness: ma_handedness
1318
+ minGain: float
1319
+ maxGain: float
1320
+ minDistance: float
1321
+ maxDistance: float
1322
+ rolloff: float
1323
+ coneInnerAngleInRadians: float
1324
+ coneOuterAngleInRadians: float
1325
+ coneOuterGain: float
1326
+ dopplerFactor: float
1327
+ directionalAttenuationFactor: float
1328
+ minSpatializationChannelGain: float
1329
+ gainSmoothTimeInFrames: uint
1330
+
1331
+ external function ma_spatializer_config_init(channelsIn: uint, channelsOut: uint) -> ma_spatializer_config
1332
+
1333
+ struct ma_spatializer:
1334
+ channelsIn: uint
1335
+ channelsOut: uint
1336
+ pChannelMapIn: ptr[ma_channel]
1337
+ attenuationModel: ma_attenuation_model
1338
+ positioning: ma_positioning
1339
+ handedness: ma_handedness
1340
+ minGain: float
1341
+ maxGain: float
1342
+ minDistance: float
1343
+ maxDistance: float
1344
+ rolloff: float
1345
+ coneInnerAngleInRadians: float
1346
+ coneOuterAngleInRadians: float
1347
+ coneOuterGain: float
1348
+ dopplerFactor: float
1349
+ directionalAttenuationFactor: float
1350
+ gainSmoothTimeInFrames: uint
1351
+ position: ma_atomic_vec3f
1352
+ direction: ma_atomic_vec3f
1353
+ velocity: ma_atomic_vec3f
1354
+ dopplerPitch: float
1355
+ minSpatializationChannelGain: float
1356
+ gainer: ma_gainer
1357
+ pNewChannelGainsOut: ptr[float]
1358
+ _pHeap: ptr[void]
1359
+ _ownsHeap: uint
1360
+
1361
+ external function ma_spatializer_get_heap_size(pConfig: const_ptr[ma_spatializer_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1362
+ external function ma_spatializer_init_preallocated(pConfig: const_ptr[ma_spatializer_config], pHeap: ptr[void], pSpatializer: ptr[ma_spatializer]) -> ma_result
1363
+ external function ma_spatializer_init(pConfig: const_ptr[ma_spatializer_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pSpatializer: ptr[ma_spatializer]) -> ma_result
1364
+ external function ma_spatializer_uninit(pSpatializer: ptr[ma_spatializer], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1365
+ external function ma_spatializer_process_pcm_frames(pSpatializer: ptr[ma_spatializer], pListener: ptr[ma_spatializer_listener], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1366
+ external function ma_spatializer_set_master_volume(pSpatializer: ptr[ma_spatializer], volume: float) -> ma_result
1367
+ external function ma_spatializer_get_master_volume(pSpatializer: const_ptr[ma_spatializer], pVolume: ptr[float]) -> ma_result
1368
+ external function ma_spatializer_get_input_channels(pSpatializer: const_ptr[ma_spatializer]) -> ma_uint32
1369
+ external function ma_spatializer_get_output_channels(pSpatializer: const_ptr[ma_spatializer]) -> ma_uint32
1370
+ external function ma_spatializer_set_attenuation_model(pSpatializer: ptr[ma_spatializer], attenuationModel: ma_attenuation_model) -> void
1371
+ external function ma_spatializer_get_attenuation_model(pSpatializer: const_ptr[ma_spatializer]) -> ma_attenuation_model
1372
+ external function ma_spatializer_set_positioning(pSpatializer: ptr[ma_spatializer], positioning: ma_positioning) -> void
1373
+ external function ma_spatializer_get_positioning(pSpatializer: const_ptr[ma_spatializer]) -> ma_positioning
1374
+ external function ma_spatializer_set_rolloff(pSpatializer: ptr[ma_spatializer], rolloff: float) -> void
1375
+ external function ma_spatializer_get_rolloff(pSpatializer: const_ptr[ma_spatializer]) -> float
1376
+ external function ma_spatializer_set_min_gain(pSpatializer: ptr[ma_spatializer], minGain: float) -> void
1377
+ external function ma_spatializer_get_min_gain(pSpatializer: const_ptr[ma_spatializer]) -> float
1378
+ external function ma_spatializer_set_max_gain(pSpatializer: ptr[ma_spatializer], maxGain: float) -> void
1379
+ external function ma_spatializer_get_max_gain(pSpatializer: const_ptr[ma_spatializer]) -> float
1380
+ external function ma_spatializer_set_min_distance(pSpatializer: ptr[ma_spatializer], minDistance: float) -> void
1381
+ external function ma_spatializer_get_min_distance(pSpatializer: const_ptr[ma_spatializer]) -> float
1382
+ external function ma_spatializer_set_max_distance(pSpatializer: ptr[ma_spatializer], maxDistance: float) -> void
1383
+ external function ma_spatializer_get_max_distance(pSpatializer: const_ptr[ma_spatializer]) -> float
1384
+ external function ma_spatializer_set_cone(pSpatializer: ptr[ma_spatializer], innerAngleInRadians: float, outerAngleInRadians: float, outerGain: float) -> void
1385
+ external function ma_spatializer_get_cone(pSpatializer: const_ptr[ma_spatializer], pInnerAngleInRadians: ptr[float], pOuterAngleInRadians: ptr[float], pOuterGain: ptr[float]) -> void
1386
+ external function ma_spatializer_set_doppler_factor(pSpatializer: ptr[ma_spatializer], dopplerFactor: float) -> void
1387
+ external function ma_spatializer_get_doppler_factor(pSpatializer: const_ptr[ma_spatializer]) -> float
1388
+ external function ma_spatializer_set_directional_attenuation_factor(pSpatializer: ptr[ma_spatializer], directionalAttenuationFactor: float) -> void
1389
+ external function ma_spatializer_get_directional_attenuation_factor(pSpatializer: const_ptr[ma_spatializer]) -> float
1390
+ external function ma_spatializer_set_position(pSpatializer: ptr[ma_spatializer], x: float, y: float, z: float) -> void
1391
+ external function ma_spatializer_get_position(pSpatializer: const_ptr[ma_spatializer]) -> ma_vec3f
1392
+ external function ma_spatializer_set_direction(pSpatializer: ptr[ma_spatializer], x: float, y: float, z: float) -> void
1393
+ external function ma_spatializer_get_direction(pSpatializer: const_ptr[ma_spatializer]) -> ma_vec3f
1394
+ external function ma_spatializer_set_velocity(pSpatializer: ptr[ma_spatializer], x: float, y: float, z: float) -> void
1395
+ external function ma_spatializer_get_velocity(pSpatializer: const_ptr[ma_spatializer]) -> ma_vec3f
1396
+ external function ma_spatializer_get_relative_position_and_direction(pSpatializer: const_ptr[ma_spatializer], pListener: const_ptr[ma_spatializer_listener], pRelativePos: ptr[ma_vec3f], pRelativeDir: ptr[ma_vec3f]) -> void
1397
+
1398
+ struct ma_linear_resampler_config:
1399
+ format: ma_format
1400
+ channels: uint
1401
+ sampleRateIn: uint
1402
+ sampleRateOut: uint
1403
+ lpfOrder: uint
1404
+ lpfNyquistFactor: double
1405
+
1406
+ external function ma_linear_resampler_config_init(format: ma_format, channels: uint, sampleRateIn: uint, sampleRateOut: uint) -> ma_linear_resampler_config
1407
+
1408
+ struct ma_linear_resampler:
1409
+ config: ma_linear_resampler_config
1410
+ inAdvanceInt: uint
1411
+ inAdvanceFrac: uint
1412
+ inTimeInt: uint
1413
+ inTimeFrac: uint
1414
+ x0: ma_linear_resampler_x0
1415
+ x1: ma_linear_resampler_x1
1416
+ lpf: ma_lpf
1417
+ _pHeap: ptr[void]
1418
+ _ownsHeap: uint
1419
+
1420
+ external function ma_linear_resampler_get_heap_size(pConfig: const_ptr[ma_linear_resampler_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1421
+ external function ma_linear_resampler_init_preallocated(pConfig: const_ptr[ma_linear_resampler_config], pHeap: ptr[void], pResampler: ptr[ma_linear_resampler]) -> ma_result
1422
+ external function ma_linear_resampler_init(pConfig: const_ptr[ma_linear_resampler_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pResampler: ptr[ma_linear_resampler]) -> ma_result
1423
+ external function ma_linear_resampler_uninit(pResampler: ptr[ma_linear_resampler], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1424
+ external function ma_linear_resampler_process_pcm_frames(pResampler: ptr[ma_linear_resampler], pFramesIn: const_ptr[void], pFrameCountIn: ptr[ma_uint64], pFramesOut: ptr[void], pFrameCountOut: ptr[ma_uint64]) -> ma_result
1425
+ external function ma_linear_resampler_set_rate(pResampler: ptr[ma_linear_resampler], sampleRateIn: uint, sampleRateOut: uint) -> ma_result
1426
+ external function ma_linear_resampler_set_rate_ratio(pResampler: ptr[ma_linear_resampler], ratioInOut: float) -> ma_result
1427
+ external function ma_linear_resampler_get_input_latency(pResampler: const_ptr[ma_linear_resampler]) -> ma_uint64
1428
+ external function ma_linear_resampler_get_output_latency(pResampler: const_ptr[ma_linear_resampler]) -> ma_uint64
1429
+ external function ma_linear_resampler_get_required_input_frame_count(pResampler: const_ptr[ma_linear_resampler], outputFrameCount: ulong, pInputFrameCount: ptr[ma_uint64]) -> ma_result
1430
+ external function ma_linear_resampler_get_expected_output_frame_count(pResampler: const_ptr[ma_linear_resampler], inputFrameCount: ulong, pOutputFrameCount: ptr[ma_uint64]) -> ma_result
1431
+ external function ma_linear_resampler_reset(pResampler: ptr[ma_linear_resampler]) -> ma_result
1432
+
1433
+ type ma_resampling_backend = void
1434
+
1435
+ struct ma_resampling_backend_vtable:
1436
+ onGetHeapSize: fn(arg0: ptr[void], arg1: const_ptr[ma_resampler_config], arg2: ptr[ptr_uint]) -> ma_result
1437
+ onInit: fn(arg0: ptr[void], arg1: const_ptr[ma_resampler_config], arg2: ptr[void], arg3: ptr[ptr[ma_resampling_backend]]) -> ma_result
1438
+ onUninit: fn(arg0: ptr[void], arg1: ptr[ma_resampling_backend], arg2: const_ptr[ma_allocation_callbacks]) -> void
1439
+ onProcess: fn(arg0: ptr[void], arg1: ptr[ma_resampling_backend], arg2: const_ptr[void], arg3: ptr[ma_uint64], arg4: ptr[void], arg5: ptr[ma_uint64]) -> ma_result
1440
+ onSetRate: fn(arg0: ptr[void], arg1: ptr[ma_resampling_backend], arg2: ma_uint32, arg3: ma_uint32) -> ma_result
1441
+ onGetInputLatency: fn(arg0: ptr[void], arg1: const_ptr[ma_resampling_backend]) -> ma_uint64
1442
+ onGetOutputLatency: fn(arg0: ptr[void], arg1: const_ptr[ma_resampling_backend]) -> ma_uint64
1443
+ onGetRequiredInputFrameCount: fn(arg0: ptr[void], arg1: const_ptr[ma_resampling_backend], arg2: ma_uint64, arg3: ptr[ma_uint64]) -> ma_result
1444
+ onGetExpectedOutputFrameCount: fn(arg0: ptr[void], arg1: const_ptr[ma_resampling_backend], arg2: ma_uint64, arg3: ptr[ma_uint64]) -> ma_result
1445
+ onReset: fn(arg0: ptr[void], arg1: ptr[ma_resampling_backend]) -> ma_result
1446
+
1447
+ flags ma_resample_algorithm: int
1448
+ ma_resample_algorithm_linear = 0
1449
+ ma_resample_algorithm_custom = 1
1450
+
1451
+ struct ma_resampler_config:
1452
+ format: ma_format
1453
+ channels: uint
1454
+ sampleRateIn: uint
1455
+ sampleRateOut: uint
1456
+ algorithm: ma_resample_algorithm
1457
+ pBackendVTable: ptr[ma_resampling_backend_vtable]
1458
+ pBackendUserData: ptr[void]
1459
+ linear: ma_resampler_config_linear
1460
+
1461
+ external function ma_resampler_config_init(format: ma_format, channels: uint, sampleRateIn: uint, sampleRateOut: uint, algorithm: ma_resample_algorithm) -> ma_resampler_config
1462
+
1463
+ struct ma_resampler:
1464
+ pBackend: ptr[ma_resampling_backend]
1465
+ pBackendVTable: ptr[ma_resampling_backend_vtable]
1466
+ pBackendUserData: ptr[void]
1467
+ format: ma_format
1468
+ channels: uint
1469
+ sampleRateIn: uint
1470
+ sampleRateOut: uint
1471
+ state: ma_resampler_state
1472
+ _pHeap: ptr[void]
1473
+ _ownsHeap: uint
1474
+
1475
+ external function ma_resampler_get_heap_size(pConfig: const_ptr[ma_resampler_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1476
+ external function ma_resampler_init_preallocated(pConfig: const_ptr[ma_resampler_config], pHeap: ptr[void], pResampler: ptr[ma_resampler]) -> ma_result
1477
+ external function ma_resampler_init(pConfig: const_ptr[ma_resampler_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pResampler: ptr[ma_resampler]) -> ma_result
1478
+ external function ma_resampler_uninit(pResampler: ptr[ma_resampler], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1479
+ external function ma_resampler_process_pcm_frames(pResampler: ptr[ma_resampler], pFramesIn: const_ptr[void], pFrameCountIn: ptr[ma_uint64], pFramesOut: ptr[void], pFrameCountOut: ptr[ma_uint64]) -> ma_result
1480
+ external function ma_resampler_set_rate(pResampler: ptr[ma_resampler], sampleRateIn: uint, sampleRateOut: uint) -> ma_result
1481
+ external function ma_resampler_set_rate_ratio(pResampler: ptr[ma_resampler], ratio: float) -> ma_result
1482
+ external function ma_resampler_get_input_latency(pResampler: const_ptr[ma_resampler]) -> ma_uint64
1483
+ external function ma_resampler_get_output_latency(pResampler: const_ptr[ma_resampler]) -> ma_uint64
1484
+ external function ma_resampler_get_required_input_frame_count(pResampler: const_ptr[ma_resampler], outputFrameCount: ulong, pInputFrameCount: ptr[ma_uint64]) -> ma_result
1485
+ external function ma_resampler_get_expected_output_frame_count(pResampler: const_ptr[ma_resampler], inputFrameCount: ulong, pOutputFrameCount: ptr[ma_uint64]) -> ma_result
1486
+ external function ma_resampler_reset(pResampler: ptr[ma_resampler]) -> ma_result
1487
+
1488
+ enum ma_channel_conversion_path: int
1489
+ ma_channel_conversion_path_unknown = 0
1490
+ ma_channel_conversion_path_passthrough = 1
1491
+ ma_channel_conversion_path_mono_out = 2
1492
+ ma_channel_conversion_path_mono_in = 3
1493
+ ma_channel_conversion_path_shuffle = 4
1494
+ ma_channel_conversion_path_weights = 5
1495
+
1496
+ flags ma_mono_expansion_mode: int
1497
+ ma_mono_expansion_mode_duplicate = 0
1498
+ ma_mono_expansion_mode_average = 1
1499
+ ma_mono_expansion_mode_stereo_only = 2
1500
+ ma_mono_expansion_mode_default = 0
1501
+
1502
+ struct ma_channel_converter_config:
1503
+ format: ma_format
1504
+ channelsIn: uint
1505
+ channelsOut: uint
1506
+ pChannelMapIn: const_ptr[ma_channel]
1507
+ pChannelMapOut: const_ptr[ma_channel]
1508
+ mixingMode: ma_channel_mix_mode
1509
+ calculateLFEFromSpatialChannels: uint
1510
+ ppWeights: ptr[ptr[float]]
1511
+
1512
+ external function ma_channel_converter_config_init(format: ma_format, channelsIn: uint, pChannelMapIn: const_ptr[ma_channel], channelsOut: uint, pChannelMapOut: const_ptr[ma_channel], mixingMode: ma_channel_mix_mode) -> ma_channel_converter_config
1513
+
1514
+ struct ma_channel_converter:
1515
+ format: ma_format
1516
+ channelsIn: uint
1517
+ channelsOut: uint
1518
+ mixingMode: ma_channel_mix_mode
1519
+ conversionPath: ma_channel_conversion_path
1520
+ pChannelMapIn: ptr[ma_channel]
1521
+ pChannelMapOut: ptr[ma_channel]
1522
+ pShuffleTable: ptr[ma_uint8]
1523
+ weights: ma_channel_converter_weights
1524
+ _pHeap: ptr[void]
1525
+ _ownsHeap: uint
1526
+
1527
+ external function ma_channel_converter_get_heap_size(pConfig: const_ptr[ma_channel_converter_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1528
+ external function ma_channel_converter_init_preallocated(pConfig: const_ptr[ma_channel_converter_config], pHeap: ptr[void], pConverter: ptr[ma_channel_converter]) -> ma_result
1529
+ external function ma_channel_converter_init(pConfig: const_ptr[ma_channel_converter_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pConverter: ptr[ma_channel_converter]) -> ma_result
1530
+ external function ma_channel_converter_uninit(pConverter: ptr[ma_channel_converter], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1531
+ external function ma_channel_converter_process_pcm_frames(pConverter: ptr[ma_channel_converter], pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong) -> ma_result
1532
+ external function ma_channel_converter_get_input_channel_map(pConverter: const_ptr[ma_channel_converter], pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint) -> ma_result
1533
+ external function ma_channel_converter_get_output_channel_map(pConverter: const_ptr[ma_channel_converter], pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint) -> ma_result
1534
+
1535
+ struct ma_data_converter_config:
1536
+ formatIn: ma_format
1537
+ formatOut: ma_format
1538
+ channelsIn: uint
1539
+ channelsOut: uint
1540
+ sampleRateIn: uint
1541
+ sampleRateOut: uint
1542
+ pChannelMapIn: ptr[ma_channel]
1543
+ pChannelMapOut: ptr[ma_channel]
1544
+ ditherMode: ma_dither_mode
1545
+ channelMixMode: ma_channel_mix_mode
1546
+ calculateLFEFromSpatialChannels: uint
1547
+ ppChannelWeights: ptr[ptr[float]]
1548
+ allowDynamicSampleRate: uint
1549
+ resampling: ma_resampler_config
1550
+
1551
+ external function ma_data_converter_config_init_default() -> ma_data_converter_config
1552
+ external function ma_data_converter_config_init(formatIn: ma_format, formatOut: ma_format, channelsIn: uint, channelsOut: uint, sampleRateIn: uint, sampleRateOut: uint) -> ma_data_converter_config
1553
+
1554
+ enum ma_data_converter_execution_path: int
1555
+ ma_data_converter_execution_path_passthrough = 0
1556
+ ma_data_converter_execution_path_format_only = 1
1557
+ ma_data_converter_execution_path_channels_only = 2
1558
+ ma_data_converter_execution_path_resample_only = 3
1559
+ ma_data_converter_execution_path_resample_first = 4
1560
+ ma_data_converter_execution_path_channels_first = 5
1561
+
1562
+ struct ma_data_converter:
1563
+ formatIn: ma_format
1564
+ formatOut: ma_format
1565
+ channelsIn: uint
1566
+ channelsOut: uint
1567
+ sampleRateIn: uint
1568
+ sampleRateOut: uint
1569
+ ditherMode: ma_dither_mode
1570
+ executionPath: ma_data_converter_execution_path
1571
+ channelConverter: ma_channel_converter
1572
+ resampler: ma_resampler
1573
+ hasPreFormatConversion: ubyte
1574
+ hasPostFormatConversion: ubyte
1575
+ hasChannelConverter: ubyte
1576
+ hasResampler: ubyte
1577
+ isPassthrough: ubyte
1578
+ _ownsHeap: ubyte
1579
+ _pHeap: ptr[void]
1580
+
1581
+ external function ma_data_converter_get_heap_size(pConfig: const_ptr[ma_data_converter_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1582
+ external function ma_data_converter_init_preallocated(pConfig: const_ptr[ma_data_converter_config], pHeap: ptr[void], pConverter: ptr[ma_data_converter]) -> ma_result
1583
+ external function ma_data_converter_init(pConfig: const_ptr[ma_data_converter_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pConverter: ptr[ma_data_converter]) -> ma_result
1584
+ external function ma_data_converter_uninit(pConverter: ptr[ma_data_converter], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1585
+ external function ma_data_converter_process_pcm_frames(pConverter: ptr[ma_data_converter], pFramesIn: const_ptr[void], pFrameCountIn: ptr[ma_uint64], pFramesOut: ptr[void], pFrameCountOut: ptr[ma_uint64]) -> ma_result
1586
+ external function ma_data_converter_set_rate(pConverter: ptr[ma_data_converter], sampleRateIn: uint, sampleRateOut: uint) -> ma_result
1587
+ external function ma_data_converter_set_rate_ratio(pConverter: ptr[ma_data_converter], ratioInOut: float) -> ma_result
1588
+ external function ma_data_converter_get_input_latency(pConverter: const_ptr[ma_data_converter]) -> ma_uint64
1589
+ external function ma_data_converter_get_output_latency(pConverter: const_ptr[ma_data_converter]) -> ma_uint64
1590
+ external function ma_data_converter_get_required_input_frame_count(pConverter: const_ptr[ma_data_converter], outputFrameCount: ulong, pInputFrameCount: ptr[ma_uint64]) -> ma_result
1591
+ external function ma_data_converter_get_expected_output_frame_count(pConverter: const_ptr[ma_data_converter], inputFrameCount: ulong, pOutputFrameCount: ptr[ma_uint64]) -> ma_result
1592
+ external function ma_data_converter_get_input_channel_map(pConverter: const_ptr[ma_data_converter], pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint) -> ma_result
1593
+ external function ma_data_converter_get_output_channel_map(pConverter: const_ptr[ma_data_converter], pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint) -> ma_result
1594
+ external function ma_data_converter_reset(pConverter: ptr[ma_data_converter]) -> ma_result
1595
+ external function ma_pcm_u8_to_s16(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1596
+ external function ma_pcm_u8_to_s24(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1597
+ external function ma_pcm_u8_to_s32(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1598
+ external function ma_pcm_u8_to_f32(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1599
+ external function ma_pcm_s16_to_u8(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1600
+ external function ma_pcm_s16_to_s24(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1601
+ external function ma_pcm_s16_to_s32(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1602
+ external function ma_pcm_s16_to_f32(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1603
+ external function ma_pcm_s24_to_u8(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1604
+ external function ma_pcm_s24_to_s16(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1605
+ external function ma_pcm_s24_to_s32(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1606
+ external function ma_pcm_s24_to_f32(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1607
+ external function ma_pcm_s32_to_u8(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1608
+ external function ma_pcm_s32_to_s16(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1609
+ external function ma_pcm_s32_to_s24(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1610
+ external function ma_pcm_s32_to_f32(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1611
+ external function ma_pcm_f32_to_u8(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1612
+ external function ma_pcm_f32_to_s16(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1613
+ external function ma_pcm_f32_to_s24(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1614
+ external function ma_pcm_f32_to_s32(pOut: ptr[void], pIn: const_ptr[void], count: ulong, ditherMode: ma_dither_mode) -> void
1615
+ external function ma_pcm_convert(pOut: ptr[void], formatOut: ma_format, pIn: const_ptr[void], formatIn: ma_format, sampleCount: ulong, ditherMode: ma_dither_mode) -> void
1616
+ external function ma_convert_pcm_frames_format(pOut: ptr[void], formatOut: ma_format, pIn: const_ptr[void], formatIn: ma_format, frameCount: ulong, channels: uint, ditherMode: ma_dither_mode) -> void
1617
+ external function ma_deinterleave_pcm_frames(format: ma_format, channels: uint, frameCount: ulong, pInterleavedPCMFrames: const_ptr[void], ppDeinterleavedPCMFrames: ptr[ptr[void]]) -> void
1618
+ external function ma_interleave_pcm_frames(format: ma_format, channels: uint, frameCount: ulong, ppDeinterleavedPCMFrames: ptr[const_ptr[void]], pInterleavedPCMFrames: ptr[void]) -> void
1619
+ external function ma_channel_map_get_channel(pChannelMap: const_ptr[ma_channel], channelCount: uint, channelIndex: uint) -> ma_channel
1620
+ external function ma_channel_map_init_blank(pChannelMap: ptr[ma_channel], channels: uint) -> void
1621
+ external function ma_channel_map_init_standard(standardChannelMap: ma_standard_channel_map, pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint, channels: uint) -> void
1622
+ external function ma_channel_map_copy(pOut: ptr[ma_channel], pIn: const_ptr[ma_channel], channels: uint) -> void
1623
+ external function ma_channel_map_copy_or_default(pOut: ptr[ma_channel], channelMapCapOut: ptr_uint, pIn: const_ptr[ma_channel], channels: uint) -> void
1624
+ external function ma_channel_map_is_valid(pChannelMap: const_ptr[ma_channel], channels: uint) -> ma_bool32
1625
+ external function ma_channel_map_is_equal(pChannelMapA: const_ptr[ma_channel], pChannelMapB: const_ptr[ma_channel], channels: uint) -> ma_bool32
1626
+ external function ma_channel_map_is_blank(pChannelMap: const_ptr[ma_channel], channels: uint) -> ma_bool32
1627
+ external function ma_channel_map_contains_channel_position(channels: uint, pChannelMap: const_ptr[ma_channel], channelPosition: ubyte) -> ma_bool32
1628
+ external function ma_channel_map_find_channel_position(channels: uint, pChannelMap: const_ptr[ma_channel], channelPosition: ubyte, pChannelIndex: ptr[ma_uint32]) -> ma_bool32
1629
+ external function ma_channel_map_to_string(pChannelMap: const_ptr[ma_channel], channels: uint, pBufferOut: ptr[char], bufferCap: ptr_uint) -> ptr_uint
1630
+ external function ma_channel_position_to_string(channel: ubyte) -> cstr
1631
+ external function ma_convert_frames(pOut: ptr[void], frameCountOut: ulong, formatOut: ma_format, channelsOut: uint, sampleRateOut: uint, pIn: const_ptr[void], frameCountIn: ulong, formatIn: ma_format, channelsIn: uint, sampleRateIn: uint) -> ma_uint64
1632
+ external function ma_convert_frames_ex(pOut: ptr[void], frameCountOut: ulong, pIn: const_ptr[void], frameCountIn: ulong, pConfig: const_ptr[ma_data_converter_config]) -> ma_uint64
1633
+
1634
+ type ma_data_source = void
1635
+
1636
+ struct ma_data_source_vtable:
1637
+ onRead: fn(arg0: ptr[ma_data_source], arg1: ptr[void], arg2: ma_uint64, arg3: ptr[ma_uint64]) -> ma_result
1638
+ onSeek: fn(arg0: ptr[ma_data_source], arg1: ma_uint64) -> ma_result
1639
+ onGetDataFormat: fn(arg0: ptr[ma_data_source], arg1: ptr[ma_format], arg2: ptr[ma_uint32], arg3: ptr[ma_uint32], arg4: ptr[ma_channel], arg5: ptr_uint) -> ma_result
1640
+ onGetCursor: fn(arg0: ptr[ma_data_source], arg1: ptr[ma_uint64]) -> ma_result
1641
+ onGetLength: fn(arg0: ptr[ma_data_source], arg1: ptr[ma_uint64]) -> ma_result
1642
+ onSetLooping: fn(arg0: ptr[ma_data_source], arg1: ma_bool32) -> ma_result
1643
+ flags_: uint
1644
+
1645
+ type ma_data_source_get_next_proc = fn(arg0: ptr[ma_data_source]) -> ptr[ma_data_source]
1646
+
1647
+ struct ma_data_source_config:
1648
+ vtable: const_ptr[ma_data_source_vtable]
1649
+
1650
+ external function ma_data_source_config_init() -> ma_data_source_config
1651
+
1652
+ struct ma_data_source_base:
1653
+ vtable: const_ptr[ma_data_source_vtable]
1654
+ rangeBegInFrames: ulong
1655
+ rangeEndInFrames: ulong
1656
+ loopBegInFrames: ulong
1657
+ loopEndInFrames: ulong
1658
+ pCurrent: ptr[ma_data_source]
1659
+ pNext: ptr[ma_data_source]
1660
+ onGetNext: fn(arg0: ptr[ma_data_source]) -> ptr[ma_data_source]
1661
+ isLooping: uint
1662
+
1663
+ external function ma_data_source_init(pConfig: const_ptr[ma_data_source_config], pDataSource: ptr[ma_data_source]) -> ma_result
1664
+ external function ma_data_source_uninit(pDataSource: ptr[ma_data_source]) -> void
1665
+ external function ma_data_source_read_pcm_frames(pDataSource: ptr[ma_data_source], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
1666
+ external function ma_data_source_seek_pcm_frames(pDataSource: ptr[ma_data_source], frameCount: ulong, pFramesSeeked: ptr[ma_uint64]) -> ma_result
1667
+ external function ma_data_source_seek_to_pcm_frame(pDataSource: ptr[ma_data_source], frameIndex: ulong) -> ma_result
1668
+ external function ma_data_source_seek_seconds(pDataSource: ptr[ma_data_source], secondCount: float, pSecondsSeeked: ptr[float]) -> ma_result
1669
+ external function ma_data_source_seek_to_second(pDataSource: ptr[ma_data_source], seekPointInSeconds: float) -> ma_result
1670
+ external function ma_data_source_get_data_format(pDataSource: ptr[ma_data_source], pFormat: ptr[ma_format], pChannels: ptr[ma_uint32], pSampleRate: ptr[ma_uint32], pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint) -> ma_result
1671
+ external function ma_data_source_get_cursor_in_pcm_frames(pDataSource: ptr[ma_data_source], pCursor: ptr[ma_uint64]) -> ma_result
1672
+ external function ma_data_source_get_length_in_pcm_frames(pDataSource: ptr[ma_data_source], pLength: ptr[ma_uint64]) -> ma_result
1673
+ external function ma_data_source_get_cursor_in_seconds(pDataSource: ptr[ma_data_source], pCursor: ptr[float]) -> ma_result
1674
+ external function ma_data_source_get_length_in_seconds(pDataSource: ptr[ma_data_source], pLength: ptr[float]) -> ma_result
1675
+ external function ma_data_source_set_looping(pDataSource: ptr[ma_data_source], isLooping: uint) -> ma_result
1676
+ external function ma_data_source_is_looping(pDataSource: const_ptr[ma_data_source]) -> ma_bool32
1677
+ external function ma_data_source_set_range_in_pcm_frames(pDataSource: ptr[ma_data_source], rangeBegInFrames: ulong, rangeEndInFrames: ulong) -> ma_result
1678
+ external function ma_data_source_get_range_in_pcm_frames(pDataSource: const_ptr[ma_data_source], pRangeBegInFrames: ptr[ma_uint64], pRangeEndInFrames: ptr[ma_uint64]) -> void
1679
+ external function ma_data_source_set_loop_point_in_pcm_frames(pDataSource: ptr[ma_data_source], loopBegInFrames: ulong, loopEndInFrames: ulong) -> ma_result
1680
+ external function ma_data_source_get_loop_point_in_pcm_frames(pDataSource: const_ptr[ma_data_source], pLoopBegInFrames: ptr[ma_uint64], pLoopEndInFrames: ptr[ma_uint64]) -> void
1681
+ external function ma_data_source_set_current(pDataSource: ptr[ma_data_source], pCurrentDataSource: ptr[ma_data_source]) -> ma_result
1682
+ external function ma_data_source_get_current(pDataSource: const_ptr[ma_data_source]) -> ptr[ma_data_source]
1683
+ external function ma_data_source_set_next(pDataSource: ptr[ma_data_source], pNextDataSource: ptr[ma_data_source]) -> ma_result
1684
+ external function ma_data_source_get_next(pDataSource: const_ptr[ma_data_source]) -> ptr[ma_data_source]
1685
+ external function ma_data_source_set_next_callback(pDataSource: ptr[ma_data_source], onGetNext: fn(arg0: ptr[ma_data_source]) -> ptr[ma_data_source]) -> ma_result
1686
+ external function ma_data_source_get_next_callback(pDataSource: const_ptr[ma_data_source]) -> ma_data_source_get_next_proc
1687
+
1688
+ struct ma_audio_buffer_ref:
1689
+ ds: ma_data_source_base
1690
+ format: ma_format
1691
+ channels: uint
1692
+ sampleRate: uint
1693
+ cursor: ulong
1694
+ sizeInFrames: ulong
1695
+ pData: const_ptr[void]
1696
+
1697
+ external function ma_audio_buffer_ref_init(format: ma_format, channels: uint, pData: const_ptr[void], sizeInFrames: ulong, pAudioBufferRef: ptr[ma_audio_buffer_ref]) -> ma_result
1698
+ external function ma_audio_buffer_ref_uninit(pAudioBufferRef: ptr[ma_audio_buffer_ref]) -> void
1699
+ external function ma_audio_buffer_ref_set_data(pAudioBufferRef: ptr[ma_audio_buffer_ref], pData: const_ptr[void], sizeInFrames: ulong) -> ma_result
1700
+ external function ma_audio_buffer_ref_read_pcm_frames(pAudioBufferRef: ptr[ma_audio_buffer_ref], pFramesOut: ptr[void], frameCount: ulong, loop: uint) -> ma_uint64
1701
+ external function ma_audio_buffer_ref_seek_to_pcm_frame(pAudioBufferRef: ptr[ma_audio_buffer_ref], frameIndex: ulong) -> ma_result
1702
+ external function ma_audio_buffer_ref_map(pAudioBufferRef: ptr[ma_audio_buffer_ref], ppFramesOut: ptr[ptr[void]], pFrameCount: ptr[ma_uint64]) -> ma_result
1703
+ external function ma_audio_buffer_ref_unmap(pAudioBufferRef: ptr[ma_audio_buffer_ref], frameCount: ulong) -> ma_result
1704
+ external function ma_audio_buffer_ref_at_end(pAudioBufferRef: const_ptr[ma_audio_buffer_ref]) -> ma_bool32
1705
+ external function ma_audio_buffer_ref_get_cursor_in_pcm_frames(pAudioBufferRef: const_ptr[ma_audio_buffer_ref], pCursor: ptr[ma_uint64]) -> ma_result
1706
+ external function ma_audio_buffer_ref_get_length_in_pcm_frames(pAudioBufferRef: const_ptr[ma_audio_buffer_ref], pLength: ptr[ma_uint64]) -> ma_result
1707
+ external function ma_audio_buffer_ref_get_available_frames(pAudioBufferRef: const_ptr[ma_audio_buffer_ref], pAvailableFrames: ptr[ma_uint64]) -> ma_result
1708
+
1709
+ struct ma_audio_buffer_config:
1710
+ format: ma_format
1711
+ channels: uint
1712
+ sampleRate: uint
1713
+ sizeInFrames: ulong
1714
+ pData: const_ptr[void]
1715
+ allocationCallbacks: ma_allocation_callbacks
1716
+
1717
+ external function ma_audio_buffer_config_init(format: ma_format, channels: uint, sizeInFrames: ulong, pData: const_ptr[void], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> ma_audio_buffer_config
1718
+
1719
+ struct ma_audio_buffer:
1720
+ ref: ma_audio_buffer_ref
1721
+ allocationCallbacks: ma_allocation_callbacks
1722
+ ownsData: uint
1723
+ _pExtraData: array[ma_uint8, 1]
1724
+
1725
+ external function ma_audio_buffer_init(pConfig: const_ptr[ma_audio_buffer_config], pAudioBuffer: ptr[ma_audio_buffer]) -> ma_result
1726
+ external function ma_audio_buffer_init_copy(pConfig: const_ptr[ma_audio_buffer_config], pAudioBuffer: ptr[ma_audio_buffer]) -> ma_result
1727
+ external function ma_audio_buffer_alloc_and_init(pConfig: const_ptr[ma_audio_buffer_config], ppAudioBuffer: ptr[ptr[ma_audio_buffer]]) -> ma_result
1728
+ external function ma_audio_buffer_uninit(pAudioBuffer: ptr[ma_audio_buffer]) -> void
1729
+ external function ma_audio_buffer_uninit_and_free(pAudioBuffer: ptr[ma_audio_buffer]) -> void
1730
+ external function ma_audio_buffer_read_pcm_frames(pAudioBuffer: ptr[ma_audio_buffer], pFramesOut: ptr[void], frameCount: ulong, loop: uint) -> ma_uint64
1731
+ external function ma_audio_buffer_seek_to_pcm_frame(pAudioBuffer: ptr[ma_audio_buffer], frameIndex: ulong) -> ma_result
1732
+ external function ma_audio_buffer_map(pAudioBuffer: ptr[ma_audio_buffer], ppFramesOut: ptr[ptr[void]], pFrameCount: ptr[ma_uint64]) -> ma_result
1733
+ external function ma_audio_buffer_unmap(pAudioBuffer: ptr[ma_audio_buffer], frameCount: ulong) -> ma_result
1734
+ external function ma_audio_buffer_at_end(pAudioBuffer: const_ptr[ma_audio_buffer]) -> ma_bool32
1735
+ external function ma_audio_buffer_get_cursor_in_pcm_frames(pAudioBuffer: const_ptr[ma_audio_buffer], pCursor: ptr[ma_uint64]) -> ma_result
1736
+ external function ma_audio_buffer_get_length_in_pcm_frames(pAudioBuffer: const_ptr[ma_audio_buffer], pLength: ptr[ma_uint64]) -> ma_result
1737
+ external function ma_audio_buffer_get_available_frames(pAudioBuffer: const_ptr[ma_audio_buffer], pAvailableFrames: ptr[ma_uint64]) -> ma_result
1738
+
1739
+ struct ma_paged_audio_buffer_page:
1740
+ pNext: ptr[ma_paged_audio_buffer_page]
1741
+ sizeInFrames: ulong
1742
+ pAudioData: array[ma_uint8, 1]
1743
+
1744
+ struct ma_paged_audio_buffer_data:
1745
+ format: ma_format
1746
+ channels: uint
1747
+ head: ma_paged_audio_buffer_page
1748
+ pTail: ptr[ma_paged_audio_buffer_page]
1749
+
1750
+ external function ma_paged_audio_buffer_data_init(format: ma_format, channels: uint, pData: ptr[ma_paged_audio_buffer_data]) -> ma_result
1751
+ external function ma_paged_audio_buffer_data_uninit(pData: ptr[ma_paged_audio_buffer_data], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1752
+ external function ma_paged_audio_buffer_data_get_head(pData: ptr[ma_paged_audio_buffer_data]) -> ptr[ma_paged_audio_buffer_page]
1753
+ external function ma_paged_audio_buffer_data_get_tail(pData: ptr[ma_paged_audio_buffer_data]) -> ptr[ma_paged_audio_buffer_page]
1754
+ external function ma_paged_audio_buffer_data_get_length_in_pcm_frames(pData: ptr[ma_paged_audio_buffer_data], pLength: ptr[ma_uint64]) -> ma_result
1755
+ external function ma_paged_audio_buffer_data_allocate_page(pData: ptr[ma_paged_audio_buffer_data], pageSizeInFrames: ulong, pInitialData: const_ptr[void], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], ppPage: ptr[ptr[ma_paged_audio_buffer_page]]) -> ma_result
1756
+ external function ma_paged_audio_buffer_data_free_page(pData: ptr[ma_paged_audio_buffer_data], pPage: ptr[ma_paged_audio_buffer_page], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> ma_result
1757
+ external function ma_paged_audio_buffer_data_append_page(pData: ptr[ma_paged_audio_buffer_data], pPage: ptr[ma_paged_audio_buffer_page]) -> ma_result
1758
+ external function ma_paged_audio_buffer_data_allocate_and_append_page(pData: ptr[ma_paged_audio_buffer_data], pageSizeInFrames: uint, pInitialData: const_ptr[void], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> ma_result
1759
+
1760
+ struct ma_paged_audio_buffer_config:
1761
+ pData: ptr[ma_paged_audio_buffer_data]
1762
+
1763
+ external function ma_paged_audio_buffer_config_init(pData: ptr[ma_paged_audio_buffer_data]) -> ma_paged_audio_buffer_config
1764
+
1765
+ struct ma_paged_audio_buffer:
1766
+ ds: ma_data_source_base
1767
+ pData: ptr[ma_paged_audio_buffer_data]
1768
+ pCurrent: ptr[ma_paged_audio_buffer_page]
1769
+ relativeCursor: ulong
1770
+ absoluteCursor: ulong
1771
+
1772
+ external function ma_paged_audio_buffer_init(pConfig: const_ptr[ma_paged_audio_buffer_config], pPagedAudioBuffer: ptr[ma_paged_audio_buffer]) -> ma_result
1773
+ external function ma_paged_audio_buffer_uninit(pPagedAudioBuffer: ptr[ma_paged_audio_buffer]) -> void
1774
+ external function ma_paged_audio_buffer_read_pcm_frames(pPagedAudioBuffer: ptr[ma_paged_audio_buffer], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
1775
+ external function ma_paged_audio_buffer_seek_to_pcm_frame(pPagedAudioBuffer: ptr[ma_paged_audio_buffer], frameIndex: ulong) -> ma_result
1776
+ external function ma_paged_audio_buffer_get_cursor_in_pcm_frames(pPagedAudioBuffer: ptr[ma_paged_audio_buffer], pCursor: ptr[ma_uint64]) -> ma_result
1777
+ external function ma_paged_audio_buffer_get_length_in_pcm_frames(pPagedAudioBuffer: ptr[ma_paged_audio_buffer], pLength: ptr[ma_uint64]) -> ma_result
1778
+
1779
+ struct ma_rb:
1780
+ pBuffer: ptr[void]
1781
+ subbufferSizeInBytes: uint
1782
+ subbufferCount: uint
1783
+ subbufferStrideInBytes: uint
1784
+ encodedReadOffset: uint
1785
+ encodedWriteOffset: uint
1786
+ ownsBuffer: ubyte
1787
+ clearOnWriteAcquire: ubyte
1788
+ allocationCallbacks: ma_allocation_callbacks
1789
+
1790
+ external function ma_rb_init_ex(subbufferSizeInBytes: ptr_uint, subbufferCount: ptr_uint, subbufferStrideInBytes: ptr_uint, pOptionalPreallocatedBuffer: ptr[void], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pRB: ptr[ma_rb]) -> ma_result
1791
+ external function ma_rb_init(bufferSizeInBytes: ptr_uint, pOptionalPreallocatedBuffer: ptr[void], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pRB: ptr[ma_rb]) -> ma_result
1792
+ external function ma_rb_uninit(pRB: ptr[ma_rb]) -> void
1793
+ external function ma_rb_reset(pRB: ptr[ma_rb]) -> void
1794
+ external function ma_rb_acquire_read(pRB: ptr[ma_rb], pSizeInBytes: ptr[ptr_uint], ppBufferOut: ptr[ptr[void]]) -> ma_result
1795
+ external function ma_rb_commit_read(pRB: ptr[ma_rb], sizeInBytes: ptr_uint) -> ma_result
1796
+ external function ma_rb_acquire_write(pRB: ptr[ma_rb], pSizeInBytes: ptr[ptr_uint], ppBufferOut: ptr[ptr[void]]) -> ma_result
1797
+ external function ma_rb_commit_write(pRB: ptr[ma_rb], sizeInBytes: ptr_uint) -> ma_result
1798
+ external function ma_rb_seek_read(pRB: ptr[ma_rb], offsetInBytes: ptr_uint) -> ma_result
1799
+ external function ma_rb_seek_write(pRB: ptr[ma_rb], offsetInBytes: ptr_uint) -> ma_result
1800
+ external function ma_rb_pointer_distance(pRB: ptr[ma_rb]) -> ma_int32
1801
+ external function ma_rb_available_read(pRB: ptr[ma_rb]) -> ma_uint32
1802
+ external function ma_rb_available_write(pRB: ptr[ma_rb]) -> ma_uint32
1803
+ external function ma_rb_get_subbuffer_size(pRB: ptr[ma_rb]) -> ptr_uint
1804
+ external function ma_rb_get_subbuffer_stride(pRB: ptr[ma_rb]) -> ptr_uint
1805
+ external function ma_rb_get_subbuffer_offset(pRB: ptr[ma_rb], subbufferIndex: ptr_uint) -> ptr_uint
1806
+ external function ma_rb_get_subbuffer_ptr(pRB: ptr[ma_rb], subbufferIndex: ptr_uint, pBuffer: ptr[void]) -> ptr[void]
1807
+
1808
+ struct ma_pcm_rb:
1809
+ ds: ma_data_source_base
1810
+ rb: ma_rb
1811
+ format: ma_format
1812
+ channels: uint
1813
+ sampleRate: uint
1814
+
1815
+ external function ma_pcm_rb_init_ex(format: ma_format, channels: uint, subbufferSizeInFrames: uint, subbufferCount: uint, subbufferStrideInFrames: uint, pOptionalPreallocatedBuffer: ptr[void], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pRB: ptr[ma_pcm_rb]) -> ma_result
1816
+ external function ma_pcm_rb_init(format: ma_format, channels: uint, bufferSizeInFrames: uint, pOptionalPreallocatedBuffer: ptr[void], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pRB: ptr[ma_pcm_rb]) -> ma_result
1817
+ external function ma_pcm_rb_uninit(pRB: ptr[ma_pcm_rb]) -> void
1818
+ external function ma_pcm_rb_reset(pRB: ptr[ma_pcm_rb]) -> void
1819
+ external function ma_pcm_rb_acquire_read(pRB: ptr[ma_pcm_rb], pSizeInFrames: ptr[ma_uint32], ppBufferOut: ptr[ptr[void]]) -> ma_result
1820
+ external function ma_pcm_rb_commit_read(pRB: ptr[ma_pcm_rb], sizeInFrames: uint) -> ma_result
1821
+ external function ma_pcm_rb_acquire_write(pRB: ptr[ma_pcm_rb], pSizeInFrames: ptr[ma_uint32], ppBufferOut: ptr[ptr[void]]) -> ma_result
1822
+ external function ma_pcm_rb_commit_write(pRB: ptr[ma_pcm_rb], sizeInFrames: uint) -> ma_result
1823
+ external function ma_pcm_rb_seek_read(pRB: ptr[ma_pcm_rb], offsetInFrames: uint) -> ma_result
1824
+ external function ma_pcm_rb_seek_write(pRB: ptr[ma_pcm_rb], offsetInFrames: uint) -> ma_result
1825
+ external function ma_pcm_rb_pointer_distance(pRB: ptr[ma_pcm_rb]) -> ma_int32
1826
+ external function ma_pcm_rb_available_read(pRB: ptr[ma_pcm_rb]) -> ma_uint32
1827
+ external function ma_pcm_rb_available_write(pRB: ptr[ma_pcm_rb]) -> ma_uint32
1828
+ external function ma_pcm_rb_get_subbuffer_size(pRB: ptr[ma_pcm_rb]) -> ma_uint32
1829
+ external function ma_pcm_rb_get_subbuffer_stride(pRB: ptr[ma_pcm_rb]) -> ma_uint32
1830
+ external function ma_pcm_rb_get_subbuffer_offset(pRB: ptr[ma_pcm_rb], subbufferIndex: uint) -> ma_uint32
1831
+ external function ma_pcm_rb_get_subbuffer_ptr(pRB: ptr[ma_pcm_rb], subbufferIndex: uint, pBuffer: ptr[void]) -> ptr[void]
1832
+ external function ma_pcm_rb_get_format(pRB: const_ptr[ma_pcm_rb]) -> ma_format
1833
+ external function ma_pcm_rb_get_channels(pRB: const_ptr[ma_pcm_rb]) -> ma_uint32
1834
+ external function ma_pcm_rb_get_sample_rate(pRB: const_ptr[ma_pcm_rb]) -> ma_uint32
1835
+ external function ma_pcm_rb_set_sample_rate(pRB: ptr[ma_pcm_rb], sampleRate: uint) -> void
1836
+
1837
+ struct ma_duplex_rb:
1838
+ rb: ma_pcm_rb
1839
+
1840
+ external function ma_duplex_rb_init(captureFormat: ma_format, captureChannels: uint, sampleRate: uint, captureInternalSampleRate: uint, captureInternalPeriodSizeInFrames: uint, pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pRB: ptr[ma_duplex_rb]) -> ma_result
1841
+ external function ma_duplex_rb_uninit(pRB: ptr[ma_duplex_rb]) -> ma_result
1842
+ external function ma_result_description(result: ma_result) -> cstr
1843
+ external function ma_malloc(sz: ptr_uint, pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> ptr[void]
1844
+ external function ma_calloc(sz: ptr_uint, pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> ptr[void]
1845
+ external function ma_realloc(p: ptr[void], sz: ptr_uint, pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> ptr[void]
1846
+ external function ma_free(p: ptr[void], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1847
+ external function ma_aligned_malloc(sz: ptr_uint, alignment: ptr_uint, pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> ptr[void]
1848
+ external function ma_aligned_free(p: ptr[void], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1849
+ external function ma_get_format_name(format: ma_format) -> cstr
1850
+ external function ma_blend_f32(pOut: ptr[float], pInA: ptr[float], pInB: ptr[float], factor: float, channels: uint) -> void
1851
+ external function ma_get_bytes_per_sample(format: ma_format) -> ma_uint32
1852
+ external function ma_log_level_to_string(logLevel: uint) -> cstr
1853
+ external function ma_spinlock_lock(pSpinlock: ptr[ma_spinlock]) -> ma_result
1854
+ external function ma_spinlock_lock_noyield(pSpinlock: ptr[ma_spinlock]) -> ma_result
1855
+ external function ma_spinlock_unlock(pSpinlock: ptr[ma_spinlock]) -> ma_result
1856
+ external function ma_mutex_init(pMutex: ptr[ma_mutex]) -> ma_result
1857
+ external function ma_mutex_uninit(pMutex: ptr[ma_mutex]) -> void
1858
+ external function ma_mutex_lock(pMutex: ptr[ma_mutex]) -> void
1859
+ external function ma_mutex_unlock(pMutex: ptr[ma_mutex]) -> void
1860
+ external function ma_event_init(pEvent: ptr[ma_event]) -> ma_result
1861
+ external function ma_event_uninit(pEvent: ptr[ma_event]) -> void
1862
+ external function ma_event_wait(pEvent: ptr[ma_event]) -> ma_result
1863
+ external function ma_event_signal(pEvent: ptr[ma_event]) -> ma_result
1864
+ external function ma_semaphore_init(initialValue: int, pSemaphore: ptr[ma_semaphore]) -> ma_result
1865
+ external function ma_semaphore_uninit(pSemaphore: ptr[ma_semaphore]) -> void
1866
+ external function ma_semaphore_wait(pSemaphore: ptr[ma_semaphore]) -> ma_result
1867
+ external function ma_semaphore_release(pSemaphore: ptr[ma_semaphore]) -> ma_result
1868
+
1869
+ struct ma_fence:
1870
+ e: ma_event
1871
+ counter: uint
1872
+
1873
+ external function ma_fence_init(pFence: ptr[ma_fence]) -> ma_result
1874
+ external function ma_fence_uninit(pFence: ptr[ma_fence]) -> void
1875
+ external function ma_fence_acquire(pFence: ptr[ma_fence]) -> ma_result
1876
+ external function ma_fence_release(pFence: ptr[ma_fence]) -> ma_result
1877
+ external function ma_fence_wait(pFence: ptr[ma_fence]) -> ma_result
1878
+
1879
+ type ma_async_notification = void
1880
+
1881
+ struct ma_async_notification_callbacks:
1882
+ onSignal: fn(arg0: ptr[ma_async_notification]) -> void
1883
+
1884
+ external function ma_async_notification_signal(pNotification: ptr[ma_async_notification]) -> ma_result
1885
+
1886
+ struct ma_async_notification_poll:
1887
+ cb: ma_async_notification_callbacks
1888
+ signalled: uint
1889
+
1890
+ external function ma_async_notification_poll_init(pNotificationPoll: ptr[ma_async_notification_poll]) -> ma_result
1891
+ external function ma_async_notification_poll_is_signalled(pNotificationPoll: const_ptr[ma_async_notification_poll]) -> ma_bool32
1892
+
1893
+ struct ma_async_notification_event:
1894
+ cb: ma_async_notification_callbacks
1895
+ e: ma_event
1896
+
1897
+ external function ma_async_notification_event_init(pNotificationEvent: ptr[ma_async_notification_event]) -> ma_result
1898
+ external function ma_async_notification_event_uninit(pNotificationEvent: ptr[ma_async_notification_event]) -> ma_result
1899
+ external function ma_async_notification_event_wait(pNotificationEvent: ptr[ma_async_notification_event]) -> ma_result
1900
+ external function ma_async_notification_event_signal(pNotificationEvent: ptr[ma_async_notification_event]) -> ma_result
1901
+
1902
+ struct ma_slot_allocator_config:
1903
+ capacity: uint
1904
+
1905
+ external function ma_slot_allocator_config_init(capacity: uint) -> ma_slot_allocator_config
1906
+
1907
+ struct ma_slot_allocator_group:
1908
+ bitfield: uint
1909
+
1910
+ struct ma_slot_allocator:
1911
+ pGroups: ptr[ma_slot_allocator_group]
1912
+ pSlots: ptr[ma_uint32]
1913
+ count: uint
1914
+ capacity: uint
1915
+ _ownsHeap: uint
1916
+ _pHeap: ptr[void]
1917
+
1918
+ external function ma_slot_allocator_get_heap_size(pConfig: const_ptr[ma_slot_allocator_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1919
+ external function ma_slot_allocator_init_preallocated(pConfig: const_ptr[ma_slot_allocator_config], pHeap: ptr[void], pAllocator: ptr[ma_slot_allocator]) -> ma_result
1920
+ external function ma_slot_allocator_init(pConfig: const_ptr[ma_slot_allocator_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pAllocator: ptr[ma_slot_allocator]) -> ma_result
1921
+ external function ma_slot_allocator_uninit(pAllocator: ptr[ma_slot_allocator], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1922
+ external function ma_slot_allocator_alloc(pAllocator: ptr[ma_slot_allocator], pSlot: ptr[ma_uint64]) -> ma_result
1923
+ external function ma_slot_allocator_free(pAllocator: ptr[ma_slot_allocator], slot: ulong) -> ma_result
1924
+
1925
+ type ma_job_proc = fn(arg0: ptr[ma_job]) -> ma_result
1926
+
1927
+ enum ma_job_type: int
1928
+ MA_JOB_TYPE_QUIT = 0
1929
+ MA_JOB_TYPE_CUSTOM = 1
1930
+ MA_JOB_TYPE_RESOURCE_MANAGER_LOAD_DATA_BUFFER_NODE = 2
1931
+ MA_JOB_TYPE_RESOURCE_MANAGER_FREE_DATA_BUFFER_NODE = 3
1932
+ MA_JOB_TYPE_RESOURCE_MANAGER_PAGE_DATA_BUFFER_NODE = 4
1933
+ MA_JOB_TYPE_RESOURCE_MANAGER_LOAD_DATA_BUFFER = 5
1934
+ MA_JOB_TYPE_RESOURCE_MANAGER_FREE_DATA_BUFFER = 6
1935
+ MA_JOB_TYPE_RESOURCE_MANAGER_LOAD_DATA_STREAM = 7
1936
+ MA_JOB_TYPE_RESOURCE_MANAGER_FREE_DATA_STREAM = 8
1937
+ MA_JOB_TYPE_RESOURCE_MANAGER_PAGE_DATA_STREAM = 9
1938
+ MA_JOB_TYPE_RESOURCE_MANAGER_SEEK_DATA_STREAM = 10
1939
+ MA_JOB_TYPE_DEVICE_AAUDIO_REROUTE = 11
1940
+ MA_JOB_TYPE_COUNT = 12
1941
+
1942
+ struct ma_job:
1943
+ toc: ma_job_toc
1944
+ next: ulong
1945
+ order: uint
1946
+ data: ma_job_data
1947
+
1948
+ external function ma_job_init(code: ushort) -> ma_job
1949
+ external function ma_job_process(pJob: ptr[ma_job]) -> ma_result
1950
+
1951
+ flags ma_job_queue_flags: int
1952
+ MA_JOB_QUEUE_FLAG_NON_BLOCKING = 1
1953
+
1954
+ struct ma_job_queue_config:
1955
+ flags_: uint
1956
+ capacity: uint
1957
+
1958
+ external function ma_job_queue_config_init(flags_: uint, capacity: uint) -> ma_job_queue_config
1959
+
1960
+ struct ma_job_queue:
1961
+ flags_: uint
1962
+ capacity: uint
1963
+ head: ulong
1964
+ tail: ulong
1965
+ sem: ma_semaphore
1966
+ allocator: ma_slot_allocator
1967
+ pJobs: ptr[ma_job]
1968
+ lock: uint
1969
+ _pHeap: ptr[void]
1970
+ _ownsHeap: uint
1971
+
1972
+ external function ma_job_queue_get_heap_size(pConfig: const_ptr[ma_job_queue_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
1973
+ external function ma_job_queue_init_preallocated(pConfig: const_ptr[ma_job_queue_config], pHeap: ptr[void], pQueue: ptr[ma_job_queue]) -> ma_result
1974
+ external function ma_job_queue_init(pConfig: const_ptr[ma_job_queue_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pQueue: ptr[ma_job_queue]) -> ma_result
1975
+ external function ma_job_queue_uninit(pQueue: ptr[ma_job_queue], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
1976
+ external function ma_job_queue_post(pQueue: ptr[ma_job_queue], pJob: const_ptr[ma_job]) -> ma_result
1977
+ external function ma_job_queue_next(pQueue: ptr[ma_job_queue], pJob: ptr[ma_job]) -> ma_result
1978
+
1979
+ enum ma_device_state: int
1980
+ ma_device_state_uninitialized = 0
1981
+ ma_device_state_stopped = 1
1982
+ ma_device_state_started = 2
1983
+ ma_device_state_starting = 3
1984
+ ma_device_state_stopping = 4
1985
+
1986
+ struct ma_atomic_device_state:
1987
+ value: ma_device_state
1988
+
1989
+ enum ma_backend: int
1990
+ ma_backend_wasapi = 0
1991
+ ma_backend_dsound = 1
1992
+ ma_backend_winmm = 2
1993
+ ma_backend_coreaudio = 3
1994
+ ma_backend_sndio = 4
1995
+ ma_backend_audio4 = 5
1996
+ ma_backend_oss = 6
1997
+ ma_backend_pulseaudio = 7
1998
+ ma_backend_alsa = 8
1999
+ ma_backend_jack = 9
2000
+ ma_backend_aaudio = 10
2001
+ ma_backend_opensl = 11
2002
+ ma_backend_webaudio = 12
2003
+ ma_backend_custom = 13
2004
+ ma_backend_null = 14
2005
+
2006
+ struct ma_device_job_thread_config:
2007
+ noThread: uint
2008
+ jobQueueCapacity: uint
2009
+ jobQueueFlags: uint
2010
+
2011
+ external function ma_device_job_thread_config_init() -> ma_device_job_thread_config
2012
+
2013
+ struct ma_device_job_thread:
2014
+ thread: ptr_uint
2015
+ jobQueue: ma_job_queue
2016
+ _hasThread: uint
2017
+
2018
+ external function ma_device_job_thread_init(pConfig: const_ptr[ma_device_job_thread_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pJobThread: ptr[ma_device_job_thread]) -> ma_result
2019
+ external function ma_device_job_thread_uninit(pJobThread: ptr[ma_device_job_thread], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
2020
+ external function ma_device_job_thread_post(pJobThread: ptr[ma_device_job_thread], pJob: const_ptr[ma_job]) -> ma_result
2021
+ external function ma_device_job_thread_next(pJobThread: ptr[ma_device_job_thread], pJob: ptr[ma_job]) -> ma_result
2022
+
2023
+ enum ma_device_notification_type: int
2024
+ ma_device_notification_type_started = 0
2025
+ ma_device_notification_type_stopped = 1
2026
+ ma_device_notification_type_rerouted = 2
2027
+ ma_device_notification_type_interruption_began = 3
2028
+ ma_device_notification_type_interruption_ended = 4
2029
+ ma_device_notification_type_unlocked = 5
2030
+
2031
+ struct ma_device_notification:
2032
+ pDevice: ptr[ma_device]
2033
+ type_: ma_device_notification_type
2034
+ data: ma_device_notification_data
2035
+
2036
+ type ma_device_notification_proc = fn(arg0: const_ptr[ma_device_notification]) -> void
2037
+ type ma_device_data_proc = fn(arg0: ptr[ma_device], arg1: ptr[void], arg2: const_ptr[void], arg3: ma_uint32) -> void
2038
+ type ma_stop_proc = fn(arg0: ptr[ma_device]) -> void
2039
+
2040
+ enum ma_device_type: int
2041
+ ma_device_type_playback = 1
2042
+ ma_device_type_capture = 2
2043
+ ma_device_type_duplex = 3
2044
+ ma_device_type_loopback = 4
2045
+
2046
+ flags ma_share_mode: int
2047
+ ma_share_mode_shared = 0
2048
+ ma_share_mode_exclusive = 1
2049
+
2050
+ enum ma_ios_session_category: int
2051
+ ma_ios_session_category_default = 0
2052
+ ma_ios_session_category_none = 1
2053
+ ma_ios_session_category_ambient = 2
2054
+ ma_ios_session_category_solo_ambient = 3
2055
+ ma_ios_session_category_playback = 4
2056
+ ma_ios_session_category_record = 5
2057
+ ma_ios_session_category_play_and_record = 6
2058
+ ma_ios_session_category_multi_route = 7
2059
+
2060
+ enum ma_ios_session_category_option: int
2061
+ ma_ios_session_category_option_mix_with_others = 1
2062
+ ma_ios_session_category_option_duck_others = 2
2063
+ ma_ios_session_category_option_allow_bluetooth = 4
2064
+ ma_ios_session_category_option_default_to_speaker = 8
2065
+ ma_ios_session_category_option_interrupt_spoken_audio_and_mix_with_others = 17
2066
+ ma_ios_session_category_option_allow_bluetooth_a2dp = 32
2067
+ ma_ios_session_category_option_allow_air_play = 64
2068
+
2069
+ enum ma_opensl_stream_type: int
2070
+ ma_opensl_stream_type_default = 0
2071
+ ma_opensl_stream_type_voice = 1
2072
+ ma_opensl_stream_type_system = 2
2073
+ ma_opensl_stream_type_ring = 3
2074
+ ma_opensl_stream_type_media = 4
2075
+ ma_opensl_stream_type_alarm = 5
2076
+ ma_opensl_stream_type_notification = 6
2077
+
2078
+ enum ma_opensl_recording_preset: int
2079
+ ma_opensl_recording_preset_default = 0
2080
+ ma_opensl_recording_preset_generic = 1
2081
+ ma_opensl_recording_preset_camcorder = 2
2082
+ ma_opensl_recording_preset_voice_recognition = 3
2083
+ ma_opensl_recording_preset_voice_communication = 4
2084
+ ma_opensl_recording_preset_voice_unprocessed = 5
2085
+
2086
+ flags ma_wasapi_usage: int
2087
+ ma_wasapi_usage_default = 0
2088
+ ma_wasapi_usage_games = 1
2089
+ ma_wasapi_usage_pro_audio = 2
2090
+
2091
+ enum ma_aaudio_usage: int
2092
+ ma_aaudio_usage_default = 0
2093
+ ma_aaudio_usage_media = 1
2094
+ ma_aaudio_usage_voice_communication = 2
2095
+ ma_aaudio_usage_voice_communication_signalling = 3
2096
+ ma_aaudio_usage_alarm = 4
2097
+ ma_aaudio_usage_notification = 5
2098
+ ma_aaudio_usage_notification_ringtone = 6
2099
+ ma_aaudio_usage_notification_event = 7
2100
+ ma_aaudio_usage_assistance_accessibility = 8
2101
+ ma_aaudio_usage_assistance_navigation_guidance = 9
2102
+ ma_aaudio_usage_assistance_sonification = 10
2103
+ ma_aaudio_usage_game = 11
2104
+ ma_aaudio_usage_assitant = 12
2105
+ ma_aaudio_usage_emergency = 13
2106
+ ma_aaudio_usage_safety = 14
2107
+ ma_aaudio_usage_vehicle_status = 15
2108
+ ma_aaudio_usage_announcement = 16
2109
+
2110
+ enum ma_aaudio_content_type: int
2111
+ ma_aaudio_content_type_default = 0
2112
+ ma_aaudio_content_type_speech = 1
2113
+ ma_aaudio_content_type_music = 2
2114
+ ma_aaudio_content_type_movie = 3
2115
+ ma_aaudio_content_type_sonification = 4
2116
+
2117
+ enum ma_aaudio_input_preset: int
2118
+ ma_aaudio_input_preset_default = 0
2119
+ ma_aaudio_input_preset_generic = 1
2120
+ ma_aaudio_input_preset_camcorder = 2
2121
+ ma_aaudio_input_preset_voice_recognition = 3
2122
+ ma_aaudio_input_preset_voice_communication = 4
2123
+ ma_aaudio_input_preset_unprocessed = 5
2124
+ ma_aaudio_input_preset_voice_performance = 6
2125
+
2126
+ enum ma_aaudio_allowed_capture_policy: int
2127
+ ma_aaudio_allow_capture_default = 0
2128
+ ma_aaudio_allow_capture_by_all = 1
2129
+ ma_aaudio_allow_capture_by_system = 2
2130
+ ma_aaudio_allow_capture_by_none = 3
2131
+
2132
+ union ma_timer:
2133
+ counter: long
2134
+ counterD: double
2135
+
2136
+ union ma_device_id:
2137
+ wasapi: array[ma_wchar_win32, 64]
2138
+ dsound: array[ma_uint8, 16]
2139
+ winmm: uint
2140
+ alsa: array[char, 256]
2141
+ pulse: array[char, 256]
2142
+ jack: int
2143
+ coreaudio: array[char, 256]
2144
+ sndio: array[char, 256]
2145
+ audio4: array[char, 256]
2146
+ oss: array[char, 64]
2147
+ aaudio: int
2148
+ opensl: uint
2149
+ webaudio: array[char, 32]
2150
+ custom: ma_device_id_custom
2151
+ nullbackend: int
2152
+
2153
+ external function ma_device_id_equal(pA: const_ptr[ma_device_id], pB: const_ptr[ma_device_id]) -> ma_bool32
2154
+
2155
+ struct ma_device_info:
2156
+ id: ma_device_id
2157
+ name: array[char, 256]
2158
+ isDefault: uint
2159
+ nativeDataFormatCount: uint
2160
+ nativeDataFormats: ma_device_info_nativeDataFormats
2161
+
2162
+ struct ma_device_config:
2163
+ deviceType: ma_device_type
2164
+ sampleRate: uint
2165
+ periodSizeInFrames: uint
2166
+ periodSizeInMilliseconds: uint
2167
+ periods: uint
2168
+ performanceProfile: ma_performance_profile
2169
+ noPreSilencedOutputBuffer: ubyte
2170
+ noClip: ubyte
2171
+ noDisableDenormals: ubyte
2172
+ noFixedSizedCallback: ubyte
2173
+ dataCallback: fn(arg0: ptr[ma_device], arg1: ptr[void], arg2: const_ptr[void], arg3: ma_uint32) -> void
2174
+ notificationCallback: fn(arg0: const_ptr[ma_device_notification]) -> void
2175
+ stopCallback: fn(arg0: ptr[ma_device]) -> void
2176
+ pUserData: ptr[void]
2177
+ resampling: ma_resampler_config
2178
+ playback: ma_device_config_playback
2179
+ capture: ma_device_config_capture
2180
+ wasapi: ma_device_config_wasapi
2181
+ alsa: ma_device_config_alsa
2182
+ pulse: ma_device_config_pulse
2183
+ coreaudio: ma_device_config_coreaudio
2184
+ opensl: ma_device_config_opensl
2185
+ aaudio: ma_device_config_aaudio
2186
+
2187
+ type ma_enum_devices_callback_proc = fn(arg0: ptr[ma_context], arg1: ma_device_type, arg2: const_ptr[ma_device_info], arg3: ptr[void]) -> ma_bool32
2188
+
2189
+ struct ma_device_descriptor:
2190
+ pDeviceID: const_ptr[ma_device_id]
2191
+ shareMode: ma_share_mode
2192
+ format: ma_format
2193
+ channels: uint
2194
+ sampleRate: uint
2195
+ channelMap: array[ma_channel, 254]
2196
+ periodSizeInFrames: uint
2197
+ periodSizeInMilliseconds: uint
2198
+ periodCount: uint
2199
+
2200
+ struct ma_backend_callbacks:
2201
+ onContextInit: fn(arg0: ptr[ma_context], arg1: const_ptr[ma_context_config], arg2: ptr[ma_backend_callbacks]) -> ma_result
2202
+ onContextUninit: fn(arg0: ptr[ma_context]) -> ma_result
2203
+ onContextEnumerateDevices: fn(arg0: ptr[ma_context], arg1: ma_enum_devices_callback_proc, arg2: ptr[void]) -> ma_result
2204
+ onContextGetDeviceInfo: fn(arg0: ptr[ma_context], arg1: ma_device_type, arg2: const_ptr[ma_device_id], arg3: ptr[ma_device_info]) -> ma_result
2205
+ onDeviceInit: fn(arg0: ptr[ma_device], arg1: const_ptr[ma_device_config], arg2: ptr[ma_device_descriptor], arg3: ptr[ma_device_descriptor]) -> ma_result
2206
+ onDeviceUninit: fn(arg0: ptr[ma_device]) -> ma_result
2207
+ onDeviceStart: fn(arg0: ptr[ma_device]) -> ma_result
2208
+ onDeviceStop: fn(arg0: ptr[ma_device]) -> ma_result
2209
+ onDeviceRead: fn(arg0: ptr[ma_device], arg1: ptr[void], arg2: ma_uint32, arg3: ptr[ma_uint32]) -> ma_result
2210
+ onDeviceWrite: fn(arg0: ptr[ma_device], arg1: const_ptr[void], arg2: ma_uint32, arg3: ptr[ma_uint32]) -> ma_result
2211
+ onDeviceDataLoop: fn(arg0: ptr[ma_device]) -> ma_result
2212
+ onDeviceDataLoopWakeup: fn(arg0: ptr[ma_device]) -> ma_result
2213
+ onDeviceGetInfo: fn(arg0: ptr[ma_device], arg1: ma_device_type, arg2: ptr[ma_device_info]) -> ma_result
2214
+
2215
+ struct ma_context_config:
2216
+ pLog: ptr[ma_log]
2217
+ threadPriority: ma_thread_priority
2218
+ threadStackSize: ptr_uint
2219
+ pUserData: ptr[void]
2220
+ allocationCallbacks: ma_allocation_callbacks
2221
+ dsound: ma_context_config_dsound
2222
+ alsa: ma_context_config_alsa
2223
+ pulse: ma_context_config_pulse
2224
+ coreaudio: ma_context_config_coreaudio
2225
+ jack: ma_context_config_jack
2226
+ custom: ma_backend_callbacks
2227
+
2228
+ struct ma_context_command__wasapi:
2229
+ code: int
2230
+ pEvent: ptr[ma_event]
2231
+ data: ma_context_command__wasapi_data
2232
+
2233
+ struct ma_context:
2234
+ callbacks: ma_backend_callbacks
2235
+ backend: ma_backend
2236
+ pLog: ptr[ma_log]
2237
+ log: ma_log
2238
+ threadPriority: ma_thread_priority
2239
+ threadStackSize: ptr_uint
2240
+ pUserData: ptr[void]
2241
+ allocationCallbacks: ma_allocation_callbacks
2242
+ deviceEnumLock: pthread_mutex_t
2243
+ deviceInfoLock: pthread_mutex_t
2244
+ deviceInfoCapacity: uint
2245
+ playbackDeviceInfoCount: uint
2246
+ captureDeviceInfoCount: uint
2247
+ pDeviceInfos: ptr[ma_device_info]
2248
+ anonymous_union_14: ma_context_anonymous_union_14
2249
+ anonymous_union_15: ma_context_anonymous_union_15
2250
+
2251
+ struct ma_device:
2252
+ pContext: ptr[ma_context]
2253
+ type_: ma_device_type
2254
+ sampleRate: uint
2255
+ state: ma_atomic_device_state
2256
+ onData: fn(arg0: ptr[ma_device], arg1: ptr[void], arg2: const_ptr[void], arg3: ma_uint32) -> void
2257
+ onNotification: fn(arg0: const_ptr[ma_device_notification]) -> void
2258
+ onStop: fn(arg0: ptr[ma_device]) -> void
2259
+ pUserData: ptr[void]
2260
+ startStopLock: pthread_mutex_t
2261
+ wakeupEvent: ma_event
2262
+ startEvent: ma_event
2263
+ stopEvent: ma_event
2264
+ thread: ptr_uint
2265
+ workResult: ma_result
2266
+ isOwnerOfContext: ubyte
2267
+ noPreSilencedOutputBuffer: ubyte
2268
+ noClip: ubyte
2269
+ noDisableDenormals: ubyte
2270
+ noFixedSizedCallback: ubyte
2271
+ masterVolumeFactor: ma_atomic_float
2272
+ duplexRB: ma_duplex_rb
2273
+ resampling: ma_device_resampling
2274
+ playback: ma_device_playback
2275
+ capture: ma_device_capture
2276
+ anonymous_union_24: ma_device_anonymous_union_24
2277
+
2278
+ external function ma_context_config_init() -> ma_context_config
2279
+ external function ma_context_init(backends: const_ptr[ma_backend], backendCount: uint, pConfig: const_ptr[ma_context_config], pContext: ptr[ma_context]) -> ma_result
2280
+ external function ma_context_uninit(pContext: ptr[ma_context]) -> ma_result
2281
+ external function ma_context_sizeof() -> ptr_uint
2282
+ external function ma_context_get_log(pContext: ptr[ma_context]) -> ptr[ma_log]
2283
+ external function ma_context_enumerate_devices(pContext: ptr[ma_context], callback: fn(arg0: ptr[ma_context], arg1: ma_device_type, arg2: const_ptr[ma_device_info], arg3: ptr[void]) -> ma_bool32, pUserData: ptr[void]) -> ma_result
2284
+ external function ma_context_get_devices(pContext: ptr[ma_context], ppPlaybackDeviceInfos: ptr[ptr[ma_device_info]], pPlaybackDeviceCount: ptr[ma_uint32], ppCaptureDeviceInfos: ptr[ptr[ma_device_info]], pCaptureDeviceCount: ptr[ma_uint32]) -> ma_result
2285
+ external function ma_context_get_device_info(pContext: ptr[ma_context], deviceType: ma_device_type, pDeviceID: const_ptr[ma_device_id], pDeviceInfo: ptr[ma_device_info]) -> ma_result
2286
+ external function ma_context_is_loopback_supported(pContext: ptr[ma_context]) -> ma_bool32
2287
+ external function ma_device_config_init(deviceType: ma_device_type) -> ma_device_config
2288
+ external function ma_device_init(pContext: ptr[ma_context], pConfig: const_ptr[ma_device_config], pDevice: ptr[ma_device]) -> ma_result
2289
+ external function ma_device_init_ex(backends: const_ptr[ma_backend], backendCount: uint, pContextConfig: const_ptr[ma_context_config], pConfig: const_ptr[ma_device_config], pDevice: ptr[ma_device]) -> ma_result
2290
+ external function ma_device_uninit(pDevice: ptr[ma_device]) -> void
2291
+ external function ma_device_get_context(pDevice: ptr[ma_device]) -> ptr[ma_context]
2292
+ external function ma_device_get_log(pDevice: ptr[ma_device]) -> ptr[ma_log]
2293
+ external function ma_device_get_info(pDevice: ptr[ma_device], type_: ma_device_type, pDeviceInfo: ptr[ma_device_info]) -> ma_result
2294
+ external function ma_device_get_name(pDevice: ptr[ma_device], type_: ma_device_type, pName: ptr[char], nameCap: ptr_uint, pLengthNotIncludingNullTerminator: ptr[ptr_uint]) -> ma_result
2295
+ external function ma_device_start(pDevice: ptr[ma_device]) -> ma_result
2296
+ external function ma_device_stop(pDevice: ptr[ma_device]) -> ma_result
2297
+ external function ma_device_is_started(pDevice: const_ptr[ma_device]) -> ma_bool32
2298
+ external function ma_device_get_state(pDevice: const_ptr[ma_device]) -> ma_device_state
2299
+ external function ma_device_post_init(pDevice: ptr[ma_device], deviceType: ma_device_type, pPlaybackDescriptor: const_ptr[ma_device_descriptor], pCaptureDescriptor: const_ptr[ma_device_descriptor]) -> ma_result
2300
+ external function ma_device_set_master_volume(pDevice: ptr[ma_device], volume: float) -> ma_result
2301
+ external function ma_device_get_master_volume(pDevice: ptr[ma_device], pVolume: ptr[float]) -> ma_result
2302
+ external function ma_device_set_master_volume_db(pDevice: ptr[ma_device], gainDB: float) -> ma_result
2303
+ external function ma_device_get_master_volume_db(pDevice: ptr[ma_device], pGainDB: ptr[float]) -> ma_result
2304
+ external function ma_device_handle_backend_data_callback(pDevice: ptr[ma_device], pOutput: ptr[void], pInput: const_ptr[void], frameCount: uint) -> ma_result
2305
+ external function ma_calculate_buffer_size_in_frames_from_descriptor(pDescriptor: const_ptr[ma_device_descriptor], nativeSampleRate: uint, performanceProfile: ma_performance_profile) -> ma_uint32
2306
+ external function ma_get_backend_name(backend: ma_backend) -> cstr
2307
+ external function ma_get_backend_from_name(pBackendName: cstr, pBackend: ptr[ma_backend]) -> ma_result
2308
+ external function ma_is_backend_enabled(backend: ma_backend) -> ma_bool32
2309
+ external function ma_get_enabled_backends(pBackends: ptr[ma_backend], backendCap: ptr_uint, pBackendCount: ptr[ptr_uint]) -> ma_result
2310
+ external function ma_is_loopback_supported(backend: ma_backend) -> ma_bool32
2311
+ external function ma_calculate_buffer_size_in_milliseconds_from_frames(bufferSizeInFrames: uint, sampleRate: uint) -> ma_uint32
2312
+ external function ma_calculate_buffer_size_in_frames_from_milliseconds(bufferSizeInMilliseconds: uint, sampleRate: uint) -> ma_uint32
2313
+ external function ma_copy_pcm_frames(dst: ptr[void], src: const_ptr[void], frameCount: ulong, format: ma_format, channels: uint) -> void
2314
+ external function ma_silence_pcm_frames(p: ptr[void], frameCount: ulong, format: ma_format, channels: uint) -> void
2315
+ external function ma_offset_pcm_frames_ptr(p: ptr[void], offsetInFrames: ulong, format: ma_format, channels: uint) -> ptr[void]
2316
+ external function ma_offset_pcm_frames_const_ptr(p: const_ptr[void], offsetInFrames: ulong, format: ma_format, channels: uint) -> const_ptr[void]
2317
+ external function ma_clip_samples_u8(pDst: ptr[ma_uint8], pSrc: const_ptr[ma_int16], count: ulong) -> void
2318
+ external function ma_clip_samples_s16(pDst: ptr[ma_int16], pSrc: const_ptr[ma_int32], count: ulong) -> void
2319
+ external function ma_clip_samples_s24(pDst: ptr[ma_uint8], pSrc: const_ptr[ma_int64], count: ulong) -> void
2320
+ external function ma_clip_samples_s32(pDst: ptr[ma_int32], pSrc: const_ptr[ma_int64], count: ulong) -> void
2321
+ external function ma_clip_samples_f32(pDst: ptr[float], pSrc: const_ptr[float], count: ulong) -> void
2322
+ external function ma_clip_pcm_frames(pDst: ptr[void], pSrc: const_ptr[void], frameCount: ulong, format: ma_format, channels: uint) -> void
2323
+ external function ma_copy_and_apply_volume_factor_u8(pSamplesOut: ptr[ma_uint8], pSamplesIn: const_ptr[ma_uint8], sampleCount: ulong, factor: float) -> void
2324
+ external function ma_copy_and_apply_volume_factor_s16(pSamplesOut: ptr[ma_int16], pSamplesIn: const_ptr[ma_int16], sampleCount: ulong, factor: float) -> void
2325
+ external function ma_copy_and_apply_volume_factor_s24(pSamplesOut: ptr[void], pSamplesIn: const_ptr[void], sampleCount: ulong, factor: float) -> void
2326
+ external function ma_copy_and_apply_volume_factor_s32(pSamplesOut: ptr[ma_int32], pSamplesIn: const_ptr[ma_int32], sampleCount: ulong, factor: float) -> void
2327
+ external function ma_copy_and_apply_volume_factor_f32(pSamplesOut: ptr[float], pSamplesIn: const_ptr[float], sampleCount: ulong, factor: float) -> void
2328
+ external function ma_apply_volume_factor_u8(pSamples: ptr[ma_uint8], sampleCount: ulong, factor: float) -> void
2329
+ external function ma_apply_volume_factor_s16(pSamples: ptr[ma_int16], sampleCount: ulong, factor: float) -> void
2330
+ external function ma_apply_volume_factor_s24(pSamples: ptr[void], sampleCount: ulong, factor: float) -> void
2331
+ external function ma_apply_volume_factor_s32(pSamples: ptr[ma_int32], sampleCount: ulong, factor: float) -> void
2332
+ external function ma_apply_volume_factor_f32(pSamples: ptr[float], sampleCount: ulong, factor: float) -> void
2333
+ external function ma_copy_and_apply_volume_factor_pcm_frames_u8(pFramesOut: ptr[ma_uint8], pFramesIn: const_ptr[ma_uint8], frameCount: ulong, channels: uint, factor: float) -> void
2334
+ external function ma_copy_and_apply_volume_factor_pcm_frames_s16(pFramesOut: ptr[ma_int16], pFramesIn: const_ptr[ma_int16], frameCount: ulong, channels: uint, factor: float) -> void
2335
+ external function ma_copy_and_apply_volume_factor_pcm_frames_s24(pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong, channels: uint, factor: float) -> void
2336
+ external function ma_copy_and_apply_volume_factor_pcm_frames_s32(pFramesOut: ptr[ma_int32], pFramesIn: const_ptr[ma_int32], frameCount: ulong, channels: uint, factor: float) -> void
2337
+ external function ma_copy_and_apply_volume_factor_pcm_frames_f32(pFramesOut: ptr[float], pFramesIn: const_ptr[float], frameCount: ulong, channels: uint, factor: float) -> void
2338
+ external function ma_copy_and_apply_volume_factor_pcm_frames(pFramesOut: ptr[void], pFramesIn: const_ptr[void], frameCount: ulong, format: ma_format, channels: uint, factor: float) -> void
2339
+ external function ma_apply_volume_factor_pcm_frames_u8(pFrames: ptr[ma_uint8], frameCount: ulong, channels: uint, factor: float) -> void
2340
+ external function ma_apply_volume_factor_pcm_frames_s16(pFrames: ptr[ma_int16], frameCount: ulong, channels: uint, factor: float) -> void
2341
+ external function ma_apply_volume_factor_pcm_frames_s24(pFrames: ptr[void], frameCount: ulong, channels: uint, factor: float) -> void
2342
+ external function ma_apply_volume_factor_pcm_frames_s32(pFrames: ptr[ma_int32], frameCount: ulong, channels: uint, factor: float) -> void
2343
+ external function ma_apply_volume_factor_pcm_frames_f32(pFrames: ptr[float], frameCount: ulong, channels: uint, factor: float) -> void
2344
+ external function ma_apply_volume_factor_pcm_frames(pFrames: ptr[void], frameCount: ulong, format: ma_format, channels: uint, factor: float) -> void
2345
+ external function ma_copy_and_apply_volume_factor_per_channel_f32(pFramesOut: ptr[float], pFramesIn: const_ptr[float], frameCount: ulong, channels: uint, pChannelGains: ptr[float]) -> void
2346
+ external function ma_copy_and_apply_volume_and_clip_samples_u8(pDst: ptr[ma_uint8], pSrc: const_ptr[ma_int16], count: ulong, volume: float) -> void
2347
+ external function ma_copy_and_apply_volume_and_clip_samples_s16(pDst: ptr[ma_int16], pSrc: const_ptr[ma_int32], count: ulong, volume: float) -> void
2348
+ external function ma_copy_and_apply_volume_and_clip_samples_s24(pDst: ptr[ma_uint8], pSrc: const_ptr[ma_int64], count: ulong, volume: float) -> void
2349
+ external function ma_copy_and_apply_volume_and_clip_samples_s32(pDst: ptr[ma_int32], pSrc: const_ptr[ma_int64], count: ulong, volume: float) -> void
2350
+ external function ma_copy_and_apply_volume_and_clip_samples_f32(pDst: ptr[float], pSrc: const_ptr[float], count: ulong, volume: float) -> void
2351
+ external function ma_copy_and_apply_volume_and_clip_pcm_frames(pDst: ptr[void], pSrc: const_ptr[void], frameCount: ulong, format: ma_format, channels: uint, volume: float) -> void
2352
+ external function ma_volume_linear_to_db(factor: float) -> float
2353
+ external function ma_volume_db_to_linear(gain: float) -> float
2354
+ external function ma_mix_pcm_frames_f32(pDst: ptr[float], pSrc: const_ptr[float], frameCount: ulong, channels: uint, volume: float) -> ma_result
2355
+
2356
+ type ma_vfs = void
2357
+ type ma_vfs_file = ptr[void]
2358
+
2359
+ flags ma_open_mode_flags: int
2360
+ MA_OPEN_MODE_READ = 1
2361
+ MA_OPEN_MODE_WRITE = 2
2362
+ flags ma_seek_origin: int
2363
+ ma_seek_origin_start = 0
2364
+ ma_seek_origin_current = 1
2365
+ ma_seek_origin_end = 2
2366
+
2367
+ struct ma_file_info:
2368
+ sizeInBytes: ulong
2369
+
2370
+ struct ma_vfs_callbacks:
2371
+ onOpen: fn(arg0: ptr[ma_vfs], arg1: cstr, arg2: ma_uint32, arg3: ptr[ma_vfs_file]) -> ma_result
2372
+ onOpenW: fn(arg0: ptr[ma_vfs], arg1: const_ptr[int], arg2: ma_uint32, arg3: ptr[ma_vfs_file]) -> ma_result
2373
+ onClose: fn(arg0: ptr[ma_vfs], arg1: ma_vfs_file) -> ma_result
2374
+ onRead: fn(arg0: ptr[ma_vfs], arg1: ma_vfs_file, arg2: ptr[void], arg3: ptr_uint, arg4: ptr[ptr_uint]) -> ma_result
2375
+ onWrite: fn(arg0: ptr[ma_vfs], arg1: ma_vfs_file, arg2: const_ptr[void], arg3: ptr_uint, arg4: ptr[ptr_uint]) -> ma_result
2376
+ onSeek: fn(arg0: ptr[ma_vfs], arg1: ma_vfs_file, arg2: ma_int64, arg3: ma_seek_origin) -> ma_result
2377
+ onTell: fn(arg0: ptr[ma_vfs], arg1: ma_vfs_file, arg2: ptr[ma_int64]) -> ma_result
2378
+ onInfo: fn(arg0: ptr[ma_vfs], arg1: ma_vfs_file, arg2: ptr[ma_file_info]) -> ma_result
2379
+
2380
+ external function ma_vfs_open(pVFS: ptr[ma_vfs], pFilePath: cstr, openMode: uint, pFile: ptr[ma_vfs_file]) -> ma_result
2381
+ external function ma_vfs_open_w(pVFS: ptr[ma_vfs], pFilePath: const_ptr[int], openMode: uint, pFile: ptr[ma_vfs_file]) -> ma_result
2382
+ external function ma_vfs_close(pVFS: ptr[ma_vfs], file: ptr[void]) -> ma_result
2383
+ external function ma_vfs_read(pVFS: ptr[ma_vfs], file: ptr[void], pDst: ptr[void], sizeInBytes: ptr_uint, pBytesRead: ptr[ptr_uint]) -> ma_result
2384
+ external function ma_vfs_write(pVFS: ptr[ma_vfs], file: ptr[void], pSrc: const_ptr[void], sizeInBytes: ptr_uint, pBytesWritten: ptr[ptr_uint]) -> ma_result
2385
+ external function ma_vfs_seek(pVFS: ptr[ma_vfs], file: ptr[void], offset: long, origin: ma_seek_origin) -> ma_result
2386
+ external function ma_vfs_tell(pVFS: ptr[ma_vfs], file: ptr[void], pCursor: ptr[ma_int64]) -> ma_result
2387
+ external function ma_vfs_info(pVFS: ptr[ma_vfs], file: ptr[void], pInfo: ptr[ma_file_info]) -> ma_result
2388
+ external function ma_vfs_open_and_read_file(pVFS: ptr[ma_vfs], pFilePath: cstr, ppData: ptr[ptr[void]], pSize: ptr[ptr_uint], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> ma_result
2389
+
2390
+ struct ma_default_vfs:
2391
+ cb: ma_vfs_callbacks
2392
+ allocationCallbacks: ma_allocation_callbacks
2393
+
2394
+ external function ma_default_vfs_init(pVFS: ptr[ma_default_vfs], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> ma_result
2395
+
2396
+ type ma_read_proc = fn(arg0: ptr[void], arg1: ptr[void], arg2: ptr_uint, arg3: ptr[ptr_uint]) -> ma_result
2397
+ type ma_seek_proc = fn(arg0: ptr[void], arg1: ma_int64, arg2: ma_seek_origin) -> ma_result
2398
+ type ma_tell_proc = fn(arg0: ptr[void], arg1: ptr[ma_int64]) -> ma_result
2399
+
2400
+ enum ma_encoding_format: int
2401
+ ma_encoding_format_unknown = 0
2402
+ ma_encoding_format_wav = 1
2403
+ ma_encoding_format_flac = 2
2404
+ ma_encoding_format_mp3 = 3
2405
+ ma_encoding_format_vorbis = 4
2406
+
2407
+ struct ma_decoding_backend_config:
2408
+ preferredFormat: ma_format
2409
+ seekPointCount: uint
2410
+
2411
+ external function ma_decoding_backend_config_init(preferredFormat: ma_format, seekPointCount: uint) -> ma_decoding_backend_config
2412
+
2413
+ struct ma_decoding_backend_vtable:
2414
+ onInit: fn(arg0: ptr[void], arg1: ma_read_proc, arg2: ma_seek_proc, arg3: ma_tell_proc, arg4: ptr[void], arg5: const_ptr[ma_decoding_backend_config], arg6: const_ptr[ma_allocation_callbacks], arg7: ptr[ptr[ma_data_source]]) -> ma_result
2415
+ onInitFile: fn(arg0: ptr[void], arg1: cstr, arg2: const_ptr[ma_decoding_backend_config], arg3: const_ptr[ma_allocation_callbacks], arg4: ptr[ptr[ma_data_source]]) -> ma_result
2416
+ onInitFileW: fn(arg0: ptr[void], arg1: const_ptr[int], arg2: const_ptr[ma_decoding_backend_config], arg3: const_ptr[ma_allocation_callbacks], arg4: ptr[ptr[ma_data_source]]) -> ma_result
2417
+ onInitMemory: fn(arg0: ptr[void], arg1: const_ptr[void], arg2: ptr_uint, arg3: const_ptr[ma_decoding_backend_config], arg4: const_ptr[ma_allocation_callbacks], arg5: ptr[ptr[ma_data_source]]) -> ma_result
2418
+ onUninit: fn(arg0: ptr[void], arg1: ptr[ma_data_source], arg2: const_ptr[ma_allocation_callbacks]) -> void
2419
+
2420
+ type ma_decoder_read_proc = fn(arg0: ptr[ma_decoder], arg1: ptr[void], arg2: ptr_uint, arg3: ptr[ptr_uint]) -> ma_result
2421
+ type ma_decoder_seek_proc = fn(arg0: ptr[ma_decoder], arg1: ma_int64, arg2: ma_seek_origin) -> ma_result
2422
+ type ma_decoder_tell_proc = fn(arg0: ptr[ma_decoder], arg1: ptr[ma_int64]) -> ma_result
2423
+
2424
+ struct ma_decoder_config:
2425
+ format: ma_format
2426
+ channels: uint
2427
+ sampleRate: uint
2428
+ pChannelMap: ptr[ma_channel]
2429
+ channelMixMode: ma_channel_mix_mode
2430
+ ditherMode: ma_dither_mode
2431
+ resampling: ma_resampler_config
2432
+ allocationCallbacks: ma_allocation_callbacks
2433
+ encodingFormat: ma_encoding_format
2434
+ seekPointCount: uint
2435
+ ppCustomBackendVTables: ptr[ptr[ma_decoding_backend_vtable]]
2436
+ customBackendCount: uint
2437
+ pCustomBackendUserData: ptr[void]
2438
+
2439
+ struct ma_decoder:
2440
+ ds: ma_data_source_base
2441
+ pBackend: ptr[ma_data_source]
2442
+ pBackendVTable: const_ptr[ma_decoding_backend_vtable]
2443
+ pBackendUserData: ptr[void]
2444
+ onRead: fn(arg0: ptr[ma_decoder], arg1: ptr[void], arg2: ptr_uint, arg3: ptr[ptr_uint]) -> ma_result
2445
+ onSeek: fn(arg0: ptr[ma_decoder], arg1: ma_int64, arg2: ma_seek_origin) -> ma_result
2446
+ onTell: fn(arg0: ptr[ma_decoder], arg1: ptr[ma_int64]) -> ma_result
2447
+ pUserData: ptr[void]
2448
+ readPointerInPCMFrames: ulong
2449
+ outputFormat: ma_format
2450
+ outputChannels: uint
2451
+ outputSampleRate: uint
2452
+ converter: ma_data_converter
2453
+ pInputCache: ptr[void]
2454
+ inputCacheCap: ulong
2455
+ inputCacheConsumed: ulong
2456
+ inputCacheRemaining: ulong
2457
+ allocationCallbacks: ma_allocation_callbacks
2458
+ data: ma_decoder_data
2459
+
2460
+ external function ma_decoder_config_init(outputFormat: ma_format, outputChannels: uint, outputSampleRate: uint) -> ma_decoder_config
2461
+ external function ma_decoder_config_init_default() -> ma_decoder_config
2462
+ external function ma_decoder_init(onRead: fn(arg0: ptr[ma_decoder], arg1: ptr[void], arg2: ptr_uint, arg3: ptr[ptr_uint]) -> ma_result, onSeek: fn(arg0: ptr[ma_decoder], arg1: ma_int64, arg2: ma_seek_origin) -> ma_result, pUserData: ptr[void], pConfig: const_ptr[ma_decoder_config], pDecoder: ptr[ma_decoder]) -> ma_result
2463
+ external function ma_decoder_init_memory(pData: const_ptr[void], dataSize: ptr_uint, pConfig: const_ptr[ma_decoder_config], pDecoder: ptr[ma_decoder]) -> ma_result
2464
+ external function ma_decoder_init_vfs(pVFS: ptr[ma_vfs], pFilePath: cstr, pConfig: const_ptr[ma_decoder_config], pDecoder: ptr[ma_decoder]) -> ma_result
2465
+ external function ma_decoder_init_vfs_w(pVFS: ptr[ma_vfs], pFilePath: const_ptr[int], pConfig: const_ptr[ma_decoder_config], pDecoder: ptr[ma_decoder]) -> ma_result
2466
+ external function ma_decoder_init_file(pFilePath: cstr, pConfig: const_ptr[ma_decoder_config], pDecoder: ptr[ma_decoder]) -> ma_result
2467
+ external function ma_decoder_init_file_w(pFilePath: const_ptr[int], pConfig: const_ptr[ma_decoder_config], pDecoder: ptr[ma_decoder]) -> ma_result
2468
+ external function ma_decoder_uninit(pDecoder: ptr[ma_decoder]) -> ma_result
2469
+ external function ma_decoder_read_pcm_frames(pDecoder: ptr[ma_decoder], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
2470
+ external function ma_decoder_seek_to_pcm_frame(pDecoder: ptr[ma_decoder], frameIndex: ulong) -> ma_result
2471
+ external function ma_decoder_get_data_format(pDecoder: ptr[ma_decoder], pFormat: ptr[ma_format], pChannels: ptr[ma_uint32], pSampleRate: ptr[ma_uint32], pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint) -> ma_result
2472
+ external function ma_decoder_get_cursor_in_pcm_frames(pDecoder: ptr[ma_decoder], pCursor: ptr[ma_uint64]) -> ma_result
2473
+ external function ma_decoder_get_length_in_pcm_frames(pDecoder: ptr[ma_decoder], pLength: ptr[ma_uint64]) -> ma_result
2474
+ external function ma_decoder_get_available_frames(pDecoder: ptr[ma_decoder], pAvailableFrames: ptr[ma_uint64]) -> ma_result
2475
+ external function ma_decode_from_vfs(pVFS: ptr[ma_vfs], pFilePath: cstr, pConfig: ptr[ma_decoder_config], pFrameCountOut: ptr[ma_uint64], ppPCMFramesOut: ptr[ptr[void]]) -> ma_result
2476
+ external function ma_decode_file(pFilePath: cstr, pConfig: ptr[ma_decoder_config], pFrameCountOut: ptr[ma_uint64], ppPCMFramesOut: ptr[ptr[void]]) -> ma_result
2477
+ external function ma_decode_memory(pData: const_ptr[void], dataSize: ptr_uint, pConfig: ptr[ma_decoder_config], pFrameCountOut: ptr[ma_uint64], ppPCMFramesOut: ptr[ptr[void]]) -> ma_result
2478
+
2479
+ type ma_encoder_write_proc = fn(arg0: ptr[ma_encoder], arg1: const_ptr[void], arg2: ptr_uint, arg3: ptr[ptr_uint]) -> ma_result
2480
+ type ma_encoder_seek_proc = fn(arg0: ptr[ma_encoder], arg1: ma_int64, arg2: ma_seek_origin) -> ma_result
2481
+ type ma_encoder_init_proc = fn(arg0: ptr[ma_encoder]) -> ma_result
2482
+ type ma_encoder_uninit_proc = fn(arg0: ptr[ma_encoder]) -> void
2483
+ type ma_encoder_write_pcm_frames_proc = fn(arg0: ptr[ma_encoder], arg1: const_ptr[void], arg2: ma_uint64, arg3: ptr[ma_uint64]) -> ma_result
2484
+
2485
+ struct ma_encoder_config:
2486
+ encodingFormat: ma_encoding_format
2487
+ format: ma_format
2488
+ channels: uint
2489
+ sampleRate: uint
2490
+ allocationCallbacks: ma_allocation_callbacks
2491
+
2492
+ external function ma_encoder_config_init(encodingFormat: ma_encoding_format, format: ma_format, channels: uint, sampleRate: uint) -> ma_encoder_config
2493
+
2494
+ struct ma_encoder:
2495
+ config: ma_encoder_config
2496
+ onWrite: fn(arg0: ptr[ma_encoder], arg1: const_ptr[void], arg2: ptr_uint, arg3: ptr[ptr_uint]) -> ma_result
2497
+ onSeek: fn(arg0: ptr[ma_encoder], arg1: ma_int64, arg2: ma_seek_origin) -> ma_result
2498
+ onInit: fn(arg0: ptr[ma_encoder]) -> ma_result
2499
+ onUninit: fn(arg0: ptr[ma_encoder]) -> void
2500
+ onWritePCMFrames: fn(arg0: ptr[ma_encoder], arg1: const_ptr[void], arg2: ma_uint64, arg3: ptr[ma_uint64]) -> ma_result
2501
+ pUserData: ptr[void]
2502
+ pInternalEncoder: ptr[void]
2503
+ data: ma_encoder_data
2504
+
2505
+ external function ma_encoder_init(onWrite: fn(arg0: ptr[ma_encoder], arg1: const_ptr[void], arg2: ptr_uint, arg3: ptr[ptr_uint]) -> ma_result, onSeek: fn(arg0: ptr[ma_encoder], arg1: ma_int64, arg2: ma_seek_origin) -> ma_result, pUserData: ptr[void], pConfig: const_ptr[ma_encoder_config], pEncoder: ptr[ma_encoder]) -> ma_result
2506
+ external function ma_encoder_init_vfs(pVFS: ptr[ma_vfs], pFilePath: cstr, pConfig: const_ptr[ma_encoder_config], pEncoder: ptr[ma_encoder]) -> ma_result
2507
+ external function ma_encoder_init_vfs_w(pVFS: ptr[ma_vfs], pFilePath: const_ptr[int], pConfig: const_ptr[ma_encoder_config], pEncoder: ptr[ma_encoder]) -> ma_result
2508
+ external function ma_encoder_init_file(pFilePath: cstr, pConfig: const_ptr[ma_encoder_config], pEncoder: ptr[ma_encoder]) -> ma_result
2509
+ external function ma_encoder_init_file_w(pFilePath: const_ptr[int], pConfig: const_ptr[ma_encoder_config], pEncoder: ptr[ma_encoder]) -> ma_result
2510
+ external function ma_encoder_uninit(pEncoder: ptr[ma_encoder]) -> void
2511
+ external function ma_encoder_write_pcm_frames(pEncoder: ptr[ma_encoder], pFramesIn: const_ptr[void], frameCount: ulong, pFramesWritten: ptr[ma_uint64]) -> ma_result
2512
+
2513
+ enum ma_waveform_type: int
2514
+ ma_waveform_type_sine = 0
2515
+ ma_waveform_type_square = 1
2516
+ ma_waveform_type_triangle = 2
2517
+ ma_waveform_type_sawtooth = 3
2518
+
2519
+ struct ma_waveform_config:
2520
+ format: ma_format
2521
+ channels: uint
2522
+ sampleRate: uint
2523
+ type_: ma_waveform_type
2524
+ amplitude: double
2525
+ frequency: double
2526
+
2527
+ external function ma_waveform_config_init(format: ma_format, channels: uint, sampleRate: uint, type_: ma_waveform_type, amplitude: double, frequency: double) -> ma_waveform_config
2528
+
2529
+ struct ma_waveform:
2530
+ ds: ma_data_source_base
2531
+ config: ma_waveform_config
2532
+ advance: double
2533
+ time: double
2534
+
2535
+ external function ma_waveform_init(pConfig: const_ptr[ma_waveform_config], pWaveform: ptr[ma_waveform]) -> ma_result
2536
+ external function ma_waveform_uninit(pWaveform: ptr[ma_waveform]) -> void
2537
+ external function ma_waveform_read_pcm_frames(pWaveform: ptr[ma_waveform], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
2538
+ external function ma_waveform_seek_to_pcm_frame(pWaveform: ptr[ma_waveform], frameIndex: ulong) -> ma_result
2539
+ external function ma_waveform_set_amplitude(pWaveform: ptr[ma_waveform], amplitude: double) -> ma_result
2540
+ external function ma_waveform_set_frequency(pWaveform: ptr[ma_waveform], frequency: double) -> ma_result
2541
+ external function ma_waveform_set_type(pWaveform: ptr[ma_waveform], type_: ma_waveform_type) -> ma_result
2542
+ external function ma_waveform_set_sample_rate(pWaveform: ptr[ma_waveform], sampleRate: uint) -> ma_result
2543
+
2544
+ struct ma_pulsewave_config:
2545
+ format: ma_format
2546
+ channels: uint
2547
+ sampleRate: uint
2548
+ dutyCycle: double
2549
+ amplitude: double
2550
+ frequency: double
2551
+
2552
+ external function ma_pulsewave_config_init(format: ma_format, channels: uint, sampleRate: uint, dutyCycle: double, amplitude: double, frequency: double) -> ma_pulsewave_config
2553
+
2554
+ struct ma_pulsewave:
2555
+ waveform: ma_waveform
2556
+ config: ma_pulsewave_config
2557
+
2558
+ external function ma_pulsewave_init(pConfig: const_ptr[ma_pulsewave_config], pWaveform: ptr[ma_pulsewave]) -> ma_result
2559
+ external function ma_pulsewave_uninit(pWaveform: ptr[ma_pulsewave]) -> void
2560
+ external function ma_pulsewave_read_pcm_frames(pWaveform: ptr[ma_pulsewave], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
2561
+ external function ma_pulsewave_seek_to_pcm_frame(pWaveform: ptr[ma_pulsewave], frameIndex: ulong) -> ma_result
2562
+ external function ma_pulsewave_set_amplitude(pWaveform: ptr[ma_pulsewave], amplitude: double) -> ma_result
2563
+ external function ma_pulsewave_set_frequency(pWaveform: ptr[ma_pulsewave], frequency: double) -> ma_result
2564
+ external function ma_pulsewave_set_sample_rate(pWaveform: ptr[ma_pulsewave], sampleRate: uint) -> ma_result
2565
+ external function ma_pulsewave_set_duty_cycle(pWaveform: ptr[ma_pulsewave], dutyCycle: double) -> ma_result
2566
+
2567
+ flags ma_noise_type: int
2568
+ ma_noise_type_white = 0
2569
+ ma_noise_type_pink = 1
2570
+ ma_noise_type_brownian = 2
2571
+
2572
+ struct ma_noise_config:
2573
+ format: ma_format
2574
+ channels: uint
2575
+ type_: ma_noise_type
2576
+ seed: int
2577
+ amplitude: double
2578
+ duplicateChannels: uint
2579
+
2580
+ external function ma_noise_config_init(format: ma_format, channels: uint, type_: ma_noise_type, seed: int, amplitude: double) -> ma_noise_config
2581
+
2582
+ struct ma_noise:
2583
+ ds: ma_data_source_base
2584
+ config: ma_noise_config
2585
+ lcg: ma_lcg
2586
+ state: ma_noise_state
2587
+ _pHeap: ptr[void]
2588
+ _ownsHeap: uint
2589
+
2590
+ external function ma_noise_get_heap_size(pConfig: const_ptr[ma_noise_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
2591
+ external function ma_noise_init_preallocated(pConfig: const_ptr[ma_noise_config], pHeap: ptr[void], pNoise: ptr[ma_noise]) -> ma_result
2592
+ external function ma_noise_init(pConfig: const_ptr[ma_noise_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNoise: ptr[ma_noise]) -> ma_result
2593
+ external function ma_noise_uninit(pNoise: ptr[ma_noise], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
2594
+ external function ma_noise_read_pcm_frames(pNoise: ptr[ma_noise], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
2595
+ external function ma_noise_set_amplitude(pNoise: ptr[ma_noise], amplitude: double) -> ma_result
2596
+ external function ma_noise_set_seed(pNoise: ptr[ma_noise], seed: int) -> ma_result
2597
+ external function ma_noise_set_type(pNoise: ptr[ma_noise], type_: ma_noise_type) -> ma_result
2598
+
2599
+ flags ma_resource_manager_data_source_flags: int
2600
+ MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_STREAM = 1
2601
+ MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_DECODE = 2
2602
+ MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_ASYNC = 4
2603
+ MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_WAIT_INIT = 8
2604
+ MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_UNKNOWN_LENGTH = 16
2605
+ MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING = 32
2606
+
2607
+ struct ma_resource_manager_pipeline_stage_notification:
2608
+ pNotification: ptr[ma_async_notification]
2609
+ pFence: ptr[ma_fence]
2610
+
2611
+ struct ma_resource_manager_pipeline_notifications:
2612
+ init: ma_resource_manager_pipeline_stage_notification
2613
+ done: ma_resource_manager_pipeline_stage_notification
2614
+
2615
+ external function ma_resource_manager_pipeline_notifications_init() -> ma_resource_manager_pipeline_notifications
2616
+
2617
+ flags ma_resource_manager_flags: int
2618
+ MA_RESOURCE_MANAGER_FLAG_NON_BLOCKING = 1
2619
+ MA_RESOURCE_MANAGER_FLAG_NO_THREADING = 2
2620
+
2621
+ struct ma_resource_manager_data_source_config:
2622
+ pFilePath: cstr
2623
+ pFilePathW: const_ptr[int]
2624
+ pNotifications: const_ptr[ma_resource_manager_pipeline_notifications]
2625
+ initialSeekPointInPCMFrames: ulong
2626
+ rangeBegInPCMFrames: ulong
2627
+ rangeEndInPCMFrames: ulong
2628
+ loopPointBegInPCMFrames: ulong
2629
+ loopPointEndInPCMFrames: ulong
2630
+ flags_: uint
2631
+ isLooping: uint
2632
+
2633
+ external function ma_resource_manager_data_source_config_init() -> ma_resource_manager_data_source_config
2634
+
2635
+ enum ma_resource_manager_data_supply_type: int
2636
+ ma_resource_manager_data_supply_type_unknown = 0
2637
+ ma_resource_manager_data_supply_type_encoded = 1
2638
+ ma_resource_manager_data_supply_type_decoded = 2
2639
+ ma_resource_manager_data_supply_type_decoded_paged = 3
2640
+
2641
+ struct ma_resource_manager_data_supply:
2642
+ type_: ma_resource_manager_data_supply_type
2643
+ backend: ma_resource_manager_data_supply_backend
2644
+
2645
+ struct ma_resource_manager_data_buffer_node:
2646
+ hashedName32: uint
2647
+ refCount: uint
2648
+ result: ma_result
2649
+ executionCounter: uint
2650
+ executionPointer: uint
2651
+ isDataOwnedByResourceManager: uint
2652
+ data: ma_resource_manager_data_supply
2653
+ pParent: ptr[ma_resource_manager_data_buffer_node]
2654
+ pChildLo: ptr[ma_resource_manager_data_buffer_node]
2655
+ pChildHi: ptr[ma_resource_manager_data_buffer_node]
2656
+
2657
+ struct ma_resource_manager_data_buffer:
2658
+ ds: ma_data_source_base
2659
+ pResourceManager: ptr[ma_resource_manager]
2660
+ pNode: ptr[ma_resource_manager_data_buffer_node]
2661
+ flags_: uint
2662
+ executionCounter: uint
2663
+ executionPointer: uint
2664
+ seekTargetInPCMFrames: ulong
2665
+ seekToCursorOnNextRead: uint
2666
+ result: ma_result
2667
+ isLooping: uint
2668
+ isConnectorInitialized: ma_atomic_bool32
2669
+ connector: ma_resource_manager_data_buffer_connector
2670
+
2671
+ struct ma_resource_manager_data_stream:
2672
+ ds: ma_data_source_base
2673
+ pResourceManager: ptr[ma_resource_manager]
2674
+ flags_: uint
2675
+ decoder: ma_decoder
2676
+ isDecoderInitialized: uint
2677
+ totalLengthInPCMFrames: ulong
2678
+ relativeCursor: uint
2679
+ absoluteCursor: ulong
2680
+ currentPageIndex: uint
2681
+ executionCounter: uint
2682
+ executionPointer: uint
2683
+ isLooping: uint
2684
+ pPageData: ptr[void]
2685
+ pageFrameCount: array[ma_uint32, 2]
2686
+ result: ma_result
2687
+ isDecoderAtEnd: uint
2688
+ isPageValid: array[ma_bool32, 2]
2689
+ seekCounter: uint
2690
+
2691
+ struct ma_resource_manager_data_source:
2692
+ backend: ma_resource_manager_data_source_backend
2693
+ flags_: uint
2694
+ executionCounter: uint
2695
+ executionPointer: uint
2696
+
2697
+ struct ma_resource_manager_config:
2698
+ allocationCallbacks: ma_allocation_callbacks
2699
+ pLog: ptr[ma_log]
2700
+ decodedFormat: ma_format
2701
+ decodedChannels: uint
2702
+ decodedSampleRate: uint
2703
+ jobThreadCount: uint
2704
+ jobThreadStackSize: ptr_uint
2705
+ jobQueueCapacity: uint
2706
+ flags_: uint
2707
+ pVFS: ptr[ma_vfs]
2708
+ ppCustomDecodingBackendVTables: ptr[ptr[ma_decoding_backend_vtable]]
2709
+ customDecodingBackendCount: uint
2710
+ pCustomDecodingBackendUserData: ptr[void]
2711
+ resampling: ma_resampler_config
2712
+
2713
+ external function ma_resource_manager_config_init() -> ma_resource_manager_config
2714
+
2715
+ struct ma_resource_manager:
2716
+ config: ma_resource_manager_config
2717
+ pRootDataBufferNode: ptr[ma_resource_manager_data_buffer_node]
2718
+ dataBufferBSTLock: pthread_mutex_t
2719
+ jobThreads: array[ma_thread, 64]
2720
+ jobQueue: ma_job_queue
2721
+ defaultVFS: ma_default_vfs
2722
+ log: ma_log
2723
+
2724
+ external function ma_resource_manager_init(pConfig: const_ptr[ma_resource_manager_config], pResourceManager: ptr[ma_resource_manager]) -> ma_result
2725
+ external function ma_resource_manager_uninit(pResourceManager: ptr[ma_resource_manager]) -> void
2726
+ external function ma_resource_manager_get_log(pResourceManager: ptr[ma_resource_manager]) -> ptr[ma_log]
2727
+ external function ma_resource_manager_register_file(pResourceManager: ptr[ma_resource_manager], pFilePath: cstr, flags_: uint) -> ma_result
2728
+ external function ma_resource_manager_register_file_w(pResourceManager: ptr[ma_resource_manager], pFilePath: const_ptr[int], flags_: uint) -> ma_result
2729
+ external function ma_resource_manager_register_decoded_data(pResourceManager: ptr[ma_resource_manager], pName: cstr, pData: const_ptr[void], frameCount: ulong, format: ma_format, channels: uint, sampleRate: uint) -> ma_result
2730
+ external function ma_resource_manager_register_decoded_data_w(pResourceManager: ptr[ma_resource_manager], pName: const_ptr[int], pData: const_ptr[void], frameCount: ulong, format: ma_format, channels: uint, sampleRate: uint) -> ma_result
2731
+ external function ma_resource_manager_register_encoded_data(pResourceManager: ptr[ma_resource_manager], pName: cstr, pData: const_ptr[void], sizeInBytes: ptr_uint) -> ma_result
2732
+ external function ma_resource_manager_register_encoded_data_w(pResourceManager: ptr[ma_resource_manager], pName: const_ptr[int], pData: const_ptr[void], sizeInBytes: ptr_uint) -> ma_result
2733
+ external function ma_resource_manager_unregister_file(pResourceManager: ptr[ma_resource_manager], pFilePath: cstr) -> ma_result
2734
+ external function ma_resource_manager_unregister_file_w(pResourceManager: ptr[ma_resource_manager], pFilePath: const_ptr[int]) -> ma_result
2735
+ external function ma_resource_manager_unregister_data(pResourceManager: ptr[ma_resource_manager], pName: cstr) -> ma_result
2736
+ external function ma_resource_manager_unregister_data_w(pResourceManager: ptr[ma_resource_manager], pName: const_ptr[int]) -> ma_result
2737
+ external function ma_resource_manager_data_buffer_init_ex(pResourceManager: ptr[ma_resource_manager], pConfig: const_ptr[ma_resource_manager_data_source_config], pDataBuffer: ptr[ma_resource_manager_data_buffer]) -> ma_result
2738
+ external function ma_resource_manager_data_buffer_init(pResourceManager: ptr[ma_resource_manager], pFilePath: cstr, flags_: uint, pNotifications: const_ptr[ma_resource_manager_pipeline_notifications], pDataBuffer: ptr[ma_resource_manager_data_buffer]) -> ma_result
2739
+ external function ma_resource_manager_data_buffer_init_w(pResourceManager: ptr[ma_resource_manager], pFilePath: const_ptr[int], flags_: uint, pNotifications: const_ptr[ma_resource_manager_pipeline_notifications], pDataBuffer: ptr[ma_resource_manager_data_buffer]) -> ma_result
2740
+ external function ma_resource_manager_data_buffer_init_copy(pResourceManager: ptr[ma_resource_manager], pExistingDataBuffer: const_ptr[ma_resource_manager_data_buffer], pDataBuffer: ptr[ma_resource_manager_data_buffer]) -> ma_result
2741
+ external function ma_resource_manager_data_buffer_uninit(pDataBuffer: ptr[ma_resource_manager_data_buffer]) -> ma_result
2742
+ external function ma_resource_manager_data_buffer_read_pcm_frames(pDataBuffer: ptr[ma_resource_manager_data_buffer], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
2743
+ external function ma_resource_manager_data_buffer_seek_to_pcm_frame(pDataBuffer: ptr[ma_resource_manager_data_buffer], frameIndex: ulong) -> ma_result
2744
+ external function ma_resource_manager_data_buffer_get_data_format(pDataBuffer: ptr[ma_resource_manager_data_buffer], pFormat: ptr[ma_format], pChannels: ptr[ma_uint32], pSampleRate: ptr[ma_uint32], pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint) -> ma_result
2745
+ external function ma_resource_manager_data_buffer_get_cursor_in_pcm_frames(pDataBuffer: ptr[ma_resource_manager_data_buffer], pCursor: ptr[ma_uint64]) -> ma_result
2746
+ external function ma_resource_manager_data_buffer_get_length_in_pcm_frames(pDataBuffer: ptr[ma_resource_manager_data_buffer], pLength: ptr[ma_uint64]) -> ma_result
2747
+ external function ma_resource_manager_data_buffer_result(pDataBuffer: const_ptr[ma_resource_manager_data_buffer]) -> ma_result
2748
+ external function ma_resource_manager_data_buffer_set_looping(pDataBuffer: ptr[ma_resource_manager_data_buffer], isLooping: uint) -> ma_result
2749
+ external function ma_resource_manager_data_buffer_is_looping(pDataBuffer: const_ptr[ma_resource_manager_data_buffer]) -> ma_bool32
2750
+ external function ma_resource_manager_data_buffer_get_available_frames(pDataBuffer: ptr[ma_resource_manager_data_buffer], pAvailableFrames: ptr[ma_uint64]) -> ma_result
2751
+ external function ma_resource_manager_data_stream_init_ex(pResourceManager: ptr[ma_resource_manager], pConfig: const_ptr[ma_resource_manager_data_source_config], pDataStream: ptr[ma_resource_manager_data_stream]) -> ma_result
2752
+ external function ma_resource_manager_data_stream_init(pResourceManager: ptr[ma_resource_manager], pFilePath: cstr, flags_: uint, pNotifications: const_ptr[ma_resource_manager_pipeline_notifications], pDataStream: ptr[ma_resource_manager_data_stream]) -> ma_result
2753
+ external function ma_resource_manager_data_stream_init_w(pResourceManager: ptr[ma_resource_manager], pFilePath: const_ptr[int], flags_: uint, pNotifications: const_ptr[ma_resource_manager_pipeline_notifications], pDataStream: ptr[ma_resource_manager_data_stream]) -> ma_result
2754
+ external function ma_resource_manager_data_stream_uninit(pDataStream: ptr[ma_resource_manager_data_stream]) -> ma_result
2755
+ external function ma_resource_manager_data_stream_read_pcm_frames(pDataStream: ptr[ma_resource_manager_data_stream], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
2756
+ external function ma_resource_manager_data_stream_seek_to_pcm_frame(pDataStream: ptr[ma_resource_manager_data_stream], frameIndex: ulong) -> ma_result
2757
+ external function ma_resource_manager_data_stream_get_data_format(pDataStream: ptr[ma_resource_manager_data_stream], pFormat: ptr[ma_format], pChannels: ptr[ma_uint32], pSampleRate: ptr[ma_uint32], pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint) -> ma_result
2758
+ external function ma_resource_manager_data_stream_get_cursor_in_pcm_frames(pDataStream: ptr[ma_resource_manager_data_stream], pCursor: ptr[ma_uint64]) -> ma_result
2759
+ external function ma_resource_manager_data_stream_get_length_in_pcm_frames(pDataStream: ptr[ma_resource_manager_data_stream], pLength: ptr[ma_uint64]) -> ma_result
2760
+ external function ma_resource_manager_data_stream_result(pDataStream: const_ptr[ma_resource_manager_data_stream]) -> ma_result
2761
+ external function ma_resource_manager_data_stream_set_looping(pDataStream: ptr[ma_resource_manager_data_stream], isLooping: uint) -> ma_result
2762
+ external function ma_resource_manager_data_stream_is_looping(pDataStream: const_ptr[ma_resource_manager_data_stream]) -> ma_bool32
2763
+ external function ma_resource_manager_data_stream_get_available_frames(pDataStream: ptr[ma_resource_manager_data_stream], pAvailableFrames: ptr[ma_uint64]) -> ma_result
2764
+ external function ma_resource_manager_data_source_init_ex(pResourceManager: ptr[ma_resource_manager], pConfig: const_ptr[ma_resource_manager_data_source_config], pDataSource: ptr[ma_resource_manager_data_source]) -> ma_result
2765
+ external function ma_resource_manager_data_source_init(pResourceManager: ptr[ma_resource_manager], pName: cstr, flags_: uint, pNotifications: const_ptr[ma_resource_manager_pipeline_notifications], pDataSource: ptr[ma_resource_manager_data_source]) -> ma_result
2766
+ external function ma_resource_manager_data_source_init_w(pResourceManager: ptr[ma_resource_manager], pName: const_ptr[int], flags_: uint, pNotifications: const_ptr[ma_resource_manager_pipeline_notifications], pDataSource: ptr[ma_resource_manager_data_source]) -> ma_result
2767
+ external function ma_resource_manager_data_source_init_copy(pResourceManager: ptr[ma_resource_manager], pExistingDataSource: const_ptr[ma_resource_manager_data_source], pDataSource: ptr[ma_resource_manager_data_source]) -> ma_result
2768
+ external function ma_resource_manager_data_source_uninit(pDataSource: ptr[ma_resource_manager_data_source]) -> ma_result
2769
+ external function ma_resource_manager_data_source_read_pcm_frames(pDataSource: ptr[ma_resource_manager_data_source], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
2770
+ external function ma_resource_manager_data_source_seek_to_pcm_frame(pDataSource: ptr[ma_resource_manager_data_source], frameIndex: ulong) -> ma_result
2771
+ external function ma_resource_manager_data_source_get_data_format(pDataSource: ptr[ma_resource_manager_data_source], pFormat: ptr[ma_format], pChannels: ptr[ma_uint32], pSampleRate: ptr[ma_uint32], pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint) -> ma_result
2772
+ external function ma_resource_manager_data_source_get_cursor_in_pcm_frames(pDataSource: ptr[ma_resource_manager_data_source], pCursor: ptr[ma_uint64]) -> ma_result
2773
+ external function ma_resource_manager_data_source_get_length_in_pcm_frames(pDataSource: ptr[ma_resource_manager_data_source], pLength: ptr[ma_uint64]) -> ma_result
2774
+ external function ma_resource_manager_data_source_result(pDataSource: const_ptr[ma_resource_manager_data_source]) -> ma_result
2775
+ external function ma_resource_manager_data_source_set_looping(pDataSource: ptr[ma_resource_manager_data_source], isLooping: uint) -> ma_result
2776
+ external function ma_resource_manager_data_source_is_looping(pDataSource: const_ptr[ma_resource_manager_data_source]) -> ma_bool32
2777
+ external function ma_resource_manager_data_source_get_available_frames(pDataSource: ptr[ma_resource_manager_data_source], pAvailableFrames: ptr[ma_uint64]) -> ma_result
2778
+ external function ma_resource_manager_post_job(pResourceManager: ptr[ma_resource_manager], pJob: const_ptr[ma_job]) -> ma_result
2779
+ external function ma_resource_manager_post_job_quit(pResourceManager: ptr[ma_resource_manager]) -> ma_result
2780
+ external function ma_resource_manager_next_job(pResourceManager: ptr[ma_resource_manager], pJob: ptr[ma_job]) -> ma_result
2781
+ external function ma_resource_manager_process_job(pResourceManager: ptr[ma_resource_manager], pJob: ptr[ma_job]) -> ma_result
2782
+ external function ma_resource_manager_process_next_job(pResourceManager: ptr[ma_resource_manager]) -> ma_result
2783
+
2784
+ struct ma_stack:
2785
+ offset: ptr_uint
2786
+ sizeInBytes: ptr_uint
2787
+ _data: array[ubyte, 1]
2788
+
2789
+ type ma_node = void
2790
+
2791
+ flags ma_node_flags: int
2792
+ MA_NODE_FLAG_PASSTHROUGH = 1
2793
+ MA_NODE_FLAG_CONTINUOUS_PROCESSING = 2
2794
+ MA_NODE_FLAG_ALLOW_NULL_INPUT = 4
2795
+ MA_NODE_FLAG_DIFFERENT_PROCESSING_RATES = 8
2796
+ MA_NODE_FLAG_SILENT_OUTPUT = 16
2797
+ flags ma_node_state: int
2798
+ ma_node_state_started = 0
2799
+ ma_node_state_stopped = 1
2800
+
2801
+ struct ma_node_vtable:
2802
+ onProcess: fn(arg0: ptr[ma_node], arg1: ptr[const_ptr[float]], arg2: ptr[ma_uint32], arg3: ptr[ptr[float]], arg4: ptr[ma_uint32]) -> void
2803
+ onGetRequiredInputFrameCount: fn(arg0: ptr[ma_node], arg1: ma_uint32, arg2: ptr[ma_uint32]) -> ma_result
2804
+ inputBusCount: ubyte
2805
+ outputBusCount: ubyte
2806
+ flags_: uint
2807
+
2808
+ struct ma_node_config:
2809
+ vtable: const_ptr[ma_node_vtable]
2810
+ initialState: ma_node_state
2811
+ inputBusCount: uint
2812
+ outputBusCount: uint
2813
+ pInputChannels: const_ptr[ma_uint32]
2814
+ pOutputChannels: const_ptr[ma_uint32]
2815
+
2816
+ external function ma_node_config_init() -> ma_node_config
2817
+
2818
+ struct ma_node_output_bus:
2819
+ pNode: ptr[ma_node]
2820
+ outputBusIndex: ubyte
2821
+ channels: ubyte
2822
+ inputNodeInputBusIndex: ubyte
2823
+ flags_: uint
2824
+ refCount: uint
2825
+ isAttached: uint
2826
+ lock: uint
2827
+ volume: float
2828
+ pNext: ptr[ma_node_output_bus]
2829
+ pPrev: ptr[ma_node_output_bus]
2830
+ pInputNode: ptr[ma_node]
2831
+
2832
+ struct ma_node_input_bus:
2833
+ head: ma_node_output_bus
2834
+ nextCounter: uint
2835
+ lock: uint
2836
+ channels: ubyte
2837
+
2838
+ struct ma_node_base:
2839
+ pNodeGraph: ptr[ma_node_graph]
2840
+ vtable: const_ptr[ma_node_vtable]
2841
+ inputBusCount: uint
2842
+ outputBusCount: uint
2843
+ pInputBuses: ptr[ma_node_input_bus]
2844
+ pOutputBuses: ptr[ma_node_output_bus]
2845
+ pCachedData: ptr[float]
2846
+ cachedDataCapInFramesPerBus: ushort
2847
+ cachedFrameCountOut: ushort
2848
+ cachedFrameCountIn: ushort
2849
+ consumedFrameCountIn: ushort
2850
+ state: ma_node_state
2851
+ stateTimes: array[ma_uint64, 2]
2852
+ localTime: ulong
2853
+ _inputBuses: array[ma_node_input_bus, 2]
2854
+ _outputBuses: array[ma_node_output_bus, 2]
2855
+ _pHeap: ptr[void]
2856
+ _ownsHeap: uint
2857
+
2858
+ external function ma_node_get_heap_size(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_node_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
2859
+ external function ma_node_init_preallocated(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_node_config], pHeap: ptr[void], pNode: ptr[ma_node]) -> ma_result
2860
+ external function ma_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNode: ptr[ma_node]) -> ma_result
2861
+ external function ma_node_uninit(pNode: ptr[ma_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
2862
+ external function ma_node_get_node_graph(pNode: const_ptr[ma_node]) -> ptr[ma_node_graph]
2863
+ external function ma_node_get_input_bus_count(pNode: const_ptr[ma_node]) -> ma_uint32
2864
+ external function ma_node_get_output_bus_count(pNode: const_ptr[ma_node]) -> ma_uint32
2865
+ external function ma_node_get_input_channels(pNode: const_ptr[ma_node], inputBusIndex: uint) -> ma_uint32
2866
+ external function ma_node_get_output_channels(pNode: const_ptr[ma_node], outputBusIndex: uint) -> ma_uint32
2867
+ external function ma_node_attach_output_bus(pNode: ptr[ma_node], outputBusIndex: uint, pOtherNode: ptr[ma_node], otherNodeInputBusIndex: uint) -> ma_result
2868
+ external function ma_node_detach_output_bus(pNode: ptr[ma_node], outputBusIndex: uint) -> ma_result
2869
+ external function ma_node_detach_all_output_buses(pNode: ptr[ma_node]) -> ma_result
2870
+ external function ma_node_set_output_bus_volume(pNode: ptr[ma_node], outputBusIndex: uint, volume: float) -> ma_result
2871
+ external function ma_node_get_output_bus_volume(pNode: const_ptr[ma_node], outputBusIndex: uint) -> float
2872
+ external function ma_node_set_state(pNode: ptr[ma_node], state: ma_node_state) -> ma_result
2873
+ external function ma_node_get_state(pNode: const_ptr[ma_node]) -> ma_node_state
2874
+ external function ma_node_set_state_time(pNode: ptr[ma_node], state: ma_node_state, globalTime: ulong) -> ma_result
2875
+ external function ma_node_get_state_time(pNode: const_ptr[ma_node], state: ma_node_state) -> ma_uint64
2876
+ external function ma_node_get_state_by_time(pNode: const_ptr[ma_node], globalTime: ulong) -> ma_node_state
2877
+ external function ma_node_get_state_by_time_range(pNode: const_ptr[ma_node], globalTimeBeg: ulong, globalTimeEnd: ulong) -> ma_node_state
2878
+ external function ma_node_get_time(pNode: const_ptr[ma_node]) -> ma_uint64
2879
+ external function ma_node_set_time(pNode: ptr[ma_node], localTime: ulong) -> ma_result
2880
+
2881
+ struct ma_node_graph_config:
2882
+ channels: uint
2883
+ processingSizeInFrames: uint
2884
+ preMixStackSizeInBytes: ptr_uint
2885
+
2886
+ external function ma_node_graph_config_init(channels: uint) -> ma_node_graph_config
2887
+
2888
+ struct ma_node_graph:
2889
+ base: ma_node_base
2890
+ endpoint: ma_node_base
2891
+ pProcessingCache: ptr[float]
2892
+ processingCacheFramesRemaining: uint
2893
+ processingSizeInFrames: uint
2894
+ isReading: uint
2895
+ pPreMixStack: ptr[ma_stack]
2896
+
2897
+ external function ma_node_graph_init(pConfig: const_ptr[ma_node_graph_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNodeGraph: ptr[ma_node_graph]) -> ma_result
2898
+ external function ma_node_graph_uninit(pNodeGraph: ptr[ma_node_graph], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
2899
+ external function ma_node_graph_get_endpoint(pNodeGraph: ptr[ma_node_graph]) -> ptr[ma_node]
2900
+ external function ma_node_graph_read_pcm_frames(pNodeGraph: ptr[ma_node_graph], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
2901
+ external function ma_node_graph_get_channels(pNodeGraph: const_ptr[ma_node_graph]) -> ma_uint32
2902
+ external function ma_node_graph_get_time(pNodeGraph: const_ptr[ma_node_graph]) -> ma_uint64
2903
+ external function ma_node_graph_set_time(pNodeGraph: ptr[ma_node_graph], globalTime: ulong) -> ma_result
2904
+ external function ma_node_graph_get_processing_size_in_frames(pNodeGraph: const_ptr[ma_node_graph]) -> ma_uint32
2905
+
2906
+ struct ma_data_source_node_config:
2907
+ nodeConfig: ma_node_config
2908
+ pDataSource: ptr[ma_data_source]
2909
+
2910
+ external function ma_data_source_node_config_init(pDataSource: ptr[ma_data_source]) -> ma_data_source_node_config
2911
+
2912
+ struct ma_data_source_node:
2913
+ base: ma_node_base
2914
+ pDataSource: ptr[ma_data_source]
2915
+
2916
+ external function ma_data_source_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_data_source_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pDataSourceNode: ptr[ma_data_source_node]) -> ma_result
2917
+ external function ma_data_source_node_uninit(pDataSourceNode: ptr[ma_data_source_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
2918
+ external function ma_data_source_node_set_looping(pDataSourceNode: ptr[ma_data_source_node], isLooping: uint) -> ma_result
2919
+ external function ma_data_source_node_is_looping(pDataSourceNode: ptr[ma_data_source_node]) -> ma_bool32
2920
+
2921
+ struct ma_splitter_node_config:
2922
+ nodeConfig: ma_node_config
2923
+ channels: uint
2924
+ outputBusCount: uint
2925
+
2926
+ external function ma_splitter_node_config_init(channels: uint) -> ma_splitter_node_config
2927
+
2928
+ struct ma_splitter_node:
2929
+ base: ma_node_base
2930
+
2931
+ external function ma_splitter_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_splitter_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pSplitterNode: ptr[ma_splitter_node]) -> ma_result
2932
+ external function ma_splitter_node_uninit(pSplitterNode: ptr[ma_splitter_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
2933
+
2934
+ struct ma_biquad_node_config:
2935
+ nodeConfig: ma_node_config
2936
+ biquad: ma_biquad_config
2937
+
2938
+ external function ma_biquad_node_config_init(channels: uint, b0: float, b1: float, b2: float, a0: float, a1: float, a2: float) -> ma_biquad_node_config
2939
+
2940
+ struct ma_biquad_node:
2941
+ baseNode: ma_node_base
2942
+ biquad: ma_biquad
2943
+
2944
+ external function ma_biquad_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_biquad_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNode: ptr[ma_biquad_node]) -> ma_result
2945
+ external function ma_biquad_node_reinit(pConfig: const_ptr[ma_biquad_config], pNode: ptr[ma_biquad_node]) -> ma_result
2946
+ external function ma_biquad_node_uninit(pNode: ptr[ma_biquad_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
2947
+
2948
+ struct ma_lpf_node_config:
2949
+ nodeConfig: ma_node_config
2950
+ lpf: ma_lpf_config
2951
+
2952
+ external function ma_lpf_node_config_init(channels: uint, sampleRate: uint, cutoffFrequency: double, order: uint) -> ma_lpf_node_config
2953
+
2954
+ struct ma_lpf_node:
2955
+ baseNode: ma_node_base
2956
+ lpf: ma_lpf
2957
+
2958
+ external function ma_lpf_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_lpf_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNode: ptr[ma_lpf_node]) -> ma_result
2959
+ external function ma_lpf_node_reinit(pConfig: const_ptr[ma_lpf_config], pNode: ptr[ma_lpf_node]) -> ma_result
2960
+ external function ma_lpf_node_uninit(pNode: ptr[ma_lpf_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
2961
+
2962
+ struct ma_hpf_node_config:
2963
+ nodeConfig: ma_node_config
2964
+ hpf: ma_hpf_config
2965
+
2966
+ external function ma_hpf_node_config_init(channels: uint, sampleRate: uint, cutoffFrequency: double, order: uint) -> ma_hpf_node_config
2967
+
2968
+ struct ma_hpf_node:
2969
+ baseNode: ma_node_base
2970
+ hpf: ma_hpf
2971
+
2972
+ external function ma_hpf_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_hpf_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNode: ptr[ma_hpf_node]) -> ma_result
2973
+ external function ma_hpf_node_reinit(pConfig: const_ptr[ma_hpf_config], pNode: ptr[ma_hpf_node]) -> ma_result
2974
+ external function ma_hpf_node_uninit(pNode: ptr[ma_hpf_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
2975
+
2976
+ struct ma_bpf_node_config:
2977
+ nodeConfig: ma_node_config
2978
+ bpf: ma_bpf_config
2979
+
2980
+ external function ma_bpf_node_config_init(channels: uint, sampleRate: uint, cutoffFrequency: double, order: uint) -> ma_bpf_node_config
2981
+
2982
+ struct ma_bpf_node:
2983
+ baseNode: ma_node_base
2984
+ bpf: ma_bpf
2985
+
2986
+ external function ma_bpf_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_bpf_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNode: ptr[ma_bpf_node]) -> ma_result
2987
+ external function ma_bpf_node_reinit(pConfig: const_ptr[ma_bpf_config], pNode: ptr[ma_bpf_node]) -> ma_result
2988
+ external function ma_bpf_node_uninit(pNode: ptr[ma_bpf_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
2989
+
2990
+ struct ma_notch_node_config:
2991
+ nodeConfig: ma_node_config
2992
+ notch: ma_notch2_config
2993
+
2994
+ external function ma_notch_node_config_init(channels: uint, sampleRate: uint, q: double, frequency: double) -> ma_notch_node_config
2995
+
2996
+ struct ma_notch_node:
2997
+ baseNode: ma_node_base
2998
+ notch: ma_notch2
2999
+
3000
+ external function ma_notch_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_notch_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNode: ptr[ma_notch_node]) -> ma_result
3001
+ external function ma_notch_node_reinit(pConfig: const_ptr[ma_notch_config], pNode: ptr[ma_notch_node]) -> ma_result
3002
+ external function ma_notch_node_uninit(pNode: ptr[ma_notch_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
3003
+
3004
+ struct ma_peak_node_config:
3005
+ nodeConfig: ma_node_config
3006
+ peak: ma_peak2_config
3007
+
3008
+ external function ma_peak_node_config_init(channels: uint, sampleRate: uint, gainDB: double, q: double, frequency: double) -> ma_peak_node_config
3009
+
3010
+ struct ma_peak_node:
3011
+ baseNode: ma_node_base
3012
+ peak: ma_peak2
3013
+
3014
+ external function ma_peak_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_peak_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNode: ptr[ma_peak_node]) -> ma_result
3015
+ external function ma_peak_node_reinit(pConfig: const_ptr[ma_peak_config], pNode: ptr[ma_peak_node]) -> ma_result
3016
+ external function ma_peak_node_uninit(pNode: ptr[ma_peak_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
3017
+
3018
+ struct ma_loshelf_node_config:
3019
+ nodeConfig: ma_node_config
3020
+ loshelf: ma_loshelf2_config
3021
+
3022
+ external function ma_loshelf_node_config_init(channels: uint, sampleRate: uint, gainDB: double, q: double, frequency: double) -> ma_loshelf_node_config
3023
+
3024
+ struct ma_loshelf_node:
3025
+ baseNode: ma_node_base
3026
+ loshelf: ma_loshelf2
3027
+
3028
+ external function ma_loshelf_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_loshelf_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNode: ptr[ma_loshelf_node]) -> ma_result
3029
+ external function ma_loshelf_node_reinit(pConfig: const_ptr[ma_loshelf_config], pNode: ptr[ma_loshelf_node]) -> ma_result
3030
+ external function ma_loshelf_node_uninit(pNode: ptr[ma_loshelf_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
3031
+
3032
+ struct ma_hishelf_node_config:
3033
+ nodeConfig: ma_node_config
3034
+ hishelf: ma_hishelf2_config
3035
+
3036
+ external function ma_hishelf_node_config_init(channels: uint, sampleRate: uint, gainDB: double, q: double, frequency: double) -> ma_hishelf_node_config
3037
+
3038
+ struct ma_hishelf_node:
3039
+ baseNode: ma_node_base
3040
+ hishelf: ma_hishelf2
3041
+
3042
+ external function ma_hishelf_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_hishelf_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pNode: ptr[ma_hishelf_node]) -> ma_result
3043
+ external function ma_hishelf_node_reinit(pConfig: const_ptr[ma_hishelf_config], pNode: ptr[ma_hishelf_node]) -> ma_result
3044
+ external function ma_hishelf_node_uninit(pNode: ptr[ma_hishelf_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
3045
+
3046
+ struct ma_delay_node_config:
3047
+ nodeConfig: ma_node_config
3048
+ delay: ma_delay_config
3049
+
3050
+ external function ma_delay_node_config_init(channels: uint, sampleRate: uint, delayInFrames: uint, decay: float) -> ma_delay_node_config
3051
+
3052
+ struct ma_delay_node:
3053
+ baseNode: ma_node_base
3054
+ delay: ma_delay
3055
+
3056
+ external function ma_delay_node_init(pNodeGraph: ptr[ma_node_graph], pConfig: const_ptr[ma_delay_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pDelayNode: ptr[ma_delay_node]) -> ma_result
3057
+ external function ma_delay_node_uninit(pDelayNode: ptr[ma_delay_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
3058
+ external function ma_delay_node_set_wet(pDelayNode: ptr[ma_delay_node], value: float) -> void
3059
+ external function ma_delay_node_get_wet(pDelayNode: const_ptr[ma_delay_node]) -> float
3060
+ external function ma_delay_node_set_dry(pDelayNode: ptr[ma_delay_node], value: float) -> void
3061
+ external function ma_delay_node_get_dry(pDelayNode: const_ptr[ma_delay_node]) -> float
3062
+ external function ma_delay_node_set_decay(pDelayNode: ptr[ma_delay_node], value: float) -> void
3063
+ external function ma_delay_node_get_decay(pDelayNode: const_ptr[ma_delay_node]) -> float
3064
+
3065
+ flags ma_sound_flags: int
3066
+ MA_SOUND_FLAG_STREAM = 1
3067
+ MA_SOUND_FLAG_DECODE = 2
3068
+ MA_SOUND_FLAG_ASYNC = 4
3069
+ MA_SOUND_FLAG_WAIT_INIT = 8
3070
+ MA_SOUND_FLAG_UNKNOWN_LENGTH = 16
3071
+ MA_SOUND_FLAG_LOOPING = 32
3072
+ MA_SOUND_FLAG_NO_DEFAULT_ATTACHMENT = 4096
3073
+ MA_SOUND_FLAG_NO_PITCH = 8192
3074
+ MA_SOUND_FLAG_NO_SPATIALIZATION = 16384
3075
+ flags ma_engine_node_type: int
3076
+ ma_engine_node_type_sound = 0
3077
+ ma_engine_node_type_group = 1
3078
+
3079
+ struct ma_engine_node_config:
3080
+ pEngine: ptr[ma_engine]
3081
+ type_: ma_engine_node_type
3082
+ channelsIn: uint
3083
+ channelsOut: uint
3084
+ sampleRate: uint
3085
+ volumeSmoothTimeInPCMFrames: uint
3086
+ monoExpansionMode: ma_mono_expansion_mode
3087
+ isPitchDisabled: ubyte
3088
+ isSpatializationDisabled: ubyte
3089
+ pinnedListenerIndex: ubyte
3090
+ resampling: ma_resampler_config
3091
+
3092
+ external function ma_engine_node_config_init(pEngine: ptr[ma_engine], type_: ma_engine_node_type, flags_: uint) -> ma_engine_node_config
3093
+
3094
+ struct ma_engine_node:
3095
+ baseNode: ma_node_base
3096
+ pEngine: ptr[ma_engine]
3097
+ sampleRate: uint
3098
+ volumeSmoothTimeInPCMFrames: uint
3099
+ monoExpansionMode: ma_mono_expansion_mode
3100
+ fader: ma_fader
3101
+ resampler: ma_resampler
3102
+ spatializer: ma_spatializer
3103
+ panner: ma_panner
3104
+ volumeGainer: ma_gainer
3105
+ volume: ma_atomic_float
3106
+ pitch: float
3107
+ oldPitch: float
3108
+ oldDopplerPitch: float
3109
+ isPitchDisabled: uint
3110
+ isSpatializationDisabled: uint
3111
+ pinnedListenerIndex: uint
3112
+ fadeSettings: ma_engine_node_fadeSettings
3113
+ _ownsHeap: ubyte
3114
+ _pHeap: ptr[void]
3115
+
3116
+ external function ma_engine_node_get_heap_size(pConfig: const_ptr[ma_engine_node_config], pHeapSizeInBytes: ptr[ptr_uint]) -> ma_result
3117
+ external function ma_engine_node_init_preallocated(pConfig: const_ptr[ma_engine_node_config], pHeap: ptr[void], pEngineNode: ptr[ma_engine_node]) -> ma_result
3118
+ external function ma_engine_node_init(pConfig: const_ptr[ma_engine_node_config], pAllocationCallbacks: const_ptr[ma_allocation_callbacks], pEngineNode: ptr[ma_engine_node]) -> ma_result
3119
+ external function ma_engine_node_uninit(pEngineNode: ptr[ma_engine_node], pAllocationCallbacks: const_ptr[ma_allocation_callbacks]) -> void
3120
+
3121
+ type ma_sound_end_proc = fn(arg0: ptr[void], arg1: ptr[ma_sound]) -> void
3122
+
3123
+ struct ma_sound_config:
3124
+ pFilePath: cstr
3125
+ pFilePathW: const_ptr[int]
3126
+ pDataSource: ptr[ma_data_source]
3127
+ pInitialAttachment: ptr[ma_node]
3128
+ initialAttachmentInputBusIndex: uint
3129
+ channelsIn: uint
3130
+ channelsOut: uint
3131
+ monoExpansionMode: ma_mono_expansion_mode
3132
+ flags_: uint
3133
+ volumeSmoothTimeInPCMFrames: uint
3134
+ initialSeekPointInPCMFrames: ulong
3135
+ rangeBegInPCMFrames: ulong
3136
+ rangeEndInPCMFrames: ulong
3137
+ loopPointBegInPCMFrames: ulong
3138
+ loopPointEndInPCMFrames: ulong
3139
+ endCallback: fn(arg0: ptr[void], arg1: ptr[ma_sound]) -> void
3140
+ pEndCallbackUserData: ptr[void]
3141
+ pitchResampling: ma_resampler_config
3142
+ initNotifications: ma_resource_manager_pipeline_notifications
3143
+ pDoneFence: ptr[ma_fence]
3144
+ isLooping: uint
3145
+
3146
+ external function ma_sound_config_init() -> ma_sound_config
3147
+ external function ma_sound_config_init_2(pEngine: ptr[ma_engine]) -> ma_sound_config
3148
+
3149
+ struct ma_sound:
3150
+ engineNode: ma_engine_node
3151
+ pDataSource: ptr[ma_data_source]
3152
+ seekTarget: ulong
3153
+ atEnd: uint
3154
+ endCallback: fn(arg0: ptr[void], arg1: ptr[ma_sound]) -> void
3155
+ pEndCallbackUserData: ptr[void]
3156
+ pProcessingCache: ptr[float]
3157
+ processingCacheFramesRemaining: uint
3158
+ processingCacheCap: uint
3159
+ ownsDataSource: ubyte
3160
+ pResourceManagerDataSource: ptr[ma_resource_manager_data_source]
3161
+
3162
+ struct ma_sound_inlined:
3163
+ sound: ma_sound
3164
+ pNext: ptr[ma_sound_inlined]
3165
+ pPrev: ptr[ma_sound_inlined]
3166
+
3167
+ type ma_sound_group_config = ma_sound_config
3168
+ type ma_sound_group = ma_sound
3169
+
3170
+ external function ma_sound_group_config_init() -> ma_sound_group_config
3171
+ external function ma_sound_group_config_init_2(pEngine: ptr[ma_engine]) -> ma_sound_group_config
3172
+
3173
+ type ma_engine_process_proc = fn(arg0: ptr[void], arg1: ptr[float], arg2: ma_uint64) -> void
3174
+
3175
+ struct ma_engine_config:
3176
+ pResourceManager: ptr[ma_resource_manager]
3177
+ pContext: ptr[ma_context]
3178
+ pDevice: ptr[ma_device]
3179
+ pPlaybackDeviceID: ptr[ma_device_id]
3180
+ dataCallback: fn(arg0: ptr[ma_device], arg1: ptr[void], arg2: const_ptr[void], arg3: ma_uint32) -> void
3181
+ notificationCallback: fn(arg0: const_ptr[ma_device_notification]) -> void
3182
+ pLog: ptr[ma_log]
3183
+ listenerCount: uint
3184
+ channels: uint
3185
+ sampleRate: uint
3186
+ periodSizeInFrames: uint
3187
+ periodSizeInMilliseconds: uint
3188
+ gainSmoothTimeInFrames: uint
3189
+ gainSmoothTimeInMilliseconds: uint
3190
+ defaultVolumeSmoothTimeInPCMFrames: uint
3191
+ preMixStackSizeInBytes: uint
3192
+ allocationCallbacks: ma_allocation_callbacks
3193
+ noAutoStart: uint
3194
+ noDevice: uint
3195
+ monoExpansionMode: ma_mono_expansion_mode
3196
+ pResourceManagerVFS: ptr[ma_vfs]
3197
+ onProcess: fn(arg0: ptr[void], arg1: ptr[float], arg2: ma_uint64) -> void
3198
+ pProcessUserData: ptr[void]
3199
+ resourceManagerResampling: ma_resampler_config
3200
+ pitchResampling: ma_resampler_config
3201
+
3202
+ external function ma_engine_config_init() -> ma_engine_config
3203
+
3204
+ struct ma_engine:
3205
+ nodeGraph: ma_node_graph
3206
+ pResourceManager: ptr[ma_resource_manager]
3207
+ pDevice: ptr[ma_device]
3208
+ pLog: ptr[ma_log]
3209
+ sampleRate: uint
3210
+ listenerCount: uint
3211
+ listeners: array[ma_spatializer_listener, 4]
3212
+ allocationCallbacks: ma_allocation_callbacks
3213
+ ownsResourceManager: ubyte
3214
+ ownsDevice: ubyte
3215
+ inlinedSoundLock: uint
3216
+ pInlinedSoundHead: ptr[ma_sound_inlined]
3217
+ inlinedSoundCount: uint
3218
+ gainSmoothTimeInFrames: uint
3219
+ defaultVolumeSmoothTimeInPCMFrames: uint
3220
+ monoExpansionMode: ma_mono_expansion_mode
3221
+ onProcess: fn(arg0: ptr[void], arg1: ptr[float], arg2: ma_uint64) -> void
3222
+ pProcessUserData: ptr[void]
3223
+ pitchResamplingConfig: ma_resampler_config
3224
+
3225
+ external function ma_engine_init(pConfig: const_ptr[ma_engine_config], pEngine: ptr[ma_engine]) -> ma_result
3226
+ external function ma_engine_uninit(pEngine: ptr[ma_engine]) -> void
3227
+ external function ma_engine_read_pcm_frames(pEngine: ptr[ma_engine], pFramesOut: ptr[void], frameCount: ulong, pFramesRead: ptr[ma_uint64]) -> ma_result
3228
+ external function ma_engine_get_node_graph(pEngine: ptr[ma_engine]) -> ptr[ma_node_graph]
3229
+ external function ma_engine_get_resource_manager(pEngine: ptr[ma_engine]) -> ptr[ma_resource_manager]
3230
+ external function ma_engine_get_device(pEngine: ptr[ma_engine]) -> ptr[ma_device]
3231
+ external function ma_engine_get_log(pEngine: ptr[ma_engine]) -> ptr[ma_log]
3232
+ external function ma_engine_get_endpoint(pEngine: ptr[ma_engine]) -> ptr[ma_node]
3233
+ external function ma_engine_get_time_in_pcm_frames(pEngine: const_ptr[ma_engine]) -> ma_uint64
3234
+ external function ma_engine_get_time_in_milliseconds(pEngine: const_ptr[ma_engine]) -> ma_uint64
3235
+ external function ma_engine_set_time_in_pcm_frames(pEngine: ptr[ma_engine], globalTime: ulong) -> ma_result
3236
+ external function ma_engine_set_time_in_milliseconds(pEngine: ptr[ma_engine], globalTime: ulong) -> ma_result
3237
+ external function ma_engine_get_time(pEngine: const_ptr[ma_engine]) -> ma_uint64
3238
+ external function ma_engine_set_time(pEngine: ptr[ma_engine], globalTime: ulong) -> ma_result
3239
+ external function ma_engine_get_channels(pEngine: const_ptr[ma_engine]) -> ma_uint32
3240
+ external function ma_engine_get_sample_rate(pEngine: const_ptr[ma_engine]) -> ma_uint32
3241
+ external function ma_engine_start(pEngine: ptr[ma_engine]) -> ma_result
3242
+ external function ma_engine_stop(pEngine: ptr[ma_engine]) -> ma_result
3243
+ external function ma_engine_set_volume(pEngine: ptr[ma_engine], volume: float) -> ma_result
3244
+ external function ma_engine_get_volume(pEngine: ptr[ma_engine]) -> float
3245
+ external function ma_engine_set_gain_db(pEngine: ptr[ma_engine], gainDB: float) -> ma_result
3246
+ external function ma_engine_get_gain_db(pEngine: ptr[ma_engine]) -> float
3247
+ external function ma_engine_get_listener_count(pEngine: const_ptr[ma_engine]) -> ma_uint32
3248
+ external function ma_engine_find_closest_listener(pEngine: const_ptr[ma_engine], absolutePosX: float, absolutePosY: float, absolutePosZ: float) -> ma_uint32
3249
+ external function ma_engine_listener_set_position(pEngine: ptr[ma_engine], listenerIndex: uint, x: float, y: float, z: float) -> void
3250
+ external function ma_engine_listener_get_position(pEngine: const_ptr[ma_engine], listenerIndex: uint) -> ma_vec3f
3251
+ external function ma_engine_listener_set_direction(pEngine: ptr[ma_engine], listenerIndex: uint, x: float, y: float, z: float) -> void
3252
+ external function ma_engine_listener_get_direction(pEngine: const_ptr[ma_engine], listenerIndex: uint) -> ma_vec3f
3253
+ external function ma_engine_listener_set_velocity(pEngine: ptr[ma_engine], listenerIndex: uint, x: float, y: float, z: float) -> void
3254
+ external function ma_engine_listener_get_velocity(pEngine: const_ptr[ma_engine], listenerIndex: uint) -> ma_vec3f
3255
+ external function ma_engine_listener_set_cone(pEngine: ptr[ma_engine], listenerIndex: uint, innerAngleInRadians: float, outerAngleInRadians: float, outerGain: float) -> void
3256
+ external function ma_engine_listener_get_cone(pEngine: const_ptr[ma_engine], listenerIndex: uint, pInnerAngleInRadians: ptr[float], pOuterAngleInRadians: ptr[float], pOuterGain: ptr[float]) -> void
3257
+ external function ma_engine_listener_set_world_up(pEngine: ptr[ma_engine], listenerIndex: uint, x: float, y: float, z: float) -> void
3258
+ external function ma_engine_listener_get_world_up(pEngine: const_ptr[ma_engine], listenerIndex: uint) -> ma_vec3f
3259
+ external function ma_engine_listener_set_enabled(pEngine: ptr[ma_engine], listenerIndex: uint, isEnabled: uint) -> void
3260
+ external function ma_engine_listener_is_enabled(pEngine: const_ptr[ma_engine], listenerIndex: uint) -> ma_bool32
3261
+ external function ma_engine_play_sound_ex(pEngine: ptr[ma_engine], pFilePath: cstr, pNode: ptr[ma_node], nodeInputBusIndex: uint) -> ma_result
3262
+ external function ma_engine_play_sound(pEngine: ptr[ma_engine], pFilePath: cstr, pGroup: ptr[ma_sound_group]) -> ma_result
3263
+ external function ma_sound_init_from_file(pEngine: ptr[ma_engine], pFilePath: cstr, flags_: uint, pGroup: ptr[ma_sound_group], pDoneFence: ptr[ma_fence], pSound: ptr[ma_sound]) -> ma_result
3264
+ external function ma_sound_init_from_file_w(pEngine: ptr[ma_engine], pFilePath: const_ptr[int], flags_: uint, pGroup: ptr[ma_sound_group], pDoneFence: ptr[ma_fence], pSound: ptr[ma_sound]) -> ma_result
3265
+ external function ma_sound_init_copy(pEngine: ptr[ma_engine], pExistingSound: const_ptr[ma_sound], flags_: uint, pGroup: ptr[ma_sound_group], pSound: ptr[ma_sound]) -> ma_result
3266
+ external function ma_sound_init_from_data_source(pEngine: ptr[ma_engine], pDataSource: ptr[ma_data_source], flags_: uint, pGroup: ptr[ma_sound_group], pSound: ptr[ma_sound]) -> ma_result
3267
+ external function ma_sound_init_ex(pEngine: ptr[ma_engine], pConfig: const_ptr[ma_sound_config], pSound: ptr[ma_sound]) -> ma_result
3268
+ external function ma_sound_uninit(pSound: ptr[ma_sound]) -> void
3269
+ external function ma_sound_get_engine(pSound: const_ptr[ma_sound]) -> ptr[ma_engine]
3270
+ external function ma_sound_get_data_source(pSound: const_ptr[ma_sound]) -> ptr[ma_data_source]
3271
+ external function ma_sound_start(pSound: ptr[ma_sound]) -> ma_result
3272
+ external function ma_sound_stop(pSound: ptr[ma_sound]) -> ma_result
3273
+ external function ma_sound_stop_with_fade_in_pcm_frames(pSound: ptr[ma_sound], fadeLengthInFrames: ulong) -> ma_result
3274
+ external function ma_sound_stop_with_fade_in_milliseconds(pSound: ptr[ma_sound], fadeLengthInFrames: ulong) -> ma_result
3275
+ external function ma_sound_reset_start_time(pSound: ptr[ma_sound]) -> void
3276
+ external function ma_sound_reset_stop_time(pSound: ptr[ma_sound]) -> void
3277
+ external function ma_sound_reset_fade(pSound: ptr[ma_sound]) -> void
3278
+ external function ma_sound_reset_stop_time_and_fade(pSound: ptr[ma_sound]) -> void
3279
+ external function ma_sound_set_volume(pSound: ptr[ma_sound], volume: float) -> void
3280
+ external function ma_sound_get_volume(pSound: const_ptr[ma_sound]) -> float
3281
+ external function ma_sound_set_pan(pSound: ptr[ma_sound], pan: float) -> void
3282
+ external function ma_sound_get_pan(pSound: const_ptr[ma_sound]) -> float
3283
+ external function ma_sound_set_pan_mode(pSound: ptr[ma_sound], panMode: ma_pan_mode) -> void
3284
+ external function ma_sound_get_pan_mode(pSound: const_ptr[ma_sound]) -> ma_pan_mode
3285
+ external function ma_sound_set_pitch(pSound: ptr[ma_sound], pitch: float) -> void
3286
+ external function ma_sound_get_pitch(pSound: const_ptr[ma_sound]) -> float
3287
+ external function ma_sound_set_spatialization_enabled(pSound: ptr[ma_sound], enabled: uint) -> void
3288
+ external function ma_sound_is_spatialization_enabled(pSound: const_ptr[ma_sound]) -> ma_bool32
3289
+ external function ma_sound_set_pinned_listener_index(pSound: ptr[ma_sound], listenerIndex: uint) -> void
3290
+ external function ma_sound_get_pinned_listener_index(pSound: const_ptr[ma_sound]) -> ma_uint32
3291
+ external function ma_sound_get_listener_index(pSound: const_ptr[ma_sound]) -> ma_uint32
3292
+ external function ma_sound_get_direction_to_listener(pSound: const_ptr[ma_sound]) -> ma_vec3f
3293
+ external function ma_sound_set_position(pSound: ptr[ma_sound], x: float, y: float, z: float) -> void
3294
+ external function ma_sound_get_position(pSound: const_ptr[ma_sound]) -> ma_vec3f
3295
+ external function ma_sound_set_direction(pSound: ptr[ma_sound], x: float, y: float, z: float) -> void
3296
+ external function ma_sound_get_direction(pSound: const_ptr[ma_sound]) -> ma_vec3f
3297
+ external function ma_sound_set_velocity(pSound: ptr[ma_sound], x: float, y: float, z: float) -> void
3298
+ external function ma_sound_get_velocity(pSound: const_ptr[ma_sound]) -> ma_vec3f
3299
+ external function ma_sound_set_attenuation_model(pSound: ptr[ma_sound], attenuationModel: ma_attenuation_model) -> void
3300
+ external function ma_sound_get_attenuation_model(pSound: const_ptr[ma_sound]) -> ma_attenuation_model
3301
+ external function ma_sound_set_positioning(pSound: ptr[ma_sound], positioning: ma_positioning) -> void
3302
+ external function ma_sound_get_positioning(pSound: const_ptr[ma_sound]) -> ma_positioning
3303
+ external function ma_sound_set_rolloff(pSound: ptr[ma_sound], rolloff: float) -> void
3304
+ external function ma_sound_get_rolloff(pSound: const_ptr[ma_sound]) -> float
3305
+ external function ma_sound_set_min_gain(pSound: ptr[ma_sound], minGain: float) -> void
3306
+ external function ma_sound_get_min_gain(pSound: const_ptr[ma_sound]) -> float
3307
+ external function ma_sound_set_max_gain(pSound: ptr[ma_sound], maxGain: float) -> void
3308
+ external function ma_sound_get_max_gain(pSound: const_ptr[ma_sound]) -> float
3309
+ external function ma_sound_set_min_distance(pSound: ptr[ma_sound], minDistance: float) -> void
3310
+ external function ma_sound_get_min_distance(pSound: const_ptr[ma_sound]) -> float
3311
+ external function ma_sound_set_max_distance(pSound: ptr[ma_sound], maxDistance: float) -> void
3312
+ external function ma_sound_get_max_distance(pSound: const_ptr[ma_sound]) -> float
3313
+ external function ma_sound_set_cone(pSound: ptr[ma_sound], innerAngleInRadians: float, outerAngleInRadians: float, outerGain: float) -> void
3314
+ external function ma_sound_get_cone(pSound: const_ptr[ma_sound], pInnerAngleInRadians: ptr[float], pOuterAngleInRadians: ptr[float], pOuterGain: ptr[float]) -> void
3315
+ external function ma_sound_set_doppler_factor(pSound: ptr[ma_sound], dopplerFactor: float) -> void
3316
+ external function ma_sound_get_doppler_factor(pSound: const_ptr[ma_sound]) -> float
3317
+ external function ma_sound_set_directional_attenuation_factor(pSound: ptr[ma_sound], directionalAttenuationFactor: float) -> void
3318
+ external function ma_sound_get_directional_attenuation_factor(pSound: const_ptr[ma_sound]) -> float
3319
+ external function ma_sound_set_fade_in_pcm_frames(pSound: ptr[ma_sound], volumeBeg: float, volumeEnd: float, fadeLengthInFrames: ulong) -> void
3320
+ external function ma_sound_set_fade_in_milliseconds(pSound: ptr[ma_sound], volumeBeg: float, volumeEnd: float, fadeLengthInMilliseconds: ulong) -> void
3321
+ external function ma_sound_set_fade_start_in_pcm_frames(pSound: ptr[ma_sound], volumeBeg: float, volumeEnd: float, fadeLengthInFrames: ulong, absoluteGlobalTimeInFrames: ulong) -> void
3322
+ external function ma_sound_set_fade_start_in_milliseconds(pSound: ptr[ma_sound], volumeBeg: float, volumeEnd: float, fadeLengthInMilliseconds: ulong, absoluteGlobalTimeInMilliseconds: ulong) -> void
3323
+ external function ma_sound_get_current_fade_volume(pSound: const_ptr[ma_sound]) -> float
3324
+ external function ma_sound_set_start_time_in_pcm_frames(pSound: ptr[ma_sound], absoluteGlobalTimeInFrames: ulong) -> void
3325
+ external function ma_sound_set_start_time_in_milliseconds(pSound: ptr[ma_sound], absoluteGlobalTimeInMilliseconds: ulong) -> void
3326
+ external function ma_sound_set_stop_time_in_pcm_frames(pSound: ptr[ma_sound], absoluteGlobalTimeInFrames: ulong) -> void
3327
+ external function ma_sound_set_stop_time_in_milliseconds(pSound: ptr[ma_sound], absoluteGlobalTimeInMilliseconds: ulong) -> void
3328
+ external function ma_sound_set_stop_time_with_fade_in_pcm_frames(pSound: ptr[ma_sound], stopAbsoluteGlobalTimeInFrames: ulong, fadeLengthInFrames: ulong) -> void
3329
+ external function ma_sound_set_stop_time_with_fade_in_milliseconds(pSound: ptr[ma_sound], stopAbsoluteGlobalTimeInMilliseconds: ulong, fadeLengthInMilliseconds: ulong) -> void
3330
+ external function ma_sound_is_playing(pSound: const_ptr[ma_sound]) -> ma_bool32
3331
+ external function ma_sound_get_time_in_pcm_frames(pSound: const_ptr[ma_sound]) -> ma_uint64
3332
+ external function ma_sound_get_time_in_milliseconds(pSound: const_ptr[ma_sound]) -> ma_uint64
3333
+ external function ma_sound_set_looping(pSound: ptr[ma_sound], isLooping: uint) -> void
3334
+ external function ma_sound_is_looping(pSound: const_ptr[ma_sound]) -> ma_bool32
3335
+ external function ma_sound_at_end(pSound: const_ptr[ma_sound]) -> ma_bool32
3336
+ external function ma_sound_seek_to_pcm_frame(pSound: ptr[ma_sound], frameIndex: ulong) -> ma_result
3337
+ external function ma_sound_seek_to_second(pSound: ptr[ma_sound], seekPointInSeconds: float) -> ma_result
3338
+ external function ma_sound_get_data_format(pSound: const_ptr[ma_sound], pFormat: ptr[ma_format], pChannels: ptr[ma_uint32], pSampleRate: ptr[ma_uint32], pChannelMap: ptr[ma_channel], channelMapCap: ptr_uint) -> ma_result
3339
+ external function ma_sound_get_cursor_in_pcm_frames(pSound: const_ptr[ma_sound], pCursor: ptr[ma_uint64]) -> ma_result
3340
+ external function ma_sound_get_length_in_pcm_frames(pSound: const_ptr[ma_sound], pLength: ptr[ma_uint64]) -> ma_result
3341
+ external function ma_sound_get_cursor_in_seconds(pSound: const_ptr[ma_sound], pCursor: ptr[float]) -> ma_result
3342
+ external function ma_sound_get_length_in_seconds(pSound: const_ptr[ma_sound], pLength: ptr[float]) -> ma_result
3343
+ external function ma_sound_set_end_callback(pSound: ptr[ma_sound], callback: fn(arg0: ptr[void], arg1: ptr[ma_sound]) -> void, pUserData: ptr[void]) -> ma_result
3344
+ external function ma_sound_group_init(pEngine: ptr[ma_engine], flags_: uint, pParentGroup: ptr[ma_sound_group], pGroup: ptr[ma_sound_group]) -> ma_result
3345
+ external function ma_sound_group_init_ex(pEngine: ptr[ma_engine], pConfig: const_ptr[ma_sound_group_config], pGroup: ptr[ma_sound_group]) -> ma_result
3346
+ external function ma_sound_group_uninit(pGroup: ptr[ma_sound_group]) -> void
3347
+ external function ma_sound_group_get_engine(pGroup: const_ptr[ma_sound_group]) -> ptr[ma_engine]
3348
+ external function ma_sound_group_start(pGroup: ptr[ma_sound_group]) -> ma_result
3349
+ external function ma_sound_group_stop(pGroup: ptr[ma_sound_group]) -> ma_result
3350
+ external function ma_sound_group_set_volume(pGroup: ptr[ma_sound_group], volume: float) -> void
3351
+ external function ma_sound_group_get_volume(pGroup: const_ptr[ma_sound_group]) -> float
3352
+ external function ma_sound_group_set_pan(pGroup: ptr[ma_sound_group], pan: float) -> void
3353
+ external function ma_sound_group_get_pan(pGroup: const_ptr[ma_sound_group]) -> float
3354
+ external function ma_sound_group_set_pan_mode(pGroup: ptr[ma_sound_group], panMode: ma_pan_mode) -> void
3355
+ external function ma_sound_group_get_pan_mode(pGroup: const_ptr[ma_sound_group]) -> ma_pan_mode
3356
+ external function ma_sound_group_set_pitch(pGroup: ptr[ma_sound_group], pitch: float) -> void
3357
+ external function ma_sound_group_get_pitch(pGroup: const_ptr[ma_sound_group]) -> float
3358
+ external function ma_sound_group_set_spatialization_enabled(pGroup: ptr[ma_sound_group], enabled: uint) -> void
3359
+ external function ma_sound_group_is_spatialization_enabled(pGroup: const_ptr[ma_sound_group]) -> ma_bool32
3360
+ external function ma_sound_group_set_pinned_listener_index(pGroup: ptr[ma_sound_group], listenerIndex: uint) -> void
3361
+ external function ma_sound_group_get_pinned_listener_index(pGroup: const_ptr[ma_sound_group]) -> ma_uint32
3362
+ external function ma_sound_group_get_listener_index(pGroup: const_ptr[ma_sound_group]) -> ma_uint32
3363
+ external function ma_sound_group_get_direction_to_listener(pGroup: const_ptr[ma_sound_group]) -> ma_vec3f
3364
+ external function ma_sound_group_set_position(pGroup: ptr[ma_sound_group], x: float, y: float, z: float) -> void
3365
+ external function ma_sound_group_get_position(pGroup: const_ptr[ma_sound_group]) -> ma_vec3f
3366
+ external function ma_sound_group_set_direction(pGroup: ptr[ma_sound_group], x: float, y: float, z: float) -> void
3367
+ external function ma_sound_group_get_direction(pGroup: const_ptr[ma_sound_group]) -> ma_vec3f
3368
+ external function ma_sound_group_set_velocity(pGroup: ptr[ma_sound_group], x: float, y: float, z: float) -> void
3369
+ external function ma_sound_group_get_velocity(pGroup: const_ptr[ma_sound_group]) -> ma_vec3f
3370
+ external function ma_sound_group_set_attenuation_model(pGroup: ptr[ma_sound_group], attenuationModel: ma_attenuation_model) -> void
3371
+ external function ma_sound_group_get_attenuation_model(pGroup: const_ptr[ma_sound_group]) -> ma_attenuation_model
3372
+ external function ma_sound_group_set_positioning(pGroup: ptr[ma_sound_group], positioning: ma_positioning) -> void
3373
+ external function ma_sound_group_get_positioning(pGroup: const_ptr[ma_sound_group]) -> ma_positioning
3374
+ external function ma_sound_group_set_rolloff(pGroup: ptr[ma_sound_group], rolloff: float) -> void
3375
+ external function ma_sound_group_get_rolloff(pGroup: const_ptr[ma_sound_group]) -> float
3376
+ external function ma_sound_group_set_min_gain(pGroup: ptr[ma_sound_group], minGain: float) -> void
3377
+ external function ma_sound_group_get_min_gain(pGroup: const_ptr[ma_sound_group]) -> float
3378
+ external function ma_sound_group_set_max_gain(pGroup: ptr[ma_sound_group], maxGain: float) -> void
3379
+ external function ma_sound_group_get_max_gain(pGroup: const_ptr[ma_sound_group]) -> float
3380
+ external function ma_sound_group_set_min_distance(pGroup: ptr[ma_sound_group], minDistance: float) -> void
3381
+ external function ma_sound_group_get_min_distance(pGroup: const_ptr[ma_sound_group]) -> float
3382
+ external function ma_sound_group_set_max_distance(pGroup: ptr[ma_sound_group], maxDistance: float) -> void
3383
+ external function ma_sound_group_get_max_distance(pGroup: const_ptr[ma_sound_group]) -> float
3384
+ external function ma_sound_group_set_cone(pGroup: ptr[ma_sound_group], innerAngleInRadians: float, outerAngleInRadians: float, outerGain: float) -> void
3385
+ external function ma_sound_group_get_cone(pGroup: const_ptr[ma_sound_group], pInnerAngleInRadians: ptr[float], pOuterAngleInRadians: ptr[float], pOuterGain: ptr[float]) -> void
3386
+ external function ma_sound_group_set_doppler_factor(pGroup: ptr[ma_sound_group], dopplerFactor: float) -> void
3387
+ external function ma_sound_group_get_doppler_factor(pGroup: const_ptr[ma_sound_group]) -> float
3388
+ external function ma_sound_group_set_directional_attenuation_factor(pGroup: ptr[ma_sound_group], directionalAttenuationFactor: float) -> void
3389
+ external function ma_sound_group_get_directional_attenuation_factor(pGroup: const_ptr[ma_sound_group]) -> float
3390
+ external function ma_sound_group_set_fade_in_pcm_frames(pGroup: ptr[ma_sound_group], volumeBeg: float, volumeEnd: float, fadeLengthInFrames: ulong) -> void
3391
+ external function ma_sound_group_set_fade_in_milliseconds(pGroup: ptr[ma_sound_group], volumeBeg: float, volumeEnd: float, fadeLengthInMilliseconds: ulong) -> void
3392
+ external function ma_sound_group_get_current_fade_volume(pGroup: ptr[ma_sound_group]) -> float
3393
+ external function ma_sound_group_set_start_time_in_pcm_frames(pGroup: ptr[ma_sound_group], absoluteGlobalTimeInFrames: ulong) -> void
3394
+ external function ma_sound_group_set_start_time_in_milliseconds(pGroup: ptr[ma_sound_group], absoluteGlobalTimeInMilliseconds: ulong) -> void
3395
+ external function ma_sound_group_set_stop_time_in_pcm_frames(pGroup: ptr[ma_sound_group], absoluteGlobalTimeInFrames: ulong) -> void
3396
+ external function ma_sound_group_set_stop_time_in_milliseconds(pGroup: ptr[ma_sound_group], absoluteGlobalTimeInMilliseconds: ulong) -> void
3397
+ external function ma_sound_group_is_playing(pGroup: const_ptr[ma_sound_group]) -> ma_bool32
3398
+ external function ma_sound_group_get_time_in_pcm_frames(pGroup: const_ptr[ma_sound_group]) -> ma_uint64
3399
+
3400
+ const MA_VERSION_MAJOR: int = 0
3401
+ const MA_VERSION_MINOR: int = 11
3402
+ const MA_VERSION_REVISION: int = 25
3403
+ const MA_SIZEOF_PTR: int = 8
3404
+ const MA_TRUE: int = 1
3405
+ const MA_FALSE: int = 0
3406
+ const MA_SIZE_MAX: uint = 4294967295
3407
+ const MA_SIMD_ALIGNMENT: int = 32
3408
+ const MA_MIN_CHANNELS: int = 1
3409
+ const MA_MAX_CHANNELS: int = 254
3410
+ const MA_MAX_FILTER_ORDER: int = 8
3411
+ const MA_MAX_LOG_CALLBACKS: int = 4
3412
+ const MA_CHANNEL_INDEX_NULL: int = 255
3413
+ const MA_DATA_SOURCE_SELF_MANAGED_RANGE_AND_LOOP_POINT: int = 1
3414
+ const MA_MAX_DEVICE_NAME_LENGTH: int = 255
3415
+ const MA_RESOURCE_MANAGER_MAX_JOB_THREAD_COUNT: int = 64
3416
+ const MA_MAX_NODE_BUS_COUNT: int = 254
3417
+ const MA_MAX_NODE_LOCAL_BUS_COUNT: int = 2
3418
+ const MA_NODE_BUS_COUNT_UNKNOWN: int = 255
3419
+ const MA_ENGINE_MAX_LISTENERS: int = 4
3420
+ const MA_SOUND_SOURCE_CHANNEL_COUNT: uint = 4294967295