react-native-audio-api 0.12.0-nightly-0d1a19d-20260120 → 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 (332) hide show
  1. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.cpp +52 -49
  2. package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.cpp +6 -0
  3. package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.h +1 -0
  4. package/common/cpp/audioapi/HostObjects/utils/NodeOptions.h +111 -0
  5. package/common/cpp/audioapi/HostObjects/utils/NodeOptionsParser.h +262 -0
  6. package/common/cpp/audioapi/core/AudioNode.cpp +13 -6
  7. package/common/cpp/audioapi/core/AudioNode.h +2 -0
  8. package/common/cpp/audioapi/core/BaseAudioContext.cpp +42 -44
  9. package/common/cpp/audioapi/core/BaseAudioContext.h +32 -21
  10. package/common/cpp/audioapi/core/analysis/AnalyserNode.cpp +8 -6
  11. package/common/cpp/audioapi/core/analysis/AnalyserNode.h +2 -1
  12. package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +7 -8
  13. package/common/cpp/audioapi/core/effects/BiquadFilterNode.h +4 -1
  14. package/common/cpp/audioapi/core/effects/ConvolverNode.cpp +5 -9
  15. package/common/cpp/audioapi/core/effects/ConvolverNode.h +2 -2
  16. package/common/cpp/audioapi/core/effects/DelayNode.cpp +5 -4
  17. package/common/cpp/audioapi/core/effects/DelayNode.h +2 -1
  18. package/common/cpp/audioapi/core/effects/GainNode.cpp +4 -3
  19. package/common/cpp/audioapi/core/effects/GainNode.h +2 -1
  20. package/common/cpp/audioapi/core/effects/IIRFilterNode.cpp +6 -6
  21. package/common/cpp/audioapi/core/effects/IIRFilterNode.h +3 -2
  22. package/common/cpp/audioapi/core/effects/StereoPannerNode.cpp +3 -3
  23. package/common/cpp/audioapi/core/effects/StereoPannerNode.h +4 -1
  24. package/common/cpp/audioapi/core/effects/WaveShaperNode.cpp +4 -3
  25. package/common/cpp/audioapi/core/effects/WaveShaperNode.h +4 -1
  26. package/common/cpp/audioapi/core/sources/AudioBuffer.cpp +3 -2
  27. package/common/cpp/audioapi/core/sources/AudioBuffer.h +2 -1
  28. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.cpp +16 -22
  29. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.h +2 -1
  30. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.cpp +9 -6
  31. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.h +2 -1
  32. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +9 -7
  33. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +4 -1
  34. package/common/cpp/audioapi/core/sources/ConstantSourceNode.cpp +5 -8
  35. package/common/cpp/audioapi/core/sources/ConstantSourceNode.h +4 -1
  36. package/common/cpp/audioapi/core/sources/OscillatorNode.cpp +21 -16
  37. package/common/cpp/audioapi/core/sources/OscillatorNode.h +4 -1
  38. package/common/cpp/audioapi/core/sources/StreamerNode.cpp +4 -2
  39. package/common/cpp/audioapi/core/sources/StreamerNode.h +11 -1
  40. package/common/cpp/test/src/ConstantSourceTest.cpp +3 -2
  41. package/common/cpp/test/src/DelayTest.cpp +12 -5
  42. package/common/cpp/test/src/GainTest.cpp +3 -2
  43. package/common/cpp/test/src/IIRFilterTest.cpp +3 -2
  44. package/common/cpp/test/src/OscillatorTest.cpp +2 -1
  45. package/common/cpp/test/src/StereoPannerTest.cpp +3 -2
  46. package/common/cpp/test/src/biquad/BiquadFilterTest.cpp +10 -9
  47. package/common/cpp/test/src/core/effects/WaveShaperNodeTest.cpp +4 -3
  48. package/lib/commonjs/api.js +11 -3
  49. package/lib/commonjs/api.js.map +1 -1
  50. package/lib/commonjs/api.web.js +4 -10
  51. package/lib/commonjs/api.web.js.map +1 -1
  52. package/lib/commonjs/core/AnalyserNode.js +11 -0
  53. package/lib/commonjs/core/AnalyserNode.js.map +1 -1
  54. package/lib/commonjs/core/AudioBuffer.js +20 -6
  55. package/lib/commonjs/core/AudioBuffer.js.map +1 -1
  56. package/lib/commonjs/core/AudioBufferQueueSourceNode.js +9 -0
  57. package/lib/commonjs/core/AudioBufferQueueSourceNode.js.map +1 -1
  58. package/lib/commonjs/core/AudioBufferSourceNode.js +9 -0
  59. package/lib/commonjs/core/AudioBufferSourceNode.js.map +1 -1
  60. package/lib/commonjs/core/BaseAudioContext.js +52 -65
  61. package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
  62. package/lib/commonjs/core/BiquadFilterNode.js +7 -1
  63. package/lib/commonjs/core/BiquadFilterNode.js.map +1 -1
  64. package/lib/commonjs/core/ConstantSourceNode.js +7 -1
  65. package/lib/commonjs/core/ConstantSourceNode.js.map +1 -1
  66. package/lib/commonjs/core/ConvolverNode.js +9 -3
  67. package/lib/commonjs/core/ConvolverNode.js.map +1 -1
  68. package/lib/commonjs/core/DelayNode.js +7 -1
  69. package/lib/commonjs/core/DelayNode.js.map +1 -1
  70. package/lib/commonjs/core/GainNode.js +9 -3
  71. package/lib/commonjs/core/GainNode.js.map +1 -1
  72. package/lib/commonjs/core/IIRFilterNode.js +9 -0
  73. package/lib/commonjs/core/IIRFilterNode.js.map +1 -1
  74. package/lib/commonjs/core/OscillatorNode.js +10 -1
  75. package/lib/commonjs/core/OscillatorNode.js.map +1 -1
  76. package/lib/commonjs/core/PeriodicWave.js +30 -2
  77. package/lib/commonjs/core/PeriodicWave.js.map +1 -1
  78. package/lib/commonjs/core/RecorderAdapterNode.js +3 -0
  79. package/lib/commonjs/core/RecorderAdapterNode.js.map +1 -1
  80. package/lib/commonjs/core/StereoPannerNode.js +7 -1
  81. package/lib/commonjs/core/StereoPannerNode.js.map +1 -1
  82. package/lib/commonjs/core/StreamerNode.js +25 -1
  83. package/lib/commonjs/core/StreamerNode.js.map +1 -1
  84. package/lib/commonjs/core/WaveShaperNode.js +12 -0
  85. package/lib/commonjs/core/WaveShaperNode.js.map +1 -1
  86. package/lib/commonjs/core/WorkletNode.js +13 -1
  87. package/lib/commonjs/core/WorkletNode.js.map +1 -1
  88. package/lib/commonjs/core/WorkletProcessingNode.js +14 -1
  89. package/lib/commonjs/core/WorkletProcessingNode.js.map +1 -1
  90. package/lib/commonjs/core/WorkletSourceNode.js +13 -1
  91. package/lib/commonjs/core/WorkletSourceNode.js.map +1 -1
  92. package/lib/commonjs/defaults.js +78 -0
  93. package/lib/commonjs/defaults.js.map +1 -0
  94. package/lib/commonjs/options-validators.js +40 -0
  95. package/lib/commonjs/options-validators.js.map +1 -0
  96. package/lib/commonjs/types.js.map +1 -1
  97. package/lib/commonjs/web-core/AnalyserNode.js +2 -1
  98. package/lib/commonjs/web-core/AnalyserNode.js.map +1 -1
  99. package/lib/commonjs/web-core/AudioBuffer.js +14 -6
  100. package/lib/commonjs/web-core/AudioBuffer.js.map +1 -1
  101. package/lib/commonjs/web-core/AudioBufferSourceNode.js +276 -89
  102. package/lib/commonjs/web-core/AudioBufferSourceNode.js.map +1 -1
  103. package/lib/commonjs/web-core/AudioContext.js +33 -32
  104. package/lib/commonjs/web-core/AudioContext.js.map +1 -1
  105. package/lib/commonjs/web-core/AudioNode.js +4 -0
  106. package/lib/commonjs/web-core/AudioNode.js.map +1 -1
  107. package/lib/commonjs/web-core/BiquadFilterNode.js +2 -1
  108. package/lib/commonjs/web-core/BiquadFilterNode.js.map +1 -1
  109. package/lib/commonjs/web-core/ConstantSourceNode.js +2 -1
  110. package/lib/commonjs/web-core/ConstantSourceNode.js.map +1 -1
  111. package/lib/commonjs/web-core/ConvolverNode.js +3 -5
  112. package/lib/commonjs/web-core/ConvolverNode.js.map +1 -1
  113. package/lib/commonjs/web-core/DelayNode.js +7 -1
  114. package/lib/commonjs/web-core/DelayNode.js.map +1 -1
  115. package/lib/commonjs/web-core/GainNode.js +2 -1
  116. package/lib/commonjs/web-core/GainNode.js.map +1 -1
  117. package/lib/commonjs/web-core/IIRFilterNode.js +12 -0
  118. package/lib/commonjs/web-core/IIRFilterNode.js.map +1 -1
  119. package/lib/commonjs/web-core/OfflineAudioContext.js +33 -32
  120. package/lib/commonjs/web-core/OfflineAudioContext.js.map +1 -1
  121. package/lib/commonjs/web-core/OscillatorNode.js +2 -1
  122. package/lib/commonjs/web-core/OscillatorNode.js.map +1 -1
  123. package/lib/commonjs/web-core/PeriodicWave.js +6 -1
  124. package/lib/commonjs/web-core/PeriodicWave.js.map +1 -1
  125. package/lib/commonjs/web-core/StereoPannerNode.js +2 -1
  126. package/lib/commonjs/web-core/StereoPannerNode.js.map +1 -1
  127. package/lib/module/api.js +2 -1
  128. package/lib/module/api.js.map +1 -1
  129. package/lib/module/api.web.js +2 -1
  130. package/lib/module/api.web.js.map +1 -1
  131. package/lib/module/core/AnalyserNode.js +11 -0
  132. package/lib/module/core/AnalyserNode.js.map +1 -1
  133. package/lib/module/core/AudioBuffer.js +19 -6
  134. package/lib/module/core/AudioBuffer.js.map +1 -1
  135. package/lib/module/core/AudioBufferQueueSourceNode.js +9 -0
  136. package/lib/module/core/AudioBufferQueueSourceNode.js.map +1 -1
  137. package/lib/module/core/AudioBufferSourceNode.js +9 -0
  138. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  139. package/lib/module/core/BaseAudioContext.js +52 -65
  140. package/lib/module/core/BaseAudioContext.js.map +1 -1
  141. package/lib/module/core/BiquadFilterNode.js +7 -1
  142. package/lib/module/core/BiquadFilterNode.js.map +1 -1
  143. package/lib/module/core/ConstantSourceNode.js +7 -1
  144. package/lib/module/core/ConstantSourceNode.js.map +1 -1
  145. package/lib/module/core/ConvolverNode.js +9 -3
  146. package/lib/module/core/ConvolverNode.js.map +1 -1
  147. package/lib/module/core/DelayNode.js +7 -1
  148. package/lib/module/core/DelayNode.js.map +1 -1
  149. package/lib/module/core/GainNode.js +9 -3
  150. package/lib/module/core/GainNode.js.map +1 -1
  151. package/lib/module/core/IIRFilterNode.js +9 -0
  152. package/lib/module/core/IIRFilterNode.js.map +1 -1
  153. package/lib/module/core/OscillatorNode.js +10 -1
  154. package/lib/module/core/OscillatorNode.js.map +1 -1
  155. package/lib/module/core/PeriodicWave.js +29 -2
  156. package/lib/module/core/PeriodicWave.js.map +1 -1
  157. package/lib/module/core/RecorderAdapterNode.js +3 -0
  158. package/lib/module/core/RecorderAdapterNode.js.map +1 -1
  159. package/lib/module/core/StereoPannerNode.js +7 -1
  160. package/lib/module/core/StereoPannerNode.js.map +1 -1
  161. package/lib/module/core/StreamerNode.js +25 -1
  162. package/lib/module/core/StreamerNode.js.map +1 -1
  163. package/lib/module/core/WaveShaperNode.js +12 -0
  164. package/lib/module/core/WaveShaperNode.js.map +1 -1
  165. package/lib/module/core/WorkletNode.js +13 -1
  166. package/lib/module/core/WorkletNode.js.map +1 -1
  167. package/lib/module/core/WorkletProcessingNode.js +14 -1
  168. package/lib/module/core/WorkletProcessingNode.js.map +1 -1
  169. package/lib/module/core/WorkletSourceNode.js +13 -1
  170. package/lib/module/core/WorkletSourceNode.js.map +1 -1
  171. package/lib/module/defaults.js +74 -0
  172. package/lib/module/defaults.js.map +1 -0
  173. package/lib/module/options-validators.js +36 -0
  174. package/lib/module/options-validators.js.map +1 -0
  175. package/lib/module/types.js.map +1 -1
  176. package/lib/module/web-core/AnalyserNode.js +2 -1
  177. package/lib/module/web-core/AnalyserNode.js.map +1 -1
  178. package/lib/module/web-core/AudioBuffer.js +13 -6
  179. package/lib/module/web-core/AudioBuffer.js.map +1 -1
  180. package/lib/module/web-core/AudioBufferSourceNode.js +277 -90
  181. package/lib/module/web-core/AudioBufferSourceNode.js.map +1 -1
  182. package/lib/module/web-core/AudioContext.js +33 -32
  183. package/lib/module/web-core/AudioContext.js.map +1 -1
  184. package/lib/module/web-core/AudioNode.js +4 -0
  185. package/lib/module/web-core/AudioNode.js.map +1 -1
  186. package/lib/module/web-core/BiquadFilterNode.js +2 -1
  187. package/lib/module/web-core/BiquadFilterNode.js.map +1 -1
  188. package/lib/module/web-core/ConstantSourceNode.js +2 -1
  189. package/lib/module/web-core/ConstantSourceNode.js.map +1 -1
  190. package/lib/module/web-core/ConvolverNode.js +3 -5
  191. package/lib/module/web-core/ConvolverNode.js.map +1 -1
  192. package/lib/module/web-core/DelayNode.js +7 -1
  193. package/lib/module/web-core/DelayNode.js.map +1 -1
  194. package/lib/module/web-core/GainNode.js +2 -1
  195. package/lib/module/web-core/GainNode.js.map +1 -1
  196. package/lib/module/web-core/IIRFilterNode.js +12 -0
  197. package/lib/module/web-core/IIRFilterNode.js.map +1 -1
  198. package/lib/module/web-core/OfflineAudioContext.js +33 -32
  199. package/lib/module/web-core/OfflineAudioContext.js.map +1 -1
  200. package/lib/module/web-core/OscillatorNode.js +2 -1
  201. package/lib/module/web-core/OscillatorNode.js.map +1 -1
  202. package/lib/module/web-core/PeriodicWave.js +6 -1
  203. package/lib/module/web-core/PeriodicWave.js.map +1 -1
  204. package/lib/module/web-core/StereoPannerNode.js +2 -1
  205. package/lib/module/web-core/StereoPannerNode.js.map +1 -1
  206. package/lib/typescript/api.d.ts +2 -1
  207. package/lib/typescript/api.d.ts.map +1 -1
  208. package/lib/typescript/api.web.d.ts +2 -1
  209. package/lib/typescript/api.web.d.ts.map +1 -1
  210. package/lib/typescript/core/AnalyserNode.d.ts +3 -1
  211. package/lib/typescript/core/AnalyserNode.d.ts.map +1 -1
  212. package/lib/typescript/core/AudioBuffer.d.ts +3 -0
  213. package/lib/typescript/core/AudioBuffer.d.ts.map +1 -1
  214. package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts +3 -0
  215. package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts.map +1 -1
  216. package/lib/typescript/core/AudioBufferSourceNode.d.ts +3 -0
  217. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  218. package/lib/typescript/core/BaseAudioContext.d.ts +10 -6
  219. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  220. package/lib/typescript/core/BiquadFilterNode.d.ts +2 -3
  221. package/lib/typescript/core/BiquadFilterNode.d.ts.map +1 -1
  222. package/lib/typescript/core/ConstantSourceNode.d.ts +2 -2
  223. package/lib/typescript/core/ConstantSourceNode.d.ts.map +1 -1
  224. package/lib/typescript/core/ConvolverNode.d.ts +2 -2
  225. package/lib/typescript/core/ConvolverNode.d.ts.map +1 -1
  226. package/lib/typescript/core/DelayNode.d.ts +2 -2
  227. package/lib/typescript/core/DelayNode.d.ts.map +1 -1
  228. package/lib/typescript/core/GainNode.d.ts +2 -2
  229. package/lib/typescript/core/GainNode.d.ts.map +1 -1
  230. package/lib/typescript/core/IIRFilterNode.d.ts +3 -0
  231. package/lib/typescript/core/IIRFilterNode.d.ts.map +1 -1
  232. package/lib/typescript/core/OscillatorNode.d.ts +2 -3
  233. package/lib/typescript/core/OscillatorNode.d.ts.map +1 -1
  234. package/lib/typescript/core/PeriodicWave.d.ts +4 -1
  235. package/lib/typescript/core/PeriodicWave.d.ts.map +1 -1
  236. package/lib/typescript/core/RecorderAdapterNode.d.ts +2 -0
  237. package/lib/typescript/core/RecorderAdapterNode.d.ts.map +1 -1
  238. package/lib/typescript/core/StereoPannerNode.d.ts +2 -2
  239. package/lib/typescript/core/StereoPannerNode.d.ts.map +1 -1
  240. package/lib/typescript/core/StreamerNode.d.ts +5 -0
  241. package/lib/typescript/core/StreamerNode.d.ts.map +1 -1
  242. package/lib/typescript/core/WaveShaperNode.d.ts +3 -0
  243. package/lib/typescript/core/WaveShaperNode.d.ts.map +1 -1
  244. package/lib/typescript/core/WorkletNode.d.ts +3 -0
  245. package/lib/typescript/core/WorkletNode.d.ts.map +1 -1
  246. package/lib/typescript/core/WorkletProcessingNode.d.ts +3 -0
  247. package/lib/typescript/core/WorkletProcessingNode.d.ts.map +1 -1
  248. package/lib/typescript/core/WorkletSourceNode.d.ts +3 -0
  249. package/lib/typescript/core/WorkletSourceNode.d.ts.map +1 -1
  250. package/lib/typescript/defaults.d.ts +16 -0
  251. package/lib/typescript/defaults.d.ts.map +1 -0
  252. package/lib/typescript/interfaces.d.ts +16 -15
  253. package/lib/typescript/interfaces.d.ts.map +1 -1
  254. package/lib/typescript/options-validators.d.ts +6 -0
  255. package/lib/typescript/options-validators.d.ts.map +1 -0
  256. package/lib/typescript/types.d.ts +80 -11
  257. package/lib/typescript/types.d.ts.map +1 -1
  258. package/lib/typescript/web-core/AnalyserNode.d.ts +2 -2
  259. package/lib/typescript/web-core/AnalyserNode.d.ts.map +1 -1
  260. package/lib/typescript/web-core/AudioBuffer.d.ts +3 -0
  261. package/lib/typescript/web-core/AudioBuffer.d.ts.map +1 -1
  262. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +24 -15
  263. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts.map +1 -1
  264. package/lib/typescript/web-core/AudioContext.d.ts +5 -6
  265. package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
  266. package/lib/typescript/web-core/AudioNode.d.ts +2 -2
  267. package/lib/typescript/web-core/AudioNode.d.ts.map +1 -1
  268. package/lib/typescript/web-core/BaseAudioContext.d.ts +3 -3
  269. package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
  270. package/lib/typescript/web-core/BiquadFilterNode.d.ts +2 -2
  271. package/lib/typescript/web-core/BiquadFilterNode.d.ts.map +1 -1
  272. package/lib/typescript/web-core/ConstantSourceNode.d.ts +2 -1
  273. package/lib/typescript/web-core/ConstantSourceNode.d.ts.map +1 -1
  274. package/lib/typescript/web-core/ConvolverNode.d.ts +2 -1
  275. package/lib/typescript/web-core/ConvolverNode.d.ts.map +1 -1
  276. package/lib/typescript/web-core/DelayNode.d.ts +2 -1
  277. package/lib/typescript/web-core/DelayNode.d.ts.map +1 -1
  278. package/lib/typescript/web-core/GainNode.d.ts +2 -1
  279. package/lib/typescript/web-core/GainNode.d.ts.map +1 -1
  280. package/lib/typescript/web-core/IIRFilterNode.d.ts +3 -0
  281. package/lib/typescript/web-core/IIRFilterNode.d.ts.map +1 -1
  282. package/lib/typescript/web-core/OfflineAudioContext.d.ts +5 -6
  283. package/lib/typescript/web-core/OfflineAudioContext.d.ts.map +1 -1
  284. package/lib/typescript/web-core/OscillatorNode.d.ts +2 -2
  285. package/lib/typescript/web-core/OscillatorNode.d.ts.map +1 -1
  286. package/lib/typescript/web-core/PeriodicWave.d.ts +3 -1
  287. package/lib/typescript/web-core/PeriodicWave.d.ts.map +1 -1
  288. package/lib/typescript/web-core/StereoPannerNode.d.ts +2 -1
  289. package/lib/typescript/web-core/StereoPannerNode.d.ts.map +1 -1
  290. package/package.json +1 -1
  291. package/src/api.ts +3 -1
  292. package/src/api.web.ts +1 -2
  293. package/src/core/AnalyserNode.ts +16 -1
  294. package/src/core/AudioBuffer.ts +26 -6
  295. package/src/core/AudioBufferQueueSourceNode.ts +15 -0
  296. package/src/core/AudioBufferSourceNode.ts +12 -0
  297. package/src/core/BaseAudioContext.ts +48 -151
  298. package/src/core/BiquadFilterNode.ts +9 -2
  299. package/src/core/ConstantSourceNode.ts +9 -1
  300. package/src/core/ConvolverNode.ts +11 -3
  301. package/src/core/DelayNode.ts +5 -2
  302. package/src/core/GainNode.ts +10 -3
  303. package/src/core/IIRFilterNode.ts +12 -0
  304. package/src/core/OscillatorNode.ts +13 -2
  305. package/src/core/PeriodicWave.ts +36 -2
  306. package/src/core/RecorderAdapterNode.ts +5 -0
  307. package/src/core/StereoPannerNode.ts +9 -1
  308. package/src/core/StreamerNode.ts +29 -1
  309. package/src/core/WaveShaperNode.ts +17 -0
  310. package/src/core/WorkletNode.ts +30 -1
  311. package/src/core/WorkletProcessingNode.ts +39 -1
  312. package/src/core/WorkletSourceNode.ts +36 -1
  313. package/src/defaults.ts +100 -0
  314. package/src/interfaces.ts +37 -24
  315. package/src/options-validators.ts +66 -0
  316. package/src/types.ts +96 -12
  317. package/src/web-core/AnalyserNode.tsx +15 -6
  318. package/src/web-core/AudioBuffer.tsx +20 -6
  319. package/src/web-core/AudioBufferSourceNode.tsx +393 -148
  320. package/src/web-core/AudioContext.tsx +22 -72
  321. package/src/web-core/AudioNode.tsx +6 -2
  322. package/src/web-core/BaseAudioContext.tsx +3 -7
  323. package/src/web-core/BiquadFilterNode.tsx +6 -2
  324. package/src/web-core/ConstantSourceNode.tsx +3 -1
  325. package/src/web-core/ConvolverNode.tsx +8 -8
  326. package/src/web-core/DelayNode.tsx +5 -1
  327. package/src/web-core/GainNode.tsx +3 -1
  328. package/src/web-core/IIRFilterNode.tsx +15 -0
  329. package/src/web-core/OfflineAudioContext.tsx +19 -67
  330. package/src/web-core/OscillatorNode.tsx +3 -2
  331. package/src/web-core/PeriodicWave.tsx +11 -1
  332. package/src/web-core/StereoPannerNode.tsx +9 -1
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/AudioParam.h>
2
3
  #include <audioapi/core/BaseAudioContext.h>
