react-native-audio-api 0.12.0-nightly-0d1a19d-20260120 → 0.12.0-nightly-6993a06-20260122

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 (379) hide show
  1. package/android/src/main/java/com/swmansion/audioapi/AudioAPIModule.kt +16 -2
  2. package/android/src/main/java/com/swmansion/audioapi/system/AudioFocusListener.kt +7 -3
  3. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionManager.kt +6 -6
  4. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.cpp +52 -49
  5. package/common/cpp/audioapi/HostObjects/sources/AudioBufferQueueSourceNodeHostObject.cpp +18 -0
  6. package/common/cpp/audioapi/HostObjects/sources/AudioBufferQueueSourceNodeHostObject.h +4 -0
  7. package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.cpp +6 -0
  8. package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.h +1 -0
  9. package/common/cpp/audioapi/HostObjects/utils/NodeOptions.h +111 -0
  10. package/common/cpp/audioapi/HostObjects/utils/NodeOptionsParser.h +262 -0
  11. package/common/cpp/audioapi/core/AudioNode.cpp +13 -6
  12. package/common/cpp/audioapi/core/AudioNode.h +2 -0
  13. package/common/cpp/audioapi/core/BaseAudioContext.cpp +42 -44
  14. package/common/cpp/audioapi/core/BaseAudioContext.h +32 -21
  15. package/common/cpp/audioapi/core/analysis/AnalyserNode.cpp +8 -6
  16. package/common/cpp/audioapi/core/analysis/AnalyserNode.h +2 -1
  17. package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +7 -8
  18. package/common/cpp/audioapi/core/effects/BiquadFilterNode.h +4 -1
  19. package/common/cpp/audioapi/core/effects/ConvolverNode.cpp +5 -9
  20. package/common/cpp/audioapi/core/effects/ConvolverNode.h +2 -2
  21. package/common/cpp/audioapi/core/effects/DelayNode.cpp +5 -4
  22. package/common/cpp/audioapi/core/effects/DelayNode.h +2 -1
  23. package/common/cpp/audioapi/core/effects/GainNode.cpp +4 -3
  24. package/common/cpp/audioapi/core/effects/GainNode.h +2 -1
  25. package/common/cpp/audioapi/core/effects/IIRFilterNode.cpp +6 -6
  26. package/common/cpp/audioapi/core/effects/IIRFilterNode.h +3 -2
  27. package/common/cpp/audioapi/core/effects/StereoPannerNode.cpp +3 -3
  28. package/common/cpp/audioapi/core/effects/StereoPannerNode.h +4 -1
  29. package/common/cpp/audioapi/core/effects/WaveShaperNode.cpp +4 -3
  30. package/common/cpp/audioapi/core/effects/WaveShaperNode.h +4 -1
  31. package/common/cpp/audioapi/core/sources/AudioBuffer.cpp +3 -2
  32. package/common/cpp/audioapi/core/sources/AudioBuffer.h +2 -1
  33. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.cpp +16 -22
  34. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.h +2 -1
  35. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.cpp +38 -20
  36. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.h +9 -1
  37. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +10 -8
  38. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +5 -2
  39. package/common/cpp/audioapi/core/sources/ConstantSourceNode.cpp +5 -8
  40. package/common/cpp/audioapi/core/sources/ConstantSourceNode.h +4 -1
  41. package/common/cpp/audioapi/core/sources/OscillatorNode.cpp +21 -16
  42. package/common/cpp/audioapi/core/sources/OscillatorNode.h +4 -1
  43. package/common/cpp/audioapi/core/sources/StreamerNode.cpp +4 -2
  44. package/common/cpp/audioapi/core/sources/StreamerNode.h +11 -1
  45. package/common/cpp/audioapi/events/AudioEventHandlerRegistry.h +8 -2
  46. package/common/cpp/test/src/ConstantSourceTest.cpp +3 -2
  47. package/common/cpp/test/src/DelayTest.cpp +12 -5
  48. package/common/cpp/test/src/GainTest.cpp +3 -2
  49. package/common/cpp/test/src/IIRFilterTest.cpp +3 -2
  50. package/common/cpp/test/src/OscillatorTest.cpp +2 -1
  51. package/common/cpp/test/src/StereoPannerTest.cpp +3 -2
  52. package/common/cpp/test/src/biquad/BiquadFilterTest.cpp +10 -9
  53. package/common/cpp/test/src/core/effects/WaveShaperNodeTest.cpp +4 -3
  54. package/ios/audioapi/ios/AudioAPIModule.h +2 -2
  55. package/ios/audioapi/ios/AudioAPIModule.mm +3 -3
  56. package/ios/audioapi/ios/system/AudioEngine.mm +3 -1
  57. package/ios/audioapi/ios/system/AudioSessionManager.h +1 -0
  58. package/ios/audioapi/ios/system/{NotificationManager.h → SystemNotificationManager.h} +1 -1
  59. package/ios/audioapi/ios/system/{NotificationManager.mm → SystemNotificationManager.mm} +9 -4
  60. package/lib/commonjs/api.js +11 -3
  61. package/lib/commonjs/api.js.map +1 -1
  62. package/lib/commonjs/api.web.js +4 -10
  63. package/lib/commonjs/api.web.js.map +1 -1
  64. package/lib/commonjs/core/AnalyserNode.js +11 -0
  65. package/lib/commonjs/core/AnalyserNode.js.map +1 -1
  66. package/lib/commonjs/core/AudioBuffer.js +20 -6
  67. package/lib/commonjs/core/AudioBuffer.js.map +1 -1
  68. package/lib/commonjs/core/AudioBufferQueueSourceNode.js +24 -0
  69. package/lib/commonjs/core/AudioBufferQueueSourceNode.js.map +1 -1
  70. package/lib/commonjs/core/AudioBufferSourceNode.js +9 -6
  71. package/lib/commonjs/core/AudioBufferSourceNode.js.map +1 -1
  72. package/lib/commonjs/core/AudioScheduledSourceNode.js.map +1 -1
  73. package/lib/commonjs/core/BaseAudioContext.js +52 -65
  74. package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
  75. package/lib/commonjs/core/BiquadFilterNode.js +7 -1
  76. package/lib/commonjs/core/BiquadFilterNode.js.map +1 -1
  77. package/lib/commonjs/core/ConstantSourceNode.js +7 -1
  78. package/lib/commonjs/core/ConstantSourceNode.js.map +1 -1
  79. package/lib/commonjs/core/ConvolverNode.js +9 -3
  80. package/lib/commonjs/core/ConvolverNode.js.map +1 -1
  81. package/lib/commonjs/core/DelayNode.js +7 -1
  82. package/lib/commonjs/core/DelayNode.js.map +1 -1
  83. package/lib/commonjs/core/GainNode.js +9 -3
  84. package/lib/commonjs/core/GainNode.js.map +1 -1
  85. package/lib/commonjs/core/IIRFilterNode.js +9 -0
  86. package/lib/commonjs/core/IIRFilterNode.js.map +1 -1
  87. package/lib/commonjs/core/OscillatorNode.js +10 -7
  88. package/lib/commonjs/core/OscillatorNode.js.map +1 -1
  89. package/lib/commonjs/core/PeriodicWave.js +30 -2
  90. package/lib/commonjs/core/PeriodicWave.js.map +1 -1
  91. package/lib/commonjs/core/RecorderAdapterNode.js +3 -0
  92. package/lib/commonjs/core/RecorderAdapterNode.js.map +1 -1
  93. package/lib/commonjs/core/StereoPannerNode.js +7 -1
  94. package/lib/commonjs/core/StereoPannerNode.js.map +1 -1
  95. package/lib/commonjs/core/StreamerNode.js +25 -1
  96. package/lib/commonjs/core/StreamerNode.js.map +1 -1
  97. package/lib/commonjs/core/WaveShaperNode.js +12 -0
  98. package/lib/commonjs/core/WaveShaperNode.js.map +1 -1
  99. package/lib/commonjs/core/WorkletNode.js +13 -1
  100. package/lib/commonjs/core/WorkletNode.js.map +1 -1
  101. package/lib/commonjs/core/WorkletProcessingNode.js +14 -1
  102. package/lib/commonjs/core/WorkletProcessingNode.js.map +1 -1
  103. package/lib/commonjs/core/WorkletSourceNode.js +13 -1
  104. package/lib/commonjs/core/WorkletSourceNode.js.map +1 -1
  105. package/lib/commonjs/defaults.js +78 -0
  106. package/lib/commonjs/defaults.js.map +1 -0
  107. package/lib/commonjs/options-validators.js +40 -0
  108. package/lib/commonjs/options-validators.js.map +1 -0
  109. package/lib/commonjs/specs/NativeAudioAPIModule.js.map +1 -1
  110. package/lib/commonjs/specs/NativeAudioAPIModule.web.js.map +1 -1
  111. package/lib/commonjs/system/AudioManager.js +7 -2
  112. package/lib/commonjs/system/AudioManager.js.map +1 -1
  113. package/lib/commonjs/types.js.map +1 -1
  114. package/lib/commonjs/web-core/AnalyserNode.js +2 -1
  115. package/lib/commonjs/web-core/AnalyserNode.js.map +1 -1
  116. package/lib/commonjs/web-core/AudioBuffer.js +14 -6
  117. package/lib/commonjs/web-core/AudioBuffer.js.map +1 -1
  118. package/lib/commonjs/web-core/AudioBufferSourceNode.js +276 -89
  119. package/lib/commonjs/web-core/AudioBufferSourceNode.js.map +1 -1
  120. package/lib/commonjs/web-core/AudioContext.js +33 -32
  121. package/lib/commonjs/web-core/AudioContext.js.map +1 -1
  122. package/lib/commonjs/web-core/AudioNode.js +4 -0
  123. package/lib/commonjs/web-core/AudioNode.js.map +1 -1
  124. package/lib/commonjs/web-core/AudioScheduledSourceNode.js +4 -2
  125. package/lib/commonjs/web-core/AudioScheduledSourceNode.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 +24 -0
  155. package/lib/module/core/AudioBufferQueueSourceNode.js.map +1 -1
  156. package/lib/module/core/AudioBufferSourceNode.js +9 -6
  157. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  158. package/lib/module/core/AudioScheduledSourceNode.js.map +1 -1
  159. package/lib/module/core/BaseAudioContext.js +52 -65
  160. package/lib/module/core/BaseAudioContext.js.map +1 -1
  161. package/lib/module/core/BiquadFilterNode.js +7 -1
  162. package/lib/module/core/BiquadFilterNode.js.map +1 -1
  163. package/lib/module/core/ConstantSourceNode.js +7 -1
  164. package/lib/module/core/ConstantSourceNode.js.map +1 -1
  165. package/lib/module/core/ConvolverNode.js +9 -3
  166. package/lib/module/core/ConvolverNode.js.map +1 -1
  167. package/lib/module/core/DelayNode.js +7 -1
  168. package/lib/module/core/DelayNode.js.map +1 -1
  169. package/lib/module/core/GainNode.js +9 -3
  170. package/lib/module/core/GainNode.js.map +1 -1
  171. package/lib/module/core/IIRFilterNode.js +9 -0
  172. package/lib/module/core/IIRFilterNode.js.map +1 -1
  173. package/lib/module/core/OscillatorNode.js +10 -7
  174. package/lib/module/core/OscillatorNode.js.map +1 -1
  175. package/lib/module/core/PeriodicWave.js +29 -2
  176. package/lib/module/core/PeriodicWave.js.map +1 -1
  177. package/lib/module/core/RecorderAdapterNode.js +3 -0
  178. package/lib/module/core/RecorderAdapterNode.js.map +1 -1
  179. package/lib/module/core/StereoPannerNode.js +7 -1
  180. package/lib/module/core/StereoPannerNode.js.map +1 -1
  181. package/lib/module/core/StreamerNode.js +25 -1
  182. package/lib/module/core/StreamerNode.js.map +1 -1
  183. package/lib/module/core/WaveShaperNode.js +12 -0
  184. package/lib/module/core/WaveShaperNode.js.map +1 -1
  185. package/lib/module/core/WorkletNode.js +13 -1
  186. package/lib/module/core/WorkletNode.js.map +1 -1
  187. package/lib/module/core/WorkletProcessingNode.js +14 -1
  188. package/lib/module/core/WorkletProcessingNode.js.map +1 -1
  189. package/lib/module/core/WorkletSourceNode.js +13 -1
  190. package/lib/module/core/WorkletSourceNode.js.map +1 -1
  191. package/lib/module/defaults.js +74 -0
  192. package/lib/module/defaults.js.map +1 -0
  193. package/lib/module/options-validators.js +36 -0
  194. package/lib/module/options-validators.js.map +1 -0
  195. package/lib/module/specs/NativeAudioAPIModule.js.map +1 -1
  196. package/lib/module/specs/NativeAudioAPIModule.web.js.map +1 -1
  197. package/lib/module/system/AudioManager.js +7 -2
  198. package/lib/module/system/AudioManager.js.map +1 -1
  199. package/lib/module/types.js.map +1 -1
  200. package/lib/module/web-core/AnalyserNode.js +2 -1
  201. package/lib/module/web-core/AnalyserNode.js.map +1 -1
  202. package/lib/module/web-core/AudioBuffer.js +13 -6
  203. package/lib/module/web-core/AudioBuffer.js.map +1 -1
  204. package/lib/module/web-core/AudioBufferSourceNode.js +277 -90
  205. package/lib/module/web-core/AudioBufferSourceNode.js.map +1 -1
  206. package/lib/module/web-core/AudioContext.js +33 -32
  207. package/lib/module/web-core/AudioContext.js.map +1 -1
  208. package/lib/module/web-core/AudioNode.js +4 -0
  209. package/lib/module/web-core/AudioNode.js.map +1 -1
  210. package/lib/module/web-core/AudioScheduledSourceNode.js +4 -2
  211. package/lib/module/web-core/AudioScheduledSourceNode.js.map +1 -1
  212. package/lib/module/web-core/BiquadFilterNode.js +2 -1
  213. package/lib/module/web-core/BiquadFilterNode.js.map +1 -1
  214. package/lib/module/web-core/ConstantSourceNode.js +2 -1
  215. package/lib/module/web-core/ConstantSourceNode.js.map +1 -1
  216. package/lib/module/web-core/ConvolverNode.js +3 -5
  217. package/lib/module/web-core/ConvolverNode.js.map +1 -1
  218. package/lib/module/web-core/DelayNode.js +7 -1
  219. package/lib/module/web-core/DelayNode.js.map +1 -1
  220. package/lib/module/web-core/GainNode.js +2 -1
  221. package/lib/module/web-core/GainNode.js.map +1 -1
  222. package/lib/module/web-core/IIRFilterNode.js +12 -0
  223. package/lib/module/web-core/IIRFilterNode.js.map +1 -1
  224. package/lib/module/web-core/OfflineAudioContext.js +33 -32
  225. package/lib/module/web-core/OfflineAudioContext.js.map +1 -1
  226. package/lib/module/web-core/OscillatorNode.js +2 -1
  227. package/lib/module/web-core/OscillatorNode.js.map +1 -1
  228. package/lib/module/web-core/PeriodicWave.js +6 -1
  229. package/lib/module/web-core/PeriodicWave.js.map +1 -1
  230. package/lib/module/web-core/StereoPannerNode.js +2 -1
  231. package/lib/module/web-core/StereoPannerNode.js.map +1 -1
  232. package/lib/typescript/api.d.ts +2 -1
  233. package/lib/typescript/api.d.ts.map +1 -1
  234. package/lib/typescript/api.web.d.ts +2 -1
  235. package/lib/typescript/api.web.d.ts.map +1 -1
  236. package/lib/typescript/core/AnalyserNode.d.ts +3 -1
  237. package/lib/typescript/core/AnalyserNode.d.ts.map +1 -1
  238. package/lib/typescript/core/AudioBuffer.d.ts +3 -0
  239. package/lib/typescript/core/AudioBuffer.d.ts.map +1 -1
  240. package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts +8 -0
  241. package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts.map +1 -1
  242. package/lib/typescript/core/AudioBufferSourceNode.d.ts +3 -2
  243. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  244. package/lib/typescript/core/AudioScheduledSourceNode.d.ts +3 -3
  245. package/lib/typescript/core/AudioScheduledSourceNode.d.ts.map +1 -1
  246. package/lib/typescript/core/BaseAudioContext.d.ts +10 -6
  247. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  248. package/lib/typescript/core/BiquadFilterNode.d.ts +2 -3
  249. package/lib/typescript/core/BiquadFilterNode.d.ts.map +1 -1
  250. package/lib/typescript/core/ConstantSourceNode.d.ts +2 -2
  251. package/lib/typescript/core/ConstantSourceNode.d.ts.map +1 -1
  252. package/lib/typescript/core/ConvolverNode.d.ts +2 -2
  253. package/lib/typescript/core/ConvolverNode.d.ts.map +1 -1
  254. package/lib/typescript/core/DelayNode.d.ts +2 -2
  255. package/lib/typescript/core/DelayNode.d.ts.map +1 -1
  256. package/lib/typescript/core/GainNode.d.ts +2 -2
  257. package/lib/typescript/core/GainNode.d.ts.map +1 -1
  258. package/lib/typescript/core/IIRFilterNode.d.ts +3 -0
  259. package/lib/typescript/core/IIRFilterNode.d.ts.map +1 -1
  260. package/lib/typescript/core/OscillatorNode.d.ts +2 -6
  261. package/lib/typescript/core/OscillatorNode.d.ts.map +1 -1
  262. package/lib/typescript/core/PeriodicWave.d.ts +4 -1
  263. package/lib/typescript/core/PeriodicWave.d.ts.map +1 -1
  264. package/lib/typescript/core/RecorderAdapterNode.d.ts +2 -0
  265. package/lib/typescript/core/RecorderAdapterNode.d.ts.map +1 -1
  266. package/lib/typescript/core/StereoPannerNode.d.ts +2 -2
  267. package/lib/typescript/core/StereoPannerNode.d.ts.map +1 -1
  268. package/lib/typescript/core/StreamerNode.d.ts +5 -0
  269. package/lib/typescript/core/StreamerNode.d.ts.map +1 -1
  270. package/lib/typescript/core/WaveShaperNode.d.ts +3 -0
  271. package/lib/typescript/core/WaveShaperNode.d.ts.map +1 -1
  272. package/lib/typescript/core/WorkletNode.d.ts +3 -0
  273. package/lib/typescript/core/WorkletNode.d.ts.map +1 -1
  274. package/lib/typescript/core/WorkletProcessingNode.d.ts +3 -0
  275. package/lib/typescript/core/WorkletProcessingNode.d.ts.map +1 -1
  276. package/lib/typescript/core/WorkletSourceNode.d.ts +3 -0
  277. package/lib/typescript/core/WorkletSourceNode.d.ts.map +1 -1
  278. package/lib/typescript/defaults.d.ts +16 -0
  279. package/lib/typescript/defaults.d.ts.map +1 -0
  280. package/lib/typescript/events/types.d.ts +6 -4
  281. package/lib/typescript/events/types.d.ts.map +1 -1
  282. package/lib/typescript/interfaces.d.ts +17 -15
  283. package/lib/typescript/interfaces.d.ts.map +1 -1
  284. package/lib/typescript/options-validators.d.ts +6 -0
  285. package/lib/typescript/options-validators.d.ts.map +1 -0
  286. package/lib/typescript/specs/NativeAudioAPIModule.d.ts +2 -1
  287. package/lib/typescript/specs/NativeAudioAPIModule.d.ts.map +1 -1
  288. package/lib/typescript/specs/NativeAudioAPIModule.web.d.ts +2 -2
  289. package/lib/typescript/specs/NativeAudioAPIModule.web.d.ts.map +1 -1
  290. package/lib/typescript/system/AudioManager.d.ts +2 -2
  291. package/lib/typescript/system/AudioManager.d.ts.map +1 -1
  292. package/lib/typescript/system/types.d.ts +2 -1
  293. package/lib/typescript/system/types.d.ts.map +1 -1
  294. package/lib/typescript/types.d.ts +80 -11
  295. package/lib/typescript/types.d.ts.map +1 -1
  296. package/lib/typescript/web-core/AnalyserNode.d.ts +2 -2
  297. package/lib/typescript/web-core/AnalyserNode.d.ts.map +1 -1
  298. package/lib/typescript/web-core/AudioBuffer.d.ts +3 -0
  299. package/lib/typescript/web-core/AudioBuffer.d.ts.map +1 -1
  300. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +24 -15
  301. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts.map +1 -1
  302. package/lib/typescript/web-core/AudioContext.d.ts +5 -6
  303. package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
  304. package/lib/typescript/web-core/AudioNode.d.ts +2 -2
  305. package/lib/typescript/web-core/AudioNode.d.ts.map +1 -1
  306. package/lib/typescript/web-core/AudioScheduledSourceNode.d.ts +2 -0
  307. package/lib/typescript/web-core/AudioScheduledSourceNode.d.ts.map +1 -1
  308. package/lib/typescript/web-core/BaseAudioContext.d.ts +3 -3
  309. package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
  310. package/lib/typescript/web-core/BiquadFilterNode.d.ts +2 -2
  311. package/lib/typescript/web-core/BiquadFilterNode.d.ts.map +1 -1
  312. package/lib/typescript/web-core/ConstantSourceNode.d.ts +2 -1
  313. package/lib/typescript/web-core/ConstantSourceNode.d.ts.map +1 -1
  314. package/lib/typescript/web-core/ConvolverNode.d.ts +2 -1
  315. package/lib/typescript/web-core/ConvolverNode.d.ts.map +1 -1
  316. package/lib/typescript/web-core/DelayNode.d.ts +2 -1
  317. package/lib/typescript/web-core/DelayNode.d.ts.map +1 -1
  318. package/lib/typescript/web-core/GainNode.d.ts +2 -1
  319. package/lib/typescript/web-core/GainNode.d.ts.map +1 -1
  320. package/lib/typescript/web-core/IIRFilterNode.d.ts +3 -0
  321. package/lib/typescript/web-core/IIRFilterNode.d.ts.map +1 -1
  322. package/lib/typescript/web-core/OfflineAudioContext.d.ts +5 -6
  323. package/lib/typescript/web-core/OfflineAudioContext.d.ts.map +1 -1
  324. package/lib/typescript/web-core/OscillatorNode.d.ts +2 -2
  325. package/lib/typescript/web-core/OscillatorNode.d.ts.map +1 -1
  326. package/lib/typescript/web-core/PeriodicWave.d.ts +3 -1
  327. package/lib/typescript/web-core/PeriodicWave.d.ts.map +1 -1
  328. package/lib/typescript/web-core/StereoPannerNode.d.ts +2 -1
  329. package/lib/typescript/web-core/StereoPannerNode.d.ts.map +1 -1
  330. package/package.json +1 -1
  331. package/src/api.ts +3 -1
  332. package/src/api.web.ts +1 -2
  333. package/src/core/AnalyserNode.ts +16 -1
  334. package/src/core/AudioBuffer.ts +26 -6
  335. package/src/core/AudioBufferQueueSourceNode.ts +46 -0
  336. package/src/core/AudioBufferSourceNode.ts +12 -10
  337. package/src/core/AudioScheduledSourceNode.ts +4 -4
  338. package/src/core/BaseAudioContext.ts +48 -151
  339. package/src/core/BiquadFilterNode.ts +9 -2
  340. package/src/core/ConstantSourceNode.ts +9 -1
  341. package/src/core/ConvolverNode.ts +11 -3
  342. package/src/core/DelayNode.ts +5 -2
  343. package/src/core/GainNode.ts +10 -3
  344. package/src/core/IIRFilterNode.ts +12 -0
  345. package/src/core/OscillatorNode.ts +13 -13
  346. package/src/core/PeriodicWave.ts +36 -2
  347. package/src/core/RecorderAdapterNode.ts +5 -0
  348. package/src/core/StereoPannerNode.ts +9 -1
  349. package/src/core/StreamerNode.ts +29 -1
  350. package/src/core/WaveShaperNode.ts +17 -0
  351. package/src/core/WorkletNode.ts +30 -1
  352. package/src/core/WorkletProcessingNode.ts +39 -1
  353. package/src/core/WorkletSourceNode.ts +36 -1
  354. package/src/defaults.ts +100 -0
  355. package/src/events/types.ts +6 -4
  356. package/src/interfaces.ts +40 -24
  357. package/src/options-validators.ts +66 -0
  358. package/src/specs/NativeAudioAPIModule.ts +6 -1
  359. package/src/specs/NativeAudioAPIModule.web.ts +6 -2
  360. package/src/system/AudioManager.ts +8 -2
  361. package/src/system/types.ts +7 -1
  362. package/src/types.ts +96 -12
  363. package/src/web-core/AnalyserNode.tsx +15 -6
  364. package/src/web-core/AudioBuffer.tsx +20 -6
  365. package/src/web-core/AudioBufferSourceNode.tsx +393 -148
  366. package/src/web-core/AudioContext.tsx +22 -72
  367. package/src/web-core/AudioNode.tsx +6 -2
  368. package/src/web-core/AudioScheduledSourceNode.tsx +6 -1
  369. package/src/web-core/BaseAudioContext.tsx +3 -7
  370. package/src/web-core/BiquadFilterNode.tsx +6 -2
  371. package/src/web-core/ConstantSourceNode.tsx +3 -1
  372. package/src/web-core/ConvolverNode.tsx +8 -8
  373. package/src/web-core/DelayNode.tsx +5 -1
  374. package/src/web-core/GainNode.tsx +3 -1
  375. package/src/web-core/IIRFilterNode.tsx +15 -0
  376. package/src/web-core/OfflineAudioContext.tsx +19 -67
  377. package/src/web-core/OscillatorNode.tsx +3 -2
  378. package/src/web-core/PeriodicWave.tsx +11 -1
  379. package/src/web-core/StereoPannerNode.tsx +9 -1
