react-native-audio-api 0.12.0-nightly-37d6b7c-20260119 → 0.12.0-nightly-75589dc-20260121

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 (356) hide show
  1. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.cpp +8 -5
  2. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.h +1 -1
  3. package/android/src/main/cpp/audioapi/android/core/utils/AndroidFileWriterBackend.h +1 -1
  4. package/android/src/main/cpp/audioapi/android/core/utils/FileOptions.cpp +7 -3
  5. package/android/src/main/cpp/audioapi/android/core/utils/FileOptions.h +1 -1
  6. package/android/src/main/cpp/audioapi/android/core/utils/ffmpegBackend/FFmpegFileWriter.cpp +4 -2
  7. package/android/src/main/cpp/audioapi/android/core/utils/ffmpegBackend/FFmpegFileWriter.h +1 -1
  8. package/android/src/main/cpp/audioapi/android/core/utils/miniaudioBackend/MiniAudioFileWriter.cpp +5 -4
  9. package/android/src/main/cpp/audioapi/android/core/utils/miniaudioBackend/MiniAudioFileWriter.h +2 -2
  10. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.cpp +52 -49
  11. package/common/cpp/audioapi/HostObjects/inputs/AudioRecorderHostObject.cpp +2 -1
  12. package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.cpp +6 -0
  13. package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.h +1 -0
  14. package/common/cpp/audioapi/HostObjects/utils/NodeOptions.h +111 -0
  15. package/common/cpp/audioapi/HostObjects/utils/NodeOptionsParser.h +262 -0
  16. package/common/cpp/audioapi/core/AudioNode.cpp +13 -6
  17. package/common/cpp/audioapi/core/AudioNode.h +2 -0
  18. package/common/cpp/audioapi/core/BaseAudioContext.cpp +42 -44
  19. package/common/cpp/audioapi/core/BaseAudioContext.h +32 -21
  20. package/common/cpp/audioapi/core/analysis/AnalyserNode.cpp +8 -6
  21. package/common/cpp/audioapi/core/analysis/AnalyserNode.h +2 -1
  22. package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +7 -8
  23. package/common/cpp/audioapi/core/effects/BiquadFilterNode.h +4 -1
  24. package/common/cpp/audioapi/core/effects/ConvolverNode.cpp +5 -9
  25. package/common/cpp/audioapi/core/effects/ConvolverNode.h +2 -2
  26. package/common/cpp/audioapi/core/effects/DelayNode.cpp +5 -4
  27. package/common/cpp/audioapi/core/effects/DelayNode.h +2 -1
  28. package/common/cpp/audioapi/core/effects/GainNode.cpp +4 -3
  29. package/common/cpp/audioapi/core/effects/GainNode.h +2 -1
  30. package/common/cpp/audioapi/core/effects/IIRFilterNode.cpp +6 -6
  31. package/common/cpp/audioapi/core/effects/IIRFilterNode.h +3 -2
  32. package/common/cpp/audioapi/core/effects/StereoPannerNode.cpp +3 -3
  33. package/common/cpp/audioapi/core/effects/StereoPannerNode.h +4 -1
  34. package/common/cpp/audioapi/core/effects/WaveShaperNode.cpp +4 -3
  35. package/common/cpp/audioapi/core/effects/WaveShaperNode.h +4 -1
  36. package/common/cpp/audioapi/core/inputs/AudioRecorder.h +1 -1
  37. package/common/cpp/audioapi/core/sources/AudioBuffer.cpp +3 -2
  38. package/common/cpp/audioapi/core/sources/AudioBuffer.h +2 -1
  39. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.cpp +16 -22
  40. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.h +2 -1
  41. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.cpp +9 -6
  42. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.h +2 -1
  43. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +9 -7
  44. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +4 -1
  45. package/common/cpp/audioapi/core/sources/ConstantSourceNode.cpp +5 -8
  46. package/common/cpp/audioapi/core/sources/ConstantSourceNode.h +4 -1
  47. package/common/cpp/audioapi/core/sources/OscillatorNode.cpp +21 -16
  48. package/common/cpp/audioapi/core/sources/OscillatorNode.h +4 -1
  49. package/common/cpp/audioapi/core/sources/StreamerNode.cpp +4 -2
  50. package/common/cpp/audioapi/core/sources/StreamerNode.h +11 -1
  51. package/common/cpp/test/src/ConstantSourceTest.cpp +3 -2
  52. package/common/cpp/test/src/DelayTest.cpp +12 -5
  53. package/common/cpp/test/src/GainTest.cpp +3 -2
  54. package/common/cpp/test/src/IIRFilterTest.cpp +3 -2
  55. package/common/cpp/test/src/OscillatorTest.cpp +2 -1
  56. package/common/cpp/test/src/StereoPannerTest.cpp +3 -2
  57. package/common/cpp/test/src/biquad/BiquadFilterTest.cpp +10 -9
  58. package/common/cpp/test/src/core/effects/WaveShaperNodeTest.cpp +4 -3
  59. package/ios/audioapi/ios/core/IOSAudioRecorder.h +1 -1
  60. package/ios/audioapi/ios/core/IOSAudioRecorder.mm +5 -4
  61. package/ios/audioapi/ios/core/utils/FileOptions.h +3 -1
  62. package/ios/audioapi/ios/core/utils/FileOptions.mm +9 -3
  63. package/ios/audioapi/ios/core/utils/IOSFileWriter.h +2 -1
  64. package/ios/audioapi/ios/core/utils/IOSFileWriter.mm +5 -2
  65. package/lib/commonjs/api.js +11 -3
  66. package/lib/commonjs/api.js.map +1 -1
  67. package/lib/commonjs/api.web.js +4 -10
  68. package/lib/commonjs/api.web.js.map +1 -1
  69. package/lib/commonjs/core/AnalyserNode.js +11 -0
  70. package/lib/commonjs/core/AnalyserNode.js.map +1 -1
  71. package/lib/commonjs/core/AudioBuffer.js +20 -6
  72. package/lib/commonjs/core/AudioBuffer.js.map +1 -1
  73. package/lib/commonjs/core/AudioBufferQueueSourceNode.js +9 -0
  74. package/lib/commonjs/core/AudioBufferQueueSourceNode.js.map +1 -1
  75. package/lib/commonjs/core/AudioBufferSourceNode.js +9 -0
  76. package/lib/commonjs/core/AudioBufferSourceNode.js.map +1 -1
  77. package/lib/commonjs/core/AudioRecorder.js +3 -3
  78. package/lib/commonjs/core/AudioRecorder.js.map +1 -1
  79. package/lib/commonjs/core/BaseAudioContext.js +52 -65
  80. package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
  81. package/lib/commonjs/core/BiquadFilterNode.js +7 -1
  82. package/lib/commonjs/core/BiquadFilterNode.js.map +1 -1
  83. package/lib/commonjs/core/ConstantSourceNode.js +7 -1
  84. package/lib/commonjs/core/ConstantSourceNode.js.map +1 -1
  85. package/lib/commonjs/core/ConvolverNode.js +9 -3
  86. package/lib/commonjs/core/ConvolverNode.js.map +1 -1
  87. package/lib/commonjs/core/DelayNode.js +7 -1
  88. package/lib/commonjs/core/DelayNode.js.map +1 -1
  89. package/lib/commonjs/core/GainNode.js +9 -3
  90. package/lib/commonjs/core/GainNode.js.map +1 -1
  91. package/lib/commonjs/core/IIRFilterNode.js +9 -0
  92. package/lib/commonjs/core/IIRFilterNode.js.map +1 -1
  93. package/lib/commonjs/core/OscillatorNode.js +10 -1
  94. package/lib/commonjs/core/OscillatorNode.js.map +1 -1
  95. package/lib/commonjs/core/PeriodicWave.js +30 -2
  96. package/lib/commonjs/core/PeriodicWave.js.map +1 -1
  97. package/lib/commonjs/core/RecorderAdapterNode.js +3 -0
  98. package/lib/commonjs/core/RecorderAdapterNode.js.map +1 -1
  99. package/lib/commonjs/core/StereoPannerNode.js +7 -1
  100. package/lib/commonjs/core/StereoPannerNode.js.map +1 -1
  101. package/lib/commonjs/core/StreamerNode.js +25 -1
  102. package/lib/commonjs/core/StreamerNode.js.map +1 -1
  103. package/lib/commonjs/core/WaveShaperNode.js +12 -0
  104. package/lib/commonjs/core/WaveShaperNode.js.map +1 -1
  105. package/lib/commonjs/core/WorkletNode.js +13 -1
  106. package/lib/commonjs/core/WorkletNode.js.map +1 -1
  107. package/lib/commonjs/core/WorkletProcessingNode.js +14 -1
  108. package/lib/commonjs/core/WorkletProcessingNode.js.map +1 -1
  109. package/lib/commonjs/core/WorkletSourceNode.js +13 -1
  110. package/lib/commonjs/core/WorkletSourceNode.js.map +1 -1
  111. package/lib/commonjs/defaults.js +78 -0
  112. package/lib/commonjs/defaults.js.map +1 -0
  113. package/lib/commonjs/options-validators.js +40 -0
  114. package/lib/commonjs/options-validators.js.map +1 -0
  115. package/lib/commonjs/types.js.map +1 -1
  116. package/lib/commonjs/web-core/AnalyserNode.js +2 -1
  117. package/lib/commonjs/web-core/AnalyserNode.js.map +1 -1
  118. package/lib/commonjs/web-core/AudioBuffer.js +14 -6
  119. package/lib/commonjs/web-core/AudioBuffer.js.map +1 -1
  120. package/lib/commonjs/web-core/AudioBufferSourceNode.js +276 -89
  121. package/lib/commonjs/web-core/AudioBufferSourceNode.js.map +1 -1
  122. package/lib/commonjs/web-core/AudioContext.js +33 -32
  123. package/lib/commonjs/web-core/AudioContext.js.map +1 -1
  124. package/lib/commonjs/web-core/AudioNode.js +4 -0
  125. package/lib/commonjs/web-core/AudioNode.js.map +1 -1
  126. package/lib/commonjs/web-core/BiquadFilterNode.js +2 -1
  127. package/lib/commonjs/web-core/BiquadFilterNode.js.map +1 -1
  128. package/lib/commonjs/web-core/ConstantSourceNode.js +2 -1
  129. package/lib/commonjs/web-core/ConstantSourceNode.js.map +1 -1
  130. package/lib/commonjs/web-core/ConvolverNode.js +3 -5
  131. package/lib/commonjs/web-core/ConvolverNode.js.map +1 -1
  132. package/lib/commonjs/web-core/DelayNode.js +7 -1
  133. package/lib/commonjs/web-core/DelayNode.js.map +1 -1
  134. package/lib/commonjs/web-core/GainNode.js +2 -1
  135. package/lib/commonjs/web-core/GainNode.js.map +1 -1
  136. package/lib/commonjs/web-core/IIRFilterNode.js +12 -0
  137. package/lib/commonjs/web-core/IIRFilterNode.js.map +1 -1
  138. package/lib/commonjs/web-core/OfflineAudioContext.js +33 -32
  139. package/lib/commonjs/web-core/OfflineAudioContext.js.map +1 -1
  140. package/lib/commonjs/web-core/OscillatorNode.js +2 -1
  141. package/lib/commonjs/web-core/OscillatorNode.js.map +1 -1
  142. package/lib/commonjs/web-core/PeriodicWave.js +6 -1
  143. package/lib/commonjs/web-core/PeriodicWave.js.map +1 -1
  144. package/lib/commonjs/web-core/StereoPannerNode.js +2 -1
  145. package/lib/commonjs/web-core/StereoPannerNode.js.map +1 -1
  146. package/lib/module/api.js +2 -1
  147. package/lib/module/api.js.map +1 -1
  148. package/lib/module/api.web.js +2 -1
  149. package/lib/module/api.web.js.map +1 -1
  150. package/lib/module/core/AnalyserNode.js +11 -0
  151. package/lib/module/core/AnalyserNode.js.map +1 -1
  152. package/lib/module/core/AudioBuffer.js +19 -6
  153. package/lib/module/core/AudioBuffer.js.map +1 -1
  154. package/lib/module/core/AudioBufferQueueSourceNode.js +9 -0
  155. package/lib/module/core/AudioBufferQueueSourceNode.js.map +1 -1
  156. package/lib/module/core/AudioBufferSourceNode.js +9 -0
  157. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  158. package/lib/module/core/AudioRecorder.js +3 -4
  159. package/lib/module/core/AudioRecorder.js.map +1 -1
  160. package/lib/module/core/BaseAudioContext.js +52 -65
  161. package/lib/module/core/BaseAudioContext.js.map +1 -1
  162. package/lib/module/core/BiquadFilterNode.js +7 -1
  163. package/lib/module/core/BiquadFilterNode.js.map +1 -1
  164. package/lib/module/core/ConstantSourceNode.js +7 -1
  165. package/lib/module/core/ConstantSourceNode.js.map +1 -1
  166. package/lib/module/core/ConvolverNode.js +9 -3
  167. package/lib/module/core/ConvolverNode.js.map +1 -1
  168. package/lib/module/core/DelayNode.js +7 -1
  169. package/lib/module/core/DelayNode.js.map +1 -1
  170. package/lib/module/core/GainNode.js +9 -3
  171. package/lib/module/core/GainNode.js.map +1 -1
  172. package/lib/module/core/IIRFilterNode.js +9 -0
  173. package/lib/module/core/IIRFilterNode.js.map +1 -1
  174. package/lib/module/core/OscillatorNode.js +10 -1
  175. package/lib/module/core/OscillatorNode.js.map +1 -1
  176. package/lib/module/core/PeriodicWave.js +29 -2
  177. package/lib/module/core/PeriodicWave.js.map +1 -1
  178. package/lib/module/core/RecorderAdapterNode.js +3 -0
  179. package/lib/module/core/RecorderAdapterNode.js.map +1 -1
  180. package/lib/module/core/StereoPannerNode.js +7 -1
  181. package/lib/module/core/StereoPannerNode.js.map +1 -1
  182. package/lib/module/core/StreamerNode.js +25 -1
  183. package/lib/module/core/StreamerNode.js.map +1 -1
  184. package/lib/module/core/WaveShaperNode.js +12 -0
  185. package/lib/module/core/WaveShaperNode.js.map +1 -1
  186. package/lib/module/core/WorkletNode.js +13 -1
  187. package/lib/module/core/WorkletNode.js.map +1 -1
  188. package/lib/module/core/WorkletProcessingNode.js +14 -1
  189. package/lib/module/core/WorkletProcessingNode.js.map +1 -1
  190. package/lib/module/core/WorkletSourceNode.js +13 -1
  191. package/lib/module/core/WorkletSourceNode.js.map +1 -1
  192. package/lib/module/defaults.js +74 -0
  193. package/lib/module/defaults.js.map +1 -0
  194. package/lib/module/options-validators.js +36 -0
  195. package/lib/module/options-validators.js.map +1 -0
  196. package/lib/module/types.js.map +1 -1
  197. package/lib/module/web-core/AnalyserNode.js +2 -1
  198. package/lib/module/web-core/AnalyserNode.js.map +1 -1
  199. package/lib/module/web-core/AudioBuffer.js +13 -6
  200. package/lib/module/web-core/AudioBuffer.js.map +1 -1
  201. package/lib/module/web-core/AudioBufferSourceNode.js +277 -90
  202. package/lib/module/web-core/AudioBufferSourceNode.js.map +1 -1
  203. package/lib/module/web-core/AudioContext.js +33 -32
  204. package/lib/module/web-core/AudioContext.js.map +1 -1
  205. package/lib/module/web-core/AudioNode.js +4 -0
  206. package/lib/module/web-core/AudioNode.js.map +1 -1
  207. package/lib/module/web-core/BiquadFilterNode.js +2 -1
  208. package/lib/module/web-core/BiquadFilterNode.js.map +1 -1
  209. package/lib/module/web-core/ConstantSourceNode.js +2 -1
  210. package/lib/module/web-core/ConstantSourceNode.js.map +1 -1
  211. package/lib/module/web-core/ConvolverNode.js +3 -5
  212. package/lib/module/web-core/ConvolverNode.js.map +1 -1
  213. package/lib/module/web-core/DelayNode.js +7 -1
  214. package/lib/module/web-core/DelayNode.js.map +1 -1
  215. package/lib/module/web-core/GainNode.js +2 -1
  216. package/lib/module/web-core/GainNode.js.map +1 -1
  217. package/lib/module/web-core/IIRFilterNode.js +12 -0
  218. package/lib/module/web-core/IIRFilterNode.js.map +1 -1
  219. package/lib/module/web-core/OfflineAudioContext.js +33 -32
  220. package/lib/module/web-core/OfflineAudioContext.js.map +1 -1
  221. package/lib/module/web-core/OscillatorNode.js +2 -1
  222. package/lib/module/web-core/OscillatorNode.js.map +1 -1
  223. package/lib/module/web-core/PeriodicWave.js +6 -1
  224. package/lib/module/web-core/PeriodicWave.js.map +1 -1
  225. package/lib/module/web-core/StereoPannerNode.js +2 -1
  226. package/lib/module/web-core/StereoPannerNode.js.map +1 -1
  227. package/lib/typescript/api.d.ts +2 -1
  228. package/lib/typescript/api.d.ts.map +1 -1
  229. package/lib/typescript/api.web.d.ts +2 -1
  230. package/lib/typescript/api.web.d.ts.map +1 -1
  231. package/lib/typescript/core/AnalyserNode.d.ts +3 -1
  232. package/lib/typescript/core/AnalyserNode.d.ts.map +1 -1
  233. package/lib/typescript/core/AudioBuffer.d.ts +3 -0
  234. package/lib/typescript/core/AudioBuffer.d.ts.map +1 -1
  235. package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts +3 -0
  236. package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts.map +1 -1
  237. package/lib/typescript/core/AudioBufferSourceNode.d.ts +3 -0
  238. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  239. package/lib/typescript/core/AudioRecorder.d.ts +2 -2
  240. package/lib/typescript/core/AudioRecorder.d.ts.map +1 -1
  241. package/lib/typescript/core/BaseAudioContext.d.ts +10 -6
  242. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  243. package/lib/typescript/core/BiquadFilterNode.d.ts +2 -3
  244. package/lib/typescript/core/BiquadFilterNode.d.ts.map +1 -1
  245. package/lib/typescript/core/ConstantSourceNode.d.ts +2 -2
  246. package/lib/typescript/core/ConstantSourceNode.d.ts.map +1 -1
  247. package/lib/typescript/core/ConvolverNode.d.ts +2 -2
  248. package/lib/typescript/core/ConvolverNode.d.ts.map +1 -1
  249. package/lib/typescript/core/DelayNode.d.ts +2 -2
  250. package/lib/typescript/core/DelayNode.d.ts.map +1 -1
  251. package/lib/typescript/core/GainNode.d.ts +2 -2
  252. package/lib/typescript/core/GainNode.d.ts.map +1 -1
  253. package/lib/typescript/core/IIRFilterNode.d.ts +3 -0
  254. package/lib/typescript/core/IIRFilterNode.d.ts.map +1 -1
  255. package/lib/typescript/core/OscillatorNode.d.ts +2 -3
  256. package/lib/typescript/core/OscillatorNode.d.ts.map +1 -1
  257. package/lib/typescript/core/PeriodicWave.d.ts +4 -1
  258. package/lib/typescript/core/PeriodicWave.d.ts.map +1 -1
  259. package/lib/typescript/core/RecorderAdapterNode.d.ts +2 -0
  260. package/lib/typescript/core/RecorderAdapterNode.d.ts.map +1 -1
  261. package/lib/typescript/core/StereoPannerNode.d.ts +2 -2
  262. package/lib/typescript/core/StereoPannerNode.d.ts.map +1 -1
  263. package/lib/typescript/core/StreamerNode.d.ts +5 -0
  264. package/lib/typescript/core/StreamerNode.d.ts.map +1 -1
  265. package/lib/typescript/core/WaveShaperNode.d.ts +3 -0
  266. package/lib/typescript/core/WaveShaperNode.d.ts.map +1 -1
  267. package/lib/typescript/core/WorkletNode.d.ts +3 -0
  268. package/lib/typescript/core/WorkletNode.d.ts.map +1 -1
  269. package/lib/typescript/core/WorkletProcessingNode.d.ts +3 -0
  270. package/lib/typescript/core/WorkletProcessingNode.d.ts.map +1 -1
  271. package/lib/typescript/core/WorkletSourceNode.d.ts +3 -0
  272. package/lib/typescript/core/WorkletSourceNode.d.ts.map +1 -1
  273. package/lib/typescript/defaults.d.ts +16 -0
  274. package/lib/typescript/defaults.d.ts.map +1 -0
  275. package/lib/typescript/interfaces.d.ts +17 -16
  276. package/lib/typescript/interfaces.d.ts.map +1 -1
  277. package/lib/typescript/options-validators.d.ts +6 -0
  278. package/lib/typescript/options-validators.d.ts.map +1 -0
  279. package/lib/typescript/types.d.ts +83 -11
  280. package/lib/typescript/types.d.ts.map +1 -1
  281. package/lib/typescript/web-core/AnalyserNode.d.ts +2 -2
  282. package/lib/typescript/web-core/AnalyserNode.d.ts.map +1 -1
  283. package/lib/typescript/web-core/AudioBuffer.d.ts +3 -0
  284. package/lib/typescript/web-core/AudioBuffer.d.ts.map +1 -1
  285. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +24 -15
  286. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts.map +1 -1
  287. package/lib/typescript/web-core/AudioContext.d.ts +5 -6
  288. package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
  289. package/lib/typescript/web-core/AudioNode.d.ts +2 -2
  290. package/lib/typescript/web-core/AudioNode.d.ts.map +1 -1
  291. package/lib/typescript/web-core/BaseAudioContext.d.ts +3 -3
  292. package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
  293. package/lib/typescript/web-core/BiquadFilterNode.d.ts +2 -2
  294. package/lib/typescript/web-core/BiquadFilterNode.d.ts.map +1 -1
  295. package/lib/typescript/web-core/ConstantSourceNode.d.ts +2 -1
  296. package/lib/typescript/web-core/ConstantSourceNode.d.ts.map +1 -1
  297. package/lib/typescript/web-core/ConvolverNode.d.ts +2 -1
  298. package/lib/typescript/web-core/ConvolverNode.d.ts.map +1 -1
  299. package/lib/typescript/web-core/DelayNode.d.ts +2 -1
  300. package/lib/typescript/web-core/DelayNode.d.ts.map +1 -1
  301. package/lib/typescript/web-core/GainNode.d.ts +2 -1
  302. package/lib/typescript/web-core/GainNode.d.ts.map +1 -1
  303. package/lib/typescript/web-core/IIRFilterNode.d.ts +3 -0
  304. package/lib/typescript/web-core/IIRFilterNode.d.ts.map +1 -1
  305. package/lib/typescript/web-core/OfflineAudioContext.d.ts +5 -6
  306. package/lib/typescript/web-core/OfflineAudioContext.d.ts.map +1 -1
  307. package/lib/typescript/web-core/OscillatorNode.d.ts +2 -2
  308. package/lib/typescript/web-core/OscillatorNode.d.ts.map +1 -1
  309. package/lib/typescript/web-core/PeriodicWave.d.ts +3 -1
  310. package/lib/typescript/web-core/PeriodicWave.d.ts.map +1 -1
  311. package/lib/typescript/web-core/StereoPannerNode.d.ts +2 -1
  312. package/lib/typescript/web-core/StereoPannerNode.d.ts.map +1 -1
  313. package/package.json +1 -1
  314. package/src/api.ts +3 -1
  315. package/src/api.web.ts +1 -2
  316. package/src/core/AnalyserNode.ts +16 -1
  317. package/src/core/AudioBuffer.ts +26 -6
  318. package/src/core/AudioBufferQueueSourceNode.ts +15 -0
  319. package/src/core/AudioBufferSourceNode.ts +12 -0
  320. package/src/core/AudioRecorder.ts +4 -3
  321. package/src/core/BaseAudioContext.ts +48 -151
  322. package/src/core/BiquadFilterNode.ts +9 -2
  323. package/src/core/ConstantSourceNode.ts +9 -1
  324. package/src/core/ConvolverNode.ts +11 -3
  325. package/src/core/DelayNode.ts +5 -2
  326. package/src/core/GainNode.ts +10 -3
  327. package/src/core/IIRFilterNode.ts +12 -0
  328. package/src/core/OscillatorNode.ts +13 -2
  329. package/src/core/PeriodicWave.ts +36 -2
  330. package/src/core/RecorderAdapterNode.ts +5 -0
  331. package/src/core/StereoPannerNode.ts +9 -1
  332. package/src/core/StreamerNode.ts +29 -1
  333. package/src/core/WaveShaperNode.ts +17 -0
  334. package/src/core/WorkletNode.ts +30 -1
  335. package/src/core/WorkletProcessingNode.ts +39 -1
  336. package/src/core/WorkletSourceNode.ts +36 -1
  337. package/src/defaults.ts +100 -0
  338. package/src/interfaces.ts +38 -25
  339. package/src/options-validators.ts +66 -0
  340. package/src/types.ts +100 -12
  341. package/src/web-core/AnalyserNode.tsx +15 -6
  342. package/src/web-core/AudioBuffer.tsx +20 -6
  343. package/src/web-core/AudioBufferSourceNode.tsx +393 -148
  344. package/src/web-core/AudioContext.tsx +22 -72
  345. package/src/web-core/AudioNode.tsx +6 -2
  346. package/src/web-core/BaseAudioContext.tsx +3 -7
  347. package/src/web-core/BiquadFilterNode.tsx +6 -2
  348. package/src/web-core/ConstantSourceNode.tsx +3 -1
  349. package/src/web-core/ConvolverNode.tsx +8 -8
  350. package/src/web-core/DelayNode.tsx +5 -1
  351. package/src/web-core/GainNode.tsx +3 -1
  352. package/src/web-core/IIRFilterNode.tsx +15 -0
  353. package/src/web-core/OfflineAudioContext.tsx +19 -67
  354. package/src/web-core/OscillatorNode.tsx +3 -2
  355. package/src/web-core/PeriodicWave.tsx +11 -1
  356. package/src/web-core/StereoPannerNode.tsx +9 -1