3
4
  #include <audioapi/core/sources/AudioBufferBaseSourceNode.h>
@@ -12,29 +13,22 @@
12
13
  namespace audioapi {
13
14
  AudioBufferBaseSourceNode::AudioBufferBaseSourceNode(
14
15
  std::shared_ptr<BaseAudioContext> context,
15
- bool pitchCorrection)
16
+ const BaseAudioBufferSourceOptions &options)
16
17
  : AudioScheduledSourceNode(context),
17
- pitchCorrection_(pitchCorrection),
18
- stretch_(std::make_shared<signalsmith::stretch::SignalsmithStretch<float>>()),
19
- playbackRateBus_(
20
- std::make_shared<AudioBus>(
21
- RENDER_QUANTUM_SIZE * 3,
22
- channelCount_,
23
- context->getSampleRate())),
24
- detuneParam_(
25
- std::make_shared<AudioParam>(
26
- 0.0,
27
- MOST_NEGATIVE_SINGLE_FLOAT,
28
- MOST_POSITIVE_SINGLE_FLOAT,
29
- context)),
30
- playbackRateParam_(
31
- std::make_shared<AudioParam>(
32
- 1.0,
33
- MOST_NEGATIVE_SINGLE_FLOAT,
34
- MOST_POSITIVE_SINGLE_FLOAT,
35
- context)),
36
- vReadIndex_(0.0),
37
- onPositionChangedInterval_(static_cast<int>(context->getSampleRate() * 0.1f)) {}
18
+ pitchCorrection_(options.pitchCorrection),
19
+ vReadIndex_(0.0) {
20
+ onPositionChangedInterval_ = static_cast<int>(context->getSampleRate() * 0.1);
21
+
22
+ detuneParam_ = std::make_shared<AudioParam>(
23
+ options.detune, MOST_NEGATIVE_SINGLE_FLOAT, MOST_POSITIVE_SINGLE_FLOAT, context);
24
+ playbackRateParam_ = std::make_shared<AudioParam>(
25
+ options.playbackRate, MOST_NEGATIVE_SINGLE_FLOAT, MOST_POSITIVE_SINGLE_FLOAT, context);
26
+
27
+ playbackRateBus_ =
28
+ std::make_shared<AudioBus>(RENDER_QUANTUM_SIZE * 3, channelCount_, context->getSampleRate());
29
+
30
+ stretch_ = std::make_shared<signalsmith::stretch::SignalsmithStretch<float>>();
31
+ }
38
32
 
