react-native-audio-api 0.8.3-nightly-ea268f4-20251005 → 0.8.3

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 (282) hide show
  1. package/README.md +39 -40
  2. package/RNAudioAPI.podspec +12 -17
  3. package/android/build.gradle +4 -44
  4. package/android/src/main/cpp/audioapi/CMakeLists.txt +0 -65
  5. package/android/src/main/cpp/audioapi/android/AudioAPIModule.cpp +1 -29
  6. package/android/src/main/cpp/audioapi/android/AudioAPIModule.h +0 -14
  7. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.cpp +1 -7
  8. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.h +1 -6
  9. package/android/src/main/cpp/audioapi/android/core/AudioPlayer.cpp +1 -1
  10. package/android/src/main/java/com/swmansion/audioapi/AudioAPIModule.kt +1 -11
  11. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionManager.kt +2 -15
  12. package/common/cpp/audioapi/AudioAPIModuleInstaller.h +18 -53
  13. package/common/cpp/audioapi/HostObjects/AnalyserNodeHostObject.h +149 -0
  14. package/common/cpp/audioapi/HostObjects/AudioBufferBaseSourceNodeHostObject.h +76 -0
  15. package/common/cpp/audioapi/HostObjects/AudioBufferHostObject.h +120 -0
  16. package/common/cpp/audioapi/HostObjects/AudioBufferQueueSourceNodeHostObject.h +67 -0
  17. package/common/cpp/audioapi/HostObjects/AudioBufferSourceNodeHostObject.h +142 -0
  18. package/common/cpp/audioapi/HostObjects/AudioContextHostObject.h +46 -6
  19. package/common/cpp/audioapi/HostObjects/AudioNodeHostObject.cpp +6 -70
  20. package/common/cpp/audioapi/HostObjects/AudioNodeHostObject.h +66 -10
  21. package/common/cpp/audioapi/HostObjects/AudioParamHostObject.h +91 -17
  22. package/common/cpp/audioapi/HostObjects/AudioRecorderHostObject.h +86 -0
  23. package/common/cpp/audioapi/HostObjects/AudioScheduledSourceNodeHostObject.h +56 -0
  24. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.cpp +6 -362
  25. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +241 -29
  26. package/common/cpp/audioapi/HostObjects/BiquadFilterNodeHostObject.h +89 -0
  27. package/common/cpp/audioapi/HostObjects/GainNodeHostObject.h +27 -0
  28. package/common/cpp/audioapi/HostObjects/OfflineAudioContextHostObject.h +50 -6
  29. package/common/cpp/audioapi/HostObjects/OscillatorNodeHostObject.h +65 -0
  30. package/common/cpp/audioapi/HostObjects/{sources/RecorderAdapterNodeHostObject.h → RecorderAdapterNodeHostObject.h} +2 -1
  31. package/common/cpp/audioapi/HostObjects/StereoPannerNodeHostObject.h +29 -0
  32. package/common/cpp/audioapi/HostObjects/StreamerNodeHostObject.h +30 -0
  33. package/common/cpp/audioapi/core/AudioContext.cpp +2 -3
  34. package/common/cpp/audioapi/core/AudioContext.h +1 -2
  35. package/common/cpp/audioapi/core/AudioNode.h +1 -1
  36. package/common/cpp/audioapi/core/AudioParam.cpp +2 -2
  37. package/common/cpp/audioapi/core/AudioParam.h +1 -1
  38. package/common/cpp/audioapi/core/{utils/AudioParamEventQueue.cpp → AudioParamEventQueue.cpp} +7 -13
  39. package/common/cpp/audioapi/core/BaseAudioContext.cpp +3 -47
  40. package/common/cpp/audioapi/core/BaseAudioContext.h +4 -13
  41. package/common/cpp/audioapi/core/{utils/Constants.h → Constants.h} +0 -5
  42. package/common/cpp/audioapi/core/OfflineAudioContext.cpp +3 -4
  43. package/common/cpp/audioapi/core/OfflineAudioContext.h +1 -2
  44. package/common/cpp/audioapi/core/effects/PeriodicWave.cpp +1 -1
  45. package/common/cpp/audioapi/core/effects/StereoPannerNode.cpp +1 -1
  46. package/common/cpp/audioapi/core/inputs/AudioRecorder.cpp +1 -1
  47. package/common/cpp/audioapi/core/inputs/AudioRecorder.h +2 -2
  48. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.cpp +10 -47
  49. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.h +3 -18
  50. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.cpp +12 -94
  51. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.h +2 -8
  52. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +42 -33
  53. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +8 -6
  54. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.cpp +6 -1
  55. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.h +1 -1
  56. package/common/cpp/audioapi/core/sources/StreamerNode.h +8 -0
  57. package/common/cpp/audioapi/dsp/Windows.cpp +1 -1
  58. package/common/cpp/audioapi/events/AudioEventHandlerRegistry.cpp +1 -1
  59. package/common/cpp/audioapi/events/AudioEventHandlerRegistry.h +1 -2
  60. package/common/cpp/audioapi/events/AudioEventHandlerRegistryHostObject.h +48 -0
  61. package/common/cpp/audioapi/jsi/AudioArrayBuffer.h +1 -14
  62. package/common/cpp/audioapi/jsi/JsiHostObject.h +12 -6
  63. package/common/cpp/audioapi/jsi/JsiPromise.cpp +0 -49
  64. package/common/cpp/audioapi/jsi/JsiPromise.h +1 -29
  65. package/common/cpp/audioapi/utils/AudioBus.cpp +1 -1
  66. package/common/cpp/test/CMakeLists.txt +3 -11
  67. package/common/cpp/test/GainTest.cpp +1 -2
  68. package/common/cpp/test/OscillatorTest.cpp +1 -2
  69. package/ios/audioapi/ios/AudioAPIModule.mm +5 -32
  70. package/ios/audioapi/ios/core/IOSAudioPlayer.mm +1 -1
  71. package/ios/audioapi/ios/core/IOSAudioRecorder.h +1 -2
  72. package/ios/audioapi/ios/core/IOSAudioRecorder.mm +1 -1
  73. package/ios/audioapi/ios/events/IOSAudioEventHandlerRegistry.h +7 -0
  74. package/ios/audioapi/ios/events/IOSAudioEventHandlerRegistry.mm +12 -0
  75. package/lib/commonjs/api.js +2 -36
  76. package/lib/commonjs/api.js.map +1 -1
  77. package/lib/commonjs/api.web.js +0 -8
  78. package/lib/commonjs/api.web.js.map +1 -1
  79. package/lib/commonjs/core/AudioBufferBaseSourceNode.js +7 -7
  80. package/lib/commonjs/core/AudioBufferBaseSourceNode.js.map +1 -1
  81. package/lib/commonjs/core/AudioBufferQueueSourceNode.js +6 -1
  82. package/lib/commonjs/core/AudioBufferQueueSourceNode.js.map +1 -1
  83. package/lib/commonjs/core/AudioBufferSourceNode.js +0 -15
  84. package/lib/commonjs/core/AudioBufferSourceNode.js.map +1 -1
  85. package/lib/commonjs/core/AudioContext.js +1 -10
  86. package/lib/commonjs/core/AudioContext.js.map +1 -1
  87. package/lib/commonjs/core/AudioScheduledSourceNode.js +4 -4
  88. package/lib/commonjs/core/AudioScheduledSourceNode.js.map +1 -1
  89. package/lib/commonjs/core/BaseAudioContext.js +11 -66
  90. package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
  91. package/lib/commonjs/core/OfflineAudioContext.js +2 -11
  92. package/lib/commonjs/core/OfflineAudioContext.js.map +1 -1
  93. package/lib/commonjs/core/OscillatorNode.js +0 -6
  94. package/lib/commonjs/core/OscillatorNode.js.map +1 -1
  95. package/lib/commonjs/hooks/{useSystemVolume.js → useSytemVolume.js} +1 -1
  96. package/lib/commonjs/hooks/useSytemVolume.js.map +1 -0
  97. package/lib/commonjs/utils/index.js +0 -9
  98. package/lib/commonjs/utils/index.js.map +1 -1
  99. package/lib/commonjs/web-core/AudioContext.js +0 -4
  100. package/lib/commonjs/web-core/AudioContext.js.map +1 -1
  101. package/lib/commonjs/web-core/AudioScheduledSourceNode.js +1 -1
  102. package/lib/commonjs/web-core/AudioScheduledSourceNode.js.map +1 -1
  103. package/lib/commonjs/web-core/OfflineAudioContext.js +0 -4
  104. package/lib/commonjs/web-core/OfflineAudioContext.js.map +1 -1
  105. package/lib/module/api.js +2 -6
  106. package/lib/module/api.js.map +1 -1
  107. package/lib/module/api.web.js +0 -1
  108. package/lib/module/api.web.js.map +1 -1
  109. package/lib/module/core/AudioBufferBaseSourceNode.js +7 -7
  110. package/lib/module/core/AudioBufferBaseSourceNode.js.map +1 -1
  111. package/lib/module/core/AudioBufferQueueSourceNode.js +6 -1
  112. package/lib/module/core/AudioBufferQueueSourceNode.js.map +1 -1
  113. package/lib/module/core/AudioBufferSourceNode.js +0 -15
  114. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  115. package/lib/module/core/AudioContext.js +1 -10
  116. package/lib/module/core/AudioContext.js.map +1 -1
  117. package/lib/module/core/AudioScheduledSourceNode.js +4 -4
  118. package/lib/module/core/AudioScheduledSourceNode.js.map +1 -1
  119. package/lib/module/core/BaseAudioContext.js +11 -66
  120. package/lib/module/core/BaseAudioContext.js.map +1 -1
  121. package/lib/module/core/OfflineAudioContext.js +2 -11
  122. package/lib/module/core/OfflineAudioContext.js.map +1 -1
  123. package/lib/module/core/OscillatorNode.js +0 -6
  124. package/lib/module/core/OscillatorNode.js.map +1 -1
  125. package/lib/module/hooks/{useSystemVolume.js → useSytemVolume.js} +1 -1
  126. package/lib/module/hooks/useSytemVolume.js.map +1 -0
  127. package/lib/module/utils/index.js +0 -8
  128. package/lib/module/utils/index.js.map +1 -1
  129. package/lib/module/web-core/AudioContext.js +0 -4
  130. package/lib/module/web-core/AudioContext.js.map +1 -1
  131. package/lib/module/web-core/AudioScheduledSourceNode.js +1 -1
  132. package/lib/module/web-core/AudioScheduledSourceNode.js.map +1 -1
  133. package/lib/module/web-core/OfflineAudioContext.js +0 -4
  134. package/lib/module/web-core/OfflineAudioContext.js.map +1 -1
  135. package/lib/typescript/api.d.ts +4 -8
  136. package/lib/typescript/api.d.ts.map +1 -1
  137. package/lib/typescript/api.web.d.ts +0 -1
  138. package/lib/typescript/api.web.d.ts.map +1 -1
  139. package/lib/typescript/core/AudioBufferBaseSourceNode.d.ts +2 -2
  140. package/lib/typescript/core/AudioBufferBaseSourceNode.d.ts.map +1 -1
  141. package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts +1 -1
  142. package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts.map +1 -1
  143. package/lib/typescript/core/AudioBufferSourceNode.d.ts +0 -4
  144. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  145. package/lib/typescript/core/AudioContext.d.ts +0 -1
  146. package/lib/typescript/core/AudioContext.d.ts.map +1 -1
  147. package/lib/typescript/core/AudioScheduledSourceNode.d.ts +1 -1
  148. package/lib/typescript/core/BaseAudioContext.d.ts +11 -19
  149. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  150. package/lib/typescript/core/OfflineAudioContext.d.ts +0 -1
  151. package/lib/typescript/core/OfflineAudioContext.d.ts.map +1 -1
  152. package/lib/typescript/core/OscillatorNode.d.ts +0 -3
  153. package/lib/typescript/core/OscillatorNode.d.ts.map +1 -1
  154. package/lib/typescript/events/types.d.ts +0 -2
  155. package/lib/typescript/events/types.d.ts.map +1 -1
  156. package/lib/typescript/hooks/{useSystemVolume.d.ts → useSytemVolume.d.ts} +1 -1
  157. package/lib/typescript/hooks/useSytemVolume.d.ts.map +1 -0
  158. package/lib/typescript/interfaces.d.ts +3 -21
  159. package/lib/typescript/interfaces.d.ts.map +1 -1
  160. package/lib/typescript/types.d.ts +1 -2
  161. package/lib/typescript/types.d.ts.map +1 -1
  162. package/lib/typescript/utils/index.d.ts +0 -8
  163. package/lib/typescript/utils/index.d.ts.map +1 -1
  164. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +1 -1
  165. package/lib/typescript/web-core/AudioContext.d.ts +2 -4
  166. package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
  167. package/lib/typescript/web-core/AudioScheduledSourceNode.d.ts +1 -1
  168. package/lib/typescript/web-core/BaseAudioContext.d.ts +0 -2
  169. package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
  170. package/lib/typescript/web-core/OfflineAudioContext.d.ts +2 -4
  171. package/lib/typescript/web-core/OfflineAudioContext.d.ts.map +1 -1
  172. package/package.json +2 -3
  173. package/src/api.ts +3 -12
  174. package/src/api.web.ts +0 -1
  175. package/src/core/AudioBufferBaseSourceNode.ts +9 -9
  176. package/src/core/AudioBufferQueueSourceNode.ts +9 -1
  177. package/src/core/AudioBufferSourceNode.ts +0 -28
  178. package/src/core/AudioContext.ts +1 -12
  179. package/src/core/AudioScheduledSourceNode.ts +5 -5
  180. package/src/core/BaseAudioContext.ts +13 -149
  181. package/src/core/OfflineAudioContext.ts +2 -18
  182. package/src/core/OscillatorNode.ts +0 -11
  183. package/src/events/types.ts +0 -2
  184. package/src/interfaces.ts +5 -59
  185. package/src/types.ts +1 -3
  186. package/src/utils/index.ts +0 -21
  187. package/src/web-core/AudioBufferSourceNode.tsx +1 -1
  188. package/src/web-core/AudioContext.tsx +2 -7
  189. package/src/web-core/AudioScheduledSourceNode.tsx +1 -1
  190. package/src/web-core/BaseAudioContext.tsx +0 -2
  191. package/src/web-core/OfflineAudioContext.tsx +2 -7
  192. package/android/src/main/cpp/audioapi/android/core/NativeAudioRecorder.hpp +0 -36
  193. package/android/src/main/java/com/swmansion/audioapi/core/NativeAudioRecorder.kt +0 -24
  194. package/common/cpp/audioapi/HostObjects/AudioContextHostObject.cpp +0 -57
  195. package/common/cpp/audioapi/HostObjects/AudioParamHostObject.cpp +0 -105
  196. package/common/cpp/audioapi/HostObjects/OfflineAudioContextHostObject.cpp +0 -70
  197. package/common/cpp/audioapi/HostObjects/WorkletNodeHostObject.h +0 -18
  198. package/common/cpp/audioapi/HostObjects/WorkletProcessingNodeHostObject.h +0 -18
  199. package/common/cpp/audioapi/HostObjects/analysis/AnalyserNodeHostObject.cpp +0 -148
  200. package/common/cpp/audioapi/HostObjects/analysis/AnalyserNodeHostObject.h +0 -37
  201. package/common/cpp/audioapi/HostObjects/effects/BiquadFilterNodeHostObject.cpp +0 -92
  202. package/common/cpp/audioapi/HostObjects/effects/BiquadFilterNodeHostObject.h +0 -29
  203. package/common/cpp/audioapi/HostObjects/effects/GainNodeHostObject.cpp +0 -20
  204. package/common/cpp/audioapi/HostObjects/effects/GainNodeHostObject.h +0 -19
  205. package/common/cpp/audioapi/HostObjects/effects/StereoPannerNodeHostObject.cpp +0 -21
  206. package/common/cpp/audioapi/HostObjects/effects/StereoPannerNodeHostObject.h +0 -21
  207. package/common/cpp/audioapi/HostObjects/events/AudioEventHandlerRegistryHostObject.cpp +0 -41
  208. package/common/cpp/audioapi/HostObjects/events/AudioEventHandlerRegistryHostObject.h +0 -28
  209. package/common/cpp/audioapi/HostObjects/inputs/AudioRecorderHostObject.cpp +0 -69
  210. package/common/cpp/audioapi/HostObjects/inputs/AudioRecorderHostObject.h +0 -33
  211. package/common/cpp/audioapi/HostObjects/sources/AudioBufferBaseSourceNodeHostObject.cpp +0 -73
  212. package/common/cpp/audioapi/HostObjects/sources/AudioBufferBaseSourceNodeHostObject.h +0 -29
  213. package/common/cpp/audioapi/HostObjects/sources/AudioBufferHostObject.cpp +0 -94
  214. package/common/cpp/audioapi/HostObjects/sources/AudioBufferHostObject.h +0 -46
  215. package/common/cpp/audioapi/HostObjects/sources/AudioBufferQueueSourceNodeHostObject.cpp +0 -60
  216. package/common/cpp/audioapi/HostObjects/sources/AudioBufferQueueSourceNodeHostObject.h +0 -25
  217. package/common/cpp/audioapi/HostObjects/sources/AudioBufferSourceNodeHostObject.cpp +0 -152
  218. package/common/cpp/audioapi/HostObjects/sources/AudioBufferSourceNodeHostObject.h +0 -37
  219. package/common/cpp/audioapi/HostObjects/sources/AudioScheduledSourceNodeHostObject.cpp +0 -52
  220. package/common/cpp/audioapi/HostObjects/sources/AudioScheduledSourceNodeHostObject.h +0 -25
  221. package/common/cpp/audioapi/HostObjects/sources/ConstantSourceNodeHostObject.cpp +0 -19
  222. package/common/cpp/audioapi/HostObjects/sources/ConstantSourceNodeHostObject.h +0 -21
  223. package/common/cpp/audioapi/HostObjects/sources/OscillatorNodeHostObject.cpp +0 -55
  224. package/common/cpp/audioapi/HostObjects/sources/OscillatorNodeHostObject.h +0 -27
  225. package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.cpp +0 -22
  226. package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.h +0 -28
  227. package/common/cpp/audioapi/HostObjects/sources/WorkletSourceNodeHostObject.h +0 -18
  228. package/common/cpp/audioapi/core/effects/WorkletNode.cpp +0 -87
  229. package/common/cpp/audioapi/core/effects/WorkletNode.h +0 -65
  230. package/common/cpp/audioapi/core/effects/WorkletProcessingNode.cpp +0 -89
  231. package/common/cpp/audioapi/core/effects/WorkletProcessingNode.h +0 -52
  232. package/common/cpp/audioapi/core/sources/ConstantSourceNode.cpp +0 -51
  233. package/common/cpp/audioapi/core/sources/ConstantSourceNode.h +0 -26
  234. package/common/cpp/audioapi/core/sources/WorkletSourceNode.cpp +0 -82
  235. package/common/cpp/audioapi/core/sources/WorkletSourceNode.h +0 -47
  236. package/common/cpp/audioapi/core/utils/worklets/SafeIncludes.h +0 -52
  237. package/common/cpp/audioapi/core/utils/worklets/WorkletsRunner.cpp +0 -9
  238. package/common/cpp/audioapi/core/utils/worklets/WorkletsRunner.h +0 -73
  239. package/common/cpp/audioapi/utils/ThreadPool.hpp +0 -104
  240. package/common/cpp/test/AudioParamTest.cpp +0 -204
  241. package/lib/commonjs/core/ConstantSourceNode.js +0 -17
  242. package/lib/commonjs/core/ConstantSourceNode.js.map +0 -1
  243. package/lib/commonjs/core/WorkletNode.js +0 -11
  244. package/lib/commonjs/core/WorkletNode.js.map +0 -1
  245. package/lib/commonjs/core/WorkletProcessingNode.js +0 -11
  246. package/lib/commonjs/core/WorkletProcessingNode.js.map +0 -1
  247. package/lib/commonjs/core/WorkletSourceNode.js +0 -11
  248. package/lib/commonjs/core/WorkletSourceNode.js.map +0 -1
  249. package/lib/commonjs/hooks/useSystemVolume.js.map +0 -1
  250. package/lib/commonjs/web-core/ConstantSourceNode.js +0 -17
  251. package/lib/commonjs/web-core/ConstantSourceNode.js.map +0 -1
  252. package/lib/module/core/ConstantSourceNode.js +0 -11
  253. package/lib/module/core/ConstantSourceNode.js.map +0 -1
  254. package/lib/module/core/WorkletNode.js +0 -5
  255. package/lib/module/core/WorkletNode.js.map +0 -1
  256. package/lib/module/core/WorkletProcessingNode.js +0 -5
  257. package/lib/module/core/WorkletProcessingNode.js.map +0 -1
  258. package/lib/module/core/WorkletSourceNode.js +0 -5
  259. package/lib/module/core/WorkletSourceNode.js.map +0 -1
  260. package/lib/module/hooks/useSystemVolume.js.map +0 -1
  261. package/lib/module/web-core/ConstantSourceNode.js +0 -11
  262. package/lib/module/web-core/ConstantSourceNode.js.map +0 -1
  263. package/lib/typescript/core/ConstantSourceNode.d.ts +0 -9
  264. package/lib/typescript/core/ConstantSourceNode.d.ts.map +0 -1
  265. package/lib/typescript/core/WorkletNode.d.ts +0 -4
  266. package/lib/typescript/core/WorkletNode.d.ts.map +0 -1
  267. package/lib/typescript/core/WorkletProcessingNode.d.ts +0 -4
  268. package/lib/typescript/core/WorkletProcessingNode.d.ts.map +0 -1
  269. package/lib/typescript/core/WorkletSourceNode.d.ts +0 -4
  270. package/lib/typescript/core/WorkletSourceNode.d.ts.map +0 -1
  271. package/lib/typescript/hooks/useSystemVolume.d.ts.map +0 -1
  272. package/lib/typescript/web-core/ConstantSourceNode.d.ts +0 -8
  273. package/lib/typescript/web-core/ConstantSourceNode.d.ts.map +0 -1
  274. package/src/core/ConstantSourceNode.ts +0 -13
  275. package/src/core/WorkletNode.ts +0 -3
  276. package/src/core/WorkletProcessingNode.ts +0 -3
  277. package/src/core/WorkletSourceNode.ts +0 -3
  278. package/src/web-core/ConstantSourceNode.tsx +0 -12
  279. /package/common/cpp/audioapi/HostObjects/{destinations/AudioDestinationNodeHostObject.h → AudioDestinationNodeHostObject.h} +0 -0
  280. /package/common/cpp/audioapi/HostObjects/{effects/PeriodicWaveHostObject.h → PeriodicWaveHostObject.h} +0 -0
  281. /package/common/cpp/audioapi/core/{utils/AudioParamEventQueue.h → AudioParamEventQueue.h} +0 -0
  282. /package/src/hooks/{useSystemVolume.ts → useSytemVolume.ts} +0 -0