@@ -1 +1 @@
1
- {"version":3,"names":["AudioScheduledSourceNode","StreamerNode","initialize","streamPath","node"],"sourceRoot":"../../../src","sources":["core/StreamerNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,eAAe,MAAMC,YAAY,SAASD,wBAAwB,CAAC;EAC1DE,UAAUA,CAACC,UAAkB,EAAW;IAC7C,OAAQ,IAAI,CAACC,IAAI,CAAmBF,UAAU,CAACC,UAAU,CAAC;EAC5D;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioScheduledSourceNode","InvalidStateError","NotSupportedError","StreamerNode","hasBeenSetup","constructor","context","options","node","createStreamer","streamPath","initialize","res"],"sourceRoot":"../../../src","sources":["core/StreamerNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,oBAAW;AAGhE,eAAe,MAAMC,YAAY,SAASH,wBAAwB,CAAC;EACzDI,YAAY,GAAY,KAAK;EACrCC,WAAWA,CAACC,OAAyB,EAAEC,OAA0B,EAAE;IACjE,MAAMC,IAAI,GAAGF,OAAO,CAACA,OAAO,CAACG,cAAc,CAACF,OAAO,CAAC;IACpD,IAAI,CAACC,IAAI,EAAE;MACT,MAAM,IAAIN,iBAAiB,CAAC,oCAAoC,CAAC;IACnE;IACA,KAAK,CAACI,OAAO,EAAEE,IAAI,CAAC;IACpB,IAAID,OAAO,EAAEG,UAAU,EAAE;MACvB,IAAI,IAAI,CAACC,UAAU,CAACJ,OAAO,CAACG,UAAU,CAAC,EAAE;QACvC,IAAI,CAACN,YAAY,GAAG,IAAI;MAC1B;IACF;EACF;EAEOO,UAAUA,CAACD,UAAkB,EAAW;IAC7C,IAAI,IAAI,CAACN,YAAY,EAAE;MACrB,MAAM,IAAIH,iBAAiB,CAAC,uBAAuB,CAAC;IACtD;IACA,MAAMW,GAAG,GAAI,IAAI,CAACJ,IAAI,CAAmBG,UAAU,CAACD,UAAU,CAAC;IAC/D,IAAIE,GAAG,EAAE;MACP,IAAI,CAACR,YAAY,GAAG,IAAI;IAC1B;IACA,OAAOQ,GAAG;EACZ;EAEA,IAAWF,UAAUA,CAAA,EAAW;IAC9B,OAAQ,IAAI,CAACF,IAAI,CAAmBE,UAAU;EAChD;AACF","ignoreList":[]}
@@ -2,8 +2,20 @@
2
2
 
3
3
  import AudioNode from "./AudioNode.js";
4
4
  import { InvalidStateError } from "../errors/index.js";
5
+ import { WaveShaperOptions } from "../defaults.js";
5
6
  export default class WaveShaperNode extends AudioNode {
6
7
  isCurveSet = false;
8
+ constructor(context, options) {
9
+ const finalOptions = {
10
+ ...WaveShaperOptions,
11
+ ...options
12
+ };
13
+ const node = context.context.createWaveShaper(finalOptions);
14
+ super(context, node);
15
+ if (finalOptions.curve) {
16
+ this.isCurveSet = true;
17
+ }
18
+ }
7
19
  get curve() {
8
20
  if (!this.isCurveSet) {
9
21
  return null;
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","InvalidStateError","WaveShaperNode","isCurveSet","curve","node","oversample","length","setCurve","value"],"sourceRoot":"../../../src","sources":["core/WaveShaperNode.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AACnC,SAASC,iBAAiB,QAAQ,oBAAW;AAG7C,eAAe,MAAMC,cAAc,SAASF,SAAS,CAAC;EAC5CG,UAAU,GAAY,KAAK;EAEnC,IAAIC,KAAKA,CAAA,EAAwB;IAC/B,IAAI,CAAC,IAAI,CAACD,UAAU,EAAE;MACpB,OAAO,IAAI;IACb;IAEA,OAAQ,IAAI,CAACE,IAAI,CAAqBD,KAAK;EAC7C;EAEA,IAAIE,UAAUA,CAAA,EAAmB;IAC/B,OAAQ,IAAI,CAACD,IAAI,CAAqBC,UAAU;EAClD;EAEA,IAAIF,KAAKA,CAACA,KAA0B,EAAE;IACpC,IAAIA,KAAK,KAAK,IAAI,EAAE;MAClB,IAAI,IAAI,CAACD,UAAU,EAAE;QACnB,MAAM,IAAIF,iBAAiB,CACzB,kEACF,CAAC;MACH;MAEA,IAAIG,KAAK,CAACG,MAAM,GAAG,CAAC,EAAE;QACpB,MAAM,IAAIN,iBAAiB,CACzB,sDACF,CAAC;MACH;MAEA,IAAI,CAACE,UAAU,GAAG,IAAI;IACxB;IAEC,IAAI,CAACE,IAAI,CAAqBG,QAAQ,CAACJ,KAAK,CAAC;EAChD;EAEA,IAAIE,UAAUA,CAACG,KAAqB,EAAE;IACnC,IAAI,CAACJ,IAAI,CAAqBC,UAAU,GAAGG,KAAK;EACnD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioNode","InvalidStateError","WaveShaperOptions","WaveShaperNode","isCurveSet","constructor","context","options","finalOptions","node","createWaveShaper","curve","oversample","length","setCurve","value"],"sourceRoot":"../../../src","sources":["core/WaveShaperNode.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAEnC,SAASC,iBAAiB,QAAQ,oBAAW;AAE7C,SAASC,iBAAiB,QAAQ,gBAAa;AAG/C,eAAe,MAAMC,cAAc,SAASH,SAAS,CAAC;EAC5CI,UAAU,GAAY,KAAK;EAEnCC,WAAWA,CAACC,OAAyB,EAAEC,OAA4B,EAAE;IACnE,MAAMC,YAAgC,GAAG;MACvC,GAAGN,iBAAiB;MACpB,GAAGK;IACL,CAAC;IAED,MAAME,IAAI,GAAGH,OAAO,CAACA,OAAO,CAACI,gBAAgB,CAACF,YAAY,CAAC;IAC3D,KAAK,CAACF,OAAO,EAAEG,IAAI,CAAC;IAEpB,IAAID,YAAY,CAACG,KAAK,EAAE;MACtB,IAAI,CAACP,UAAU,GAAG,IAAI;IACxB;EACF;EAEA,IAAIO,KAAKA,CAAA,EAAwB;IAC/B,IAAI,CAAC,IAAI,CAACP,UAAU,EAAE;MACpB,OAAO,IAAI;IACb;IAEA,OAAQ,IAAI,CAACK,IAAI,CAAqBE,KAAK;EAC7C;EAEA,IAAIC,UAAUA,CAAA,EAAmB;IAC/B,OAAQ,IAAI,CAACH,IAAI,CAAqBG,UAAU;EAClD;EAEA,IAAID,KAAKA,CAACA,KAA0B,EAAE;IACpC,IAAIA,KAAK,KAAK,IAAI,EAAE;MAClB,IAAI,IAAI,CAACP,UAAU,EAAE;QACnB,MAAM,IAAIH,iBAAiB,CACzB,kEACF,CAAC;MACH;MAEA,IAAIU,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;QACpB,MAAM,IAAIZ,iBAAiB,CACzB,sDACF,CAAC;MACH;MAEA,IAAI,CAACG,UAAU,GAAG,IAAI;IACxB;IAEC,IAAI,CAACK,IAAI,CAAqBK,QAAQ,CAACH,KAAK,CAAC;EAChD;EAEA,IAAIC,UAAUA,CAACG,KAAqB,EAAE;IACnC,IAAI,CAACN,IAAI,CAAqBG,UAAU,GAAGG,KAAK;EACnD;AACF","ignoreList":[]}
@@ -1,5 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  import AudioNode from "./AudioNode.js";
4
- export default class WorkletNode extends AudioNode {}
4
+ import AudioAPIModule from "../AudioAPIModule/index.js";
5
+ export default class WorkletNode extends AudioNode {
6
+ constructor(context, runtime, callback, bufferLength, inputChannelCount) {
7
+ const shareableWorklet = AudioAPIModule.workletsModule.makeShareableCloneRecursive((audioBuffers, channelCount) => {
8
+ 'worklet';
9
+
10
+ const floatAudioData = audioBuffers.map(buffer => new Float32Array(buffer));
11
+ callback(floatAudioData, channelCount);
12
+ });
13
+ const node = context.context.createWorkletNode(shareableWorklet, runtime === 'UIRuntime', bufferLength, inputChannelCount);
14
+ super(context, node);
15
+ }
16
+ }
5
17
  //# sourceMappingURL=WorkletNode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","WorkletNode"],"sourceRoot":"../../../src","sources":["core/WorkletNode.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAEnC,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["AudioNode","AudioAPIModule","WorkletNode","constructor","context","runtime","callback","bufferLength","inputChannelCount","shareableWorklet","workletsModule","makeShareableCloneRecursive","audioBuffers","channelCount","floatAudioData","map","buffer","Float32Array","node","createWorkletNode"],"sourceRoot":"../../../src","sources":["core/WorkletNode.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAGnC,OAAOC,cAAc,MAAM,4BAAmB;AAE9C,eAAe,MAAMC,WAAW,SAASF,SAAS,CAAC;EACjDG,WAAWA,CACTC,OAAyB,EACzBC,OAA4B,EAC5BC,QAAwE,EACxEC,YAAoB,EACpBC,iBAAyB,EACzB;IACA,MAAMC,gBAAgB,GACpBR,cAAc,CAACS,cAAc,CAAEC,2BAA2B,CACxD,CAACC,YAAgC,EAAEC,YAAoB,KAAK;MAC1D,SAAS;;MACT,MAAMC,cAAmC,GAAGF,YAAY,CAACG,GAAG,CACzDC,MAAM,IAAK,IAAIC,YAAY,CAACD,MAAM,CACrC,CAAC;MACDV,QAAQ,CAACQ,cAAc,EAAED,YAAY,CAAC;IACxC,CACF,CAAC;IACH,MAAMK,IAAI,GAAGd,OAAO,CAACA,OAAO,CAACe,iBAAiB,CAC5CV,gBAAgB,EAChBJ,OAAO,KAAK,WAAW,EACvBE,YAAY,EACZC,iBACF,CAAC;IACD,KAAK,CAACJ,OAAO,EAAEc,IAAI,CAAC;EACtB;AACF","ignoreList":[]}
@@ -1,5 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  import AudioNode from "./AudioNode.js";
4
- export default class WorkletProcessingNode extends AudioNode {}
4
+ import AudioAPIModule from "../AudioAPIModule/index.js";
5
+ export default class WorkletProcessingNode extends AudioNode {
6
+ constructor(context, runtime, callback) {
7
+ const shareableWorklet = AudioAPIModule.workletsModule.makeShareableCloneRecursive((inputBuffers, outputBuffers, framesToProcess, currentTime) => {
8
+ 'worklet';
9
+
10
+ const inputData = inputBuffers.map(buffer => new Float32Array(buffer, 0, framesToProcess));
11
+ const outputData = outputBuffers.map(buffer => new Float32Array(buffer, 0, framesToProcess));
12
+ callback(inputData, outputData, framesToProcess, currentTime);
13
+ });
14
+ const node = context.context.createWorkletProcessingNode(shareableWorklet, runtime === 'UIRuntime');
15
+ super(context, node);
16
+ }
17
+ }
5
18
  //# sourceMappingURL=WorkletProcessingNode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","WorkletProcessingNode"],"sourceRoot":"../../../src","sources":["core/WorkletProcessingNode.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAEnC,eAAe,MAAMC,qBAAqB,SAASD,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["AudioNode","AudioAPIModule","WorkletProcessingNode","constructor","context","runtime","callback","shareableWorklet","workletsModule","makeShareableCloneRecursive","inputBuffers","outputBuffers","framesToProcess","currentTime","inputData","map","buffer","Float32Array","outputData","node","createWorkletProcessingNode"],"sourceRoot":"../../../src","sources":["core/WorkletProcessingNode.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAGnC,OAAOC,cAAc,MAAM,4BAAmB;AAE9C,eAAe,MAAMC,qBAAqB,SAASF,SAAS,CAAC;EAC3DG,WAAWA,CACTC,OAAyB,EACzBC,OAA4B,EAC5BC,QAKS,EACT;IACA,MAAMC,gBAAgB,GACpBN,cAAc,CAACO,cAAc,CAAEC,2BAA2B,CACxD,CACEC,YAAgC,EAChCC,aAAiC,EACjCC,eAAuB,EACvBC,WAAmB,KAChB;MACH,SAAS;;MACT,MAAMC,SAA8B,GAAGJ,YAAY,CAACK,GAAG,CACpDC,MAAM,IAAK,IAAIC,YAAY,CAACD,MAAM,EAAE,CAAC,EAAEJ,eAAe,CACzD,CAAC;MACD,MAAMM,UAA+B,GAAGP,aAAa,CAACI,GAAG,CACtDC,MAAM,IAAK,IAAIC,YAAY,CAACD,MAAM,EAAE,CAAC,EAAEJ,eAAe,CACzD,CAAC;MACDN,QAAQ,CAACQ,SAAS,EAAEI,UAAU,EAAEN,eAAe,EAAEC,WAAW,CAAC;IAC/D,CACF,CAAC;IACH,MAAMM,IAAI,GAAGf,OAAO,CAACA,OAAO,CAACgB,2BAA2B,CACtDb,gBAAgB,EAChBF,OAAO,KAAK,WACd,CAAC;IACD,KAAK,CAACD,OAAO,EAAEe,IAAI,CAAC;EACtB;AACF","ignoreList":[]}
@@ -1,5 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
4
- export default class WorkletSourceNode extends AudioScheduledSourceNode {}
4
+ import AudioAPIModule from "../AudioAPIModule/index.js";
5
+ export default class WorkletSourceNode extends AudioScheduledSourceNode {
6
+ constructor(context, runtime, callback) {
7
+ const shareableWorklet = AudioAPIModule.workletsModule.makeShareableCloneRecursive((audioBuffers, framesToProcess, currentTime, startOffset) => {
8
+ 'worklet';
9
+
10
+ const floatAudioData = audioBuffers.map(buffer => new Float32Array(buffer));
11
+ callback(floatAudioData, framesToProcess, currentTime, startOffset);
12
+ });
13
+ const node = context.context.createWorkletSourceNode(shareableWorklet, runtime === 'UIRuntime');
14
+ super(context, node);
15
+ }
16
+ }
5
17
  //# sourceMappingURL=WorkletSourceNode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AudioScheduledSourceNode","WorkletSourceNode"],"sourceRoot":"../../../src","sources":["core/WorkletSourceNode.ts"],"mappings":";;AAAA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,eAAe,MAAMC,iBAAiB,SAASD,wBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["AudioScheduledSourceNode","AudioAPIModule","WorkletSourceNode","constructor","context","runtime","callback","shareableWorklet","workletsModule","makeShareableCloneRecursive","audioBuffers","framesToProcess","currentTime","startOffset","floatAudioData","map","buffer","Float32Array","node","createWorkletSourceNode"],"sourceRoot":"../../../src","sources":["core/WorkletSourceNode.ts"],"mappings":";;AAAA,OAAOA,wBAAwB,MAAM,+BAA4B;AAGjE,OAAOC,cAAc,MAAM,4BAAmB;AAE9C,eAAe,MAAMC,iBAAiB,SAASF,wBAAwB,CAAC;EACtEG,WAAWA,CACTC,OAAyB,EACzBC,OAA4B,EAC5BC,QAKS,EACT;IACA,MAAMC,gBAAgB,GACpBN,cAAc,CAACO,cAAc,CAAEC,2BAA2B,CACxD,CACEC,YAAgC,EAChCC,eAAuB,EACvBC,WAAmB,EACnBC,WAAmB,KAChB;MACH,SAAS;;MACT,MAAMC,cAAmC,GAAGJ,YAAY,CAACK,GAAG,CACzDC,MAAM,IAAK,IAAIC,YAAY,CAACD,MAAM,CACrC,CAAC;MACDV,QAAQ,CAACQ,cAAc,EAAEH,eAAe,EAAEC,WAAW,EAAEC,WAAW,CAAC;IACrE,CACF,CAAC;IACH,MAAMK,IAAI,GAAGd,OAAO,CAACA,OAAO,CAACe,uBAAuB,CAClDZ,gBAAgB,EAChBF,OAAO,KAAK,WACd,CAAC;IACD,KAAK,CAACD,OAAO,EAAEc,IAAI,CAAC;EACtB;AACF","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ export const AudioNodeOptions = {
4
+ channelCount: 2,
5
+ channelCountMode: 'max',
6
+ channelInterpretation: 'speakers'
7
+ };
8
+ export const GainOptions = {
9
+ ...AudioNodeOptions,
10
+ gain: 1
11
+ };
12
+ export const SteroPannerOptions = {
13
+ ...AudioNodeOptions,
14
+ channelCountMode: 'clamped-max',
15
+ pan: 0
16
+ };
17
+ export const AnalyserOptions = {
18
+ ...AudioNodeOptions,
19
+ fftSize: 2048,
20
+ minDecibels: -100,
21
+ maxDecibels: -30,
22
+ smoothingTimeConstant: 0.8
23
+ };
24
+ export const BiquadFilterOptions = {
25
+ ...AudioNodeOptions,
26
+ Q: 1,
27
+ detune: 0,
28
+ frequency: 350,
29
+ gain: 0,
30
+ type: 'lowpass'
31
+ };
32
+ export const ConvolverOptions = {
33
+ ...AudioNodeOptions,
34
+ disableNormalization: false
35
+ };
36
+ export const ConstantSourceOptions = {
37
+ offset: 1
38
+ };
39
+ export const PeriodicWaveConstraints = {
40
+ disableNormalization: false
41
+ };
42
+ export const OscillatorOptions = {
43
+ ...AudioNodeOptions,
44
+ type: 'sine',
45
+ frequency: 440,
46
+ detune: 0
47
+ };
48
+ export const BaseAudioBufferSourceOptions = {
49
+ playbackRate: 1,
50
+ detune: 0,
51
+ pitchCorrection: false
52
+ };
53
+ export const AudioBufferSourceOptions = {
54
+ ...BaseAudioBufferSourceOptions,
55
+ loop: false,
56
+ loopStart: 0,
57
+ loopEnd: 0
58
+ };
59
+ export const AudioBufferOptions = {
60
+ numberOfChannels: 1,
61
+ length: 0,
62
+ // always overwritten by provided value, only placeholder
63
+ sampleRate: 44100 // always overwritten by provided value, only placeholder
64
+ };
65
+ export const DelayOptions = {
66
+ ...AudioNodeOptions,
67
+ maxDelayTime: 1.0,
68
+ delayTime: 0.0
69
+ };
70
+ export const WaveShaperOptions = {
71
+ ...AudioNodeOptions,
72
+ oversample: 'none'
73
+ };
74
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AudioNodeOptions","channelCount","channelCountMode","channelInterpretation","GainOptions","gain","SteroPannerOptions","pan","AnalyserOptions","fftSize","minDecibels","maxDecibels","smoothingTimeConstant","BiquadFilterOptions","Q","detune","frequency","type","ConvolverOptions","disableNormalization","ConstantSourceOptions","offset","PeriodicWaveConstraints","OscillatorOptions","BaseAudioBufferSourceOptions","playbackRate","pitchCorrection","AudioBufferSourceOptions","loop","loopStart","loopEnd","AudioBufferOptions","numberOfChannels","length","sampleRate","DelayOptions","maxDelayTime","delayTime","WaveShaperOptions","oversample"],"sourceRoot":"../../src","sources":["defaults.ts"],"mappings":";;AAiBA,OAAO,MAAMA,gBAAmC,GAAG;EACjDC,YAAY,EAAE,CAAC;EACfC,gBAAgB,EAAE,KAAK;EACvBC,qBAAqB,EAAE;AACzB,CAAC;AAED,OAAO,MAAMC,WAAyB,GAAG;EACvC,GAAGJ,gBAAgB;EACnBK,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,kBAAuC,GAAG;EACrD,GAAGN,gBAAgB;EACnBE,gBAAgB,EAAE,aAAa;EAC/BK,GAAG,EAAE;AACP,CAAC;AAED,OAAO,MAAMC,eAAiC,GAAG;EAC/C,GAAGR,gBAAgB;EACnBS,OAAO,EAAE,IAAI;EACbC,WAAW,EAAE,CAAC,GAAG;EACjBC,WAAW,EAAE,CAAC,EAAE;EAChBC,qBAAqB,EAAE;AACzB,CAAC;AAED,OAAO,MAAMC,mBAAyC,GAAG;EACvD,GAAGb,gBAAgB;EACnBc,CAAC,EAAE,CAAC;EACJC,MAAM,EAAE,CAAC;EACTC,SAAS,EAAE,GAAG;EACdX,IAAI,EAAE,CAAC;EACPY,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,gBAAmC,GAAG;EACjD,GAAGlB,gBAAgB;EACnBmB,oBAAoB,EAAE;AACxB,CAAC;AAED,OAAO,MAAMC,qBAA6C,GAAG;EAC3DC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,MAAMC,uBAAiD,GAAG;EAC/DH,oBAAoB,EAAE;AACxB,CAAC;AAED,OAAO,MAAMI,iBAAqC,GAAG;EACnD,GAAGvB,gBAAgB;EACnBiB,IAAI,EAAE,MAAM;EACZD,SAAS,EAAE,GAAG;EACdD,MAAM,EAAE;AACV,CAAC;AAED,OAAO,MAAMS,4BAA2D,GAAG;EACzEC,YAAY,EAAE,CAAC;EACfV,MAAM,EAAE,CAAC;EACTW,eAAe,EAAE;AACnB,CAAC;AAED,OAAO,MAAMC,wBAAmD,GAAG;EACjE,GAAGH,4BAA4B;EAC/BI,IAAI,EAAE,KAAK;EACXC,SAAS,EAAE,CAAC;EACZC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,kBAAuC,GAAG;EACrDC,gBAAgB,EAAE,CAAC;EACnBC,MAAM,EAAE,CAAC;EAAE;EACXC,UAAU,EAAE,KAAK,CAAE;AACrB,CAAC;AAED,OAAO,MAAMC,YAA2B,GAAG;EACzC,GAAGnC,gBAAgB;EACnBoC,YAAY,EAAE,GAAG;EACjBC,SAAS,EAAE;AACb,CAAC;AAED,OAAO,MAAMC,iBAAqC,GAAG;EACnD,GAAGtC,gBAAgB;EACnBuC,UAAU,EAAE;AACd,CAAC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ import { IndexSizeError, NotSupportedError } from "./errors/index.js";
4
+ export const AnalyserOptionsValidator = {
5
+ validate(options) {
6
+ const allowedFFTSize = [32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768];
7
+ if (options.fftSize && !allowedFFTSize.includes(options.fftSize)) {
8
+ throw new IndexSizeError(`fftSize must be one of the following values: ${allowedFFTSize.join(', ')}`);
9
+ }
10
+ }
11
+ };
12
+ export const ConvolverOptionsValidator = {
13
+ validate(options) {
14
+ if (options.buffer) {
15
+ const numberOfChannels = options.buffer.numberOfChannels;
16
+ if (numberOfChannels !== 1 && numberOfChannels !== 2 && numberOfChannels !== 4) {
17
+ throw new NotSupportedError(`The number of channels provided (${numberOfChannels}) in impulse response for ConvolverNode buffer must be 1 or 2 or 4.`);
18
+ }
19
+ }
20
+ }
21
+ };
22
+ export const OscillatorOptionsValidator = {
23
+ validate(options) {
24
+ if (options.type === 'custom' && !options.periodicWave) {
25
+ throw new NotSupportedError("'type' cannot be set to 'custom' without providing a 'periodicWave'.");
26
+ }
27
+ }
28
+ };
29
+ export const PeriodicWaveOptionsValidator = {
30
+ validate(options) {
31
+ if (options.real && options.imag && options.real.length !== options.imag.length) {
32
+ throw new NotSupportedError("'real' and 'imag' arrays must have the same length");
33
+ }
34
+ }
35
+ };
36
+ //# sourceMappingURL=options-validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IndexSizeError","NotSupportedError","AnalyserOptionsValidator","validate","options","allowedFFTSize","fftSize","includes","join","ConvolverOptionsValidator","buffer","numberOfChannels","OscillatorOptionsValidator","type","periodicWave","PeriodicWaveOptionsValidator","real","imag","length"],"sourceRoot":"../../src","sources":["options-validators.ts"],"mappings":";;AAAA,SAASA,cAAc,EAAEC,iBAAiB,QAAQ,mBAAU;AAS5D,OAAO,MAAMC,wBAA4D,GAAG;EAC1EC,QAAQA,CAACC,OAAyB,EAAQ;IACxC,MAAMC,cAAwB,GAAG,CAC/B,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAC5D;IACD,IAAID,OAAO,CAACE,OAAO,IAAI,CAACD,cAAc,CAACE,QAAQ,CAACH,OAAO,CAACE,OAAO,CAAC,EAAE;MAChE,MAAM,IAAIN,cAAc,CACtB,gDAAgDK,cAAc,CAACG,IAAI,CACjE,IACF,CAAC,EACH,CAAC;IACH;EACF;AACF,CAAC;AAED,OAAO,MAAMC,yBAA8D,GAAG;EAC5EN,QAAQA,CAACC,OAA0B,EAAQ;IACzC,IAAIA,OAAO,CAACM,MAAM,EAAE;MAClB,MAAMC,gBAAgB,GAAGP,OAAO,CAACM,MAAM,CAACC,gBAAgB;MACxD,IACEA,gBAAgB,KAAK,CAAC,IACtBA,gBAAgB,KAAK,CAAC,IACtBA,gBAAgB,KAAK,CAAC,EACtB;QACA,MAAM,IAAIV,iBAAiB,CACzB,oCAAoCU,gBAAgB,qEACtD,CAAC;MACH;IACF;EACF;AACF,CAAC;AAED,OAAO,MAAMC,0BAAgE,GAC3E;EACET,QAAQA,CAACC,OAA2B,EAAQ;IAC1C,IAAIA,OAAO,CAACS,IAAI,KAAK,QAAQ,IAAI,CAACT,OAAO,CAACU,YAAY,EAAE;MACtD,MAAM,IAAIb,iBAAiB,CACzB,sEACF,CAAC;IACH;EACF;AACF,CAAC;AAEH,OAAO,MAAMc,4BAAoE,GAC/E;EACEZ,QAAQA,CAACC,OAA6B,EAAQ;IAC5C,IACEA,OAAO,CAACY,IAAI,IACZZ,OAAO,CAACa,IAAI,IACZb,OAAO,CAACY,IAAI,CAACE,MAAM,KAAKd,OAAO,CAACa,IAAI,CAACC,MAAM,EAC3C;MACA,MAAM,IAAIjB,iBAAiB,CACzB,oDACF,CAAC;IACH;EACF;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["FileDirectory","FileFormat","IOSAudioQuality","BitDepth","FlacCompressionLevel"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AA6CA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAKzB,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAOtB,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAQ3B,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAMpB,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["FileDirectory","FileFormat","IOSAudioQuality","BitDepth","FlacCompressionLevel"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AA0CA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAKzB,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAOtB,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAQ3B,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAMpB,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAApBA,oBAAoB,CAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA","ignoreList":[]}
@@ -2,7 +2,8 @@
2
2
 
3
3
  import AudioNode from "./AudioNode.js";
4
4
  export default class AnalyserNode extends AudioNode {
5
- constructor(context, node) {
5
+ constructor(context, analyserOptions) {
6
+ const node = new globalThis.AnalyserNode(context.context, analyserOptions);
6
7
  super(context, node);
7
8
  this.fftSize = node.fftSize;
8
9
  this.frequencyBinCount = node.frequencyBinCount;
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","AnalyserNode","constructor","context","node","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData"],"sourceRoot":"../../../src","sources":["web-core/AnalyserNode.tsx"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAInC,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAOlDE,WAAWA,CAACC,OAAyB,EAAEC,IAA6B,EAAE;IACpE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,OAAO,GAAGD,IAAI,CAACC,OAAO;IAC3B,IAAI,CAACC,iBAAiB,GAAGF,IAAI,CAACE,iBAAiB;IAC/C,IAAI,CAACC,WAAW,GAAGH,IAAI,CAACG,WAAW;IACnC,IAAI,CAACC,WAAW,GAAGJ,IAAI,CAACI,WAAW;IACnC,IAAI,CAACC,qBAAqB,GAAGL,IAAI,CAACK,qBAAqB;EACzD;EAEA,IAAWC,MAAMA,CAAA,EAAe;IAC9B,OAAO,UAAU;EACnB;EAEA,IAAWA,MAAMA,CAACC,KAAiB,EAAE;IACnCC,OAAO,CAACC,GAAG,CACT,gEACF,CAAC;EACH;EAEOC,oBAAoBA,CAACC,KAAiB,EAAQ;IAClD,IAAI,CAACX,IAAI,CAA6BU,oBAAoB,CAACC,KAAK,CAAC;EACpE;EAEOC,qBAAqBA,CAACD,KAAiB,EAAQ;IACnD,IAAI,CAACX,IAAI,CAA6BY,qBAAqB,CAACD,KAAK,CAAC;EACrE;EAEOE,qBAAqBA,CAACF,KAAmB,EAAQ;IACrD,IAAI,CAACX,IAAI,CAA6Ba,qBAAqB,CAACF,KAAK,CAAC;EACrE;EAEOG,sBAAsBA,CAACH,KAAmB,EAAQ;IACtD,IAAI,CAACX,IAAI,CAA6Bc,sBAAsB,CAACH,KAAK,CAAC;EACtE;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioNode","AnalyserNode","constructor","context","analyserOptions","node","globalThis","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData"],"sourceRoot":"../../../src","sources":["web-core/AnalyserNode.tsx"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAInC,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAOlDE,WAAWA,CAACC,OAAyB,EAAEC,eAAkC,EAAE;IACzE,MAAMC,IAAI,GAAG,IAAIC,UAAU,CAACL,YAAY,CAACE,OAAO,CAACA,OAAO,EAAEC,eAAe,CAAC;IAC1E,KAAK,CAACD,OAAO,EAAEE,IAAI,CAAC;IAEpB,IAAI,CAACE,OAAO,GAAGF,IAAI,CAACE,OAAO;IAC3B,IAAI,CAACC,iBAAiB,GAAGH,IAAI,CAACG,iBAAiB;IAC/C,IAAI,CAACC,WAAW,GAAGJ,IAAI,CAACI,WAAW;IACnC,IAAI,CAACC,WAAW,GAAGL,IAAI,CAACK,WAAW;IACnC,IAAI,CAACC,qBAAqB,GAAGN,IAAI,CAACM,qBAAqB;EACzD;EAEA,IAAWC,MAAMA,CAAA,EAAe;IAC9B,OAAO,UAAU;EACnB;EAEA,IAAWA,MAAMA,CAACC,KAAiB,EAAE;IACnCC,OAAO,CAACC,GAAG,CACT,gEACF,CAAC;EACH;EAEOC,oBAAoBA,CAACC,KAAiB,EAAQ;IAClD,IAAI,CAACZ,IAAI,CAA6BW,oBAAoB,CACzDC,KACF,CAAC;EACH;EAEOC,qBAAqBA,CAACD,KAAiB,EAAQ;IACnD,IAAI,CAACZ,IAAI,CAA6Ba,qBAAqB,CAC1DD,KACF,CAAC;EACH;EAEOE,qBAAqBA,CAACF,KAAmB,EAAQ;IACrD,IAAI,CAACZ,IAAI,CAA6Bc,qBAAqB,CAC1DF,KACF,CAAC;EACH;EAEOG,sBAAsBA,CAACH,KAAmB,EAAQ;IACtD,IAAI,CAACZ,IAAI,CAA6Be,sBAAsB,CAC3DH,KACF,CAAC;EACH;AACF","ignoreList":[]}
@@ -1,15 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  import { IndexSizeError } from "../errors/index.js";
4
+ import BaseAudioContext from "./BaseAudioContext.js";
4
5
  export default class AudioBuffer {
5
6
  /** @internal */
6
7
 
7
- constructor(buffer) {
8
- this.buffer = buffer;
9
- this.length = buffer.length;
10
- this.duration = buffer.duration;
11
- this.sampleRate = buffer.sampleRate;
12
- this.numberOfChannels = buffer.numberOfChannels;
8
+ constructor(contextOrBuffer, options) {
9
+ let buf;
10
+ if (contextOrBuffer instanceof BaseAudioContext) {
11
+ buf = new globalThis.AudioBuffer(options);
12
+ } else {
13
+ buf = contextOrBuffer;
14
+ }
15
+ this.buffer = buf;
16
+ this.length = buf.length;
17
+ this.duration = buf.duration;
18
+ this.sampleRate = buf.sampleRate;
19
+ this.numberOfChannels = buf.numberOfChannels;
13
20
  }
14
21
  getChannelData(channel) {
15
22
  if (channel < 0 || channel >= this.numberOfChannels) {
@@ -1 +1 @@
1
- {"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["web-core/AudioBuffer.tsx"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAM/B;;EAGAC,WAAWA,CAACC,MAA8B,EAAE;IAC1C,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,EAAgB;IACnD,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIP,cAAc,CACtB,gCAAgCS,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IAEA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOC,eAAeA,CACpBC,WAAyB,EACzBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACO,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAoB,EACpBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACW,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF","ignoreList":[]}
1
+ {"version":3,"names":["IndexSizeError","BaseAudioContext","AudioBuffer","constructor","contextOrBuffer","options","buf","globalThis","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["web-core/AudioBuffer.tsx"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,oBAAW;AAC1C,OAAOC,gBAAgB,MAAM,uBAAoB;AAGjD,eAAe,MAAMC,WAAW,CAAC;EAM/B;;EAMAC,WAAWA,CACTC,eAA0D,EAC1DC,OAA6B,EAC7B;IACA,IAAIC,GAA2B;IAC/B,IAAIF,eAAe,YAAYH,gBAAgB,EAAE;MAC/CK,GAAG,GAAG,IAAIC,UAAU,CAACL,WAAW,CAACG,OAAQ,CAAC;IAC5C,CAAC,MAAM;MACLC,GAAG,GAAGF,eAAyC;IACjD;IACA,IAAI,CAACI,MAAM,GAAGF,GAAG;IACjB,IAAI,CAACG,MAAM,GAAGH,GAAG,CAACG,MAAM;IACxB,IAAI,CAACC,QAAQ,GAAGJ,GAAG,CAACI,QAAQ;IAC5B,IAAI,CAACC,UAAU,GAAGL,GAAG,CAACK,UAAU;IAChC,IAAI,CAACC,gBAAgB,GAAGN,GAAG,CAACM,gBAAgB;EAC9C;EAEOC,cAAcA,CAACC,OAAe,EAAgB;IACnD,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIZ,cAAc,CACtB,gCAAgCc,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IAEA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOC,eAAeA,CACpBC,WAAyB,EACzBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIZ,cAAc,CACtB,gCAAgCiB,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIT,cAAc,CACtB,uCAAuCkB,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACO,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAoB,EACpBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIZ,cAAc,CACtB,gCAAgCiB,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIT,cAAc,CACtB,uCAAuCkB,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACW,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF","ignoreList":[]}