@@ -13,10 +13,13 @@
13
13
  namespace audioapi {
14
14
 
15
15
  class AudioBus;
16
+ class OscillatorOptions;
16
17
 
17
18
  class OscillatorNode : public AudioScheduledSourceNode {
18
19
  public:
19
- explicit OscillatorNode(std::shared_ptr<BaseAudioContext> context);
20
+ explicit OscillatorNode(
21
+ std::shared_ptr<BaseAudioContext> context,
22
+ const OscillatorOptions &options);
20
23
 
21
24
  [[nodiscard]] std::shared_ptr<AudioParam> getFrequencyParam() const;
22
25
  [[nodiscard]] std::shared_ptr<AudioParam> getDetuneParam() const;
@@ -8,6 +8,7 @@
8
8
  * FFmpeg, you must comply with the terms of the LGPL for FFmpeg itself.
9
9
  */
10
10
 
11
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
11
12
  #include <audioapi/core/BaseAudioContext.h>
12
13
  #include <audioapi/core/sources/StreamerNode.h>
13
14
  #include <audioapi/core/utils/Locker.h>
@@ -22,7 +23,7 @@
22
23
 
23
24
  namespace audioapi {
24
25
  #if !RN_AUDIO_API_FFMPEG_DISABLED
25
- StreamerNode::StreamerNode(std::shared_ptr<BaseAudioContext> context)
26
+ StreamerNode::StreamerNode(std::shared_ptr<BaseAudioContext> context, const StreamerOptions &options)
26
27
  : AudioScheduledSourceNode(context),
27
28
  fmtCtx_(nullptr),
28
29
  codecCtx_(nullptr),
@@ -37,7 +38,7 @@ StreamerNode::StreamerNode(std::shared_ptr<BaseAudioContext> context)
37
38
  maxResampledSamples_(0),
38
39
  processedSamples_(0) {}
39
40
  #else
40
- StreamerNode::StreamerNode(std::shared_ptr<BaseAudioContext> context) : AudioScheduledSourceNode(context) {}
41
+ StreamerNode::StreamerNode(std::shared_ptr<BaseAudioContext> context, const StreamerOptions &options) : AudioScheduledSourceNode(context) {}
41
42
  #endif // RN_AUDIO_API_FFMPEG_DISABLED
42
43
 
43
44
  StreamerNode::~StreamerNode() {
@@ -48,6 +49,7 @@ StreamerNode::~StreamerNode() {
48
49
 
49
50
  bool StreamerNode::initialize(const std::string &input_url) {
50
51
  #if !RN_AUDIO_API_FFMPEG_DISABLED
52
+ streamPath_ = input_url;
51
53
  std::shared_ptr<BaseAudioContext> context = context_.lock();
52
54
  if (context == nullptr) {
53
55
  return false;
@@ -59,10 +59,11 @@ struct StreamingData {
59
59
  namespace audioapi {
60
60
 
61
61
  class AudioBus;
62
+ class StreamerOptions;
62
63
 
63
64
  class StreamerNode : public AudioScheduledSourceNode {
64
65
  public:
65
- explicit StreamerNode(std::shared_ptr<BaseAudioContext> context);
66
+ explicit StreamerNode(std::shared_ptr<BaseAudioContext> context, const StreamerOptions &options);
66
67
  ~StreamerNode() override;
67
68
 
68
69
  /**
@@ -70,6 +71,14 @@ class StreamerNode : public AudioScheduledSourceNode {
70
71
  */
71
72
  bool initialize(const std::string &inputUrl);
72
73
 
74
+ std::string getStreamPath() const {
75
+ #if !RN_AUDIO_API_TEST
76
+ return streamPath_;
77
+ #else
78
+ return "";
79
+ #endif // RN_AUDIO_API_TEST
80
+ }
81
+
73
82
  protected:
74
83
  std::shared_ptr<AudioBus> processNode(
75
84
  const std::shared_ptr<AudioBus> &processingBus,
@@ -103,6 +112,7 @@ class StreamerNode : public AudioScheduledSourceNode {
103
112
  STREAMER_NODE_SPSC_OVERFLOW_STRATEGY,
104
113
  STREAMER_NODE_SPSC_WAIT_STRATEGY>
105
114
  receiver_;
115
+ std::string streamPath_;
106
116
 
107
117
  /**
108
118
  * @brief Setting up the resampler
@@ -62,8 +62,14 @@ class AudioEventHandlerRegistry : public IAudioEventHandlerRegistry {
62
62
  "volumeChange",
63
63
  };
64
64
 
65
- static constexpr std::array<std::string_view, 6> AUDIO_API_EVENT_NAMES =
66
- {"ended", "loopEnded", "audioReady", "positionChanged", "audioError", "systemStateChanged"};
65
+ static constexpr std::array<std::string_view, 7> AUDIO_API_EVENT_NAMES = {
66
+ "ended",
67
+ "loopEnded",
68
+ "audioReady",
69
+ "positionChanged",
70
+ "bufferEnded",
71
+ "audioError",
72
+ "systemStateChanged"};
67
73
 
68
74
  jsi::Object createEventObject(const std::unordered_map<std::string, EventValue> &body);
69
75
  jsi::Object createEventObject(
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/OfflineAudioContext.h>
2
3
  #include <audioapi/core/sources/ConstantSourceNode.h>
3
4
  #include <audioapi/core/utils/worklets/SafeIncludes.h>
@@ -26,7 +27,7 @@ class ConstantSourceTest : public ::testing::Test {
26
27
  class TestableConstantSourceNode : public ConstantSourceNode {
27
28
  public:
28
29
  explicit TestableConstantSourceNode(std::shared_ptr<BaseAudioContext> context)
29
- : ConstantSourceNode(context) {}
30
+ : ConstantSourceNode(context, ConstantSourceOptions()) {}
30
31
 
31
32
  void setOffsetParam(float value) {
32
33
  getOffsetParam()->setValue(value);
@@ -40,7 +41,7 @@ class TestableConstantSourceNode : public ConstantSourceNode {
40
41
  };
41
42
 
42
43
  TEST_F(ConstantSourceTest, ConstantSourceCanBeCreated) {
43
- auto constantSource = context->createConstantSource();
44
+ auto constantSource = context->createConstantSource(ConstantSourceOptions());
44
45
  ASSERT_NE(constantSource, nullptr);
45
46
  }
46
47
 
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/OfflineAudioContext.h>
2
3
  #include <audioapi/core/effects/DelayNode.h>
3
4
  #include <audioapi/core/utils/worklets/SafeIncludes.h>
@@ -25,7 +26,7 @@ class DelayTest : public ::testing::Test {
25
26
 
26
27
  class TestableDelayNode : public DelayNode {
27
28
  public:
28
- explicit TestableDelayNode(std::shared_ptr<BaseAudioContext> context) : DelayNode(context, 1) {}
29
+ explicit TestableDelayNode(std::shared_ptr<BaseAudioContext> context, const DelayOptions& options) : DelayNode(context, options) {}
29
30
 
30
31
  void setDelayTimeParam(float value) {
31
32
  getDelayTimeParam()->setValue(value);
@@ -39,14 +40,16 @@ class TestableDelayNode : public DelayNode {
39
40
  };
40
41
 
41
42
  TEST_F(DelayTest, DelayCanBeCreated) {
42
- auto delay = context->createDelay(1.0f);
43
+ auto delay = context->createDelay(DelayOptions());
43
44
  ASSERT_NE(delay, nullptr);
44
45
  }
45
46
 
46
47
  TEST_F(DelayTest, DelayWithZeroDelayOutputsInputSignal) {
47
48
  static constexpr float DELAY_TIME = 0.0f;
48
49
  static constexpr int FRAMES_TO_PROCESS = 4;
49
- auto delayNode = TestableDelayNode(context);
50
+ auto options = DelayOptions();
51
+ options.maxDelayTime = 1.0f;
52
+ auto delayNode = TestableDelayNode(context, options);
50
53
  delayNode.setDelayTimeParam(DELAY_TIME);
51
54
 
52
55
  auto bus = std::make_shared<audioapi::AudioBus>(FRAMES_TO_PROCESS, 1, sampleRate);
@@ -63,7 +66,9 @@ TEST_F(DelayTest, DelayWithZeroDelayOutputsInputSignal) {
63
66
  TEST_F(DelayTest, DelayAppliesTimeShiftCorrectly) {
64
67
  float DELAY_TIME = (128.0 / context->getSampleRate()) * 0.5;
65
68
  static constexpr int FRAMES_TO_PROCESS = 128;
66
- auto delayNode = TestableDelayNode(context);
69
+ auto options = DelayOptions();
70
+ options.maxDelayTime = 1.0f;
71
+ auto delayNode = TestableDelayNode(context, options);
67
72
  delayNode.setDelayTimeParam(DELAY_TIME);
68
73
 
69
74
  auto bus = std::make_shared<audioapi::AudioBus>(FRAMES_TO_PROCESS, 1, sampleRate);
@@ -87,7 +92,9 @@ TEST_F(DelayTest, DelayAppliesTimeShiftCorrectly) {
87
92
  TEST_F(DelayTest, DelayHandlesTailCorrectly) {
88
93
  float DELAY_TIME = (128.0 / context->getSampleRate()) * 0.5;
89
94
  static constexpr int FRAMES_TO_PROCESS = 128;
90
- auto delayNode = TestableDelayNode(context);
95
+ auto options = DelayOptions();
96
+ options.maxDelayTime = 1.0f;
97
+ auto delayNode = TestableDelayNode(context, options);
91
98
  delayNode.setDelayTimeParam(DELAY_TIME);
92
99
 
93
100
  auto bus = std::make_shared<audioapi::AudioBus>(FRAMES_TO_PROCESS, 1, sampleRate);
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/OfflineAudioContext.h>
2
3
  #include <audioapi/core/effects/GainNode.h>
3
4
  #include <audioapi/core/utils/worklets/SafeIncludes.h>
@@ -25,7 +26,7 @@ class GainTest : public ::testing::Test {
25
26
 
26
27
  class TestableGainNode : public GainNode {
27
28
  public:
28
- explicit TestableGainNode(std::shared_ptr<BaseAudioContext> context) : GainNode(context) {}
29
+ explicit TestableGainNode(std::shared_ptr<BaseAudioContext> context) : GainNode(context, GainOptions()) {}
29
30
 
30
31
  void setGainParam(float value) {
31
32
  getGainParam()->setValue(value);
@@ -39,7 +40,7 @@ class TestableGainNode : public GainNode {
39
40
  };
40
41
 
41
42
  TEST_F(GainTest, GainCanBeCreated) {
42
- auto gain = context->createGain();
43
+ auto gain = context->createGain(GainOptions());
43
44
  ASSERT_NE(gain, nullptr);
44
45
  }
45
46
 
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/OfflineAudioContext.h>
2
3
  #include <audioapi/core/effects/IIRFilterNode.h>
3
4
  #include <audioapi/core/utils/worklets/SafeIncludes.h>
@@ -91,7 +92,7 @@ class IIRFilterTest : public ::testing::Test {
91
92
  TEST_F(IIRFilterTest, IIRFilterCanBeCreated) {
92
93
  const std::vector<float> feedforward = {1.0};
93
94
  const std::vector<float> feedback = {1.0};
94
- auto node = context->createIIRFilter(feedforward, feedback);
95
+ auto node = context->createIIRFilter(IIRFilterOptions(feedforward, feedback));
95
96
  ASSERT_NE(node, nullptr);
96
97
  }
97
98
 
@@ -99,7 +100,7 @@ TEST_F(IIRFilterTest, GetFrequencyResponse) {
99
100
  const std::vector<float> feedforward = {0.0050662636, 0.0101325272, 0.0050662636};
100
101
  const std::vector<float> feedback = {1.0632762845, -1.9797349456, 0.9367237155};
101
102
 
102
- auto node = IIRFilterNode(context, feedforward, feedback);
103
+ auto node = IIRFilterNode(context, IIRFilterOptions(feedforward, feedback));
103
104
 
104
105
  float frequency = 1000.0f;
105
106
  float normalizedFrequency = frequency / nyquistFrequency;
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/OfflineAudioContext.h>
2
3
  #include <audioapi/core/sources/OscillatorNode.h>
3
4
  #include <audioapi/core/utils/worklets/SafeIncludes.h>
@@ -21,6 +22,6 @@ class OscillatorTest : public ::testing::Test {
21
22
  };
22
23
 
23
24
  TEST_F(OscillatorTest, OscillatorCanBeCreated) {
24
- auto osc = context->createOscillator();
25
+ auto osc = context->createOscillator(OscillatorOptions());
25
26
  ASSERT_NE(osc, nullptr);
26
27
  }
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/OfflineAudioContext.h>
2
3
  #include <audioapi/core/effects/StereoPannerNode.h>
3
4
  #include <audioapi/core/utils/worklets/SafeIncludes.h>
@@ -26,7 +27,7 @@ class StereoPannerTest : public ::testing::Test {
26
27
  class TestableStereoPannerNode : public StereoPannerNode {
27
28
  public:
28
29
  explicit TestableStereoPannerNode(std::shared_ptr<BaseAudioContext> context)
29
- : StereoPannerNode(context) {}
30
+ : StereoPannerNode(context, StereoPannerOptions()) {}
30
31
 
31
32
  void setPanParam(float value) {
32
33
  getPanParam()->setValue(value);
@@ -40,7 +41,7 @@ class TestableStereoPannerNode : public StereoPannerNode {
40
41
  };
41
42
 
42
43
  TEST_F(StereoPannerTest, StereoPannerCanBeCreated) {
43
- auto panner = context->createStereoPanner();
44
+ auto panner = context->createStereoPanner(StereoPannerOptions());
44
45
  ASSERT_NE(panner, nullptr);
45
46
  }
46
47
 
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <test/src/biquad/BiquadFilterChromium.h>
2
3
  #include <test/src/biquad/BiquadFilterTest.h>
3
4
  #include <memory>
@@ -16,7 +17,7 @@ void BiquadFilterTest::expectCoefficientsNear(
16
17
  }
17
18
 
18
19
  void BiquadFilterTest::testLowpass(float frequency, float Q) {
19
- auto node = BiquadFilterNode(context);
20
+ auto node = BiquadFilterNode(context, BiquadFilterOptions());
20
21
  float normalizedFrequency = frequency / nyquistFrequency;
21
22
 
22
23
  node.setLowpassCoefficients(normalizedFrequency, Q);
@@ -24,7 +25,7 @@ void BiquadFilterTest::testLowpass(float frequency, float Q) {
24
25
  }
25
26
 
26
27
  void BiquadFilterTest::testHighpass(float frequency, float Q) {
27
- auto node = BiquadFilterNode(context);
28
+ auto node = BiquadFilterNode(context, BiquadFilterOptions());
28
29
  float normalizedFrequency = frequency / nyquistFrequency;
29
30
 
30
31
  node.setHighpassCoefficients(normalizedFrequency, Q);
@@ -32,7 +33,7 @@ void BiquadFilterTest::testHighpass(float frequency, float Q) {
32
33
  }
33
34
 
34
35
  void BiquadFilterTest::testBandpass(float frequency, float Q) {
35
- auto node = BiquadFilterNode(context);
36
+ auto node = BiquadFilterNode(context, BiquadFilterOptions());
36
37
  float normalizedFrequency = frequency / nyquistFrequency;
37
38
 
38
39
  node.setBandpassCoefficients(normalizedFrequency, Q);
@@ -40,7 +41,7 @@ void BiquadFilterTest::testBandpass(float frequency, float Q) {
40
41
  }
41
42
 
42
43
  void BiquadFilterTest::testNotch(float frequency, float Q) {
43
- auto node = BiquadFilterNode(context);
44
+ auto node = BiquadFilterNode(context, BiquadFilterOptions());
44
45
  float normalizedFrequency = frequency / nyquistFrequency;
45
46
 
46
47
  node.setNotchCoefficients(normalizedFrequency, Q);
@@ -48,7 +49,7 @@ void BiquadFilterTest::testNotch(float frequency, float Q) {
48
49
  }
49
50
 
50
51
  void BiquadFilterTest::testAllpass(float frequency, float Q) {
51
- auto node = BiquadFilterNode(context);
52
+ auto node = BiquadFilterNode(context, BiquadFilterOptions());
52
53
  float normalizedFrequency = frequency / nyquistFrequency;
53
54
 
54
55
  node.setAllpassCoefficients(normalizedFrequency, Q);
@@ -56,7 +57,7 @@ void BiquadFilterTest::testAllpass(float frequency, float Q) {
56
57
  }
57
58
 
58
59
  void BiquadFilterTest::testPeaking(float frequency, float Q, float gain) {
59
- auto node = BiquadFilterNode(context);
60
+ auto node = BiquadFilterNode(context, BiquadFilterOptions());
60
61
  float normalizedFrequency = frequency / nyquistFrequency;
61
62
 
62
63
  node.setPeakingCoefficients(normalizedFrequency, Q, gain);
@@ -64,7 +65,7 @@ void BiquadFilterTest::testPeaking(float frequency, float Q, float gain) {
64
65
  }
65
66
 
66
67
  void BiquadFilterTest::testLowshelf(float frequency, float gain) {
67
- auto node = BiquadFilterNode(context);
68
+ auto node = BiquadFilterNode(context, BiquadFilterOptions());
68
69
  float normalizedFrequency = frequency / nyquistFrequency;
69
70
 
70
71
  node.setLowshelfCoefficients(normalizedFrequency, gain);
@@ -72,7 +73,7 @@ void BiquadFilterTest::testLowshelf(float frequency, float gain) {
72
73
  }
73
74
 
74
75
  void BiquadFilterTest::testHighshelf(float frequency, float gain) {
75
- auto node = BiquadFilterNode(context);
76
+ auto node = BiquadFilterNode(context, BiquadFilterOptions());
76
77
  float normalizedFrequency = frequency / nyquistFrequency;
77
78
 
78
79
  node.setHighshelfCoefficients(normalizedFrequency, gain);
@@ -218,7 +219,7 @@ TEST_P(BiquadFilterGainTest, SetHighshelfCoefficients) {
218
219
  }
219
220
 
220
221
  TEST_F(BiquadFilterTest, GetFrequencyResponse) {
221
- auto node = BiquadFilterNode(context);
222
+ auto node = BiquadFilterNode(context, BiquadFilterOptions());
222
223
 
223
224
  float frequency = 1000.0f;
224
225
  float Q = 1.0f;
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/OfflineAudioContext.h>
2
3
  #include <audioapi/core/effects/WaveShaperNode.h>
3
4
  #include <audioapi/core/utils/worklets/SafeIncludes.h>
@@ -25,7 +26,7 @@ class WaveShaperNodeTest : public ::testing::Test {
25
26
  class TestableWaveShaperNode : public WaveShaperNode {
26
27
  public:
27
28
  explicit TestableWaveShaperNode(std::shared_ptr<BaseAudioContext> context)
28
- : WaveShaperNode(context) {
29
+ : WaveShaperNode(context, WaveShaperOptions()) {
29
30
  testCurve_ = std::make_shared<AudioArray>(3);
30
31
  auto data = testCurve_->getData();
31
32
  data[0] = -2.0f;
@@ -43,12 +44,12 @@ class TestableWaveShaperNode : public WaveShaperNode {
43
44
  };
44
45
 
45
46
  TEST_F(WaveShaperNodeTest, WaveShaperNodeCanBeCreated) {
46
- auto waveShaper = context->createWaveShaper();
47
+ auto waveShaper = context->createWaveShaper(WaveShaperOptions());
47
48
  ASSERT_NE(waveShaper, nullptr);
48
49
  }
49
50
 
50
51
  TEST_F(WaveShaperNodeTest, NullCanBeAsignedToCurve) {
51
- auto waveShaper = context->createWaveShaper();
52
+ auto waveShaper = context->createWaveShaper(WaveShaperOptions());
52
53
  ASSERT_NO_THROW(waveShaper->setCurve(nullptr));
53
54
  ASSERT_EQ(waveShaper->getCurve(), nullptr);
54
55
  }
@@ -9,7 +9,7 @@
9
9
  #import <React/RCTEventEmitter.h>
10
10
 
11
11
  @class AudioEngine;
12
- @class NotificationManager;
12
+ @class SystemNotificationManager;
13
13
  @class AudioSessionManager;
14
14
  @class NotificationRegistry;
15
15
 
@@ -21,7 +21,7 @@
21
21
  #endif // RCT_NEW_ARCH_ENABLED
22
22
 
23
23
  @property (nonatomic, strong) AudioEngine *audioEngine;
24
- @property (nonatomic, strong) NotificationManager *notificationManager;
24
+ @property (nonatomic, strong) SystemNotificationManager *notificationManager;
25
25
  @property (nonatomic, strong) AudioSessionManager *audioSessionManager;
26
26
  @property (nonatomic, strong) NotificationRegistry *notificationRegistry;
27
27
 
@@ -11,7 +11,7 @@
11
11
  #import <audioapi/AudioAPIModuleInstaller.h>
12
12
  #import <audioapi/ios/system/AudioEngine.h>
13
13
  #import <audioapi/ios/system/AudioSessionManager.h>
14
- #import <audioapi/ios/system/NotificationManager.h>
14
+ #import <audioapi/ios/system/SystemNotificationManager.h>
15
15
  #import <audioapi/ios/system/notification/NotificationRegistry.h>
16
16
 
17
17
  #import <audioapi/events/AudioEventHandlerRegistry.h>
@@ -66,7 +66,7 @@ RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install)
66
66
  {
67
67
  self.audioSessionManager = [[AudioSessionManager alloc] init];
68
68
  self.audioEngine = [[AudioEngine alloc] init];
69
- self.notificationManager = [[NotificationManager alloc] initWithAudioAPIModule:self];
69
+ self.notificationManager = [[SystemNotificationManager alloc] initWithAudioAPIModule:self];
70
70
  self.notificationRegistry = [[NotificationRegistry alloc] initWithAudioAPIModule:self];
71
71
 
72
72
  auto jsiRuntime = reinterpret_cast<facebook::jsi::Runtime *>(self.bridge.runtime);
@@ -163,7 +163,7 @@ RCT_EXPORT_METHOD(
163
163
  allowHaptics:allowHaptics];
164
164
  }
165
165
 
166
- RCT_EXPORT_METHOD(observeAudioInterruptions : (BOOL)enabled)
166
+ RCT_EXPORT_METHOD(observeAudioInterruptions : (NSString *)focusType enabled : (BOOL)enabled)
167
167
  {
168
168
  [self.notificationManager observeAudioInterruptions:enabled];
169
169
  }
@@ -270,8 +270,10 @@ static AudioEngine *_sharedInstance = nil;
270
270
  [self.audioEngine stop];
271
271
  }
272
272
 
273
- self.audioEngine = [[AVAudioEngine alloc] init];
274
273
  [self rebuildAudioEngine];
274
+ if (self.state == AudioEngineState::AudioEngineStateRunning) {
275
+ [self startEngine];
276
+ }
275
277
  }
276
278
 
277
279
  - (void)logAudioEngineState
@@ -28,6 +28,7 @@
28
28
  options:(NSArray *)options
29
29
  allowHaptics:(BOOL)allowHaptics;
30
30
 
31
+ - (bool)configureAudioSession;
31
32
  - (bool)setActive:(bool)active error:(NSError **)error;
32
33
  - (void)markInactive;
33
34
  - (void)disableSessionManagement;
@@ -5,7 +5,7 @@
5
5
 
6
6
  @class AudioAPIModule;
7
7
 
8
- @interface NotificationManager : NSObject
8
+ @interface SystemNotificationManager : NSObject
9
9
 
10
10
  @property (nonatomic, weak) AudioAPIModule *audioAPIModule;
11
11
  @property (nonatomic, weak) NSNotificationCenter *notificationCenter;
@@ -1,11 +1,11 @@
1
1
  #import <audioapi/ios/AudioAPIModule.h>
2
2
  #import <audioapi/ios/system/AudioEngine.h>
3
3
  #import <audioapi/ios/system/AudioSessionManager.h>
4
- #import <audioapi/ios/system/NotificationManager.h>
4
+ #import <audioapi/ios/system/SystemNotificationManager.h>
5
5
 
6
- @implementation NotificationManager
6
+ @implementation SystemNotificationManager
7
7
 
8
- static NSString *NotificationManagerContext = @"NotificationManagerContext";
8
+ static NSString *NotificationManagerContext = @"SystemNotificationManagerContext";
9
9
 
10
10
  - (instancetype)initWithAudioAPIModule:(AudioAPIModule *)audioAPIModule
11
11
  {
@@ -216,8 +216,13 @@ static NSString *NotificationManagerContext = @"NotificationManagerContext";
216
216
  NSLog(
217
217
  @"[NotificationManager] Media services have been reset, tearing down and rebuilding everything.");
218
218
  AudioEngine *audioEngine = self.audioAPIModule.audioEngine;
219
+ AudioSessionManager *sessionManager = self.audioAPIModule.audioSessionManager;
219
220
 
220
- dispatch_async(dispatch_get_main_queue(), ^{ [audioEngine restartAudioEngine]; });
221
+ dispatch_async(dispatch_get_main_queue(), ^{
222
+ [sessionManager markInactive];
223
+ [sessionManager setActive:YES error:nil];
224
+ [audioEngine restartAudioEngine];
225
+ });
221
226
  }
222
227
 
223
228
  - (void)handleEngineConfigurationChange:(NSNotification *)notification
@@ -33,14 +33,15 @@ var _exportNames = {
33
33
  WorkletProcessingNode: true,
34
34
  WorkletSourceNode: true,
35
35
  useSystemVolume: true,
36
- AudioManager: true,
36
+ PeriodicWave: true,
37
37
  FilePreset: true,
38
38
  PlaybackNotificationManager: true,
39
39
  RecordingNotificationManager: true,
40
40
  NotificationManager: true,
41
41
  PlaybackControlName: true,
42
42
  PlaybackNotificationEventName: true,
43
- PlaybackNotificationInfo: true
43
+ PlaybackNotificationInfo: true,
44
+ AudioManager: true
44
45
  };
45
46
  Object.defineProperty(exports, "AnalyserNode", {
46
47
  enumerable: true,
@@ -168,6 +169,12 @@ Object.defineProperty(exports, "OscillatorNode", {
168
169
  return _OscillatorNode.default;
169
170
  }
170
171
  });
172
+ Object.defineProperty(exports, "PeriodicWave", {
173
+ enumerable: true,
174
+ get: function () {
175
+ return _PeriodicWave.default;
176
+ }
177
+ });
171
178
  Object.defineProperty(exports, "PlaybackControlName", {
172
179
  enumerable: true,
173
180
  get: function () {
@@ -293,7 +300,7 @@ var _WorkletNode = _interopRequireDefault(require("./core/WorkletNode"));
293
300
  var _WorkletProcessingNode = _interopRequireDefault(require("./core/WorkletProcessingNode"));
294
301
  var _WorkletSourceNode = _interopRequireDefault(require("./core/WorkletSourceNode"));
295
302
  var _useSystemVolume = _interopRequireDefault(require("./hooks/useSystemVolume"));
296
- var _system = _interopRequireDefault(require("./system"));
303
+ var _PeriodicWave = _interopRequireDefault(require("./core/PeriodicWave"));
297
304
  var _errors = require("./errors");
298
305
  Object.keys(_errors).forEach(function (key) {
299
306
  if (key === "default" || key === "__esModule") return;
@@ -332,5 +339,6 @@ Object.keys(_types2).forEach(function (key) {
332
339
  });
333
340
  var _filePresets = _interopRequireDefault(require("./utils/filePresets"));
334
341
  var _notification = require("./system/notification");
342
+ var _system = _interopRequireDefault(require("./system"));
335
343
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
336
344
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["require","_AnalyserNode","_interopRequireDefault","_AudioBuffer","_AudioBufferQueueSourceNode","_AudioBufferSourceNode","_AudioContext","_AudioDecoder","_AudioDestinationNode","_AudioNode","_AudioParam","_AudioRecorder","_AudioScheduledSourceNode","_AudioStretcher","_BaseAudioContext","_BiquadFilterNode","_ConstantSourceNode","_ConvolverNode","_DelayNode","_GainNode","_OfflineAudioContext","_OscillatorNode","_RecorderAdapterNode","_StereoPannerNode","_StreamerNode","_WaveShaperNode","_WorkletNode","_WorkletProcessingNode","_WorkletSourceNode","_useSystemVolume","_system","_errors","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","_types2","_filePresets","_notification","e","__esModule","default"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["require","_AnalyserNode","_interopRequireDefault","_AudioBuffer","_AudioBufferQueueSourceNode","_AudioBufferSourceNode","_AudioContext","_AudioDecoder","_AudioDestinationNode","_AudioNode","_AudioParam","_AudioRecorder","_AudioScheduledSourceNode","_AudioStretcher","_BaseAudioContext","_BiquadFilterNode","_ConstantSourceNode","_ConvolverNode","_DelayNode","_GainNode","_OfflineAudioContext","_OscillatorNode","_RecorderAdapterNode","_StereoPannerNode","_StreamerNode","_WaveShaperNode","_WorkletNode","_WorkletProcessingNode","_WorkletSourceNode","_useSystemVolume","_PeriodicWave","_errors","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","_types2","_filePresets","_notification","_system","e","__esModule","default"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":"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","ignoreList":[]}
@@ -21,14 +21,13 @@ var _exportNames = {
21
21
  StereoPannerNode: true,
22
22
  ConstantSourceNode: true,
23
23
  ConvolverNode: true,
24
+ PeriodicWave: true,
24
25
  WaveShaperNode: true,
25
26
  OscillatorType: true,
26
- BiquadFilterType: true,
27
27
  ChannelCountMode: true,
28
28
  ChannelInterpretation: true,
29
29
  ContextState: true,
30
30
  WindowType: true,
31
- PeriodicWaveConstraints: true,
32
31
  IOSCategory: true,
33
32
  IOSMode: true,
34
33
  IOSOption: true,
@@ -109,12 +108,6 @@ Object.defineProperty(exports, "BiquadFilterNode", {
109
108
  return _BiquadFilterNode.default;
110
109
  }
111
110
  });
112
- Object.defineProperty(exports, "BiquadFilterType", {
113
- enumerable: true,
114
- get: function () {
115
- return _types.BiquadFilterType;
116
- }
117
- });
118
111
  Object.defineProperty(exports, "ChannelCountMode", {
119
112
  enumerable: true,
120
113
  get: function () {
@@ -217,10 +210,10 @@ Object.defineProperty(exports, "OscillatorType", {
217
210
  return _types.OscillatorType;
218
211
  }
219
212
  });
220
- Object.defineProperty(exports, "PeriodicWaveConstraints", {
213
+ Object.defineProperty(exports, "PeriodicWave", {
221
214
  enumerable: true,
222
215
  get: function () {
223
- return _types.PeriodicWaveConstraints;
216
+ return _PeriodicWave.default;
224
217
  }
225
218
  });
226
219
  Object.defineProperty(exports, "PermissionStatus", {
@@ -288,6 +281,7 @@ var _OscillatorNode = _interopRequireDefault(require("./web-core/OscillatorNode"
288
281
  var _StereoPannerNode = _interopRequireDefault(require("./web-core/StereoPannerNode"));
289
282
  var _ConstantSourceNode = _interopRequireDefault(require("./web-core/ConstantSourceNode"));
290
283
  var _ConvolverNode = _interopRequireDefault(require("./web-core/ConvolverNode"));
284
+ var _PeriodicWave = _interopRequireDefault(require("./web-core/PeriodicWave"));
291
285
  var _WaveShaperNode = _interopRequireDefault(require("./web-core/WaveShaperNode"));
292
286
  var _custom = require("./web-core/custom");
293
287
  Object.keys(_custom).forEach(function (key) {
@@ -1 +1 @@
1
- {"version":3,"names":["_AudioBuffer","_interopRequireDefault","require","_AudioBufferSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_DelayNode","_GainNode","_OscillatorNode","_StereoPannerNode","_ConstantSourceNode","_ConvolverNode","_WaveShaperNode","_custom","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","_types2","_webSystem","_types3","_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,UAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,SAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,eAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,iBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,mBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,cAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,eAAA,GAAAlB,sBAAA,CAAAC,OAAA;AAEA,IAAAkB,OAAA,GAAAlB,OAAA;AAAAmB,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,GAAA/B,OAAA;AAUA,IAAAgC,OAAA,GAAAhC,OAAA;AAQA,IAAAiC,UAAA,GAAAjC,OAAA;AAMA,IAAAkC,OAAA,GAAAlC,OAAA;AAAAmB,MAAA,CAAAC,IAAA,CAAAc,OAAA,EAAAb,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,MAAAY,OAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,OAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAa,OAAA,GAAAnC,OAAA;AAMkB,SAAAD,uBAAAqC,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","_DelayNode","_GainNode","_OscillatorNode","_StereoPannerNode","_ConstantSourceNode","_ConvolverNode","_PeriodicWave","_WaveShaperNode","_custom","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","_types2","_webSystem","_types3","_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,UAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,SAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,eAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,iBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,mBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,cAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,aAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,eAAA,GAAAnB,sBAAA,CAAAC,OAAA;AAEA,IAAAmB,OAAA,GAAAnB,OAAA;AAAAoB,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,GAAAhC,OAAA;AAQA,IAAAiC,OAAA,GAAAjC,OAAA;AAQA,IAAAkC,UAAA,GAAAlC,OAAA;AAMA,IAAAmC,OAAA,GAAAnC,OAAA;AAAAoB,MAAA,CAAAC,IAAA,CAAAc,OAAA,EAAAb,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,MAAAY,OAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,OAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAa,OAAA,GAAApC,OAAA;AAMkB,SAAAD,uBAAAsC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -4,11 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _defaults = require("../defaults");
7
8
  var _errors = require("../errors");
8
9
  var _AudioNode = _interopRequireDefault(require("./AudioNode"));
10
+ var _optionsValidators = require("../options-validators");
9
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
12
  class AnalyserNode extends _AudioNode.default {
11
13
  static allowedFFTSize = [32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768];
14
+ constructor(context, options) {
15
+ const finalOptions = {
16
+ ..._defaults.AnalyserOptions,
17
+ ...options
18
+ };
19
+ _optionsValidators.AnalyserOptionsValidator.validate(finalOptions);
20
+ const analyserNode = context.context.createAnalyser(finalOptions);
21
+ super(context, analyserNode);
22
+ }
12
23
  get fftSize() {
13
24
  return this.node.fftSize;
14
25
  }