39
33
  std::shared_ptr<AudioParam> AudioBufferBaseSourceNode::getDetuneParam() const {
40
34
  return detuneParam_;
@@ -11,12 +11,13 @@ namespace audioapi {
11
11
 
12
12
  class AudioBus;
13
13
  class AudioParam;
14
+ class BaseAudioBufferSourceOptions;
14
15
 
15
16
  class AudioBufferBaseSourceNode : public AudioScheduledSourceNode {
16
17
  public:
17
18
  explicit AudioBufferBaseSourceNode(
18
19
  std::shared_ptr<BaseAudioContext> context,
19
- bool pitchCorrection);
20
+ const BaseAudioBufferSourceOptions &options);
20
21
 
21
22
  [[nodiscard]] std::shared_ptr<AudioParam> getDetuneParam() const;
22
23
  [[nodiscard]] std::shared_ptr<AudioParam> getPlaybackRateParam() const;
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/AudioParam.h>
2
3
  #include <audioapi/core/BaseAudioContext.h>
3
4
  #include <audioapi/core/sources/AudioBufferQueueSourceNode.h>
@@ -18,19 +19,21 @@
18
19
  namespace audioapi {
19
20
 
20
21
  AudioBufferQueueSourceNode::AudioBufferQueueSourceNode(
21
- std::shared_ptr<BaseAudioContext> context,
22
- bool pitchCorrection)
23
- : AudioBufferBaseSourceNode(context, pitchCorrection), buffers_() {
22
+ std::shared_ptr<BaseAudioContext> context,
23
+ const BaseAudioBufferSourceOptions &options)
24
+ : AudioBufferBaseSourceNode(context, options) {
25
+ buffers_ = {};
24
26
  stretch_->presetDefault(channelCount_, context->getSampleRate());
25
27
 
26
- if (pitchCorrection) {
28
+ if (options.pitchCorrection) {
27
29
  // If pitch correction is enabled, add extra frames at the end
28
30
  // to compensate for processing latency.
29
31
  addExtraTailFrames_ = true;
30
32
 
31
33
  int extraTailFrames = static_cast<int>(stretch_->inputLatency() + stretch_->outputLatency());
32
- tailBuffer_ =
33
- std::make_shared<AudioBuffer>(channelCount_, extraTailFrames, context->getSampleRate());
34
+ auto audioBufferOptions = AudioBufferOptions(
35
+ extraTailFrames, static_cast<size_t>(channelCount_), context->getSampleRate());
36
+ tailBuffer_ = std::make_shared<AudioBuffer>(audioBufferOptions);
34
37
 
35
38
  tailBuffer_->bus_->zero();
36
39
  }
@@ -14,12 +14,13 @@ namespace audioapi {
14
14
 
15
15
  class AudioBus;
16
16
  class AudioParam;
17
+ class BaseAudioBufferSourceOptions;
17
18
 
18
19
  class AudioBufferQueueSourceNode : public AudioBufferBaseSourceNode {
19
20
  public:
20
21
  explicit AudioBufferQueueSourceNode(
21
22
  std::shared_ptr<BaseAudioContext> context,
22
- bool pitchCorrection);
23
+ const BaseAudioBufferSourceOptions &options);
23
24
  ~AudioBufferQueueSourceNode() override;
24
25
 
25
26
  void stop(double when) override;
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/AudioParam.h>
2
3
  #include <audioapi/core/BaseAudioContext.h>
3
4
  #include <audioapi/core/sources/AudioBufferSourceNode.h>
@@ -14,14 +15,15 @@ namespace audioapi {
14
15
 
15
16
  AudioBufferSourceNode::AudioBufferSourceNode(
16
17
  std::shared_ptr<BaseAudioContext> context,
17
- bool pitchCorrection)
18
- : AudioBufferBaseSourceNode(context, pitchCorrection),
19
- loop_(false),
18
+ const AudioBufferSourceOptions &options)
19
+ : AudioBufferBaseSourceNode(context, options),
20
+ loop_(options.loop),
20
21
  loopSkip_(false),
21
- loopStart_(0),
22
- loopEnd_(0),
23
- buffer_(nullptr),
24
- alignedBus_(nullptr) {
22
+ loopStart_(options.loopStart),
23
+ loopEnd_(options.loopEnd) {
24
+ buffer_ = std::shared_ptr<AudioBuffer>(options.buffer);
25
+ alignedBus_ = std::shared_ptr<AudioBus>(nullptr);
26
+
25
27
  isInitialized_ = true;
26
28
  }
27
29
 
@@ -13,10 +13,13 @@ namespace audioapi {
13
13
 
14
14
  class AudioBus;
15
15
  class AudioParam;
16
+ class AudioBufferSourceOptions;
16
17
 
17
18
  class AudioBufferSourceNode : public AudioBufferBaseSourceNode {
18
19
  public:
19
- explicit AudioBufferSourceNode(std::shared_ptr<BaseAudioContext> context, bool pitchCorrection);
20
+ explicit AudioBufferSourceNode(
21
+ std::shared_ptr<BaseAudioContext> context,
22
+ const AudioBufferSourceOptions &options);
20
23
  ~AudioBufferSourceNode() override;
21
24
 
22
25
  [[nodiscard]] bool getLoop() const;
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/BaseAudioContext.h>
2
3
  #include <audioapi/core/sources/ConstantSourceNode.h>
3
4
  #include <audioapi/dsp/AudioUtils.h>
@@ -6,14 +7,10 @@
6
7
  #include <memory>
7
8
 
8
9
  namespace audioapi {
9
- ConstantSourceNode::ConstantSourceNode(std::shared_ptr<BaseAudioContext> context)
10
- : AudioScheduledSourceNode(context),
11
- offsetParam_(
12
- std::make_shared<AudioParam>(
13
- 1.0,
14
- MOST_NEGATIVE_SINGLE_FLOAT,
15
- MOST_POSITIVE_SINGLE_FLOAT,
16
- context)) {
10
+ ConstantSourceNode::ConstantSourceNode(std::shared_ptr<BaseAudioContext> context, const ConstantSourceOptions &options)
11
+ : AudioScheduledSourceNode(context) {
12
+ offsetParam_ = std::make_shared<AudioParam>(
13
+ options.offset, MOST_NEGATIVE_SINGLE_FLOAT, MOST_POSITIVE_SINGLE_FLOAT, context);
17
14
  isInitialized_ = true;
18
15
  }
19
16
 
@@ -10,10 +10,13 @@
10
10
  namespace audioapi {
11
11
 
12
12
  class AudioBus;
13
+ class ConstantSourceOptions;
13
14
 
14
15
  class ConstantSourceNode : public AudioScheduledSourceNode {
15
16
  public:
16
- explicit ConstantSourceNode(std::shared_ptr<BaseAudioContext> context);
17
+ explicit ConstantSourceNode(
18
+ std::shared_ptr<BaseAudioContext> context,
19
+ const ConstantSourceOptions &options);
17
20
 
18
21
  [[nodiscard]] std::shared_ptr<AudioParam> getOffsetParam() const;
19
22
 
@@ -1,3 +1,4 @@
1
+ #include <audioapi/HostObjects/utils/NodeOptions.h>
1
2
  #include <audioapi/core/BaseAudioContext.h>
2
3
  #include <audioapi/core/sources/OscillatorNode.h>
3
4
  #include <audioapi/dsp/AudioUtils.h>
@@ -8,23 +9,27 @@
8
9
 
9
10
  namespace audioapi {
10
11
 
11
- OscillatorNode::OscillatorNode(std::shared_ptr<BaseAudioContext> context)
12
- : AudioScheduledSourceNode(context),
13
- frequencyParam_(
14
- std::make_shared<AudioParam>(
15
- 444.0,
16
- -context->getNyquistFrequency(),
17
- context->getNyquistFrequency(),
18
- context)),
19
- detuneParam_(
20
- std::make_shared<AudioParam>(
21
- 0.0,
22
- -1200 * LOG2_MOST_POSITIVE_SINGLE_FLOAT,
23
- 1200 * LOG2_MOST_POSITIVE_SINGLE_FLOAT,
24
- context)),
25
- type_(OscillatorType::SINE),
26
- periodicWave_(context->getBasicWaveForm(type_)) {
12
+ OscillatorNode::OscillatorNode(std::shared_ptr<BaseAudioContext> context, const OscillatorOptions &options)
13
+ : AudioScheduledSourceNode(context) {
14
+ frequencyParam_ = std::make_shared<AudioParam>(
15
+ options.frequency,
16
+ -context->getNyquistFrequency(),
17
+ context->getNyquistFrequency(),
18
+ context);
19
+ detuneParam_ = std::make_shared<AudioParam>(
20
+ options.detune,
21
+ -1200 * LOG2_MOST_POSITIVE_SINGLE_FLOAT,
22
+ 1200 * LOG2_MOST_POSITIVE_SINGLE_FLOAT,
23
+ context);
24
+ type_ = options.type;
25
+ if (options.periodicWave) {
26
+ periodicWave_ = options.periodicWave;
27
+ } else {
28
+ periodicWave_ = context->getBasicWaveForm(type_);
29
+ }
30
+
27
31
  audioBus_ = std::make_shared<AudioBus>(RENDER_QUANTUM_SIZE, 1, context->getSampleRate());
32
+
28
33
  isInitialized_ = true;
29
34
  }
30
35
 
@@ -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
@@ -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
  }
@@ -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