native_audio 0.3.0 → 0.4.0

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 (138) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -0
  3. data/README.md +87 -0
  4. data/ext/audio/audio.c +321 -47
  5. data/ext/audio/extconf.rb +12 -110
  6. data/ext/audio/miniaudio.h +95844 -0
  7. data/lib/dummy_audio.rb +49 -0
  8. data/lib/native_audio.rb +22 -7
  9. metadata +7 -132
  10. data/assets/include/SDL2/SDL.h +0 -233
  11. data/assets/include/SDL2/SDL_assert.h +0 -326
  12. data/assets/include/SDL2/SDL_atomic.h +0 -415
  13. data/assets/include/SDL2/SDL_audio.h +0 -1500
  14. data/assets/include/SDL2/SDL_bits.h +0 -126
  15. data/assets/include/SDL2/SDL_blendmode.h +0 -198
  16. data/assets/include/SDL2/SDL_clipboard.h +0 -141
  17. data/assets/include/SDL2/SDL_config.h +0 -61
  18. data/assets/include/SDL2/SDL_config_android.h +0 -194
  19. data/assets/include/SDL2/SDL_config_emscripten.h +0 -218
  20. data/assets/include/SDL2/SDL_config_iphoneos.h +0 -217
  21. data/assets/include/SDL2/SDL_config_macosx.h +0 -277
  22. data/assets/include/SDL2/SDL_config_minimal.h +0 -95
  23. data/assets/include/SDL2/SDL_config_ngage.h +0 -89
  24. data/assets/include/SDL2/SDL_config_os2.h +0 -207
  25. data/assets/include/SDL2/SDL_config_pandora.h +0 -141
  26. data/assets/include/SDL2/SDL_config_windows.h +0 -331
  27. data/assets/include/SDL2/SDL_config_wingdk.h +0 -253
  28. data/assets/include/SDL2/SDL_config_winrt.h +0 -220
  29. data/assets/include/SDL2/SDL_config_xbox.h +0 -235
  30. data/assets/include/SDL2/SDL_copying.h +0 -20
  31. data/assets/include/SDL2/SDL_cpuinfo.h +0 -594
  32. data/assets/include/SDL2/SDL_egl.h +0 -2352
  33. data/assets/include/SDL2/SDL_endian.h +0 -348
  34. data/assets/include/SDL2/SDL_error.h +0 -163
  35. data/assets/include/SDL2/SDL_events.h +0 -1166
  36. data/assets/include/SDL2/SDL_filesystem.h +0 -149
  37. data/assets/include/SDL2/SDL_gamecontroller.h +0 -1074
  38. data/assets/include/SDL2/SDL_gesture.h +0 -117
  39. data/assets/include/SDL2/SDL_guid.h +0 -100
  40. data/assets/include/SDL2/SDL_haptic.h +0 -1341
  41. data/assets/include/SDL2/SDL_hidapi.h +0 -451
  42. data/assets/include/SDL2/SDL_hints.h +0 -2569
  43. data/assets/include/SDL2/SDL_image.h +0 -2173
  44. data/assets/include/SDL2/SDL_joystick.h +0 -1066
  45. data/assets/include/SDL2/SDL_keyboard.h +0 -353
  46. data/assets/include/SDL2/SDL_keycode.h +0 -358
  47. data/assets/include/SDL2/SDL_loadso.h +0 -115
  48. data/assets/include/SDL2/SDL_locale.h +0 -103
  49. data/assets/include/SDL2/SDL_log.h +0 -404
  50. data/assets/include/SDL2/SDL_main.h +0 -275
  51. data/assets/include/SDL2/SDL_messagebox.h +0 -193
  52. data/assets/include/SDL2/SDL_metal.h +0 -113
  53. data/assets/include/SDL2/SDL_misc.h +0 -79
  54. data/assets/include/SDL2/SDL_mixer.h +0 -2784
  55. data/assets/include/SDL2/SDL_mouse.h +0 -465
  56. data/assets/include/SDL2/SDL_mutex.h +0 -471
  57. data/assets/include/SDL2/SDL_name.h +0 -33
  58. data/assets/include/SDL2/SDL_opengl.h +0 -2132
  59. data/assets/include/SDL2/SDL_opengl_glext.h +0 -13209
  60. data/assets/include/SDL2/SDL_opengles.h +0 -39
  61. data/assets/include/SDL2/SDL_opengles2.h +0 -52
  62. data/assets/include/SDL2/SDL_opengles2_gl2.h +0 -656
  63. data/assets/include/SDL2/SDL_opengles2_gl2ext.h +0 -4033
  64. data/assets/include/SDL2/SDL_opengles2_gl2platform.h +0 -27
  65. data/assets/include/SDL2/SDL_opengles2_khrplatform.h +0 -311
  66. data/assets/include/SDL2/SDL_pixels.h +0 -644
  67. data/assets/include/SDL2/SDL_platform.h +0 -261
  68. data/assets/include/SDL2/SDL_power.h +0 -88
  69. data/assets/include/SDL2/SDL_quit.h +0 -58
  70. data/assets/include/SDL2/SDL_rect.h +0 -376
  71. data/assets/include/SDL2/SDL_render.h +0 -1919
  72. data/assets/include/SDL2/SDL_revision.h +0 -6
  73. data/assets/include/SDL2/SDL_rwops.h +0 -841
  74. data/assets/include/SDL2/SDL_scancode.h +0 -438
  75. data/assets/include/SDL2/SDL_sensor.h +0 -322
  76. data/assets/include/SDL2/SDL_shape.h +0 -155
  77. data/assets/include/SDL2/SDL_stdinc.h +0 -830
  78. data/assets/include/SDL2/SDL_surface.h +0 -997
  79. data/assets/include/SDL2/SDL_system.h +0 -623
  80. data/assets/include/SDL2/SDL_syswm.h +0 -386
  81. data/assets/include/SDL2/SDL_test.h +0 -69
  82. data/assets/include/SDL2/SDL_test_assert.h +0 -105
  83. data/assets/include/SDL2/SDL_test_common.h +0 -236
  84. data/assets/include/SDL2/SDL_test_compare.h +0 -69
  85. data/assets/include/SDL2/SDL_test_crc32.h +0 -124
  86. data/assets/include/SDL2/SDL_test_font.h +0 -168
  87. data/assets/include/SDL2/SDL_test_fuzzer.h +0 -386
  88. data/assets/include/SDL2/SDL_test_harness.h +0 -134
  89. data/assets/include/SDL2/SDL_test_images.h +0 -78
  90. data/assets/include/SDL2/SDL_test_log.h +0 -67
  91. data/assets/include/SDL2/SDL_test_md5.h +0 -129
  92. data/assets/include/SDL2/SDL_test_memory.h +0 -63
  93. data/assets/include/SDL2/SDL_test_random.h +0 -115
  94. data/assets/include/SDL2/SDL_thread.h +0 -464
  95. data/assets/include/SDL2/SDL_timer.h +0 -222
  96. data/assets/include/SDL2/SDL_touch.h +0 -150
  97. data/assets/include/SDL2/SDL_ttf.h +0 -2316
  98. data/assets/include/SDL2/SDL_types.h +0 -29
  99. data/assets/include/SDL2/SDL_version.h +0 -204
  100. data/assets/include/SDL2/SDL_video.h +0 -2150
  101. data/assets/include/SDL2/SDL_vulkan.h +0 -215
  102. data/assets/include/SDL2/begin_code.h +0 -187
  103. data/assets/include/SDL2/close_code.h +0 -40
  104. data/assets/macos/universal/lib/libFLAC.a +0 -0
  105. data/assets/macos/universal/lib/libSDL2.a +0 -0
  106. data/assets/macos/universal/lib/libSDL2_mixer.a +0 -0
  107. data/assets/macos/universal/lib/libmodplug.a +0 -0
  108. data/assets/macos/universal/lib/libmpg123.a +0 -0
  109. data/assets/macos/universal/lib/libogg.a +0 -0
  110. data/assets/macos/universal/lib/libvorbis.a +0 -0
  111. data/assets/macos/universal/lib/libvorbisfile.a +0 -0
  112. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libFLAC.a +0 -0
  113. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2.a +0 -0
  114. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_mixer.a +0 -0
  115. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmodplug.a +0 -0
  116. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmpg123.a +0 -0
  117. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libogg.a +0 -0
  118. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopus.a +0 -0
  119. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopusfile.a +0 -0
  120. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libsndfile.a +0 -0
  121. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libstdc++.a +0 -0
  122. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbis.a +0 -0
  123. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbisfile.a +0 -0
  124. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libz.a +0 -0
  125. data/assets/windows/mingw-w64-x86_64/lib/libFLAC.a +0 -0
  126. data/assets/windows/mingw-w64-x86_64/lib/libSDL2.a +0 -0
  127. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_mixer.a +0 -0
  128. data/assets/windows/mingw-w64-x86_64/lib/libmodplug.a +0 -0
  129. data/assets/windows/mingw-w64-x86_64/lib/libmpg123.a +0 -0
  130. data/assets/windows/mingw-w64-x86_64/lib/libogg.a +0 -0
  131. data/assets/windows/mingw-w64-x86_64/lib/libopus.a +0 -0
  132. data/assets/windows/mingw-w64-x86_64/lib/libopusfile.a +0 -0
  133. data/assets/windows/mingw-w64-x86_64/lib/libsndfile.a +0 -0
  134. data/assets/windows/mingw-w64-x86_64/lib/libstdc++.a +0 -0
  135. data/assets/windows/mingw-w64-x86_64/lib/libvorbis.a +0 -0
  136. data/assets/windows/mingw-w64-x86_64/lib/libvorbisfile.a +0 -0
  137. data/assets/windows/mingw-w64-x86_64/lib/libz.a +0 -0
  138. data/ext/audio/extconf.h +0 -3