@@ -10,8 +10,13 @@
10
10
  #include <utility>
11
11
  #include <vector>
12
12
 
13
- #define JSI_HOST_FUNCTION_DECL(name) jsi::Value name(jsi::Runtime &runtime, const jsi::Value &thisValue, const jsi::Value *args, size_t count)
14
- #define JSI_HOST_FUNCTION_IMPL(CLASS, name) jsi::Value CLASS::name(jsi::Runtime &runtime, const jsi::Value &thisValue, const jsi::Value *args, size_t count)
13
+ #define JSI_HOST_FUNCTION(NAME) \
14
+ jsi::Value NAME( \
15
+ jsi::Runtime &runtime, \
16
+ const jsi::Value &thisValue, \
17
+ const jsi::Value *args, \
18
+ size_t count)
19
+
15
20
  #define JSI_EXPORT_FUNCTION(CLASS, FUNCTION) \
16
21
  std::make_pair( \
17
22
  std::string(#FUNCTION), \
@@ -19,16 +24,17 @@
19
24
  jsi::Runtime &, const jsi::Value &, const jsi::Value *, size_t)>( \
20
25
  &CLASS::FUNCTION))
21
26
 
22
- #define JSI_PROPERTY_GETTER_DECL(name) jsi::Value name(jsi::Runtime &runtime)
23
- #define JSI_PROPERTY_GETTER_IMPL(CLASS, name) jsi::Value CLASS::name(jsi::Runtime &runtime)
27
+ #define JSI_PROPERTY_GETTER(name) jsi::Value name(jsi::Runtime &runtime)
28
+
24
29
  #define JSI_EXPORT_PROPERTY_GETTER(CLASS, FUNCTION) \
