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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/README.md +39 -40
  2. package/RNAudioAPI.podspec +12 -17
  3. package/android/build.gradle +4 -44
  4. package/android/src/main/cpp/audioapi/CMakeLists.txt +0 -65
  5. package/android/src/main/cpp/audioapi/android/AudioAPIModule.cpp +1 -29
  6. package/android/src/main/cpp/audioapi/android/AudioAPIModule.h +0 -14
  7. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.cpp +1 -7
  8. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.h +1 -6
  9. package/android/src/main/cpp/audioapi/android/core/AudioPlayer.cpp +1 -1
  10. package/android/src/main/java/com/swmansion/audioapi/AudioAPIModule.kt +1 -11
  11. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionManager.kt +2 -15
  12. package/common/cpp/audioapi/AudioAPIModuleInstaller.h +18 -53
  13. package/common/cpp/audioapi/HostObjects/AnalyserNodeHostObject.h +149 -0
  14. package/common/cpp/audioapi/HostObjects/AudioBufferBaseSourceNodeHostObject.h +76 -0
  15. package/common/cpp/audioapi/HostObjects/AudioBufferHostObject.h +120 -0
  16. package/common/cpp/audioapi/HostObjects/AudioBufferQueueSourceNodeHostObject.h +67 -0
  17. package/common/cpp/audioapi/HostObjects/AudioBufferSourceNodeHostObject.h +142 -0
  18. package/common/cpp/audioapi/HostObjects/AudioContextHostObject.h +46 -6
  19. package/common/cpp/audioapi/HostObjects/AudioNodeHostObject.cpp +6 -70
  20. package/common/cpp/audioapi/HostObjects/AudioNodeHostObject.h +66 -10
  21. package/common/cpp/audioapi/HostObjects/AudioParamHostObject.h +91 -17
  22. package/common/cpp/audioapi/HostObjects/AudioRecorderHostObject.h +86 -0
  23. package/common/cpp/audioapi/HostObjects/AudioScheduledSourceNodeHostObject.h +56 -0
  24. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.cpp +6 -362
  25. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +241 -29
  26. package/common/cpp/audioapi/HostObjects/BiquadFilterNodeHostObject.h +89 -0
  27. package/common/cpp/audioapi/HostObjects/GainNodeHostObject.h +27 -0
  28. package/common/cpp/audioapi/HostObjects/OfflineAudioContextHostObject.h +50 -6
  29. package/common/cpp/audioapi/HostObjects/OscillatorNodeHostObject.h +65 -0
  30. package/common/cpp/audioapi/HostObjects/{sources/RecorderAdapterNodeHostObject.h → RecorderAdapterNodeHostObject.h} +2 -1
  31. package/common/cpp/audioapi/HostObjects/StereoPannerNodeHostObject.h +29 -0
  32. package/common/cpp/audioapi/HostObjects/StreamerNodeHostObject.h +30 -0
  33. package/common/cpp/audioapi/core/AudioContext.cpp +2 -3
  34. package/common/cpp/audioapi/core/AudioContext.h +1 -2
  35. package/common/cpp/audioapi/core/AudioNode.h +1 -1
  36. package/common/cpp/audioapi/core/AudioParam.cpp +2 -2
  37. package/common/cpp/audioapi/core/AudioParam.h +1 -1
  38. package/common/cpp/audioapi/core/{utils/AudioParamEventQueue.cpp → AudioParamEventQueue.cpp} +7 -13
  39. package/common/cpp/audioapi/core/BaseAudioContext.cpp +3 -47
  40. package/common/cpp/audioapi/core/BaseAudioContext.h +4 -13
  41. package/common/cpp/audioapi/core/{utils/Constants.h → Constants.h} +0 -5
  42. package/common/cpp/audioapi/core/OfflineAudioContext.cpp +3 -4
  43. package/common/cpp/audioapi/core/OfflineAudioContext.h +1 -2
  44. package/common/cpp/audioapi/core/effects/PeriodicWave.cpp +1 -1
  45. package/common/cpp/audioapi/core/effects/StereoPannerNode.cpp +1 -1
  46. package/common/cpp/audioapi/core/inputs/AudioRecorder.cpp +1 -1
  47. package/common/cpp/audioapi/core/inputs/AudioRecorder.h +2 -2
  48. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.cpp +10 -47
  49. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.h +3 -18
  50. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.cpp +12 -94
  51. package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.h +2 -8
  52. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +42 -33
  53. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +8 -6
  54. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.cpp +6 -1
  55. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.h +1 -1
  56. package/common/cpp/audioapi/core/sources/StreamerNode.h +8 -0
  57. package/common/cpp/audioapi/dsp/Windows.cpp +1 -1
  58. package/common/cpp/audioapi/events/AudioEventHandlerRegistry.cpp +1 -1
  59. package/common/cpp/audioapi/events/AudioEventHandlerRegistry.h +1 -2
  60. package/common/cpp/audioapi/events/AudioEventHandlerRegistryHostObject.h +48 -0
  61. package/common/cpp/audioapi/jsi/AudioArrayBuffer.h +1 -14
  62. package/common/cpp/audioapi/jsi/JsiHostObject.h +12 -6
  63. package/common/cpp/audioapi/jsi/JsiPromise.cpp +0 -49
  64. package/common/cpp/audioapi/jsi/JsiPromise.h +1 -29
  65. package/common/cpp/audioapi/utils/AudioBus.cpp +1 -1
  66. package/common/cpp/test/CMakeLists.txt +3 -11
  67. package/common/cpp/test/GainTest.cpp +1 -2
  68. package/common/cpp/test/OscillatorTest.cpp +1 -2
  69. package/ios/audioapi/ios/AudioAPIModule.mm +5 -32
  70. package/ios/audioapi/ios/core/IOSAudioPlayer.mm +1 -1
  71. package/ios/audioapi/ios/core/IOSAudioRecorder.h +1 -2
  72. package/ios/audioapi/ios/core/IOSAudioRecorder.mm +1 -1
  73. package/ios/audioapi/ios/events/IOSAudioEventHandlerRegistry.h +7 -0
  74. package/ios/audioapi/ios/events/IOSAudioEventHandlerRegistry.mm +12 -0
  75. package/lib/commonjs/api.js +2 -36
  76. package/lib/commonjs/api.js.map +1 -1
  77. package/lib/commonjs/api.web.js +0 -8
  78. package/lib/commonjs/api.web.js.map +1 -1
  79. package/lib/commonjs/core/AudioBufferBaseSourceNode.js +7 -7
  80. package/lib/commonjs/core/AudioBufferBaseSourceNode.js.map +1 -1
  81. package/lib/commonjs/core/AudioBufferQueueSourceNode.js +6 -1
  82. package/lib/commonjs/core/AudioBufferQueueSourceNode.js.map +1 -1
  83. package/lib/commonjs/core/AudioBufferSourceNode.js +0 -15
  84. package/lib/commonjs/core/AudioBufferSourceNode.js.map +1 -1
  85. package/lib/commonjs/core/AudioContext.js +1 -10
  86. package/lib/commonjs/core/AudioContext.js.map +1 -1
  87. package/lib/commonjs/core/AudioScheduledSourceNode.js +4 -4
  88. package/lib/commonjs/core/AudioScheduledSourceNode.js.map +1 -1
  89. package/lib/commonjs/core/BaseAudioContext.js +11 -66
  90. package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
  91. package/lib/commonjs/core/OfflineAudioContext.js +2 -11
  92. package/lib/commonjs/core/OfflineAudioContext.js.map +1 -1
  93. package/lib/commonjs/core/OscillatorNode.js +0 -6
  94. package/lib/commonjs/core/OscillatorNode.js.map +1 -1
  95. package/lib/commonjs/hooks/{useSystemVolume.js → useSytemVolume.js} +1 -1
  96. package/lib/commonjs/hooks/useSytemVolume.js.map +1 -0
  97. package/lib/commonjs/utils/index.js +0 -9
  98. package/lib/commonjs/utils/index.js.map +1 -1
  99. package/lib/commonjs/web-core/AudioContext.js +0 -4
  100. package/lib/commonjs/web-core/AudioContext.js.map +1 -1
  101. package/lib/commonjs/web-core/AudioScheduledSourceNode.js +1 -1
  102. package/lib/commonjs/web-core/AudioScheduledSourceNode.js.map +1 -1
  103. package/lib/commonjs/web-core/OfflineAudioContext.js +0 -4
  104. package/lib/commonjs/web-core/OfflineAudioContext.js.map +1 -1
  105. package/lib/module/api.js +2 -6
  106. package/lib/module/api.js.map +1 -1
  107. package/lib/module/api.web.js +0 -1
  108. package/lib/module/api.web.js.map +1 -1
  109. package/lib/module/core/AudioBufferBaseSourceNode.js +7 -7
  110. package/lib/module/core/AudioBufferBaseSourceNode.js.map +1 -1
  111. package/lib/module/core/AudioBufferQueueSourceNode.js +6 -1
  112. package/lib/module/core/AudioBufferQueueSourceNode.js.map +1 -1
  113. package/lib/module/core/AudioBufferSourceNode.js +0 -15
  114. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  115. package/lib/module/core/AudioContext.js +1 -10
  116. package/lib/module/core/AudioContext.js.map +1 -1
  117. package/lib/module/core/AudioScheduledSourceNode.js +4 -4
  118. package/lib/module/core/AudioScheduledSourceNode.js.map +1 -1
  119. package/lib/module/core/BaseAudioContext.js +11 -66
  120. package/lib/module/core/BaseAudioContext.js.map +1 -1
  121. package/lib/module/core/OfflineAudioContext.js +2 -11
  122. package/lib/module/core/OfflineAudioContext.js.map +1 -1
  123. package/lib/module/core/OscillatorNode.js +0 -6
  124. package/lib/module/core/OscillatorNode.js.map +1 -1
  125. package/lib/module/hooks/{useSystemVolume.js → useSytemVolume.js} +1 -1
  126. package/lib/module/hooks/useSytemVolume.js.map +1 -0
  127. package/lib/module/utils/index.js +0 -8
  128. package/lib/module/utils/index.js.map +1 -1
  129. package/lib/module/web-core/AudioContext.js +0 -4
  130. package/lib/module/web-core/AudioContext.js.map +1 -1
  131. package/lib/module/web-core/AudioScheduledSourceNode.js +1 -1
  132. package/lib/module/web-core/AudioScheduledSourceNode.js.map +1 -1
  133. package/lib/module/web-core/OfflineAudioContext.js +0 -4
  134. package/lib/module/web-core/OfflineAudioContext.js.map +1 -1
  135. package/lib/typescript/api.d.ts +4 -8
  136. package/lib/typescript/api.d.ts.map +1 -1
  137. package/lib/typescript/api.web.d.ts +0 -1
  138. package/lib/typescript/api.web.d.ts.map +1 -1
  139. package/lib/typescript/core/AudioBufferBaseSourceNode.d.ts +2 -2
  140. package/lib/typescript/core/AudioBufferBaseSourceNode.d.ts.map +1 -1
  141. package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts +1 -1
  142. package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts.map +1 -1
  143. package/lib/typescript/core/AudioBufferSourceNode.d.ts +0 -4
  144. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  145. package/lib/typescript/core/AudioContext.d.ts +0 -1
  146. package/lib/typescript/core/AudioContext.d.ts.map +1 -1
  147. package/lib/typescript/core/AudioScheduledSourceNode.d.ts +1 -1
  148. package/lib/typescript/core/BaseAudioContext.d.ts +11 -19
  149. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  150. package/lib/typescript/core/OfflineAudioContext.d.ts +0 -1
  151. package/lib/typescript/core/OfflineAudioContext.d.ts.map +1 -1
  152. package/lib/typescript/core/OscillatorNode.d.ts +0 -3
  153. package/lib/typescript/core/OscillatorNode.d.ts.map +1 -1
  154. package/lib/typescript/events/types.d.ts +0 -2
  155. package/lib/typescript/events/types.d.ts.map +1 -1
  156. package/lib/typescript/hooks/{useSystemVolume.d.ts → useSytemVolume.d.ts} +1 -1
  157. package/lib/typescript/hooks/useSytemVolume.d.ts.map +1 -0
  158. package/lib/typescript/interfaces.d.ts +3 -21
  159. package/lib/typescript/interfaces.d.ts.map +1 -1
  160. package/lib/typescript/types.d.ts +1 -2
  161. package/lib/typescript/types.d.ts.map +1 -1
  162. package/lib/typescript/utils/index.d.ts +0 -8
  163. package/lib/typescript/utils/index.d.ts.map +1 -1
  164. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +1 -1
  165. package/lib/typescript/web-core/AudioContext.d.ts +2 -4
  166. package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
  167. package/lib/typescript/web-core/AudioScheduledSourceNode.d.ts +1 -1
  168. package/lib/typescript/web-core/BaseAudioContext.d.ts +0 -2
  169. package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
  170. package/lib/typescript/web-core/OfflineAudioContext.d.ts +2 -4
  171. package/lib/typescript/web-core/OfflineAudioContext.d.ts.map +1 -1
  172. package/package.json +2 -3
  173. package/src/api.ts +3 -12
  174. package/src/api.web.ts +0 -1
  175. package/src/core/AudioBufferBaseSourceNode.ts +9 -9
  176. package/src/core/AudioBufferQueueSourceNode.ts +9 -1
  177. package/src/core/AudioBufferSourceNode.ts +0 -28
  178. package/src/core/AudioContext.ts +1 -12
  179. package/src/core/AudioScheduledSourceNode.ts +5 -5
  180. package/src/core/BaseAudioContext.ts +13 -149
  181. package/src/core/OfflineAudioContext.ts +2 -18
  182. package/src/core/OscillatorNode.ts +0 -11
  183. package/src/events/types.ts +0 -2
  184. package/src/interfaces.ts +5 -59
  185. package/src/types.ts +1 -3
  186. package/src/utils/index.ts +0 -21
  187. package/src/web-core/AudioBufferSourceNode.tsx +1 -1
  188. package/src/web-core/AudioContext.tsx +2 -7
  189. package/src/web-core/AudioScheduledSourceNode.tsx +1 -1
  190. package/src/web-core/BaseAudioContext.tsx +0 -2
  191. package/src/web-core/OfflineAudioContext.tsx +2 -7
  192. package/android/src/main/cpp/audioapi/android/core/NativeAudioRecorder.hpp +0 -36
  193. package/android/src/main/java/com/swmansion/audioapi/core/NativeAudioRecorder.kt +0 -24
  194. package/common/cpp/audioapi/HostObjects/AudioContextHostObject.cpp +0 -57
  195. package/common/cpp/audioapi/HostObjects/AudioParamHostObject.cpp +0 -105
  196. package/common/cpp/audioapi/HostObjects/OfflineAudioContextHostObject.cpp +0 -70
  197. package/common/cpp/audioapi/HostObjects/WorkletNodeHostObject.h +0 -18
  198. package/common/cpp/audioapi/HostObjects/WorkletProcessingNodeHostObject.h +0 -18
  199. package/common/cpp/audioapi/HostObjects/analysis/AnalyserNodeHostObject.cpp +0 -148
  200. package/common/cpp/audioapi/HostObjects/analysis/AnalyserNodeHostObject.h +0 -37
  201. package/common/cpp/audioapi/HostObjects/effects/BiquadFilterNodeHostObject.cpp +0 -92
  202. package/common/cpp/audioapi/HostObjects/effects/BiquadFilterNodeHostObject.h +0 -29
  203. package/common/cpp/audioapi/HostObjects/effects/GainNodeHostObject.cpp +0 -20
  204. package/common/cpp/audioapi/HostObjects/effects/GainNodeHostObject.h +0 -19
  205. package/common/cpp/audioapi/HostObjects/effects/StereoPannerNodeHostObject.cpp +0 -21
  206. package/common/cpp/audioapi/HostObjects/effects/StereoPannerNodeHostObject.h +0 -21
  207. package/common/cpp/audioapi/HostObjects/events/AudioEventHandlerRegistryHostObject.cpp +0 -41
  208. package/common/cpp/audioapi/HostObjects/events/AudioEventHandlerRegistryHostObject.h +0 -28
  209. package/common/cpp/audioapi/HostObjects/inputs/AudioRecorderHostObject.cpp +0 -69
  210. package/common/cpp/audioapi/HostObjects/inputs/AudioRecorderHostObject.h +0 -33
  211. package/common/cpp/audioapi/HostObjects/sources/AudioBufferBaseSourceNodeHostObject.cpp +0 -73
  212. package/common/cpp/audioapi/HostObjects/sources/AudioBufferBaseSourceNodeHostObject.h +0 -29
  213. package/common/cpp/audioapi/HostObjects/sources/AudioBufferHostObject.cpp +0 -94
  214. package/common/cpp/audioapi/HostObjects/sources/AudioBufferHostObject.h +0 -46
  215. package/common/cpp/audioapi/HostObjects/sources/AudioBufferQueueSourceNodeHostObject.cpp +0 -60
  216. package/common/cpp/audioapi/HostObjects/sources/AudioBufferQueueSourceNodeHostObject.h +0 -25
  217. package/common/cpp/audioapi/HostObjects/sources/AudioBufferSourceNodeHostObject.cpp +0 -152
  218. package/common/cpp/audioapi/HostObjects/sources/AudioBufferSourceNodeHostObject.h +0 -37
  219. package/common/cpp/audioapi/HostObjects/sources/AudioScheduledSourceNodeHostObject.cpp +0 -52
  220. package/common/cpp/audioapi/HostObjects/sources/AudioScheduledSourceNodeHostObject.h +0 -25
  221. package/common/cpp/audioapi/HostObjects/sources/ConstantSourceNodeHostObject.cpp +0 -19
  222. package/common/cpp/audioapi/HostObjects/sources/ConstantSourceNodeHostObject.h +0 -21
  223. package/common/cpp/audioapi/HostObjects/sources/OscillatorNodeHostObject.cpp +0 -55
  224. package/common/cpp/audioapi/HostObjects/sources/OscillatorNodeHostObject.h +0 -27
  225. package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.cpp +0 -22
  226. package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.h +0 -28
  227. package/common/cpp/audioapi/HostObjects/sources/WorkletSourceNodeHostObject.h +0 -18
  228. package/common/cpp/audioapi/core/effects/WorkletNode.cpp +0 -87
  229. package/common/cpp/audioapi/core/effects/WorkletNode.h +0 -65
  230. package/common/cpp/audioapi/core/effects/WorkletProcessingNode.cpp +0 -89
  231. package/common/cpp/audioapi/core/effects/WorkletProcessingNode.h +0 -52
  232. package/common/cpp/audioapi/core/sources/ConstantSourceNode.cpp +0 -51
  233. package/common/cpp/audioapi/core/sources/ConstantSourceNode.h +0 -26
  234. package/common/cpp/audioapi/core/sources/WorkletSourceNode.cpp +0 -82
  235. package/common/cpp/audioapi/core/sources/WorkletSourceNode.h +0 -47
  236. package/common/cpp/audioapi/core/utils/worklets/SafeIncludes.h +0 -52
  237. package/common/cpp/audioapi/core/utils/worklets/WorkletsRunner.cpp +0 -9
  238. package/common/cpp/audioapi/core/utils/worklets/WorkletsRunner.h +0 -73
  239. package/common/cpp/audioapi/utils/ThreadPool.hpp +0 -104
  240. package/common/cpp/test/AudioParamTest.cpp +0 -204
  241. package/lib/commonjs/core/ConstantSourceNode.js +0 -17
  242. package/lib/commonjs/core/ConstantSourceNode.js.map +0 -1
  243. package/lib/commonjs/core/WorkletNode.js +0 -11
  244. package/lib/commonjs/core/WorkletNode.js.map +0 -1
  245. package/lib/commonjs/core/WorkletProcessingNode.js +0 -11
  246. package/lib/commonjs/core/WorkletProcessingNode.js.map +0 -1
  247. package/lib/commonjs/core/WorkletSourceNode.js +0 -11
  248. package/lib/commonjs/core/WorkletSourceNode.js.map +0 -1
  249. package/lib/commonjs/hooks/useSystemVolume.js.map +0 -1
  250. package/lib/commonjs/web-core/ConstantSourceNode.js +0 -17
  251. package/lib/commonjs/web-core/ConstantSourceNode.js.map +0 -1
  252. package/lib/module/core/ConstantSourceNode.js +0 -11
  253. package/lib/module/core/ConstantSourceNode.js.map +0 -1
  254. package/lib/module/core/WorkletNode.js +0 -5
  255. package/lib/module/core/WorkletNode.js.map +0 -1
  256. package/lib/module/core/WorkletProcessingNode.js +0 -5
  257. package/lib/module/core/WorkletProcessingNode.js.map +0 -1
  258. package/lib/module/core/WorkletSourceNode.js +0 -5
  259. package/lib/module/core/WorkletSourceNode.js.map +0 -1
  260. package/lib/module/hooks/useSystemVolume.js.map +0 -1
  261. package/lib/module/web-core/ConstantSourceNode.js +0 -11
  262. package/lib/module/web-core/ConstantSourceNode.js.map +0 -1
  263. package/lib/typescript/core/ConstantSourceNode.d.ts +0 -9
  264. package/lib/typescript/core/ConstantSourceNode.d.ts.map +0 -1
  265. package/lib/typescript/core/WorkletNode.d.ts +0 -4
  266. package/lib/typescript/core/WorkletNode.d.ts.map +0 -1
  267. package/lib/typescript/core/WorkletProcessingNode.d.ts +0 -4
  268. package/lib/typescript/core/WorkletProcessingNode.d.ts.map +0 -1
  269. package/lib/typescript/core/WorkletSourceNode.d.ts +0 -4
  270. package/lib/typescript/core/WorkletSourceNode.d.ts.map +0 -1
  271. package/lib/typescript/hooks/useSystemVolume.d.ts.map +0 -1
  272. package/lib/typescript/web-core/ConstantSourceNode.d.ts +0 -8
  273. package/lib/typescript/web-core/ConstantSourceNode.d.ts.map +0 -1
  274. package/src/core/ConstantSourceNode.ts +0 -13
  275. package/src/core/WorkletNode.ts +0 -3
  276. package/src/core/WorkletProcessingNode.ts +0 -3
  277. package/src/core/WorkletSourceNode.ts +0 -3
  278. package/src/web-core/ConstantSourceNode.tsx +0 -12
  279. /package/common/cpp/audioapi/HostObjects/{destinations/AudioDestinationNodeHostObject.h → AudioDestinationNodeHostObject.h} +0 -0
  280. /package/common/cpp/audioapi/HostObjects/{effects/PeriodicWaveHostObject.h → PeriodicWaveHostObject.h} +0 -0
  281. /package/common/cpp/audioapi/core/{utils/AudioParamEventQueue.h → AudioParamEventQueue.h} +0 -0
  282. /package/src/hooks/{useSystemVolume.ts → useSytemVolume.ts} +0 -0