@@ -1,129 +0,0 @@
1
- /*
2
- Simple DirectMedia Layer
3
- Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
4
-
5
- This software is provided 'as-is', without any express or implied
6
- warranty. In no event will the authors be held liable for any damages
7
- arising from the use of this software.
8
-
9
- Permission is granted to anyone to use this software for any purpose,
10
- including commercial applications, and to alter it and redistribute it
11
- freely, subject to the following restrictions:
12
-
13
- 1. The origin of this software must not be misrepresented; you must not
14
- claim that you wrote the original software. If you use this software
15
- in a product, an acknowledgment in the product documentation would be
16
- appreciated but is not required.
17
- 2. Altered source versions must be plainly marked as such, and must not be
18
- misrepresented as being the original software.
19
- 3. This notice may not be removed or altered from any source distribution.
20
- */
21
-
22
- /**
23
- * \file SDL_test_md5.h
24
- *
25
- * Include file for SDL test framework.
26
- *
27
- * This code is a part of the SDL2_test library, not the main SDL library.
28
- */
29
-
30
- /*
31
- ***********************************************************************
32
- ** Header file for implementation of MD5 **
33
- ** RSA Data Security, Inc. MD5 Message-Digest Algorithm **
34
- ** Created: 2/17/90 RLR **
35
- ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version **
36
- ** Revised (for MD5): RLR 4/27/91 **
37
- ** -- G modified to have y&~z instead of y&z **
38
- ** -- FF, GG, HH modified to add in last register done **
39
- ** -- Access pattern: round 2 works mod 5, round 3 works mod 3 **
40
- ** -- distinct additive constant for each step **
41
- ** -- round 4 added, working mod 7 **
42
- ***********************************************************************
43
- */
44
-
45
- /*
46
- ***********************************************************************
47
- ** Message-digest routines: **
48
- ** To form the message digest for a message M **
49
- ** (1) Initialize a context buffer mdContext using MD5Init **
50
- ** (2) Call MD5Update on mdContext and M **
51
- ** (3) Call MD5Final on mdContext **
52
- ** The message digest is now in mdContext->digest[0...15] **
53
- ***********************************************************************
54
- */
55
-
56
- #ifndef SDL_test_md5_h_
57
- #define SDL_test_md5_h_
58
-
59
- #include "begin_code.h"
60
- /* Set up for C function definitions, even when using C++ */
61
- #ifdef __cplusplus
62
- extern "C" {
63
- #endif
64
-
65
- /* ------------ Definitions --------- */
66
-
67
- /* typedef a 32-bit type */
68
- typedef unsigned long int MD5UINT4;
69
-
70
- /* Data structure for MD5 (Message-Digest) computation */
71
- typedef struct {
72
- MD5UINT4 i[2]; /* number of _bits_ handled mod 2^64 */
73
- MD5UINT4 buf[4]; /* scratch buffer */
74
- unsigned char in[64]; /* input buffer */
75
- unsigned char digest[16]; /* actual digest after Md5Final call */
76
- } SDLTest_Md5Context;
77
-
78
- /* ---------- Function Prototypes ------------- */
79
-
80
- /**
81
- * \brief initialize the context
82
- *
83
- * \param mdContext pointer to context variable
84
- *
85
- * Note: The function initializes the message-digest context
86
- * mdContext. Call before each new use of the context -
87
- * all fields are set to zero.
88
- */
89
- void SDLTest_Md5Init(SDLTest_Md5Context * mdContext);
90
-
91
-
92
- /**
93
- * \brief update digest from variable length data
94
- *
95
- * \param mdContext pointer to context variable
96
- * \param inBuf pointer to data array/string
97
- * \param inLen length of data array/string
98
- *
99
- * Note: The function updates the message-digest context to account
100
- * for the presence of each of the characters inBuf[0..inLen-1]
101
- * in the message whose digest is being computed.
102
- */
103
-
104
- void SDLTest_Md5Update(SDLTest_Md5Context * mdContext, unsigned char *inBuf,
105
- unsigned int inLen);
106
-
107
-
108
- /**
109
- * \brief complete digest computation
110
- *
111
- * \param mdContext pointer to context variable
112
- *
113
- * Note: The function terminates the message-digest computation and
114
- * ends with the desired message digest in mdContext.digest[0..15].
115
- * Always call before using the digest[] variable.
116
- */
117
-
118
- void SDLTest_Md5Final(SDLTest_Md5Context * mdContext);
119
-
120
-
121
- /* Ends C function definitions when using C++ */
122
- #ifdef __cplusplus
123
- }
124
- #endif
125
- #include "close_code.h"
126
-
127
- #endif /* SDL_test_md5_h_ */
128
-
129
- /* vi: set ts=4 sw=4 expandtab: */
@@ -1,63 +0,0 @@
1
- /*
2
- Simple DirectMedia Layer
3
- Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
4
-
5
- This software is provided 'as-is', without any express or implied
6
- warranty. In no event will the authors be held liable for any damages
7
- arising from the use of this software.
8
-
9
- Permission is granted to anyone to use this software for any purpose,
10
- including commercial applications, and to alter it and redistribute it
11
- freely, subject to the following restrictions:
12
-
13
- 1. The origin of this software must not be misrepresented; you must not
14
- claim that you wrote the original software. If you use this software
15
- in a product, an acknowledgment in the product documentation would be
16
- appreciated but is not required.
17
- 2. Altered source versions must be plainly marked as such, and must not be
18
- misrepresented as being the original software.
19
- 3. This notice may not be removed or altered from any source distribution.
20
- */
21
-
22
- /**
23
- * \file SDL_test_memory.h
24
- *
25
- * Include file for SDL test framework.
26
- *
27
- * This code is a part of the SDL2_test library, not the main SDL library.
28
- */
29
-
30
- #ifndef SDL_test_memory_h_
31
- #define SDL_test_memory_h_
32
-
33
- #include "begin_code.h"
34
- /* Set up for C function definitions, even when using C++ */
35
- #ifdef __cplusplus
36
- extern "C" {
37
- #endif
38
-
39
-
40
- /**
41
- * \brief Start tracking SDL memory allocations
42
- *
43
- * \note This should be called before any other SDL functions for complete tracking coverage
44
- */
45
- int SDLTest_TrackAllocations(void);
46
-
47
- /**
48
- * \brief Print a log of any outstanding allocations
49
- *
50
- * \note This can be called after SDL_Quit()
51
- */
52
- void SDLTest_LogAllocations(void);
53
-
54
-
55
- /* Ends C function definitions when using C++ */
56
- #ifdef __cplusplus
57
- }
58
- #endif
59
- #include "close_code.h"
60
-
61
- #endif /* SDL_test_memory_h_ */
62
-
63
- /* vi: set ts=4 sw=4 expandtab: */
@@ -1,115 +0,0 @@
1
- /*
2
- Simple DirectMedia Layer
3
- Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
4
-
5
- This software is provided 'as-is', without any express or implied
6
- warranty. In no event will the authors be held liable for any damages
7
- arising from the use of this software.
8
-
9
- Permission is granted to anyone to use this software for any purpose,
10
- including commercial applications, and to alter it and redistribute it
11
- freely, subject to the following restrictions:
12
-
13
- 1. The origin of this software must not be misrepresented; you must not
14
- claim that you wrote the original software. If you use this software
15
- in a product, an acknowledgment in the product documentation would be
16
- appreciated but is not required.
17
- 2. Altered source versions must be plainly marked as such, and must not be
18
- misrepresented as being the original software.
19
- 3. This notice may not be removed or altered from any source distribution.
20
- */
21
-
22
- /**
23
- * \file SDL_test_random.h
24
- *
25
- * Include file for SDL test framework.
26
- *
27
- * This code is a part of the SDL2_test library, not the main SDL library.
28
- */
29
-
30
- /*
31
-
32
- A "32-bit Multiply with carry random number generator. Very fast.
33
- Includes a list of recommended multipliers.
34
-
35
- multiply-with-carry generator: x(n) = a*x(n-1) + carry mod 2^32.
36
- period: (a*2^31)-1
37
-
38
- */
39
-
40
- #ifndef SDL_test_random_h_
41
- #define SDL_test_random_h_
42
-
43
- #include "begin_code.h"
44
- /* Set up for C function definitions, even when using C++ */
45
- #ifdef __cplusplus
46
- extern "C" {
47
- #endif
48
-
49
- /* --- Definitions */
50
-
51
- /*
52
- * Macros that return a random number in a specific format.
53
- */
54
- #define SDLTest_RandomInt(c) ((int)SDLTest_Random(c))
55
-
56
- /*
57
- * Context structure for the random number generator state.
58
- */
59
- typedef struct {
60
- unsigned int a;
61
- unsigned int x;
62
- unsigned int c;
63
- unsigned int ah;
64
- unsigned int al;
65
- } SDLTest_RandomContext;
66
-
67
-
68
- /* --- Function prototypes */
69
-
70
- /**
71
- * \brief Initialize random number generator with two integers.
72
- *
73
- * Note: The random sequence of numbers returned by ...Random() is the
74
- * same for the same two integers and has a period of 2^31.
75
- *
76
- * \param rndContext pointer to context structure
77
- * \param xi integer that defines the random sequence
78
- * \param ci integer that defines the random sequence
79
- *
80
- */
81
- void SDLTest_RandomInit(SDLTest_RandomContext * rndContext, unsigned int xi,
82
- unsigned int ci);
83
-
84
- /**
85
- * \brief Initialize random number generator based on current system time.
86
- *
87
- * \param rndContext pointer to context structure
88
- *
89
- */
90
- void SDLTest_RandomInitTime(SDLTest_RandomContext *rndContext);
91
-
92
-
93
- /**
94
- * \brief Initialize random number generator based on current system time.
95
- *
96
- * Note: ...RandomInit() or ...RandomInitTime() must have been called
97
- * before using this function.
98
- *
99
- * \param rndContext pointer to context structure
100
- *
101
- * \returns a random number (32bit unsigned integer)
102
- *
103
- */
104
- unsigned int SDLTest_Random(SDLTest_RandomContext *rndContext);
105
-
106
-
107
- /* Ends C function definitions when using C++ */
108
- #ifdef __cplusplus
109
- }
110
- #endif
111
- #include "close_code.h"
112
-
113
- #endif /* SDL_test_random_h_ */
114
-
115
- /* vi: set ts=4 sw=4 expandtab: */