25
30
  std::make_pair( \
26
31
  std::string(#FUNCTION), \
27
32
  static_cast<jsi::Value (JsiHostObject::*)(jsi::Runtime &)>( \
28
33
  &CLASS::FUNCTION))
29
34
 
30
- #define JSI_PROPERTY_SETTER_DECL(name) void name(jsi::Runtime &runtime, const jsi::Value &value)
31
- #define JSI_PROPERTY_SETTER_IMPL(CLASS, name) void CLASS::name(jsi::Runtime &runtime, const jsi::Value &value)
35
+ #define JSI_PROPERTY_SETTER(name) \
36
+ void name(jsi::Runtime &runtime, const jsi::Value &value)
37
+
32
38
  #define JSI_EXPORT_PROPERTY_SETTER(CLASS, FUNCTION) \
33
39
  std::make_pair( \
34
40
  std::string(#FUNCTION), \
@@ -61,53 +61,4 @@ jsi::Value PromiseVendor::createPromise(
61
61
  return promiseCtor.callAsConstructor(runtime, runPromise);
62
62
  }
63
63
 
64
- jsi::Value PromiseVendor::createAsyncPromise(
65
- std::function<std::variant<jsi::Value, std::string>(jsi::Runtime &)>
66
- &&function) {
67
- auto &runtime = *runtime_;
68
- auto callInvoker = callInvoker_;
69
- auto threadPool = threadPool_;
70
- auto promiseCtor = runtime.global().getPropertyAsFunction(runtime, "Promise");
71
- auto promiseLambda = [threadPool = std::move(threadPool),
72
- callInvoker = std::move(callInvoker),
73
- function = std::move(function)](
74
- jsi::Runtime &runtime,
75
- const jsi::Value &thisValue,
76
- const jsi::Value *arguments,
77
- size_t count) -> jsi::Value {
78
- auto resolveLocal = arguments[0].asObject(runtime).asFunction(runtime);
79
- auto resolve = std::make_shared<jsi::Function>(std::move(resolveLocal));
80
- auto rejectLocal = arguments[1].asObject(runtime).asFunction(runtime);
81
- auto reject = std::make_shared<jsi::Function>(std::move(rejectLocal));
82
-
83
- threadPool->schedule([callInvoker = std::move(callInvoker),
84
- function = std::move(function),
85
- resolve = std::move(resolve),
86
- reject = std::move(reject),
87
- &runtime]() {
88
- auto result = function(runtime);
89
- if (std::holds_alternative<jsi::Value>(result)) {
90
- auto valueShared = std::make_shared<jsi::Value>(
91
- std::move(std::get<jsi::Value>(result)));
92
- callInvoker->invokeAsync([resolve, &runtime, valueShared]() -> void {
93
- resolve->call(runtime, *valueShared);
94
- });
95
- } else {
96
- auto errorMessage = std::get<std::string>(result);
97
- callInvoker->invokeAsync([reject, &runtime, errorMessage]() -> void {
98
- auto error = jsi::JSError(runtime, errorMessage);
99
- reject->call(runtime, error.value());
100
- });
101
- }
102
- });
103
- return jsi::Value::undefined();
104
- };
105
- auto promiseFunction = jsi::Function::createFromHostFunction(
106
- runtime,
107
- jsi::PropNameID::forUtf8(runtime, "asyncPromise"),
108
- 2,
109
- std::move(promiseLambda));
110
- return promiseCtor.callAsConstructor(runtime, std::move(promiseFunction));
111
- }
112
-
113
64
  } // namespace audioapi
@@ -1,16 +1,11 @@
1
1
  #pragma once
2
2
 
3
-
4
- #include <audioapi/core/utils/Constants.h>
5
3
  #include <ReactCommon/CallInvoker.h>
6
4
  #include <jsi/jsi.h>
7
- #include <variant>
8
- #include <thread>
9
5
  #include <memory>
10
6
  #include <string>
11
7
  #include <utility>
12
8
  #include <functional>
13
- #include <audioapi/utils/ThreadPool.hpp>
14
9
 
15
10
  namespace audioapi {
16
11
 
@@ -35,36 +30,13 @@ class Promise {
35
30
 
36
31
  class PromiseVendor {
37
32
  public:
38
- PromiseVendor(jsi::Runtime *runtime, const std::shared_ptr<react::CallInvoker> &callInvoker):
39
- runtime_(runtime), callInvoker_(callInvoker), threadPool_(std::make_shared<ThreadPool>(
40
- audioapi::PROMISE_VENDOR_THREAD_POOL_WORKER_COUNT,
41
- audioapi::PROMISE_VENDOR_THREAD_POOL_LOAD_BALANCER_QUEUE_SIZE,
42
- audioapi::PROMISE_VENDOR_THREAD_POOL_WORKER_QUEUE_SIZE)) {}
33
+ PromiseVendor(jsi::Runtime *runtime, const std::shared_ptr<react::CallInvoker> &callInvoker): runtime_(runtime), callInvoker_(callInvoker) {}
43
34
 
44
35
  jsi::Value createPromise(const std::function<void(std::shared_ptr<Promise>)> &function);
45
36
 
46
- /// @brief Creates an asynchronous promise.
47
- /// @param function The function to execute asynchronously. It should return either a jsi::Value on success or a std::string error message on failure.
48
- /// @return The created promise.
49
- /// @note The function is executed on a different thread, and the promise is resolved or rejected based on the function's outcome.
50
- /// @note IMPORTANT: This function is not thread-safe and should be called from a single thread only. (comes from underlying ThreadPool implementation)
51
- /// @example
52
- /// ```cpp
53
- /// auto promise = promiseVendor_->createAsyncPromise(
54
- /// [](jsi::Runtime& rt) -> std::variant<jsi::Value, std::string> {
55
- /// // Simulate some heavy work
56
- /// std::this_thread::sleep_for(std::chrono::seconds(2));
57
- /// return jsi::String::createFromUtf8(rt, "Promise resolved successfully!");
58
- /// }
59
- /// );
60
- ///
61
- /// return promise;
62
- jsi::Value createAsyncPromise(std::function<std::variant<jsi::Value, std::string>(jsi::Runtime&)> &&function);
63
-
64
37
  private:
65
38
  jsi::Runtime *runtime_;
66
39
  std::shared_ptr<react::CallInvoker> callInvoker_;
67
- std::shared_ptr<ThreadPool> threadPool_;
68
40
  };
69
41
 
70
42
  } // namespace audioapi
@@ -1,4 +1,4 @@
1
- #include <audioapi/core/utils/Constants.h>
1
+ #include <audioapi/core/Constants.h>
2
2
  #include <audioapi/dsp/VectorMath.h>
3
3
  #include <audioapi/utils/AudioArray.h>
4
4
  #include <audioapi/utils/AudioBus.h>
@@ -24,14 +24,8 @@ file(GLOB_RECURSE RNAUDIOAPI_SRC
24
24
  "${ROOT}/node_modules/react-native-audio-api/android/src/main/cpp/audioapi/android/core/AudioDecoder.cpp"
25
25
  )
26
26
 
27
- # exclude HostObjects from tests
28
- list(FILTER RNAUDIOAPI_SRC EXCLUDE REGEX ".*/audioapi/HostObjects/.*\\.cpp$")
29
-
30
- list(REMOVE_ITEM RNAUDIOAPI_SRC
27
+ list(REMOVE_ITEM RNAUDIOAPI_SRC
31
28
  "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/core/AudioContext.cpp"
32
- "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/core/effects/WorkletNode.cpp"
33
- "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/core/effects/WorkletProcessingNode.cpp"
34
- "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/core/sources/WorkletSourceNode.cpp"
35
29
  "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/core/sources/StreamerNode.cpp"
36
30
  "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/core/sources/StreamerNode.h"
37
31
  "${ROOT}/node_modules/react-native-audio-api/common/cpp/audioapi/libs/ffmpeg/FFmpegDecoding.cpp"
@@ -62,16 +56,14 @@ target_include_directories(rnaudioapi PUBLIC
62
56
  target_include_directories(rnaudioapi_libs PUBLIC
63
57
  ${ROOT}/packages/react-native-audio-api/common/cpp
64
58
  )
59
+
65
60
  add_executable(
66
61
  tests
67
62
  OscillatorTest.cpp
68
63
  GainTest.cpp
69
- AudioParamTest.cpp
70
64
  )
71
65
 
72
66
  add_compile_definitions(AUDIO_API_TEST_SUITE)
73
- add_compile_definitions(RN_AUDIO_API_ENABLE_WORKLETS=0)
74
- add_compile_definitions(RN_AUDIO_API_TEST=1)
75
67
 
76
68
  target_link_libraries(tests
77
69
  rnaudioapi
@@ -81,4 +73,4 @@ target_link_libraries(tests
81
73
  )
82
74
 
83
75
  include(GoogleTest)
84
- gtest_discover_tests(tests)
76
+ gtest_discover_tests(tests)
@@ -1,6 +1,5 @@
1
1
  #include <audioapi/core/OfflineAudioContext.h>
2
2
  #include <audioapi/core/effects/GainNode.h>
3
- #include <audioapi/core/utils/worklets/SafeIncludes.h>
4
3
  #include <audioapi/utils/AudioArray.h>
5
4
  #include <audioapi/utils/AudioBus.h>
6
5
  #include <gtest/gtest.h>
@@ -15,7 +14,7 @@ class GainTest : public ::testing::Test {
15
14
  void SetUp() override {
16
15
  eventRegistry = std::make_shared<MockAudioEventHandlerRegistry>();
17
16
  context = std::make_unique<audioapi::OfflineAudioContext>(
18
- 2, 5 * sampleRate, sampleRate, eventRegistry, RuntimeRegistry{});
17
+ 2, 5 * sampleRate, sampleRate, eventRegistry);
19
18
  }
20
19
  };
21
20
 
@@ -1,6 +1,5 @@
1
1
  #include <audioapi/core/OfflineAudioContext.h>
2
2
  #include <audioapi/core/sources/OscillatorNode.h>
3
- #include <audioapi/core/utils/worklets/SafeIncludes.h>
4
3
  #include <gtest/gtest.h>
5
4
  #include "MockAudioEventHandlerRegistry.h"
6
5
 
@@ -13,7 +12,7 @@ class OscillatorTest : public ::testing::Test {
13
12
  void SetUp() override {
14
13
  eventRegistry = std::make_shared<MockAudioEventHandlerRegistry>();
15
14
  context = std::make_unique<audioapi::OfflineAudioContext>(
16
- 2, 5 * sampleRate, sampleRate, eventRegistry, RuntimeRegistry{});
15
+ 2, 5 * sampleRate, sampleRate, eventRegistry);
17
16
  }
18
17
  };
19
18
 
@@ -1,13 +1,9 @@
1
1
  #import <React/RCTBridge+Private.h>
2
2
  #import <audioapi/ios/AudioAPIModule.h>
3
-
4
- #import <audioapi/core/utils/worklets/SafeIncludes.h>
5
- #if RN_AUDIO_API_ENABLE_WORKLETS
6
- #import <worklets/apple/WorkletsModule.h>
7
- #endif
8
3
  #ifdef RCT_NEW_ARCH_ENABLED
9
4
  #import <React/RCTCallInvoker.h>
10
5
  #endif // RCT_NEW_ARCH_ENABLED
6
+
11
7
  #import <audioapi/AudioAPIModuleInstaller.h>
12
8
  #import <audioapi/ios/system/AudioEngine.h>
13
9
  #import <audioapi/ios/system/AudioSessionManager.h>
@@ -18,7 +14,6 @@
18
14
 
19
15
  using namespace audioapi;
20
16
  using namespace facebook::react;
21
- using namespace worklets;
22
17
 
23
18
  @interface RCTBridge (JSIRuntime)
24
19
  - (void *)runtime;
@@ -35,12 +30,10 @@ using namespace worklets;
35
30
 
36
31
  @implementation AudioAPIModule {
37
32
  std::shared_ptr<AudioEventHandlerRegistry> _eventHandler;
38
- std::weak_ptr<WorkletsModuleProxy> weakWorkletsModuleProxy_;
39
33
  }
40
34
 
41
35
  #if defined(RCT_NEW_ARCH_ENABLED)
42
36
  @synthesize callInvoker = _callInvoker;
43
- @synthesize moduleRegistry = _moduleRegistry;
44
37
  #endif // defined(RCT_NEW_ARCH_ENABLED)
45
38
 
46
39
  RCT_EXPORT_MODULE(AudioAPIModule);
@@ -76,32 +69,12 @@ RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install)
76
69
 
77
70
  _eventHandler = std::make_shared<AudioEventHandlerRegistry>(jsiRuntime, jsCallInvoker);
78
71
 
79
- #if RN_AUDIO_API_ENABLE_WORKLETS
80
- WorkletsModule *workletsModule = [_moduleRegistry moduleForName:"WorkletsModule"];
81
-
82
- if (!workletsModule) {
83
- NSLog(@"WorkletsModule not found in module registry");
84
- }
85
-
86
- auto workletsModuleProxy = [workletsModule getWorkletsModuleProxy];
87
-
88
- if (!workletsModuleProxy) {
89
- NSLog(@"WorkletsModuleProxy not available");
90
- }
91
-
92
- weakWorkletsModuleProxy_ = workletsModuleProxy;
93
-
94
- auto uiWorkletRuntime = workletsModuleProxy->getUIWorkletRuntime();
95
-
96
- if (!uiWorkletRuntime) {
97
- NSLog(@"UI Worklet Runtime not available");
98
- }
72
+ self.audioSessionManager = [[AudioSessionManager alloc] init];
73
+ self.audioEngine = [[AudioEngine alloc] initWithAudioSessionManager:self.audioSessionManager];
74
+ self.lockScreenManager = [[LockScreenManager alloc] initWithAudioAPIModule:self];
75
+ self.notificationManager = [[NotificationManager alloc] initWithAudioAPIModule:self];
99
76
 
100
- // Get the actual JSI Runtime reference
101
- audioapi::AudioAPIModuleInstaller::injectJSIBindings(jsiRuntime, jsCallInvoker, _eventHandler, uiWorkletRuntime);
102
- #else
103
77
  audioapi::AudioAPIModuleInstaller::injectJSIBindings(jsiRuntime, jsCallInvoker, _eventHandler);
104
- #endif
105
78
 
106
79
  NSLog(@"Successfully installed JSI bindings for react-native-audio-api!");
107
80
  return @true;
@@ -1,6 +1,6 @@
1
1
  #import <AVFoundation/AVFoundation.h>
2
2
 
3
- #include <audioapi/core/utils/Constants.h>
3
+ #include <audioapi/core/Constants.h>
4
4
  #include <audioapi/dsp/VectorMath.h>
5
5
  #include <audioapi/ios/core/IOSAudioPlayer.h>
6
6
  #include <audioapi/ios/system/AudioEngine.h>
@@ -18,8 +18,7 @@ class IOSAudioRecorder : public AudioRecorder {
18
18
  IOSAudioRecorder(
19
19
  float sampleRate,
20
20
  int bufferLength,
21
- const std::shared_ptr<AudioEventHandlerRegistry>
22
- &audioEventHandlerRegistry);
21
+ const std::shared_ptr<AudioEventHandlerRegistry> &audioEventHandlerRegistry);
23
22
 
24
23
  ~IOSAudioRecorder() override;
25
24
 
@@ -1,6 +1,6 @@
1
1
  #import <AVFoundation/AVFoundation.h>
2
2
 
3
- #include <audioapi/core/utils/Constants.h>
3
+ #include <audioapi/core/Constants.h>
4
4
  #include <audioapi/dsp/VectorMath.h>
5
5
  #include <audioapi/events/AudioEventHandlerRegistry.h>
6
6
  #include <audioapi/ios/core/IOSAudioRecorder.h>
@@ -0,0 +1,7 @@
1
+ #pragma once
2
+
3
+ #import <Foundation/Foundation.h>
4
+
5
+ @interface IOSAudioEventHandlerRegistry : NSObject
6
+
7
+ -
@@ -0,0 +1,12 @@
1
+ // #import <audioapi/ios/events/IOSAudioEventHandlerRegistry.h>
2
+ //
3
+ // #include <memory>
4
+ // #include
5
+ //
6
+ //@implementation IOSAudioEventHandlerRegistry {
7
+ // std::shared_ptr<AudioEventHandlerRegistry> _eventHandler;
8
+ //
9
+ //
10
+ // }
11
+ //
12
+ //@end
@@ -69,12 +69,6 @@ Object.defineProperty(exports, "AudioScheduledSourceNode", {
69
69
  return _AudioScheduledSourceNode.default;
70
70
  }
71
71
  });
72
- Object.defineProperty(exports, "AudioWorkletRuntime", {
73
- enumerable: true,
74
- get: function () {
75
- return _types.AudioWorkletRuntime;
76
- }
77
- });
78
72
  Object.defineProperty(exports, "BaseAudioContext", {
79
73
  enumerable: true,
80
74
  get: function () {
@@ -105,12 +99,6 @@ Object.defineProperty(exports, "ChannelInterpretation", {
105
99
  return _types.ChannelInterpretation;
106
100
  }
107
101
  });
108
- Object.defineProperty(exports, "ConstantSourceNode", {
109
- enumerable: true,
110
- get: function () {
111
- return _ConstantSourceNode.default;
112
- }
113
- });
114
102
  Object.defineProperty(exports, "ContextState", {
115
103
  enumerable: true,
116
104
  get: function () {
@@ -201,34 +189,13 @@ Object.defineProperty(exports, "WindowType", {
201
189
  return _types.WindowType;
202
190
  }
203
191
  });
204
- Object.defineProperty(exports, "WorkletNode", {
205
- enumerable: true,
206
- get: function () {
207
- return _WorkletNode.default;
208
- }
209
- });
210
- Object.defineProperty(exports, "WorkletProcessingNode", {
211
- enumerable: true,
212
- get: function () {
213
- return _WorkletProcessingNode.default;
214
- }
215
- });
216
- Object.defineProperty(exports, "WorkletSourceNode", {
217
- enumerable: true,
218
- get: function () {
219
- return _WorkletSourceNode.default;
220
- }
221
- });
222
192
  Object.defineProperty(exports, "useSystemVolume", {
223
193
  enumerable: true,
224
194
  get: function () {
225
- return _useSystemVolume.default;
195
+ return _useSytemVolume.default;
226
196
  }
227
197
  });
228
198
  var _specs = require("./specs");
229
- var _WorkletNode = _interopRequireDefault(require("./core/WorkletNode"));
230
- var _WorkletSourceNode = _interopRequireDefault(require("./core/WorkletSourceNode"));
231
- var _WorkletProcessingNode = _interopRequireDefault(require("./core/WorkletProcessingNode"));
232
199
  var _RecorderAdapterNode = _interopRequireDefault(require("./core/RecorderAdapterNode"));
233
200
  var _AudioBuffer = _interopRequireDefault(require("./core/AudioBuffer"));
234
201
  var _AudioBufferSourceNode = _interopRequireDefault(require("./core/AudioBufferSourceNode"));
@@ -247,9 +214,8 @@ var _OscillatorNode = _interopRequireDefault(require("./core/OscillatorNode"));
247
214
  var _StereoPannerNode = _interopRequireDefault(require("./core/StereoPannerNode"));
248
215
  var _AudioRecorder = _interopRequireDefault(require("./core/AudioRecorder"));
249
216
  var _StreamerNode = _interopRequireDefault(require("./core/StreamerNode"));
250
- var _ConstantSourceNode = _interopRequireDefault(require("./core/ConstantSourceNode"));
251
217
  var _system = _interopRequireDefault(require("./system"));
252
- var _useSystemVolume = _interopRequireDefault(require("./hooks/useSystemVolume"));
218
+ var _useSytemVolume = _interopRequireDefault(require("./hooks/useSytemVolume"));
253
219
  var _types = require("./types");
254
220
  var _errors = require("./errors");
255
221
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -1 +1 @@
1
- {"version":3,"names":["_specs","require","_WorkletNode","_interopRequireDefault","_WorkletSourceNode","_WorkletProcessingNode","_RecorderAdapterNode","_AudioBuffer","_AudioBufferSourceNode","_AudioBufferQueueSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_GainNode","_OscillatorNode","_StereoPannerNode","_AudioRecorder","_StreamerNode","_ConstantSourceNode","_system","_useSystemVolume","_types","_errors","e","__esModule","default","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","AudioEventEmitter","NativeAudioAPIModule","Error","install"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AA8CA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,sBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,oBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,YAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,sBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,2BAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,aAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,oBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,qBAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,UAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,aAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,WAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,yBAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,iBAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,iBAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,SAAA,GAAAhB,sBAAA,CAAAF,OAAA;AACA,IAAAmB,eAAA,GAAAjB,sBAAA,CAAAF,OAAA;AACA,IAAAoB,iBAAA,GAAAlB,sBAAA,CAAAF,OAAA;AACA,IAAAqB,cAAA,GAAAnB,sBAAA,CAAAF,OAAA;AACA,IAAAsB,aAAA,GAAApB,sBAAA,CAAAF,OAAA;AACA,IAAAuB,mBAAA,GAAArB,sBAAA,CAAAF,OAAA;AACA,IAAAwB,OAAA,GAAAtB,sBAAA,CAAAF,OAAA;AACA,IAAAyB,gBAAA,GAAAvB,sBAAA,CAAAF,OAAA;AAEA,IAAA0B,MAAA,GAAA1B,OAAA;AAWA,IAAA2B,OAAA,GAAA3B,OAAA;AAMkB,SAAAE,uBAAA0B,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA/ElB;;AAoBA;;AAEA,IACEG,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,IAClCH,MAAM,CAACI,iBAAiB,IAAI,IAAI,EAChC;EACA,IAAI,CAACC,2BAAoB,EAAE;IACzB,MAAM,IAAIC,KAAK,CACb,iFACF,CAAC;EACH;EAEAD,2BAAoB,CAACE,OAAO,CAAC,CAAC;AAChC","ignoreList":[]}
1
+ {"version":3,"names":["_specs","require","_RecorderAdapterNode","_interopRequireDefault","_AudioBuffer","_AudioBufferSourceNode","_AudioBufferQueueSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_GainNode","_OscillatorNode","_StereoPannerNode","_AudioRecorder","_StreamerNode","_system","_useSytemVolume","_types","_errors","e","__esModule","default","global","createAudioContext","createOfflineAudioContext","createAudioRecorder","AudioEventEmitter","NativeAudioAPIModule","Error","install"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AA0CA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,sBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,2BAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,oBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,qBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,aAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,WAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,yBAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,iBAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,iBAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,SAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,eAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,iBAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,cAAA,GAAAhB,sBAAA,CAAAF,OAAA;AACA,IAAAmB,aAAA,GAAAjB,sBAAA,CAAAF,OAAA;AACA,IAAAoB,OAAA,GAAAlB,sBAAA,CAAAF,OAAA;AACA,IAAAqB,eAAA,GAAAnB,sBAAA,CAAAF,OAAA;AAEA,IAAAsB,MAAA,GAAAtB,OAAA;AAUA,IAAAuB,OAAA,GAAAvB,OAAA;AAMkB,SAAAE,uBAAAsB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAtElB;;AAgBA;;AAEA,IACEG,MAAM,CAACC,kBAAkB,IAAI,IAAI,IACjCD,MAAM,CAACE,yBAAyB,IAAI,IAAI,IACxCF,MAAM,CAACG,mBAAmB,IAAI,IAAI,IAClCH,MAAM,CAACI,iBAAiB,IAAI,IAAI,EAChC;EACA,IAAI,CAACC,2BAAoB,EAAE;IACzB,MAAM,IAAIC,KAAK,CACb,iFACF,CAAC;EACH;EAEAD,2BAAoB,CAACE,OAAO,CAAC,CAAC;AAChC","ignoreList":[]}
@@ -18,7 +18,6 @@ var _exportNames = {
18
18
  GainNode: true,
19
19
  OscillatorNode: true,
20
20
  StereoPannerNode: true,
21
- ConstantSourceNode: true,
22
21
  OscillatorType: true,
23
22
  BiquadFilterType: true,
24
23
  ChannelCountMode: true,
@@ -110,12 +109,6 @@ Object.defineProperty(exports, "ChannelInterpretation", {
110
109
  return _types.ChannelInterpretation;
111
110
  }
112
111
  });
113
- Object.defineProperty(exports, "ConstantSourceNode", {
114
- enumerable: true,
115
- get: function () {
116
- return _ConstantSourceNode.default;
117
- }
118
- });
119
112
  Object.defineProperty(exports, "ContextState", {
120
113
  enumerable: true,
121
114
  get: function () {
@@ -208,7 +201,6 @@ var _BiquadFilterNode = _interopRequireDefault(require("./web-core/BiquadFilterN
208
201
  var _GainNode = _interopRequireDefault(require("./web-core/GainNode"));
209
202
  var _OscillatorNode = _interopRequireDefault(require("./web-core/OscillatorNode"));
210
203
  var _StereoPannerNode = _interopRequireDefault(require("./web-core/StereoPannerNode"));
211
- var _ConstantSourceNode = _interopRequireDefault(require("./web-core/ConstantSourceNode"));
212
204
  var _custom = require("./web-core/custom");
213
205
  Object.keys(_custom).forEach(function (key) {
214
206
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"names":["_AudioBuffer","_interopRequireDefault","require","_AudioBufferSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_GainNode","_OscillatorNode","_StereoPannerNode","_ConstantSourceNode","_custom","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","_errors","e","__esModule","default"],"sourceRoot":"../../src","sources":["api.web.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,oBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,qBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,WAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,yBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,iBAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,iBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,SAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,eAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,iBAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,mBAAA,GAAAf,sBAAA,CAAAC,OAAA;AAEA,IAAAe,OAAA,GAAAf,OAAA;AAAAgB,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,MAAA,GAAA5B,OAAA;AAUA,IAAA6B,OAAA,GAAA7B,OAAA;AAMkB,SAAAD,uBAAA+B,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_AudioBuffer","_interopRequireDefault","require","_AudioBufferSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_GainNode","_OscillatorNode","_StereoPannerNode","_custom","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","_errors","e","__esModule","default"],"sourceRoot":"../../src","sources":["api.web.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,oBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,qBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,WAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,yBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,iBAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,iBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,SAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,eAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,iBAAA,GAAAd,sBAAA,CAAAC,OAAA;AAEA,IAAAc,OAAA,GAAAd,OAAA;AAAAe,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,MAAA,GAAA3B,OAAA;AAUA,IAAA4B,OAAA,GAAA5B,OAAA;AAMkB,SAAAD,uBAAA8B,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -14,19 +14,19 @@ class AudioBufferBaseSourceNode extends _AudioScheduledSourceNode.default {
14
14
  this.playbackRate = new _AudioParam.default(node.playbackRate, context);
15
15
  }
16
16
  get onPositionChanged() {
17
- return this.onPositionChangedCallback;
17
+ return this.positionChangedCallback;
18
18
  }
19
19
  set onPositionChanged(callback) {
20
20
  if (!callback) {
21
21
  this.node.onPositionChanged = '0';
22
- this.onPositionChangedSubscription?.remove();
23
- this.onPositionChangedSubscription = undefined;
24
- this.onPositionChangedCallback = undefined;
22
+ this.positionChangedSubscription?.remove();
23
+ this.positionChangedSubscription = undefined;
24
+ this.positionChangedCallback = undefined;
25
25
  return;
26
26
  }
27
- this.onPositionChangedCallback = callback;
28
- this.onPositionChangedSubscription = this.audioEventEmitter.addAudioEventListener('positionChanged', callback);
29
- this.node.onPositionChanged = this.onPositionChangedSubscription.subscriptionId;
27
+ this.positionChangedCallback = callback;
28
+ this.positionChangedSubscription = this.audioEventEmitter.addAudioEventListener('positionChanged', callback);
29
+ this.node.onPositionChanged = this.positionChangedSubscription.subscriptionId;
30
30
  }
31
31
  get onPositionChangedInterval() {
32
32
  return this.node.onPositionChangedInterval;
@@ -1 +1 @@
1
- {"version":3,"names":["_AudioParam","_interopRequireDefault","require","_AudioScheduledSourceNode","e","__esModule","default","AudioBufferBaseSourceNode","AudioScheduledSourceNode","constructor","context","node","detune","AudioParam","playbackRate","onPositionChanged","onPositionChangedCallback","callback","onPositionChangedSubscription","remove","undefined","audioEventEmitter","addAudioEventListener","subscriptionId","onPositionChangedInterval","value","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferBaseSourceNode.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,yBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnD,MAAMG,yBAAyB,SAASC,iCAAwB,CAAC;EAM9EC,WAAWA,CAACC,OAAyB,EAAEC,IAAgC,EAAE;IACvE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIC,mBAAU,CAACF,IAAI,CAACC,MAAM,EAAEF,OAAO,CAAC;IAClD,IAAI,CAACI,YAAY,GAAG,IAAID,mBAAU,CAACF,IAAI,CAACG,YAAY,EAAEJ,OAAO,CAAC;EAChE;EAEA,IAAWK,iBAAiBA,CAAA,EAEd;IACZ,OAAO,IAAI,CAACC,yBAAyB;EACvC;EAEA,IAAWD,iBAAiBA,CAC1BE,QAAsD,EACtD;IACA,IAAI,CAACA,QAAQ,EAAE;MACZ,IAAI,CAACN,IAAI,CAAgCI,iBAAiB,GAAG,GAAG;MACjE,IAAI,CAACG,6BAA6B,EAAEC,MAAM,CAAC,CAAC;MAC5C,IAAI,CAACD,6BAA6B,GAAGE,SAAS;MAC9C,IAAI,CAACJ,yBAAyB,GAAGI,SAAS;MAE1C;IACF;IAEA,IAAI,CAACJ,yBAAyB,GAAGC,QAAQ;IACzC,IAAI,CAACC,6BAA6B,GAChC,IAAI,CAACG,iBAAiB,CAACC,qBAAqB,CAAC,iBAAiB,EAAEL,QAAQ,CAAC;IAE1E,IAAI,CAACN,IAAI,CAAgCI,iBAAiB,GACzD,IAAI,CAACG,6BAA6B,CAACK,cAAc;EACrD;EAEA,IAAWC,yBAAyBA,CAAA,EAAW;IAC7C,OAAQ,IAAI,CAACb,IAAI,CAAgCa,yBAAyB;EAC5E;EAEA,IAAWA,yBAAyBA,CAACC,KAAa,EAAE;IACjD,IAAI,CAACd,IAAI,CAAgCa,yBAAyB,GAAGC,KAAK;EAC7E;AACF;AAACC,OAAA,CAAApB,OAAA,GAAAC,yBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_AudioParam","_interopRequireDefault","require","_AudioScheduledSourceNode","e","__esModule","default","AudioBufferBaseSourceNode","AudioScheduledSourceNode","constructor","context","node","detune","AudioParam","playbackRate","onPositionChanged","positionChangedCallback","callback","positionChangedSubscription","remove","undefined","audioEventEmitter","addAudioEventListener","subscriptionId","onPositionChangedInterval","value","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferBaseSourceNode.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,yBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnD,MAAMG,yBAAyB,SAASC,iCAAwB,CAAC;EAM9EC,WAAWA,CAACC,OAAyB,EAAEC,IAAgC,EAAE;IACvE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIC,mBAAU,CAACF,IAAI,CAACC,MAAM,EAAEF,OAAO,CAAC;IAClD,IAAI,CAACI,YAAY,GAAG,IAAID,mBAAU,CAACF,IAAI,CAACG,YAAY,EAAEJ,OAAO,CAAC;EAChE;EAEA,IAAWK,iBAAiBA,CAAA,EAEd;IACZ,OAAO,IAAI,CAACC,uBAAuB;EACrC;EAEA,IAAWD,iBAAiBA,CAC1BE,QAAsD,EACtD;IACA,IAAI,CAACA,QAAQ,EAAE;MACZ,IAAI,CAACN,IAAI,CAAgCI,iBAAiB,GAAG,GAAG;MACjE,IAAI,CAACG,2BAA2B,EAAEC,MAAM,CAAC,CAAC;MAC1C,IAAI,CAACD,2BAA2B,GAAGE,SAAS;MAC5C,IAAI,CAACJ,uBAAuB,GAAGI,SAAS;MAExC;IACF;IAEA,IAAI,CAACJ,uBAAuB,GAAGC,QAAQ;IACvC,IAAI,CAACC,2BAA2B,GAC9B,IAAI,CAACG,iBAAiB,CAACC,qBAAqB,CAAC,iBAAiB,EAAEL,QAAQ,CAAC;IAE1E,IAAI,CAACN,IAAI,CAAgCI,iBAAiB,GACzD,IAAI,CAACG,2BAA2B,CAACK,cAAc;EACnD;EAEA,IAAWC,yBAAyBA,CAAA,EAAW;IAC7C,OAAQ,IAAI,CAACb,IAAI,CAAgCa,yBAAyB;EAC5E;EAEA,IAAWA,yBAAyBA,CAACC,KAAa,EAAE;IACjD,IAAI,CAACd,IAAI,CAAgCa,yBAAyB,GAAGC,KAAK;EAC7E;AACF;AAACC,OAAA,CAAApB,OAAA,GAAAC,yBAAA","ignoreList":[]}
@@ -21,10 +21,15 @@ class AudioBufferQueueSourceNode extends _AudioBufferBaseSourceNode.default {
21
21
  clearBuffers() {
22
22
  this.node.clearBuffers();
23
23
  }
24
- start(when = 0) {
24
+ start(when = 0, offset) {
25
25
  if (when < 0) {
26
26
  throw new _errors.RangeError(`when must be a finite non-negative number: ${when}`);
27
27
  }
28
+ if (offset) {
29
+ if (offset < 0) {
30
+ throw new _errors.RangeError(`offset must be a finite non-negative number: ${offset}`);
31
+ }
32
+ }
28
33
  this.node.start(when);
29
34
  }
30
35
  stop(when = 0) {
@@ -1 +1 @@
1
- {"version":3,"names":["_AudioBufferBaseSourceNode","_interopRequireDefault","require","_errors","e","__esModule","default","AudioBufferQueueSourceNode","AudioBufferBaseSourceNode","enqueueBuffer","buffer","node","dequeueBuffer","bufferId","id","parseInt","isNaN","RangeError","clearBuffers","start","when","stop","pause","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferQueueSourceNode.ts"],"mappings":";;;;;;AACA,IAAAA,0BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAAuC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExB,MAAMG,0BAA0B,SAASC,kCAAyB,CAAC;EACzEC,aAAaA,CAACC,MAAmB,EAAU;IAChD,OAAQ,IAAI,CAACC,IAAI,CAAiCF,aAAa,CAC7DC,MAAM,CAACA,MACT,CAAC;EACH;EAEOE,aAAaA,CAACC,QAAgB,EAAQ;IAC3C,MAAMC,EAAE,GAAGC,QAAQ,CAACF,QAAQ,EAAE,EAAE,CAAC;IACjC,IAAIG,KAAK,CAACF,EAAE,CAAC,IAAIA,EAAE,GAAG,CAAC,EAAE;MACvB,MAAM,IAAIG,kBAAU,CAClB,4CAA4CJ,QAAQ,EACtD,CAAC;IACH;IACC,IAAI,CAACF,IAAI,CAAiCC,aAAa,CAACE,EAAE,CAAC;EAC9D;EAEOI,YAAYA,CAAA,EAAS;IACzB,IAAI,CAACP,IAAI,CAAiCO,YAAY,CAAC,CAAC;EAC3D;EAEgBC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAQ;IAC5C,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIH,kBAAU,CAClB,8CAA8CG,IAAI,EACpD,CAAC;IACH;IAEC,IAAI,CAACT,IAAI,CAAiCQ,KAAK,CAACC,IAAI,CAAC;EACxD;EAEgBC,IAAIA,CAACD,IAAY,GAAG,CAAC,EAAQ;IAC3C,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIH,kBAAU,CAClB,8CAA8CG,IAAI,EACpD,CAAC;IACH;IAEC,IAAI,CAACT,IAAI,CAAiCU,IAAI,CAACD,IAAI,CAAC;EACvD;EAEOE,KAAKA,CAAA,EAAS;IAClB,IAAI,CAACX,IAAI,CAAiCW,KAAK,CAAC,CAAC;EACpD;AACF;AAACC,OAAA,CAAAjB,OAAA,GAAAC,0BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_AudioBufferBaseSourceNode","_interopRequireDefault","require","_errors","e","__esModule","default","AudioBufferQueueSourceNode","AudioBufferBaseSourceNode","enqueueBuffer","buffer","node","dequeueBuffer","bufferId","id","parseInt","isNaN","RangeError","clearBuffers","start","when","offset","stop","pause","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferQueueSourceNode.ts"],"mappings":";;;;;;AACA,IAAAA,0BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAAuC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExB,MAAMG,0BAA0B,SAASC,kCAAyB,CAAC;EACzEC,aAAaA,CAACC,MAAmB,EAAU;IAChD,OAAQ,IAAI,CAACC,IAAI,CAAiCF,aAAa,CAC7DC,MAAM,CAACA,MACT,CAAC;EACH;EAEOE,aAAaA,CAACC,QAAgB,EAAQ;IAC3C,MAAMC,EAAE,GAAGC,QAAQ,CAACF,QAAQ,EAAE,EAAE,CAAC;IACjC,IAAIG,KAAK,CAACF,EAAE,CAAC,IAAIA,EAAE,GAAG,CAAC,EAAE;MACvB,MAAM,IAAIG,kBAAU,CAClB,4CAA4CJ,QAAQ,EACtD,CAAC;IACH;IACC,IAAI,CAACF,IAAI,CAAiCC,aAAa,CAACE,EAAE,CAAC;EAC9D;EAEOI,YAAYA,CAAA,EAAS;IACzB,IAAI,CAACP,IAAI,CAAiCO,YAAY,CAAC,CAAC;EAC3D;EAEgBC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAe,EAAQ;IAC7D,IAAID,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIH,kBAAU,CAClB,8CAA8CG,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,EAAE;MACV,IAAIA,MAAM,GAAG,CAAC,EAAE;QACd,MAAM,IAAIJ,kBAAU,CAClB,gDAAgDI,MAAM,EACxD,CAAC;MACH;IACF;IAEC,IAAI,CAACV,IAAI,CAAiCQ,KAAK,CAACC,IAAI,CAAC;EACxD;EAEgBE,IAAIA,CAACF,IAAY,GAAG,CAAC,EAAQ;IAC3C,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIH,kBAAU,CAClB,8CAA8CG,IAAI,EACpD,CAAC;IACH;IAEC,IAAI,CAACT,IAAI,CAAiCW,IAAI,CAACF,IAAI,CAAC;EACvD;EAEOG,KAAKA,CAAA,EAAS;IAClB,IAAI,CAACZ,IAAI,CAAiCY,KAAK,CAAC,CAAC;EACpD;AACF;AAACC,OAAA,CAAAlB,OAAA,GAAAC,0BAAA","ignoreList":[]}
@@ -69,21 +69,6 @@ class AudioBufferSourceNode extends _AudioBufferBaseSourceNode.default {
69
69
  set onEnded(callback) {
70
70
  super.onEnded = callback;
71
71
  }
72
- get onLoopEnded() {
73
- return this.onLoopEndedCallback;
74
- }
75
- set onLoopEnded(callback) {
76
- if (!callback) {
77
- this.node.onLoopEnded = '0';
78
- this.onLoopEndedSubscription?.remove();
79
- this.onLoopEndedSubscription = undefined;
80
- this.onLoopEndedCallback = undefined;
81
- return;
82
- }
83
- this.onLoopEndedCallback = callback;
84
- this.onLoopEndedSubscription = this.audioEventEmitter.addAudioEventListener('loopEnded', callback);
85
- this.node.onLoopEnded = this.onLoopEndedSubscription.subscriptionId;
86
- }
87
72
  }
88
73
  exports.default = AudioBufferSourceNode;
89
74
  //# sourceMappingURL=AudioBufferSourceNode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_AudioBufferBaseSourceNode","_interopRequireDefault","require","_AudioBuffer","_errors","e","__esModule","default","AudioBufferSourceNode","AudioBufferBaseSourceNode","buffer","node","AudioBuffer","setBuffer","loopSkip","value","loop","loopStart","loopEnd","start","when","offset","duration","RangeError","hasBeenStarted","InvalidStateError","onEnded","callback","onLoopEnded","onLoopEndedCallback","onLoopEndedSubscription","remove","undefined","audioEventEmitter","addAudioEventListener","subscriptionId","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":";;;;;;AACA,IAAAA,0BAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAA0D,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI3C,MAAMG,qBAAqB,SAASC,kCAAyB,CAAC;EAI3E,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACC,IAAI,CAA4BD,MAAM;IAC3D,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAIE,oBAAW,CAACF,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACC,IAAI,CAA4BE,SAAS,CAAC,IAAI,CAAC;MACrD;IACF;IAEC,IAAI,CAACF,IAAI,CAA4BE,SAAS,CAACH,MAAM,CAACA,MAAM,CAAC;EAChE;EAEA,IAAWI,QAAQA,CAAA,EAAY;IAC7B,OAAQ,IAAI,CAACH,IAAI,CAA4BG,QAAQ;EACvD;EAEA,IAAWA,QAAQA,CAACC,KAAc,EAAE;IACjC,IAAI,CAACJ,IAAI,CAA4BG,QAAQ,GAAGC,KAAK;EACxD;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACL,IAAI,CAA4BK,IAAI;EACnD;EAEA,IAAWA,IAAIA,CAACD,KAAc,EAAE;IAC7B,IAAI,CAACJ,IAAI,CAA4BK,IAAI,GAAGD,KAAK;EACpD;EAEA,IAAWE,SAASA,CAAA,EAAW;IAC7B,OAAQ,IAAI,CAACN,IAAI,CAA4BM,SAAS;EACxD;EAEA,IAAWA,SAASA,CAACF,KAAa,EAAE;IACjC,IAAI,CAACJ,IAAI,CAA4BM,SAAS,GAAGF,KAAK;EACzD;EAEA,IAAWG,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACP,IAAI,CAA4BO,OAAO;EACtD;EAEA,IAAWA,OAAOA,CAACH,KAAa,EAAE;IAC/B,IAAI,CAACJ,IAAI,CAA4BO,OAAO,GAAGH,KAAK;EACvD;EAEOI,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAc,GAAG,CAAC,EAAEC,QAAiB,EAAQ;IAC1E,IAAIF,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIG,kBAAU,CAClB,8CAA8CH,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,GAAG,CAAC,EAAE;MACd,MAAM,IAAIE,kBAAU,CAClB,gDAAgDF,MAAM,EACxD,CAAC;IACH;IAEA,IAAIC,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIC,kBAAU,CAClB,kDAAkDD,QAAQ,EAC5D,CAAC;IACH;IAEA,IAAI,IAAI,CAACE,cAAc,EAAE;MACvB,MAAM,IAAIC,yBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACD,cAAc,GAAG,IAAI;IACzB,IAAI,CAACb,IAAI,CAA4BQ,KAAK,CAACC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;EACrE;EAEA,IAAoBI,OAAOA,CAAA,EAAkD;IAC3E,OAAO,KAAK,CAACA,OAAO;EACtB;EAEA,IAAoBA,OAAOA,CACzBC,QAAkD,EAClD;IACA,KAAK,CAACD,OAAO,GAAGC,QAAQ;EAC1B;EAEA,IAAWC,WAAWA,CAAA,EAAkD;IACtE,OAAO,IAAI,CAACC,mBAAmB;EACjC;EAEA,IAAWD,WAAWA,CAACD,QAAkD,EAAE;IACzE,IAAI,CAACA,QAAQ,EAAE;MACZ,IAAI,CAAChB,IAAI,CAA4BiB,WAAW,GAAG,GAAG;MACvD,IAAI,CAACE,uBAAuB,EAAEC,MAAM,CAAC,CAAC;MACtC,IAAI,CAACD,uBAAuB,GAAGE,SAAS;MACxC,IAAI,CAACH,mBAAmB,GAAGG,SAAS;MAEpC;IACF;IAEA,IAAI,CAACH,mBAAmB,GAAGF,QAAQ;IACnC,IAAI,CAACG,uBAAuB,GAAG,IAAI,CAACG,iBAAiB,CAACC,qBAAqB,CACzE,WAAW,EACXP,QACF,CAAC;IAEA,IAAI,CAAChB,IAAI,CAA4BiB,WAAW,GAC/C,IAAI,CAACE,uBAAuB,CAACK,cAAc;EAC/C;AACF;AAACC,OAAA,CAAA7B,OAAA,GAAAC,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_AudioBufferBaseSourceNode","_interopRequireDefault","require","_AudioBuffer","_errors","e","__esModule","default","AudioBufferSourceNode","AudioBufferBaseSourceNode","buffer","node","AudioBuffer","setBuffer","loopSkip","value","loop","loopStart","loopEnd","start","when","offset","duration","RangeError","hasBeenStarted","InvalidStateError","onEnded","callback","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":";;;;;;AACA,IAAAA,0BAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAA0D,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG3C,MAAMG,qBAAqB,SAASC,kCAAyB,CAAC;EAC3E,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACC,IAAI,CAA4BD,MAAM;IAC3D,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAIE,oBAAW,CAACF,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACC,IAAI,CAA4BE,SAAS,CAAC,IAAI,CAAC;MACrD;IACF;IAEC,IAAI,CAACF,IAAI,CAA4BE,SAAS,CAACH,MAAM,CAACA,MAAM,CAAC;EAChE;EAEA,IAAWI,QAAQA,CAAA,EAAY;IAC7B,OAAQ,IAAI,CAACH,IAAI,CAA4BG,QAAQ;EACvD;EAEA,IAAWA,QAAQA,CAACC,KAAc,EAAE;IACjC,IAAI,CAACJ,IAAI,CAA4BG,QAAQ,GAAGC,KAAK;EACxD;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACL,IAAI,CAA4BK,IAAI;EACnD;EAEA,IAAWA,IAAIA,CAACD,KAAc,EAAE;IAC7B,IAAI,CAACJ,IAAI,CAA4BK,IAAI,GAAGD,KAAK;EACpD;EAEA,IAAWE,SAASA,CAAA,EAAW;IAC7B,OAAQ,IAAI,CAACN,IAAI,CAA4BM,SAAS;EACxD;EAEA,IAAWA,SAASA,CAACF,KAAa,EAAE;IACjC,IAAI,CAACJ,IAAI,CAA4BM,SAAS,GAAGF,KAAK;EACzD;EAEA,IAAWG,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACP,IAAI,CAA4BO,OAAO;EACtD;EAEA,IAAWA,OAAOA,CAACH,KAAa,EAAE;IAC/B,IAAI,CAACJ,IAAI,CAA4BO,OAAO,GAAGH,KAAK;EACvD;EAEOI,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAc,GAAG,CAAC,EAAEC,QAAiB,EAAQ;IAC1E,IAAIF,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIG,kBAAU,CAClB,8CAA8CH,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,GAAG,CAAC,EAAE;MACd,MAAM,IAAIE,kBAAU,CAClB,gDAAgDF,MAAM,EACxD,CAAC;IACH;IAEA,IAAIC,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIC,kBAAU,CAClB,kDAAkDD,QAAQ,EAC5D,CAAC;IACH;IAEA,IAAI,IAAI,CAACE,cAAc,EAAE;MACvB,MAAM,IAAIC,yBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACD,cAAc,GAAG,IAAI;IACzB,IAAI,CAACb,IAAI,CAA4BQ,KAAK,CAACC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;EACrE;EAEA,IAAoBI,OAAOA,CAAA,EAAkD;IAC3E,OAAO,KAAK,CAACA,OAAO;EACtB;EAEA,IAAoBA,OAAOA,CACzBC,QAAkD,EAClD;IACA,KAAK,CAACD,OAAO,GAAGC,QAAQ;EAC1B;AACF;AAACC,OAAA,CAAArB,OAAA,GAAAC,qBAAA","ignoreList":[]}
@@ -7,22 +7,13 @@ exports.default = void 0;
7
7
  var _BaseAudioContext = _interopRequireDefault(require("./BaseAudioContext"));
8
8
  var _system = _interopRequireDefault(require("../system"));
9
9
  var _errors = require("../errors");
10
- var _utils = require("../utils");
11
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
11
  class AudioContext extends _BaseAudioContext.default {
13
- // We need to keep here a reference to this runtime to better manage its lifecycle
14
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
15
- _audioRuntime = null;
16
12
  constructor(options) {
17
13
  if (options && options.sampleRate && (options.sampleRate < 8000 || options.sampleRate > 96000)) {
18
14
  throw new _errors.NotSupportedError(`The provided sampleRate is not supported: ${options.sampleRate}`);
19
15
  }
20
- let audioRuntime = null;
21
- if (_utils.isWorkletsAvailable) {
22
- audioRuntime = _utils.workletsModule.createWorkletRuntime('AudioWorkletRuntime');
23
- }
24
- super(global.createAudioContext(options?.sampleRate || _system.default.getDevicePreferredSampleRate(), options?.initSuspended || false, audioRuntime));
25
- this._audioRuntime = audioRuntime;
16
+ super(global.createAudioContext(options?.sampleRate || _system.default.getDevicePreferredSampleRate(), options?.initSuspended || false));
26
17
  }
27
18
  async close() {
28
19
  return this.context.close();
@@ -1 +1 @@
1
- {"version":3,"names":["_BaseAudioContext","_interopRequireDefault","require","_system","_errors","_utils","e","__esModule","default","AudioContext","BaseAudioContext","_audioRuntime","constructor","options","sampleRate","NotSupportedError","audioRuntime","isWorkletsAvailable","workletsModule","createWorkletRuntime","global","createAudioContext","AudioManager","getDevicePreferredSampleRate","initSuspended","close","context","resume","suspend","exports"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA+D,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhD,MAAMG,YAAY,SAASC,yBAAgB,CAAC;EACzD;EACA;EACQC,aAAa,GAAQ,IAAI;EAEjCC,WAAWA,CAACC,OAA6B,EAAE;IACzC,IACEA,OAAO,IACPA,OAAO,CAACC,UAAU,KACjBD,OAAO,CAACC,UAAU,GAAG,IAAI,IAAID,OAAO,CAACC,UAAU,GAAG,KAAK,CAAC,EACzD;MACA,MAAM,IAAIC,yBAAiB,CACzB,6CAA6CF,OAAO,CAACC,UAAU,EACjE,CAAC;IACH;IACA,IAAIE,YAAY,GAAG,IAAI;IACvB,IAAIC,0BAAmB,EAAE;MACvBD,YAAY,GAAGE,qBAAc,CAACC,oBAAoB,CAAC,qBAAqB,CAAC;IAC3E;IAEA,KAAK,CACHC,MAAM,CAACC,kBAAkB,CACvBR,OAAO,EAAEC,UAAU,IAAIQ,eAAY,CAACC,4BAA4B,CAAC,CAAC,EAClEV,OAAO,EAAEW,aAAa,IAAI,KAAK,EAC/BR,YACF,CACF,CAAC;IACD,IAAI,CAACL,aAAa,GAAGK,YAAY;EACnC;EAEA,MAAMS,KAAKA,CAAA,EAAkB;IAC3B,OAAQ,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EAChD;EAEA,MAAME,MAAMA,CAAA,EAAqB;IAC/B,OAAQ,IAAI,CAACD,OAAO,CAAmBC,MAAM,CAAC,CAAC;EACjD;EAEA,MAAMC,OAAOA,CAAA,EAAqB;IAChC,OAAQ,IAAI,CAACF,OAAO,CAAmBE,OAAO,CAAC,CAAC;EAClD;AACF;AAACC,OAAA,CAAArB,OAAA,GAAAC,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_BaseAudioContext","_interopRequireDefault","require","_system","_errors","e","__esModule","default","AudioContext","BaseAudioContext","constructor","options","sampleRate","NotSupportedError","global","createAudioContext","AudioManager","getDevicePreferredSampleRate","initSuspended","close","context","resume","suspend","exports"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAA8C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/B,MAAMG,YAAY,SAASC,yBAAgB,CAAC;EACzDC,WAAWA,CAACC,OAA6B,EAAE;IACzC,IACEA,OAAO,IACPA,OAAO,CAACC,UAAU,KACjBD,OAAO,CAACC,UAAU,GAAG,IAAI,IAAID,OAAO,CAACC,UAAU,GAAG,KAAK,CAAC,EACzD;MACA,MAAM,IAAIC,yBAAiB,CACzB,6CAA6CF,OAAO,CAACC,UAAU,EACjE,CAAC;IACH;IAEA,KAAK,CACHE,MAAM,CAACC,kBAAkB,CACvBJ,OAAO,EAAEC,UAAU,IAAII,eAAY,CAACC,4BAA4B,CAAC,CAAC,EAClEN,OAAO,EAAEO,aAAa,IAAI,KAC5B,CACF,CAAC;EACH;EAEA,MAAMC,KAAKA,CAAA,EAAkB;IAC3B,OAAQ,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EAChD;EAEA,MAAME,MAAMA,CAAA,EAAqB;IAC/B,OAAQ,IAAI,CAACD,OAAO,CAAmBC,MAAM,CAAC,CAAC;EACjD;EAEA,MAAMC,OAAOA,CAAA,EAAqB;IAChC,OAAQ,IAAI,CAACF,OAAO,CAAmBE,OAAO,CAAC,CAAC;EAClD;AACF;AAACC,OAAA,CAAAhB,OAAA,GAAAC,YAAA","ignoreList":[]}