@@ -1,57 +0,0 @@
1
- #include <audioapi/HostObjects/AudioContextHostObject.h>
2
-
3
- #include <audioapi/core/AudioContext.h>
4
-
5
- namespace audioapi {
6
-
7
- AudioContextHostObject::AudioContextHostObject(
8
- const std::shared_ptr<AudioContext> &audioContext,
9
- jsi::Runtime *runtime,
10
- const std::shared_ptr<react::CallInvoker> &callInvoker)
11
- : BaseAudioContextHostObject(audioContext, runtime, callInvoker) {
12
- addFunctions(
13
- JSI_EXPORT_FUNCTION(AudioContextHostObject, close),
14
- JSI_EXPORT_FUNCTION(AudioContextHostObject, resume),
15
- JSI_EXPORT_FUNCTION(AudioContextHostObject, suspend));
16
- }
17
-
18
- JSI_HOST_FUNCTION_IMPL(AudioContextHostObject, close) {
19
- auto audioContext = std::static_pointer_cast<AudioContext>(context_);
20
- auto promise = promiseVendor_->createPromise(
21
- [audioContext](const std::shared_ptr<Promise> &promise) {
22
- audioContext->close();
23
-
24
- promise->resolve(
25
- [](jsi::Runtime &runtime) { return jsi::Value::undefined(); });
26
- });
27
-
28
- return promise;
29
- }
30
-
31
- JSI_HOST_FUNCTION_IMPL(AudioContextHostObject, resume) {
32
- auto audioContext = std::static_pointer_cast<AudioContext>(context_);
33
- auto promise = promiseVendor_->createPromise(
34
- [audioContext](const std::shared_ptr<Promise> &promise) {
35
- auto result = audioContext->resume();
36
-
37
- promise->resolve(
38
- [result](jsi::Runtime &runtime) { return jsi::Value(result); });
39
- });
40
-
41
- return promise;
42
- }
43
-
44
- JSI_HOST_FUNCTION_IMPL(AudioContextHostObject, suspend) {
45
- auto audioContext = std::static_pointer_cast<AudioContext>(context_);
46
- auto promise = promiseVendor_->createPromise(
47
- [audioContext](const std::shared_ptr<Promise> &promise) {
48
- auto result = audioContext->suspend();
49
-
50
- promise->resolve(
51
- [result](jsi::Runtime &runtime) { return jsi::Value(result); });
52
- });
53
-
54
- return promise;
55
- }
56
-
57
- } // namespace audioapi
@@ -1,105 +0,0 @@
1
- #include <audioapi/HostObjects/AudioParamHostObject.h>
2
-
3
- #include <audioapi/core/AudioParam.h>
4
-
5
- namespace audioapi {
6
-
7
- AudioParamHostObject::AudioParamHostObject(
8
- const std::shared_ptr<AudioParam> &param)
9
- : param_(param) {
10
- addGetters(
11
- JSI_EXPORT_PROPERTY_GETTER(AudioParamHostObject, value),
12
- JSI_EXPORT_PROPERTY_GETTER(AudioParamHostObject, defaultValue),
13
- JSI_EXPORT_PROPERTY_GETTER(AudioParamHostObject, minValue),
14
- JSI_EXPORT_PROPERTY_GETTER(AudioParamHostObject, maxValue));
15
-
16
- addFunctions(
17
- JSI_EXPORT_FUNCTION(AudioParamHostObject, setValueAtTime),
18
- JSI_EXPORT_FUNCTION(AudioParamHostObject, linearRampToValueAtTime),
19
- JSI_EXPORT_FUNCTION(AudioParamHostObject, exponentialRampToValueAtTime),
20
- JSI_EXPORT_FUNCTION(AudioParamHostObject, setTargetAtTime),
21
- JSI_EXPORT_FUNCTION(AudioParamHostObject, setValueCurveAtTime),
22
- JSI_EXPORT_FUNCTION(AudioParamHostObject, cancelScheduledValues),
23
- JSI_EXPORT_FUNCTION(AudioParamHostObject, cancelAndHoldAtTime));
24
-
25
- addSetters(JSI_EXPORT_PROPERTY_SETTER(AudioParamHostObject, value));
26
- }
27
-
28
- JSI_PROPERTY_GETTER_IMPL(AudioParamHostObject, value) {
29
- return {param_->getValue()};
30
- }
31
-
32
- JSI_PROPERTY_GETTER_IMPL(AudioParamHostObject, defaultValue) {
33
- return {param_->getDefaultValue()};
34
- }
35
-
36
- JSI_PROPERTY_GETTER_IMPL(AudioParamHostObject, minValue) {
37
- return {param_->getMinValue()};
38
- }
39
-
40
- JSI_PROPERTY_GETTER_IMPL(AudioParamHostObject, maxValue) {
41
- return {param_->getMaxValue()};
42
- }
43
-
44
- JSI_PROPERTY_SETTER_IMPL(AudioParamHostObject, value) {
45
- param_->setValue(static_cast<float>(value.getNumber()));
46
- }
47
-
48
- JSI_HOST_FUNCTION_IMPL(AudioParamHostObject, setValueAtTime) {
49
- auto value = static_cast<float>(args[0].getNumber());
50
- double startTime = args[1].getNumber();
51
- param_->setValueAtTime(value, startTime);
52
- return jsi::Value::undefined();
53
- }
54
-
55
- JSI_HOST_FUNCTION_IMPL(AudioParamHostObject, linearRampToValueAtTime) {
56
- auto value = static_cast<float>(args[0].getNumber());
57
- double endTime = args[1].getNumber();
58
- param_->linearRampToValueAtTime(value, endTime);
59
- return jsi::Value::undefined();
60
- }
61
-
62
- JSI_HOST_FUNCTION_IMPL(AudioParamHostObject, exponentialRampToValueAtTime) {
63
- auto value = static_cast<float>(args[0].getNumber());
64
- double endTime = args[1].getNumber();
65
- param_->exponentialRampToValueAtTime(value, endTime);
66
- return jsi::Value::undefined();
67
- }
68
-
69
- JSI_HOST_FUNCTION_IMPL(AudioParamHostObject, setTargetAtTime) {
70
- auto target = static_cast<float>(args[0].getNumber());
71
- double startTime = args[1].getNumber();
72
- double timeConstant = args[2].getNumber();
73
- param_->setTargetAtTime(target, startTime, timeConstant);
74
- return jsi::Value::undefined();
75
- }
76
-
77
- JSI_HOST_FUNCTION_IMPL(AudioParamHostObject, setValueCurveAtTime) {
78
- auto arrayBuffer = args[0]
79
- .getObject(runtime)
80
- .getPropertyAsObject(runtime, "buffer")
81
- .getArrayBuffer(runtime);
82
- auto rawValues = reinterpret_cast<float *>(arrayBuffer.data(runtime));
83
- auto length = static_cast<int>(arrayBuffer.size(runtime));
84
- auto values =
85
- std::make_unique<std::vector<float>>(rawValues, rawValues + length);
86
-
87
- double startTime = args[1].getNumber();
88
- double duration = args[2].getNumber();
89
- param_->setValueCurveAtTime(std::move(values), length, startTime, duration);
90
- return jsi::Value::undefined();
91
- }
92
-
93
- JSI_HOST_FUNCTION_IMPL(AudioParamHostObject, cancelScheduledValues) {
94
- double cancelTime = args[0].getNumber();
95
- param_->cancelScheduledValues(cancelTime);
96
- return jsi::Value::undefined();
97
- }
98
-
99
- JSI_HOST_FUNCTION_IMPL(AudioParamHostObject, cancelAndHoldAtTime) {
100
- double cancelTime = args[0].getNumber();
101
- param_->cancelAndHoldAtTime(cancelTime);
102
- return jsi::Value::undefined();
103
- }
104
-
105
- } // namespace audioapi
@@ -1,70 +0,0 @@
1
- #include <audioapi/HostObjects/OfflineAudioContextHostObject.h>
2
-
3
- #include <audioapi/HostObjects/sources/AudioBufferHostObject.h>
4
- #include <audioapi/core/OfflineAudioContext.h>
5
-
6
- namespace audioapi {
7
-
8
- OfflineAudioContextHostObject::OfflineAudioContextHostObject(
9
- const std::shared_ptr<OfflineAudioContext> &offlineAudioContext,
10
- jsi::Runtime *runtime,
11
- const std::shared_ptr<react::CallInvoker> &callInvoker)
12
- : BaseAudioContextHostObject(offlineAudioContext, runtime, callInvoker) {
13
- addFunctions(
14
- JSI_EXPORT_FUNCTION(OfflineAudioContextHostObject, resume),
15
- JSI_EXPORT_FUNCTION(OfflineAudioContextHostObject, suspend),
16
- JSI_EXPORT_FUNCTION(OfflineAudioContextHostObject, startRendering));
17
- }
18
-
19
- JSI_HOST_FUNCTION_IMPL(OfflineAudioContextHostObject, resume) {
20
- auto promise = promiseVendor_->createPromise(
21
- [this](const std::shared_ptr<Promise> &promise) {
22
- auto audioContext =
23
- std::static_pointer_cast<OfflineAudioContext>(context_);
24
- audioContext->resume();
25
- });
26
-
27
- return promise;
28
- }
29
-
30
- JSI_HOST_FUNCTION_IMPL(OfflineAudioContextHostObject, suspend) {
31
- double when = args[0].getNumber();
32
-
33
- auto promise = promiseVendor_->createPromise(
34
- [this, when](const std::shared_ptr<Promise> &promise) {
35
- auto audioContext =
36
- std::static_pointer_cast<OfflineAudioContext>(context_);
37
- OfflineAudioContextSuspendCallback callback = [promise]() {
38
- promise->resolve(
39
- [](jsi::Runtime &runtime) { return jsi::Value::undefined(); });
40
- };
41
- audioContext->suspend(when, callback);
42
- });
43
-
44
- return promise;
45
- }
46
-
47
- JSI_HOST_FUNCTION_IMPL(OfflineAudioContextHostObject, startRendering) {
48
- auto promise = promiseVendor_->createPromise(
49
- [this](const std::shared_ptr<Promise> &promise) {
50
- auto audioContext =
51
- std::static_pointer_cast<OfflineAudioContext>(context_);
52
-
53
- OfflineAudioContextResultCallback callback =
54
- [promise](const std::shared_ptr<AudioBuffer> &audioBuffer) -> void {
55
- auto audioBufferHostObject =
56
- std::make_shared<AudioBufferHostObject>(audioBuffer);
57
- promise->resolve([audioBufferHostObject = std::move(
58
- audioBufferHostObject)](jsi::Runtime &runtime) {
59
- return jsi::Object::createFromHostObject(
60
- runtime, audioBufferHostObject);
61
- });
62
- };
63
-
64
- audioContext->startRendering(callback);
65
- });
66
-
67
- return promise;
68
- }
69
-
70
- } // namespace audioapi
@@ -1,18 +0,0 @@
1
- #pragma once
2
-
3
- #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
- #include <audioapi/core/effects/WorkletNode.h>
5
-
6
- #include <memory>
7
- #include <vector>
8
-
9
- namespace audioapi {
10
- using namespace facebook;
11
-
12
- class WorkletNodeHostObject : public AudioNodeHostObject {
13
- public:
14
- explicit WorkletNodeHostObject(const std::shared_ptr<WorkletNode> &node)
15
- : AudioNodeHostObject(node) {
16
- }
17
- };
18
- } // namespace audioapi
@@ -1,18 +0,0 @@
1
- #pragma once
2
-
3
- #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
- #include <audioapi/core/effects/WorkletProcessingNode.h>
5
-
6
- #include <memory>
7
- #include <vector>
8
-
9
- namespace audioapi {
10
- using namespace facebook;
11
-
12
- class WorkletProcessingNodeHostObject : public AudioNodeHostObject {
13
- public:
14
- explicit WorkletProcessingNodeHostObject(const std::shared_ptr<WorkletProcessingNode> &node)
15
- : AudioNodeHostObject(node) {
16
- }
17
- };
18
- } // namespace audioapi
@@ -1,148 +0,0 @@
1
- #include <audioapi/HostObjects/analysis/AnalyserNodeHostObject.h>
2
-
3
- #include <audioapi/core/analysis/AnalyserNode.h>
4
-
5
- namespace audioapi {
6
-
7
- AnalyserNodeHostObject::AnalyserNodeHostObject(
8
- const std::shared_ptr<AnalyserNode> &node)
9
- : AudioNodeHostObject(node) {
10
- addGetters(
11
- JSI_EXPORT_PROPERTY_GETTER(AnalyserNodeHostObject, fftSize),
12
- JSI_EXPORT_PROPERTY_GETTER(AnalyserNodeHostObject, frequencyBinCount),
13
- JSI_EXPORT_PROPERTY_GETTER(AnalyserNodeHostObject, minDecibels),
14
- JSI_EXPORT_PROPERTY_GETTER(AnalyserNodeHostObject, maxDecibels),
15
- JSI_EXPORT_PROPERTY_GETTER(AnalyserNodeHostObject, smoothingTimeConstant),
16
- JSI_EXPORT_PROPERTY_GETTER(AnalyserNodeHostObject, window));
17
-
18
- addSetters(
19
- JSI_EXPORT_PROPERTY_SETTER(AnalyserNodeHostObject, fftSize),
20
- JSI_EXPORT_PROPERTY_SETTER(AnalyserNodeHostObject, minDecibels),
21
- JSI_EXPORT_PROPERTY_SETTER(AnalyserNodeHostObject, maxDecibels),
22
- JSI_EXPORT_PROPERTY_SETTER(AnalyserNodeHostObject, smoothingTimeConstant),
23
- JSI_EXPORT_PROPERTY_SETTER(AnalyserNodeHostObject, window));
24
-
25
- addFunctions(
26
- JSI_EXPORT_FUNCTION(AnalyserNodeHostObject, getFloatFrequencyData),
27
- JSI_EXPORT_FUNCTION(AnalyserNodeHostObject, getByteFrequencyData),
28
- JSI_EXPORT_FUNCTION(AnalyserNodeHostObject, getFloatTimeDomainData),
29
- JSI_EXPORT_FUNCTION(AnalyserNodeHostObject, getByteTimeDomainData));
30
- }
31
-
32
- JSI_PROPERTY_GETTER_IMPL(AnalyserNodeHostObject, fftSize) {
33
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
34
- return {static_cast<int>(analyserNode->getFftSize())};
35
- }
36
-
37
- JSI_PROPERTY_GETTER_IMPL(AnalyserNodeHostObject, frequencyBinCount) {
38
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
39
- return {static_cast<int>(analyserNode->getFrequencyBinCount())};
40
- }
41
-
42
- JSI_PROPERTY_GETTER_IMPL(AnalyserNodeHostObject, minDecibels) {
43
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
44
- return {analyserNode->getMinDecibels()};
45
- }
46
-
47
- JSI_PROPERTY_GETTER_IMPL(AnalyserNodeHostObject, maxDecibels) {
48
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
49
- return {analyserNode->getMaxDecibels()};
50
- }
51
-
52
- JSI_PROPERTY_GETTER_IMPL(AnalyserNodeHostObject, smoothingTimeConstant) {
53
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
54
- return {analyserNode->getSmoothingTimeConstant()};
55
- }
56
-
57
- JSI_PROPERTY_GETTER_IMPL(AnalyserNodeHostObject, window) {
58
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
59
- auto windowType = analyserNode->getWindowType();
60
- return jsi::String::createFromUtf8(runtime, windowType);
61
- }
62
-
63
- JSI_PROPERTY_SETTER_IMPL(AnalyserNodeHostObject, fftSize) {
64
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
65
- auto fftSize = static_cast<int>(value.getNumber());
66
- analyserNode->setFftSize(fftSize);
67
- }
68
-
69
- JSI_PROPERTY_SETTER_IMPL(AnalyserNodeHostObject, minDecibels) {
70
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
71
- auto minDecibels = static_cast<float>(value.getNumber());
72
- analyserNode->setMinDecibels(minDecibels);
73
- }
74
-
75
- JSI_PROPERTY_SETTER_IMPL(AnalyserNodeHostObject, maxDecibels) {
76
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
77
- auto maxDecibels = static_cast<float>(value.getNumber());
78
- analyserNode->setMaxDecibels(maxDecibels);
79
- }
80
-
81
- JSI_PROPERTY_SETTER_IMPL(AnalyserNodeHostObject, smoothingTimeConstant) {
82
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
83
- auto smoothingTimeConstant = static_cast<float>(value.getNumber());
84
- analyserNode->setSmoothingTimeConstant(smoothingTimeConstant);
85
- }
86
-
87
- JSI_PROPERTY_SETTER_IMPL(AnalyserNodeHostObject, window) {
88
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
89
- analyserNode->setWindowType(value.getString(runtime).utf8(runtime));
90
- }
91
-
92
- JSI_HOST_FUNCTION_IMPL(AnalyserNodeHostObject, getFloatFrequencyData) {
93
- auto arrayBuffer = args[0]
94
- .getObject(runtime)
95
- .getPropertyAsObject(runtime, "buffer")
96
- .getArrayBuffer(runtime);
97
- auto data = reinterpret_cast<float *>(arrayBuffer.data(runtime));
98
- auto length = static_cast<int>(arrayBuffer.size(runtime));
99
-
100
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
101
- analyserNode->getFloatFrequencyData(data, length);
102
-
103
- return jsi::Value::undefined();
104
- }
105
-
106
- JSI_HOST_FUNCTION_IMPL(AnalyserNodeHostObject, getByteFrequencyData) {
107
- auto arrayBuffer = args[0]
108
- .getObject(runtime)
109
- .getPropertyAsObject(runtime, "buffer")
110
- .getArrayBuffer(runtime);
111
- auto data = arrayBuffer.data(runtime);
112
- auto length = static_cast<int>(arrayBuffer.size(runtime));
113
-
114
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
115
- analyserNode->getByteFrequencyData(data, length);
116
-
117
- return jsi::Value::undefined();
118
- }
119
-
120
- JSI_HOST_FUNCTION_IMPL(AnalyserNodeHostObject, getFloatTimeDomainData) {
121
- auto arrayBuffer = args[0]
122
- .getObject(runtime)
123
- .getPropertyAsObject(runtime, "buffer")
124
- .getArrayBuffer(runtime);
125
- auto data = reinterpret_cast<float *>(arrayBuffer.data(runtime));
126
- auto length = static_cast<int>(arrayBuffer.size(runtime));
127
-
128
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
129
- analyserNode->getFloatTimeDomainData(data, length);
130
-
131
- return jsi::Value::undefined();
132
- }
133
-
134
- JSI_HOST_FUNCTION_IMPL(AnalyserNodeHostObject, getByteTimeDomainData) {
135
- auto arrayBuffer = args[0]
136
- .getObject(runtime)
137
- .getPropertyAsObject(runtime, "buffer")
138
- .getArrayBuffer(runtime);
139
- auto data = arrayBuffer.data(runtime);
140
- auto length = static_cast<int>(arrayBuffer.size(runtime));
141
-
142
- auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
143
- analyserNode->getByteTimeDomainData(data, length);
144
-
145
- return jsi::Value::undefined();
146
- }
147
-
148
- } // namespace audioapi
@@ -1,37 +0,0 @@
1
- #pragma once
2
-
3
- #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
-
5
- #include <memory>
6
- #include <string>
7
- #include <vector>
8
-
9
- namespace audioapi {
10
- using namespace facebook;
11
-
12
- class AnalyserNode;
13
-
14
- class AnalyserNodeHostObject : public AudioNodeHostObject {
15
- public:
16
- explicit AnalyserNodeHostObject(const std::shared_ptr<AnalyserNode> &node);
17
-
18
- JSI_PROPERTY_GETTER_DECL(fftSize);
19
- JSI_PROPERTY_GETTER_DECL(frequencyBinCount);
20
- JSI_PROPERTY_GETTER_DECL(minDecibels);
21
- JSI_PROPERTY_GETTER_DECL(maxDecibels);
22
- JSI_PROPERTY_GETTER_DECL(smoothingTimeConstant);
23
- JSI_PROPERTY_GETTER_DECL(window);
24
-
25
- JSI_PROPERTY_SETTER_DECL(fftSize);
26
- JSI_PROPERTY_SETTER_DECL(minDecibels);
27
- JSI_PROPERTY_SETTER_DECL(maxDecibels);
28
- JSI_PROPERTY_SETTER_DECL(smoothingTimeConstant);
29
- JSI_PROPERTY_SETTER_DECL(window);
30
-
31
- JSI_HOST_FUNCTION_DECL(getFloatFrequencyData);
32
- JSI_HOST_FUNCTION_DECL(getByteFrequencyData);
33
- JSI_HOST_FUNCTION_DECL(getFloatTimeDomainData);
34
- JSI_HOST_FUNCTION_DECL(getByteTimeDomainData);
35
- };
36
-
37
- } // namespace audioapi
@@ -1,92 +0,0 @@
1
- #include <audioapi/HostObjects/effects/BiquadFilterNodeHostObject.h>
2
-
3
- #include <audioapi/HostObjects/AudioParamHostObject.h>
4
- #include <audioapi/core/effects/BiquadFilterNode.h>
5
-
6
- namespace audioapi {
7
-
8
- BiquadFilterNodeHostObject::BiquadFilterNodeHostObject(
9
- const std::shared_ptr<BiquadFilterNode> &node)
10
- : AudioNodeHostObject(node) {
11
- addGetters(
12
- JSI_EXPORT_PROPERTY_GETTER(BiquadFilterNodeHostObject, frequency),
13
- JSI_EXPORT_PROPERTY_GETTER(BiquadFilterNodeHostObject, detune),
14
- JSI_EXPORT_PROPERTY_GETTER(BiquadFilterNodeHostObject, Q),
15
- JSI_EXPORT_PROPERTY_GETTER(BiquadFilterNodeHostObject, gain),
16
- JSI_EXPORT_PROPERTY_GETTER(BiquadFilterNodeHostObject, type));
17
-
18
- addSetters(JSI_EXPORT_PROPERTY_SETTER(BiquadFilterNodeHostObject, type));
19
-
20
- addFunctions(
21
- JSI_EXPORT_FUNCTION(BiquadFilterNodeHostObject, getFrequencyResponse));
22
- }
23
-
24
- JSI_PROPERTY_GETTER_IMPL(BiquadFilterNodeHostObject, frequency) {
25
- auto biquadFilterNode = std::static_pointer_cast<BiquadFilterNode>(node_);
26
- auto frequencyParam_ = std::make_shared<AudioParamHostObject>(
27
- biquadFilterNode->getFrequencyParam());
28
- return jsi::Object::createFromHostObject(runtime, frequencyParam_);
29
- }
30
-
31
- JSI_PROPERTY_GETTER_IMPL(BiquadFilterNodeHostObject, detune) {
32
- auto biquadFilterNode = std::static_pointer_cast<BiquadFilterNode>(node_);
33
- auto detuneParam_ = std::make_shared<AudioParamHostObject>(
34
- biquadFilterNode->getDetuneParam());
35
- return jsi::Object::createFromHostObject(runtime, detuneParam_);
36
- }
37
-
38
- JSI_PROPERTY_GETTER_IMPL(BiquadFilterNodeHostObject, Q) {
39
- auto biquadFilterNode = std::static_pointer_cast<BiquadFilterNode>(node_);
40
- auto QParam_ =
41
- std::make_shared<AudioParamHostObject>(biquadFilterNode->getQParam());
42
- return jsi::Object::createFromHostObject(runtime, QParam_);
43
- }
44
-
45
- JSI_PROPERTY_GETTER_IMPL(BiquadFilterNodeHostObject, gain) {
46
- auto biquadFilterNode = std::static_pointer_cast<BiquadFilterNode>(node_);
47
- auto gainParam_ =
48
- std::make_shared<AudioParamHostObject>(biquadFilterNode->getGainParam());
49
- return jsi::Object::createFromHostObject(runtime, gainParam_);
50
- }
51
-
52
- JSI_PROPERTY_GETTER_IMPL(BiquadFilterNodeHostObject, type) {
53
- auto biquadFilterNode = std::static_pointer_cast<BiquadFilterNode>(node_);
54
- auto type = biquadFilterNode->getType();
55
- return jsi::String::createFromUtf8(runtime, type);
56
- }
57
-
58
- JSI_PROPERTY_SETTER_IMPL(BiquadFilterNodeHostObject, type) {
59
- auto biquadFilterNode = std::static_pointer_cast<BiquadFilterNode>(node_);
60
- biquadFilterNode->setType(value.getString(runtime).utf8(runtime));
61
- }
62
-
63
- JSI_HOST_FUNCTION_IMPL(BiquadFilterNodeHostObject, getFrequencyResponse) {
64
- auto arrayBufferFrequency = args[0]
65
- .getObject(runtime)
66
- .getPropertyAsObject(runtime, "buffer")
67
- .getArrayBuffer(runtime);
68
- auto frequencyArray =
69
- reinterpret_cast<float *>(arrayBufferFrequency.data(runtime));
70
- auto length = static_cast<int>(arrayBufferFrequency.size(runtime));
71
-
72
- auto arrayBufferMag = args[1]
73
- .getObject(runtime)
74
- .getPropertyAsObject(runtime, "buffer")
75
- .getArrayBuffer(runtime);
76
- auto magResponseOut = reinterpret_cast<float *>(arrayBufferMag.data(runtime));
77
-
78
- auto arrayBufferPhase = args[2]
79
- .getObject(runtime)
80
- .getPropertyAsObject(runtime, "buffer")
81
- .getArrayBuffer(runtime);
82
- auto phaseResponseOut =
83
- reinterpret_cast<float *>(arrayBufferPhase.data(runtime));
84
-
85
- auto biquadFilterNode = std::static_pointer_cast<BiquadFilterNode>(node_);
86
- biquadFilterNode->getFrequencyResponse(
87
- frequencyArray, magResponseOut, phaseResponseOut, length);
88
-
89
- return jsi::Value::undefined();
90
- }
91
-
92
- } // namespace audioapi
@@ -1,29 +0,0 @@
1
- #pragma once
2
-
3
- #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
-
5
- #include <memory>
6
- #include <string>
7
- #include <vector>
8
-
9
- namespace audioapi {
10
- using namespace facebook;
11
-
12
- class BiquadFilterNode;
13
-
14
- class BiquadFilterNodeHostObject : public AudioNodeHostObject {
15
- public:
16
- explicit BiquadFilterNodeHostObject(
17
- const std::shared_ptr<BiquadFilterNode> &node);
18
-
19
- JSI_PROPERTY_GETTER_DECL(frequency);
20
- JSI_PROPERTY_GETTER_DECL(detune);
21
- JSI_PROPERTY_GETTER_DECL(Q);
22
- JSI_PROPERTY_GETTER_DECL(gain);
23
- JSI_PROPERTY_GETTER_DECL(type);
24
-
25
- JSI_PROPERTY_SETTER_DECL(type);
26
-
27
- JSI_HOST_FUNCTION_DECL(getFrequencyResponse);
28
- };
29
- } // namespace audioapi
@@ -1,20 +0,0 @@
1
- #include <audioapi/HostObjects/effects/GainNodeHostObject.h>
2
-
3
- #include <audioapi/HostObjects/AudioParamHostObject.h>
4
- #include <audioapi/core/effects/GainNode.h>
5
-
6
- namespace audioapi {
7
-
8
- GainNodeHostObject::GainNodeHostObject(const std::shared_ptr<GainNode> &node)
9
- : AudioNodeHostObject(node) {
10
- addGetters(JSI_EXPORT_PROPERTY_GETTER(GainNodeHostObject, gain));
11
- }
12
-
13
- JSI_PROPERTY_GETTER_IMPL(GainNodeHostObject, gain) {
14
- auto gainNode = std::static_pointer_cast<GainNode>(node_);
15
- auto gainParam =
16
- std::make_shared<AudioParamHostObject>(gainNode->getGainParam());
17
- return jsi::Object::createFromHostObject(runtime, gainParam);
18
- }
19
-
20
- } // namespace audioapi
@@ -1,19 +0,0 @@
1
- #pragma once
2
-
3
- #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
-
5
- #include <memory>
6
- #include <vector>
7
-
8
- namespace audioapi {
9
- using namespace facebook;
10
-
11
- class GainNode;
12
-
13
- class GainNodeHostObject : public AudioNodeHostObject {
14
- public:
15
- explicit GainNodeHostObject(const std::shared_ptr<GainNode> &node);
16
-
17
- JSI_PROPERTY_GETTER_DECL(gain);
18
- };
19
- } // namespace audioapi
@@ -1,21 +0,0 @@
1
- #include <audioapi/HostObjects/effects/StereoPannerNodeHostObject.h>
2
-
3
- #include <audioapi/HostObjects/AudioParamHostObject.h>
4
- #include <audioapi/core/effects/StereoPannerNode.h>
5
-
6
- namespace audioapi {
7
-
8
- StereoPannerNodeHostObject::StereoPannerNodeHostObject(
9
- const std::shared_ptr<StereoPannerNode> &node)
10
- : AudioNodeHostObject(node) {
11
- addGetters(JSI_EXPORT_PROPERTY_GETTER(StereoPannerNodeHostObject, pan));
12
- }
13
-
14
- JSI_PROPERTY_GETTER_IMPL(StereoPannerNodeHostObject, pan) {
15
- auto stereoPannerNode = std::static_pointer_cast<StereoPannerNode>(node_);
16
- auto panParam_ =
17
- std::make_shared<AudioParamHostObject>(stereoPannerNode->getPanParam());
18
- return jsi::Object::createFromHostObject(runtime, panParam_);
19
- }
20
-
21
- } // namespace audioapi
@@ -1,21 +0,0 @@
1
- #pragma once
2
-
3
- #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
-
5
- #include <memory>
6
- #include <string>
7
- #include <vector>
8
-
9
- namespace audioapi {
10
- using namespace facebook;
11
-
12
- class StereoPannerNode;
13
-
14
- class StereoPannerNodeHostObject : public AudioNodeHostObject {
15
- public:
16
- explicit StereoPannerNodeHostObject(
17
- const std::shared_ptr<StereoPannerNode> &node);
18
-
19
- JSI_PROPERTY_GETTER_DECL(pan);
20
- };
21
- } // namespace audioapi