react-native-audio-api 0.3.0-rc2 → 0.3.2

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 (197) hide show
  1. package/RNAudioAPI.podspec +40 -29
  2. package/android/CMakeLists.txt +17 -21
  3. package/android/build.gradle +26 -9
  4. package/android/src/main/cpp/OnLoad.cpp +1 -1
  5. package/android/src/main/cpp/core/AudioAPIInstaller.cpp +37 -0
  6. package/android/src/main/cpp/{AudioAPIInstaller → core}/AudioAPIInstaller.h +5 -16
  7. package/android/src/main/cpp/{AudioDecoder → core}/AudioDecoder.cpp +0 -8
  8. package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +2 -0
  9. package/android/src/main/java/com/swmansion/audioapi/nativemodules/AudioAPIModule.kt +6 -4
  10. package/common/cpp/HostObjects/AudioAPIInstallerHostObject.h +48 -0
  11. package/common/cpp/HostObjects/AudioBufferHostObject.h +79 -13
  12. package/common/cpp/HostObjects/AudioBufferSourceNodeHostObject.h +93 -14
  13. package/common/cpp/HostObjects/AudioContextHostObject.h +10 -21
  14. package/common/cpp/HostObjects/AudioDestinationNodeHostObject.h +3 -16
  15. package/common/cpp/HostObjects/AudioNodeHostObject.h +48 -11
  16. package/common/cpp/HostObjects/AudioParamHostObject.h +93 -14
  17. package/common/cpp/HostObjects/AudioScheduledSourceNodeHostObject.h +23 -16
  18. package/common/cpp/HostObjects/BaseAudioContextHostObject.h +131 -14
  19. package/common/cpp/HostObjects/BiquadFilterNodeHostObject.h +76 -18
  20. package/common/cpp/HostObjects/GainNodeHostObject.h +10 -15
  21. package/common/cpp/HostObjects/OscillatorNodeHostObject.h +40 -17
  22. package/common/cpp/HostObjects/PeriodicWaveHostObject.h +4 -17
  23. package/common/cpp/HostObjects/StereoPannerNodeHostObject.h +10 -17
  24. package/common/cpp/core/AudioBufferSourceNode.cpp +181 -73
  25. package/common/cpp/core/AudioBufferSourceNode.h +41 -1
  26. package/{android/src/main/cpp/AudioDecoder → common/cpp/core}/AudioDecoder.h +1 -3
  27. package/common/cpp/core/AudioDestinationNode.h +1 -1
  28. package/common/cpp/core/AudioParam.cpp +218 -58
  29. package/common/cpp/core/AudioParam.h +19 -15
  30. package/common/cpp/core/AudioScheduledSourceNode.cpp +94 -21
  31. package/common/cpp/core/AudioScheduledSourceNode.h +16 -5
  32. package/common/cpp/core/BaseAudioContext.cpp +3 -13
  33. package/common/cpp/core/BaseAudioContext.h +2 -4
  34. package/common/cpp/core/BiquadFilterNode.cpp +5 -7
  35. package/common/cpp/{HostObjects → core}/Constants.h +2 -2
  36. package/common/cpp/core/GainNode.cpp +1 -1
  37. package/common/cpp/core/OscillatorNode.cpp +11 -5
  38. package/common/cpp/core/ParamChangeEvent.cpp +58 -0
  39. package/common/cpp/core/{ParamChange.h → ParamChangeEvent.h} +11 -5
  40. package/common/cpp/core/StereoPannerNode.cpp +1 -1
  41. package/common/cpp/jsi/JsiHostObject.cpp +90 -0
  42. package/common/cpp/jsi/JsiHostObject.h +100 -0
  43. package/common/cpp/{utils → jsi}/JsiPromise.cpp +10 -9
  44. package/common/cpp/jsi/JsiPromise.h +48 -0
  45. package/common/cpp/jsi/RuntimeAwareCache.h +57 -0
  46. package/common/cpp/jsi/RuntimeLifecycleMonitor.cpp +61 -0
  47. package/common/cpp/jsi/RuntimeLifecycleMonitor.h +32 -0
  48. package/common/cpp/types/BiquadFilterType.h +0 -4
  49. package/common/cpp/types/ChannelCountMode.h +0 -3
  50. package/common/cpp/types/ChannelInterpretation.h +0 -3
  51. package/common/cpp/types/ContextState.h +0 -3
  52. package/common/cpp/types/OscillatorType.h +0 -4
  53. package/common/cpp/types/ParamChangeEventType.h +13 -0
  54. package/common/cpp/utils/AudioUtils.cpp +26 -0
  55. package/common/cpp/utils/AudioUtils.h +12 -0
  56. package/common/cpp/utils/{ios/FFTFrame.cpp → FFTFrame.cpp} +30 -3
  57. package/common/cpp/utils/VectorMath.h +7 -33
  58. package/ios/AudioAPIModule.h +4 -12
  59. package/ios/AudioAPIModule.mm +26 -25
  60. package/ios/core/AudioDecoder.mm +45 -0
  61. package/ios/{AudioPlayer → core}/AudioPlayer.m +2 -1
  62. package/lib/module/core/AudioBuffer.js +3 -1
  63. package/lib/module/core/AudioBuffer.js.map +1 -1
  64. package/lib/module/core/AudioBufferSourceNode.js +19 -2
  65. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  66. package/lib/module/core/AudioContext.js +3 -1
  67. package/lib/module/core/AudioContext.js.map +1 -1
  68. package/lib/module/core/AudioDestinationNode.js +4 -6
  69. package/lib/module/core/AudioDestinationNode.js.map +1 -1
  70. package/lib/module/core/AudioNode.js +3 -1
  71. package/lib/module/core/AudioNode.js.map +1 -1
  72. package/lib/module/core/AudioParam.js +27 -1
  73. package/lib/module/core/AudioParam.js.map +1 -1
  74. package/lib/module/core/AudioScheduledSourceNode.js +4 -5
  75. package/lib/module/core/AudioScheduledSourceNode.js.map +1 -1
  76. package/lib/module/core/BaseAudioContext.js +11 -9
  77. package/lib/module/core/BaseAudioContext.js.map +1 -1
  78. package/lib/module/core/BiquadFilterNode.js +5 -3
  79. package/lib/module/core/BiquadFilterNode.js.map +1 -1
  80. package/lib/module/core/GainNode.js +4 -2
  81. package/lib/module/core/GainNode.js.map +1 -1
  82. package/lib/module/core/OscillatorNode.js +5 -3
  83. package/lib/module/core/OscillatorNode.js.map +1 -1
  84. package/lib/module/core/PeriodicWave.js +2 -0
  85. package/lib/module/core/PeriodicWave.js.map +1 -1
  86. package/lib/module/core/StereoPannerNode.js +4 -2
  87. package/lib/module/core/StereoPannerNode.js.map +1 -1
  88. package/lib/module/core/types.js +1 -1
  89. package/lib/module/errors/IndexSizeError.js +2 -0
  90. package/lib/module/errors/IndexSizeError.js.map +1 -1
  91. package/lib/module/errors/InvalidAccessError.js +2 -0
  92. package/lib/module/errors/InvalidAccessError.js.map +1 -1
  93. package/lib/module/errors/InvalidStateError.js +2 -0
  94. package/lib/module/errors/InvalidStateError.js.map +1 -1
  95. package/lib/module/errors/RangeError.js +2 -0
  96. package/lib/module/errors/RangeError.js.map +1 -1
  97. package/lib/module/errors/index.js +6 -4
  98. package/lib/module/errors/index.js.map +1 -1
  99. package/lib/module/index.js +35 -10
  100. package/lib/module/index.js.map +1 -1
  101. package/lib/module/index.native.js +16 -14
  102. package/lib/module/index.native.js.map +1 -1
  103. package/lib/module/interfaces.js +2 -0
  104. package/lib/module/specs/global.d.js +4 -0
  105. package/lib/module/{modules → specs}/global.d.js.map +1 -1
  106. package/lib/module/{utils → specs}/install.js +5 -9
  107. package/lib/module/specs/install.js.map +1 -0
  108. package/lib/typescript/core/AudioBuffer.d.ts +2 -0
  109. package/lib/typescript/core/AudioBuffer.d.ts.map +1 -1
  110. package/lib/typescript/core/AudioBufferSourceNode.d.ts +7 -0
  111. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  112. package/lib/typescript/core/AudioDestinationNode.d.ts +0 -3
  113. package/lib/typescript/core/AudioDestinationNode.d.ts.map +1 -1
  114. package/lib/typescript/core/AudioParam.d.ts +4 -0
  115. package/lib/typescript/core/AudioParam.d.ts.map +1 -1
  116. package/lib/typescript/core/AudioScheduledSourceNode.d.ts +0 -3
  117. package/lib/typescript/core/AudioScheduledSourceNode.d.ts.map +1 -1
  118. package/lib/typescript/core/PeriodicWave.d.ts +2 -0
  119. package/lib/typescript/core/PeriodicWave.d.ts.map +1 -1
  120. package/lib/typescript/index.d.ts +13 -3
  121. package/lib/typescript/index.d.ts.map +1 -1
  122. package/lib/typescript/interfaces.d.ts +8 -0
  123. package/lib/typescript/interfaces.d.ts.map +1 -1
  124. package/lib/typescript/{utils → specs}/install.d.ts.map +1 -1
  125. package/metro-config/index.d.ts +5 -0
  126. package/metro-config/index.js +41 -0
  127. package/metro-config/tsconfig.json +3 -0
  128. package/package.json +50 -16
  129. package/scripts/audioapi_utils.rb +56 -0
  130. package/src/core/AudioBufferSourceNode.ts +23 -0
  131. package/src/core/AudioDestinationNode.ts +1 -7
  132. package/src/core/AudioParam.ts +48 -0
  133. package/src/core/AudioScheduledSourceNode.ts +0 -5
  134. package/src/index.native.ts +1 -1
  135. package/src/index.ts +54 -13
  136. package/src/interfaces.ts +17 -0
  137. package/src/{modules → specs}/global.d.ts +2 -0
  138. package/src/{utils → specs}/install.ts +4 -11
  139. package/android/src/main/cpp/AudioAPIInstaller/AudioAPIInstaller.cpp +0 -26
  140. package/common/cpp/AudioAPIInstaller/AudioAPIInstallerHostObject.cpp +0 -58
  141. package/common/cpp/AudioAPIInstaller/AudioAPIInstallerHostObject.h +0 -51
  142. package/common/cpp/AudioAPIInstaller/AudioAPIInstallerWrapper.h +0 -38
  143. package/common/cpp/AudioAPIInstaller/android/AudioAPIInstallerWrapper.cpp +0 -16
  144. package/common/cpp/AudioAPIInstaller/ios/AudioAPIInstallerWrapper.cpp +0 -12
  145. package/common/cpp/HostObjects/AudioBufferHostObject.cpp +0 -150
  146. package/common/cpp/HostObjects/AudioBufferSourceNodeHostObject.cpp +0 -79
  147. package/common/cpp/HostObjects/AudioContextHostObject.cpp +0 -55
  148. package/common/cpp/HostObjects/AudioDestinationNodeHostObject.cpp +0 -33
  149. package/common/cpp/HostObjects/AudioNodeHostObject.cpp +0 -102
  150. package/common/cpp/HostObjects/AudioParamHostObject.cpp +0 -115
  151. package/common/cpp/HostObjects/AudioScheduledSourceNodeHostObject.cpp +0 -73
  152. package/common/cpp/HostObjects/BaseAudioContextHostObject.cpp +0 -250
  153. package/common/cpp/HostObjects/BiquadFilterNodeHostObject.cpp +0 -125
  154. package/common/cpp/HostObjects/GainNodeHostObject.cpp +0 -41
  155. package/common/cpp/HostObjects/OscillatorNodeHostObject.cpp +0 -88
  156. package/common/cpp/HostObjects/PeriodicWaveHostObject.cpp +0 -33
  157. package/common/cpp/HostObjects/StereoPannerNodeHostObject.cpp +0 -41
  158. package/common/cpp/core/ParamChange.cpp +0 -46
  159. package/common/cpp/utils/JsiPromise.h +0 -48
  160. package/common/cpp/utils/android/FFTFrame.cpp +0 -23
  161. package/common/cpp/wrappers/AudioBufferSourceNodeWrapper.cpp +0 -45
  162. package/common/cpp/wrappers/AudioBufferSourceNodeWrapper.h +0 -26
  163. package/common/cpp/wrappers/AudioBufferWrapper.cpp +0 -46
  164. package/common/cpp/wrappers/AudioBufferWrapper.h +0 -30
  165. package/common/cpp/wrappers/AudioContextWrapper.cpp +0 -17
  166. package/common/cpp/wrappers/AudioContextWrapper.h +0 -19
  167. package/common/cpp/wrappers/AudioDestinationNodeWrapper.h +0 -16
  168. package/common/cpp/wrappers/AudioNodeWrapper.cpp +0 -37
  169. package/common/cpp/wrappers/AudioNodeWrapper.h +0 -25
  170. package/common/cpp/wrappers/AudioParamWrapper.cpp +0 -42
  171. package/common/cpp/wrappers/AudioParamWrapper.h +0 -25
  172. package/common/cpp/wrappers/AudioScheduledSourceNodeWrapper.cpp +0 -23
  173. package/common/cpp/wrappers/AudioScheduledSourceNodeWrapper.h +0 -23
  174. package/common/cpp/wrappers/BaseAudioContextWrapper.cpp +0 -83
  175. package/common/cpp/wrappers/BaseAudioContextWrapper.h +0 -51
  176. package/common/cpp/wrappers/BiquadFilterNodeWrapper.cpp +0 -60
  177. package/common/cpp/wrappers/BiquadFilterNodeWrapper.h +0 -37
  178. package/common/cpp/wrappers/GainNodeWrapper.cpp +0 -14
  179. package/common/cpp/wrappers/GainNodeWrapper.h +0 -20
  180. package/common/cpp/wrappers/OscillatorNodeWrapper.cpp +0 -44
  181. package/common/cpp/wrappers/OscillatorNodeWrapper.h +0 -31
  182. package/common/cpp/wrappers/PeriodicWaveWrapper.h +0 -17
  183. package/common/cpp/wrappers/StereoPannerNodeWrapper.cpp +0 -16
  184. package/common/cpp/wrappers/StereoPannerNodeWrapper.h +0 -21
  185. package/ios/AudioDecoder/AudioDecoder.h +0 -17
  186. package/ios/AudioDecoder/AudioDecoder.m +0 -80
  187. package/ios/AudioDecoder/IOSAudioDecoder.h +0 -28
  188. package/ios/AudioDecoder/IOSAudioDecoder.mm +0 -46
  189. package/lib/module/modules/global.d.js +0 -2
  190. package/lib/module/utils/install.js.map +0 -1
  191. /package/android/src/main/cpp/{AudioPlayer → core}/AudioPlayer.cpp +0 -0
  192. /package/android/src/main/cpp/{AudioPlayer → core}/AudioPlayer.h +0 -0
  193. /package/{android/libs/include → common/cpp/libs}/miniaudio.h +0 -0
  194. /package/ios/{AudioPlayer → core}/AudioPlayer.h +0 -0
  195. /package/ios/{AudioPlayer → core}/IOSAudioPlayer.h +0 -0
  196. /package/ios/{AudioPlayer → core}/IOSAudioPlayer.mm +0 -0
  197. /package/lib/typescript/{utils → specs}/install.d.ts +0 -0
@@ -0,0 +1,26 @@
1
+ #include "AudioUtils.h"
2
+
3
+ namespace audioapi::AudioUtils {
4
+ size_t timeToSampleFrame(double time, int sampleRate) {
5
+ return static_cast<size_t>(time * sampleRate);
6
+ }
7
+
8
+ double sampleFrameToTime(int sampleFrame, int sampleRate) {
9
+ return static_cast<double>(sampleFrame) / sampleRate;
10
+ }
11
+
12
+ float linearInterpolate(
13
+ const float *source,
14
+ size_t firstIndex,
15
+ size_t secondIndex,
16
+ float factor) {
17
+ if (firstIndex == secondIndex && firstIndex >= 1) {
18
+ return source[firstIndex] +
19
+ factor * (source[firstIndex] - source[firstIndex - 1]);
20
+ }
21
+
22
+ return source[firstIndex] +
23
+ factor * (source[secondIndex] - source[firstIndex]);
24
+ }
25
+
26
+ } // namespace audioapi::AudioUtils
@@ -0,0 +1,12 @@
1
+ #pragma once
2
+
3
+ #include <cstddef>
4
+
5
+ namespace audioapi::AudioUtils {
6
+ size_t timeToSampleFrame(double time, int sampleRate);
7
+
8
+ double sampleFrameToTime(int sampleFrame, int sampleRate);
9
+
10
+ float linearInterpolate(const float *source, size_t firstIndex, size_t secondIndex, float factor);
11
+
12
+ } // namespace audioapi::AudioUtils
@@ -1,8 +1,15 @@
1
- #if defined(HAVE_ACCELERATE)
2
1
  #include "FFTFrame.h"
3
- #include "Accelerate/Accelerate.h"
2
+
3
+ #if defined(HAVE_ACCELERATE)
4
+ #include <Accelerate/Accelerate.h>
5
+ #endif
6
+
7
+ #if defined(ANDROID)
8
+ #include <fftw3.h>
9
+ #endif
4
10
 
5
11
  namespace audioapi {
12
+ #if defined(HAVE_ACCELERATE)
6
13
 
7
14
  void FFTFrame::inverse(float *timeDomainData) {
8
15
  FFTSetup fftSetup_ = vDSP_create_fftsetup(log2Size_, FFT_RADIX2);
@@ -25,5 +32,25 @@ void FFTFrame::inverse(float *timeDomainData) {
25
32
 
26
33
  vDSP_destroy_fftsetup(fftSetup_);
27
34
  }
28
- } // namespace audioapi
35
+
36
+ #elif defined(ANDROID)
37
+
38
+ void FFTFrame::inverse(float *timeDomainData) {
39
+ fftwf_complex *freqDomainData = fftwf_alloc_complex(size_ / 2);
40
+ for (int i = 0; i < size_ / 2; i++) {
41
+ freqDomainData[i][0] = realData_[i];
42
+ freqDomainData[i][1] = imaginaryData_[i];
43
+ }
44
+
45
+ auto plan = fftwf_plan_dft_c2r_1d(
46
+ size_, freqDomainData, timeDomainData, FFTW_ESTIMATE);
47
+ fftwf_execute(plan);
48
+ fftwf_destroy_plan(plan);
49
+ fftwf_free(freqDomainData);
50
+
51
+ VectorMath::multiplyByScalar(
52
+ timeDomainData, 1.0f / static_cast<float>(size_), timeDomainData, size_);
53
+ }
54
+
29
55
  #endif
56
+ } // namespace audioapi
@@ -32,40 +32,14 @@
32
32
 
33
33
  namespace audioapi::VectorMath {
34
34
 
35
- void multiplyByScalarThenAddToOutput(
36
- const float *inputVector,
37
- float scalar,
38
- float *outputVector,
39
- size_t numberOfElementsToProcess);
35
+ void multiplyByScalarThenAddToOutput(const float *inputVector, float scalar, float *outputVector, size_t numberOfElementsToProcess);
40
36
 
41
- void multiplyByScalar(
42
- const float *inputVector,
43
- float scalar,
44
- float *outputVector,
45
- size_t numberOfElementsToProcess);
46
- void addScalar(
47
- const float *inputVector,
48
- float scalar,
49
- float *outputVector,
50
- size_t numberOfElementsToProcess);
51
- void add(
52
- const float *inputVector1,
53
- const float *inputVector2,
54
- float *outputVector,
55
- size_t numberOfElementsToProcess);
56
- void subtract(
57
- const float *inputVector1,
58
- const float *inputVector2,
59
- float *outputVector,
60
- size_t numberOfElementsToProcess);
61
- void multiply(
62
- const float *inputVector1,
63
- const float *inputVector2,
64
- float *outputVector,
65
- size_t numberOfElementsToProcess);
37
+ void multiplyByScalar(const float *inputVector, float scalar, float *outputVector, size_t numberOfElementsToProcess);
38
+ void addScalar(const float *inputVector, float scalar, float *outputVector, size_t numberOfElementsToProcess);
39
+ void add(const float *inputVector1, const float *inputVector2, float *outputVector, size_t numberOfElementsToProcess);
40
+ void subtract(const float *inputVector1, const float *inputVector2, float *outputVector, size_t numberOfElementsToProcess);
41
+ void multiply(const float *inputVector1, const float *inputVector2, float *outputVector, size_t numberOfElementsToProcess);
66
42
 
67
43
  // Finds the maximum magnitude of a float vector.
68
- float maximumMagnitude(
69
- const float *inputVector,
70
- size_t numberOfElementsToProcess);
44
+ float maximumMagnitude(const float *inputVector, size_t numberOfElementsToProcess);
71
45
  } // namespace audioapi::VectorMath
@@ -1,9 +1,6 @@
1
1
  #ifdef RCT_NEW_ARCH_ENABLED
2
- #import <React/RCTInitializing.h>
3
- #if REACT_NATIVE_MINOR_VERSION >= 74
4
- #import <React/RCTRuntimeExecutorModule.h>
5
- #import <ReactCommon/RCTRuntimeExecutor.h>
6
- #endif // REACT_NATIVE_MINOR_VERSION >= 74
2
+ #import <React/RCTCallInvokerModule.h>
3
+ #import <rnaudioapi/rnaudioapi.h>
7
4
  #else // RCT_NEW_ARCH_ENABLED
8
5
  #import <React/RCTBridgeModule.h>
9
6
  #endif // RCT_NEW_ARCH_ENABLED
@@ -12,13 +9,8 @@
12
9
 
13
10
  @interface AudioAPIModule : RCTEventEmitter
14
11
  #ifdef RCT_NEW_ARCH_ENABLED
15
- <RCTInitializing
16
- #if REACT_NATIVE_MINOR_VERSION >= 74
17
- ,
18
- RCTRuntimeExecutorModule
19
- #endif // REACT_NATIVE_MINOR_VERSION >= 74
12
+ <RCTCallInvokerModule>
20
13
  #else
21
- <RCTBridgeModule
14
+ <RCTBridgeModule>
22
15
  #endif // RCT_NEW_ARCH_ENABLED
23
- >
24
16
  @end
@@ -1,44 +1,45 @@
1
1
  #import "AudioAPIModule.h"
2
2
 
3
+ #ifdef RCT_NEW_ARCH_ENABLED
3
4
  #import <React/RCTBridge+Private.h>
4
- #import <React/RCTBridge.h>
5
- #import <React/RCTUtils.h>
5
+ #import <React/RCTCallInvoker.h>
6
6
  #import <ReactCommon/RCTTurboModule.h>
7
- #import <jsi/jsi.h>
7
+ #endif // RCT_NEW_ARCH_ENABLED
8
8
 
9
9
  #import "AudioAPIInstallerHostObject.h"
10
- #import "AudioAPIInstallerWrapper.h"
11
10
 
12
11
  @implementation AudioAPIModule
13
12
 
13
+ #if defined(RCT_NEW_ARCH_ENABLED)
14
+ // nothing
15
+ #else // defined(RCT_NEW_ARCH_ENABLED)
16
+ @interface RCTBridge (RCTTurboModule)
17
+ - (std::shared_ptr<facebook::react::CallInvoker>)jsCallInvoker;
18
+ - (void)_tryAndHandleError:(dispatch_block_t)block;
19
+ @end
20
+ #endif // RCT_NEW_ARCH_ENABLED
21
+
22
+ #if defined(RCT_NEW_ARCH_ENABLED)
23
+ @synthesize callInvoker = _callInvoker;
24
+ #endif // defined(RCT_NEW_ARCH_ENABLED)
25
+
14
26
  RCT_EXPORT_MODULE(AudioAPIModule)
15
27
 
16
28
  RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install)
17
29
  {
18
- NSLog(@"Installing JSI bindings for react-native-audio-api...");
19
- RCTCxxBridge *cxxBridge = (RCTCxxBridge *)self.bridge;
20
-
21
- if (cxxBridge == nil) {
22
- NSLog(@"Error during getting bridge!");
23
- return @false;
24
- }
25
-
26
- using namespace facebook;
27
-
28
- auto jsRuntime = (jsi::Runtime *)cxxBridge.runtime;
30
+ auto *cxxBridge = reinterpret_cast<RCTCxxBridge *>(self.bridge);
31
+ auto jsiRuntime = reinterpret_cast<facebook::jsi::Runtime *>(cxxBridge.runtime);
29
32
 
30
- if (jsRuntime == nil) {
31
- NSLog(@"Error during getting jsRuntime!");
32
- return @false;
33
- }
33
+ #if defined(RCT_NEW_ARCH_ENABLED)
34
+ auto jsCallInvoker = _callInvoker.callInvoker;
35
+ #else // defined(RCT_NEW_ARCH_ENABLED)
36
+ auto jsCallInvoker = self.bridge.jsCallInvoker;
37
+ #endif // defined(RCT_NEW_ARCH_ENABLED)
34
38
 
35
- auto &runtime = *jsRuntime;
39
+ assert(jsiRuntime != nullptr);
36
40
 
37
- auto wrapper = std::make_shared<audioapi::AudioAPIInstallerWrapper>();
38
- auto hostObject =
39
- std::make_shared<audioapi::AudioAPIInstallerHostObject>(wrapper, jsRuntime, cxxBridge.jsCallInvoker);
40
- auto object = jsi::Object::createFromHostObject(runtime, hostObject);
41
- runtime.global().setProperty(runtime, "__AudioAPIInstaller", std::move(object));
41
+ auto hostObject = std::make_shared<audioapi::AudioAPIInstallerHostObject>(jsiRuntime, jsCallInvoker);
42
+ hostObject->install();
42
43
 
43
44
  NSLog(@"Successfully installed JSI bindings for react-native-audio-api!");
44
45
  return @true;
@@ -0,0 +1,45 @@
1
+ #define MINIAUDIO_IMPLEMENTATION
2
+ #import <miniaudio.h>
3
+
4
+ #include <AudioArray.h>
5
+ #include <AudioBus.h>
6
+ #include <AudioDecoder.h>
7
+
8
+ namespace audioapi {
9
+
10
+ AudioBus *AudioDecoder::decodeWithFilePath(const std::string &path) const
11
+ {
12
+ ma_decoder decoder;
13
+ ma_decoder_config config = ma_decoder_config_init(ma_format_f32, 2, sampleRate_);
14
+ ma_result result = ma_decoder_init_file(path.c_str(), &config, &decoder);
15
+ if (result != MA_SUCCESS) {
16
+ NSLog(@"Failed to initialize decoder for file: %s", path.c_str());
17
+ return new AudioBus(1, 1, 1);
18
+ }
19
+
20
+ ma_uint64 totalFrameCount;
21
+ ma_decoder_get_length_in_pcm_frames(&decoder, &totalFrameCount);
22
+
23
+ auto *audioBus = new AudioBus(sampleRate_, static_cast<int>(totalFrameCount), 2);
24
+ auto *buffer = new float[totalFrameCount * 2];
25
+
26
+ ma_uint64 framesDecoded;
27
+ ma_decoder_read_pcm_frames(&decoder, buffer, totalFrameCount, &framesDecoded);
28
+ if (framesDecoded == 0) {
29
+ NSLog(@"Failed to decode audio file: %s", path.c_str());
30
+ }
31
+
32
+ for (int i = 0; i < decoder.outputChannels; ++i) {
33
+ float *channelData = audioBus->getChannel(i)->getData();
34
+
35
+ for (ma_uint64 j = 0; j < framesDecoded; ++j) {
36
+ channelData[j] = buffer[j * decoder.outputChannels + i];
37
+ }
38
+ }
39
+
40
+ delete[] buffer;
41
+ ma_decoder_uninit(&decoder);
42
+
43
+ return audioBus;
44
+ }
45
+ } // namespace audioapi
@@ -62,7 +62,8 @@
62
62
  // which is safer to base our internal AudioBus sizes.
63
63
  // Buut no documentation => no guarantee :)
64
64
  // If something is crackling when it should play silence, start here 📻
65
- double maxBufferDuration = fmax(0.02, fmax(self.audioSession.IOBufferDuration, self.audioSession.preferredIOBufferDuration));
65
+ double maxBufferDuration =
66
+ fmax(0.02, fmax(self.audioSession.IOBufferDuration, self.audioSession.preferredIOBufferDuration));
66
67
  return (int)(maxBufferDuration * self.audioSession.sampleRate + 1);
67
68
  }
68
69
 
@@ -1,4 +1,6 @@
1
- import { IndexSizeError } from '../errors';
1
+ "use strict";
2
+
3
+ import { IndexSizeError } from "../errors/index.js";
2
4
  export default class AudioBuffer {
3
5
  /** @internal */
4
6
 
@@ -1 +1 @@
1
- {"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["core/AudioBuffer.ts"],"mappings":"AACA,SAASA,cAAc,QAAQ,WAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAK/B;;EAGAC,WAAWA,CAACC,MAAoB,EAAE;IAChC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,EAAY;IAC/C,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIP,cAAc,CACtB,gCAAgCS,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IACA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOC,eAAeA,CACpBC,WAAqB,EACrBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACO,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAgB,EAChBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACW,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF","ignoreList":[]}
1
+ {"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["core/AudioBuffer.ts"],"mappings":";;AACA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAK/B;;EAGAC,WAAWA,CAACC,MAAoB,EAAE;IAChC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,EAAY;IAC/C,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIP,cAAc,CACtB,gCAAgCS,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IACA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOC,eAAeA,CACpBC,WAAqB,EACrBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACO,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAgB,EAChBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACW,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF","ignoreList":[]}
@@ -1,8 +1,13 @@
1
- import AudioScheduledSourceNode from './AudioScheduledSourceNode';
2
- import AudioBuffer from './AudioBuffer';
1
+ "use strict";
2
+
3
+ import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
4
+ import AudioBuffer from "./AudioBuffer.js";
5
+ import AudioParam from "./AudioParam.js";
3
6
  export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
4
7
  constructor(context, node) {
5
8
  super(context, node);
9
+ this.detune = new AudioParam(node.detune);
10
+ this.playbackRate = new AudioParam(node.playbackRate);
6
11
  }
7
12
  get buffer() {
8
13
  const buffer = this.node.buffer;
@@ -24,5 +29,17 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
24
29
  set loop(value) {
25
30
  this.node.loop = value;
26
31
  }
32
+ get loopStart() {
33
+ return this.node.loopStart;
34
+ }
35
+ set loopStart(value) {
36
+ this.node.loopStart = value;
37
+ }
38
+ get loopEnd() {
39
+ return this.node.loopEnd;
40
+ }
41
+ set loopEnd(value) {
42
+ this.node.loopEnd = value;
43
+ }
27
44
  }
28
45
  //# sourceMappingURL=AudioBufferSourceNode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioBufferSourceNode","constructor","context","node","buffer","loop","value"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":"AACA,OAAOA,wBAAwB,MAAM,4BAA4B;AAEjE,OAAOC,WAAW,MAAM,eAAe;AAEvC,eAAe,MAAMC,qBAAqB,SAASF,wBAAwB,CAAC;EAC1EG,WAAWA,CAACC,OAAyB,EAAEC,IAA4B,EAAE;IACnE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;EACtB;EAEA,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACD,IAAI,CAA4BC,MAAM;IAC3D,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAIL,WAAW,CAACK,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACD,IAAI,CAA4BC,MAAM,GAAG,IAAI;MACnD;IACF;IAEC,IAAI,CAACD,IAAI,CAA4BC,MAAM,GAAGA,MAAM,CAACA,MAAM;EAC9D;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACF,IAAI,CAA4BE,IAAI;EACnD;EAEA,IAAWA,IAAIA,CAACC,KAAc,EAAE;IAC7B,IAAI,CAACH,IAAI,CAA4BE,IAAI,GAAGC,KAAK;EACpD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioParam","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,UAAU,MAAM,iBAAc;AAErC,eAAe,MAAMC,qBAAqB,SAASH,wBAAwB,CAAC;EAI1EI,WAAWA,CAACC,OAAyB,EAAEC,IAA4B,EAAE;IACnE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIL,UAAU,CAACI,IAAI,CAACC,MAAM,CAAC;IACzC,IAAI,CAACC,YAAY,GAAG,IAAIN,UAAU,CAACI,IAAI,CAACE,YAAY,CAAC;EACvD;EAEA,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACH,IAAI,CAA4BG,MAAM;IAC3D,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAIR,WAAW,CAACQ,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACH,IAAI,CAA4BG,MAAM,GAAG,IAAI;MACnD;IACF;IAEC,IAAI,CAACH,IAAI,CAA4BG,MAAM,GAAGA,MAAM,CAACA,MAAM;EAC9D;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACJ,IAAI,CAA4BI,IAAI;EACnD;EAEA,IAAWA,IAAIA,CAACC,KAAc,EAAE;IAC7B,IAAI,CAACL,IAAI,CAA4BI,IAAI,GAAGC,KAAK;EACpD;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC7B,OAAQ,IAAI,CAACN,IAAI,CAA4BM,SAAS;EACxD;EAEA,IAAWA,SAASA,CAACD,KAAa,EAAE;IACjC,IAAI,CAACL,IAAI,CAA4BM,SAAS,GAAGD,KAAK;EACzD;EAEA,IAAWE,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACP,IAAI,CAA4BO,OAAO;EACtD;EAEA,IAAWA,OAAOA,CAACF,KAAa,EAAE;IAC/B,IAAI,CAACL,IAAI,CAA4BO,OAAO,GAAGF,KAAK;EACvD;AACF","ignoreList":[]}
@@ -1,4 +1,6 @@
1
- import BaseAudioContext from './BaseAudioContext';
1
+ "use strict";
2
+
3
+ import BaseAudioContext from "./BaseAudioContext.js";
2
4
  export default class AudioContext extends BaseAudioContext {
3
5
  constructor() {
4
6
  super(global.__AudioAPIInstaller.createAudioContext());
@@ -1 +1 @@
1
- {"version":3,"names":["BaseAudioContext","AudioContext","constructor","global","__AudioAPIInstaller","createAudioContext","close","context"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":"AACA,OAAOA,gBAAgB,MAAM,oBAAoB;AAEjD,eAAe,MAAMC,YAAY,SAASD,gBAAgB,CAAC;EACzDE,WAAWA,CAAA,EAAG;IACZ,KAAK,CAACC,MAAM,CAACC,mBAAmB,CAACC,kBAAkB,CAAC,CAAC,CAAC;EACxD;EAEAC,KAAKA,CAAA,EAAS;IACX,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EACzC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["BaseAudioContext","AudioContext","constructor","global","__AudioAPIInstaller","createAudioContext","close","context"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;AACA,OAAOA,gBAAgB,MAAM,uBAAoB;AAEjD,eAAe,MAAMC,YAAY,SAASD,gBAAgB,CAAC;EACzDE,WAAWA,CAAA,EAAG;IACZ,KAAK,CAACC,MAAM,CAACC,mBAAmB,CAACC,kBAAkB,CAAC,CAAC,CAAC;EACxD;EAEAC,KAAKA,CAAA,EAAS;IACX,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EACzC;AACF","ignoreList":[]}
@@ -1,7 +1,5 @@
1
- import AudioNode from './AudioNode';
2
- export default class AudioDestinationNode extends AudioNode {
3
- constructor(context, destination) {
4
- super(context, destination);
5
- }
6
- }
1
+ "use strict";
2
+
3
+ import AudioNode from "./AudioNode.js";
4
+ export default class AudioDestinationNode extends AudioNode {}
7
5
  //# sourceMappingURL=AudioDestinationNode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","AudioDestinationNode","constructor","context","destination"],"sourceRoot":"../../../src","sources":["core/AudioDestinationNode.ts"],"mappings":"AACA,OAAOA,SAAS,MAAM,aAAa;AAGnC,eAAe,MAAMC,oBAAoB,SAASD,SAAS,CAAC;EAC1DE,WAAWA,CAACC,OAAyB,EAAEC,WAAkC,EAAE;IACzE,KAAK,CAACD,OAAO,EAAEC,WAAW,CAAC;EAC7B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioNode","AudioDestinationNode"],"sourceRoot":"../../../src","sources":["core/AudioDestinationNode.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAEnC,eAAe,MAAMC,oBAAoB,SAASD,SAAS,CAAC","ignoreList":[]}
@@ -1,4 +1,6 @@
1
- import { InvalidAccessError } from '../errors';
1
+ "use strict";
2
+
3
+ import { InvalidAccessError } from "../errors/index.js";
2
4
  export default class AudioNode {
3
5
  constructor(context, node) {
4
6
  this.context = context;
@@ -1 +1 @@
1
- {"version":3,"names":["InvalidAccessError","AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect"],"sourceRoot":"../../../src","sources":["core/AudioNode.ts"],"mappings":"AAGA,SAASA,kBAAkB,QAAQ,WAAW;AAE9C,eAAe,MAAMC,SAAS,CAAC;EAS7BC,WAAWA,CAACC,OAAyB,EAAEC,IAAgB,EAAE;IACvD,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,cAAc,GAAG,IAAI,CAACD,IAAI,CAACC,cAAc;IAC9C,IAAI,CAACC,eAAe,GAAG,IAAI,CAACF,IAAI,CAACE,eAAe;IAChD,IAAI,CAACC,YAAY,GAAG,IAAI,CAACH,IAAI,CAACG,YAAY;IAC1C,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAACJ,IAAI,CAACI,gBAAgB;IAClD,IAAI,CAACC,qBAAqB,GAAG,IAAI,CAACL,IAAI,CAACK,qBAAqB;EAC9D;EAEOC,OAAOA,CAACN,IAAe,EAAQ;IACpC,IAAI,IAAI,CAACD,OAAO,KAAKC,IAAI,CAACD,OAAO,EAAE;MACjC,MAAM,IAAIH,kBAAkB,CAC1B,qDACF,CAAC;IACH;IAEA,IAAI,CAACI,IAAI,CAACM,OAAO,CAACN,IAAI,CAACA,IAAI,CAAC;EAC9B;EAEOO,UAAUA,CAACP,IAAe,EAAQ;IACvC,IAAI,CAACA,IAAI,CAACO,UAAU,CAACP,IAAI,CAACA,IAAI,CAAC;EACjC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["InvalidAccessError","AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect"],"sourceRoot":"../../../src","sources":["core/AudioNode.ts"],"mappings":";;AAGA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,eAAe,MAAMC,SAAS,CAAC;EAS7BC,WAAWA,CAACC,OAAyB,EAAEC,IAAgB,EAAE;IACvD,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,cAAc,GAAG,IAAI,CAACD,IAAI,CAACC,cAAc;IAC9C,IAAI,CAACC,eAAe,GAAG,IAAI,CAACF,IAAI,CAACE,eAAe;IAChD,IAAI,CAACC,YAAY,GAAG,IAAI,CAACH,IAAI,CAACG,YAAY;IAC1C,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAACJ,IAAI,CAACI,gBAAgB;IAClD,IAAI,CAACC,qBAAqB,GAAG,IAAI,CAACL,IAAI,CAACK,qBAAqB;EAC9D;EAEOC,OAAOA,CAACN,IAAe,EAAQ;IACpC,IAAI,IAAI,CAACD,OAAO,KAAKC,IAAI,CAACD,OAAO,EAAE;MACjC,MAAM,IAAIH,kBAAkB,CAC1B,qDACF,CAAC;IACH;IAEA,IAAI,CAACI,IAAI,CAACM,OAAO,CAACN,IAAI,CAACA,IAAI,CAAC;EAC9B;EAEOO,UAAUA,CAACP,IAAe,EAAQ;IACvC,IAAI,CAACA,IAAI,CAACO,UAAU,CAACP,IAAI,CAACA,IAAI,CAAC;EACjC;AACF","ignoreList":[]}
@@ -1,4 +1,6 @@
1
- import { RangeError } from '../errors';
1
+ "use strict";
2
+
3
+ import { RangeError } from "../errors/index.js";
2
4
  export default class AudioParam {
3
5
  constructor(audioParam) {
4
6
  this.audioParam = audioParam;
@@ -31,5 +33,29 @@ export default class AudioParam {
31
33
  }
32
34
  this.audioParam.exponentialRampToValueAtTime(value, endTime);
33
35
  }
36
+ setTargetAtTime(target, startTime, timeConstant) {
37
+ if (startTime < 0) {
38
+ throw new RangeError(`Time must be a finite non-negative number: ${startTime}`);
39
+ }
40
+ this.audioParam.setTargetAtTime(target, startTime, timeConstant);
41
+ }
42
+ setValueCurveAtTime(values, startTime, duration) {
43
+ if (startTime < 0) {
44
+ throw new RangeError(`Time must be a finite non-negative number: ${startTime}`);
45
+ }
46
+ this.audioParam.setValueCurveAtTime(values, startTime, duration);
47
+ }
48
+ cancelScheduledValues(cancelTime) {
49
+ if (cancelTime < 0) {
50
+ throw new RangeError(`Time must be a finite non-negative number: ${cancelTime}`);
51
+ }
52
+ this.audioParam.cancelScheduledValues(cancelTime);
53
+ }
54
+ cancelAndHoldAtTime(cancelTime) {
55
+ if (cancelTime < 0) {
56
+ throw new RangeError(`Time must be a finite non-negative number: ${cancelTime}`);
57
+ }
58
+ this.audioParam.cancelAndHoldAtTime(cancelTime);
59
+ }
34
60
  }
35
61
  //# sourceMappingURL=AudioParam.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RangeError","AudioParam","constructor","audioParam","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":"AACA,SAASA,UAAU,QAAQ,WAAW;AAEtC,eAAe,MAAMC,UAAU,CAAC;EAM9BC,WAAWA,CAACC,UAAuB,EAAE;IACnC,IAAI,CAACA,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,KAAK,GAAGD,UAAU,CAACC,KAAK;IAC7B,IAAI,CAACC,YAAY,GAAGF,UAAU,CAACE,YAAY;IAC3C,IAAI,CAACC,QAAQ,GAAGH,UAAU,CAACG,QAAQ;IACnC,IAAI,CAACC,QAAQ,GAAGJ,UAAU,CAACI,QAAQ;EACrC;EAEA,IAAWH,KAAKA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACD,UAAU,CAACC,KAAK;EAC9B;EAEA,IAAWA,KAAKA,CAACA,KAAa,EAAE;IAC9B,IAAI,CAACD,UAAU,CAACC,KAAK,GAAGA,KAAK;EAC/B;EAEOI,cAAcA,CAACJ,KAAa,EAAEK,SAAiB,EAAQ;IAC5D,IAAIA,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIT,UAAU,CAClB,8CAA8CS,SAAS,EACzD,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACK,cAAc,CAACJ,KAAK,EAAEK,SAAS,CAAC;EAClD;EAEOC,uBAAuBA,CAACN,KAAa,EAAEO,OAAe,EAAQ;IACnE,IAAIA,OAAO,GAAG,CAAC,EAAE;MACf,MAAM,IAAIX,UAAU,CAClB,8CAA8CW,OAAO,EACvD,CAAC;IACH;IAEA,IAAI,CAACR,UAAU,CAACO,uBAAuB,CAACN,KAAK,EAAEO,OAAO,CAAC;EACzD;EAEOC,4BAA4BA,CAACR,KAAa,EAAEO,OAAe,EAAQ;IACxE,IAAIA,OAAO,GAAG,CAAC,EAAE;MACf,MAAM,IAAIX,UAAU,CAClB,8CAA8CW,OAAO,EACvD,CAAC;IACH;IAEA,IAAI,CAACR,UAAU,CAACS,4BAA4B,CAACR,KAAK,EAAEO,OAAO,CAAC;EAC9D;AACF","ignoreList":[]}
1
+ {"version":3,"names":["RangeError","AudioParam","constructor","audioParam","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","cancelScheduledValues","cancelTime","cancelAndHoldAtTime"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":";;AACA,SAASA,UAAU,QAAQ,oBAAW;AAEtC,eAAe,MAAMC,UAAU,CAAC;EAM9BC,WAAWA,CAACC,UAAuB,EAAE;IACnC,IAAI,CAACA,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,KAAK,GAAGD,UAAU,CAACC,KAAK;IAC7B,IAAI,CAACC,YAAY,GAAGF,UAAU,CAACE,YAAY;IAC3C,IAAI,CAACC,QAAQ,GAAGH,UAAU,CAACG,QAAQ;IACnC,IAAI,CAACC,QAAQ,GAAGJ,UAAU,CAACI,QAAQ;EACrC;EAEA,IAAWH,KAAKA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACD,UAAU,CAACC,KAAK;EAC9B;EAEA,IAAWA,KAAKA,CAACA,KAAa,EAAE;IAC9B,IAAI,CAACD,UAAU,CAACC,KAAK,GAAGA,KAAK;EAC/B;EAEOI,cAAcA,CAACJ,KAAa,EAAEK,SAAiB,EAAQ;IAC5D,IAAIA,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIT,UAAU,CAClB,8CAA8CS,SAAS,EACzD,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACK,cAAc,CAACJ,KAAK,EAAEK,SAAS,CAAC;EAClD;EAEOC,uBAAuBA,CAACN,KAAa,EAAEO,OAAe,EAAQ;IACnE,IAAIA,OAAO,GAAG,CAAC,EAAE;MACf,MAAM,IAAIX,UAAU,CAClB,8CAA8CW,OAAO,EACvD,CAAC;IACH;IAEA,IAAI,CAACR,UAAU,CAACO,uBAAuB,CAACN,KAAK,EAAEO,OAAO,CAAC;EACzD;EAEOC,4BAA4BA,CAACR,KAAa,EAAEO,OAAe,EAAQ;IACxE,IAAIA,OAAO,GAAG,CAAC,EAAE;MACf,MAAM,IAAIX,UAAU,CAClB,8CAA8CW,OAAO,EACvD,CAAC;IACH;IAEA,IAAI,CAACR,UAAU,CAACS,4BAA4B,CAACR,KAAK,EAAEO,OAAO,CAAC;EAC9D;EAEOE,eAAeA,CACpBC,MAAc,EACdL,SAAiB,EACjBM,YAAoB,EACd;IACN,IAAIN,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIT,UAAU,CAClB,8CAA8CS,SAAS,EACzD,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACU,eAAe,CAACC,MAAM,EAAEL,SAAS,EAAEM,YAAY,CAAC;EAClE;EAEOC,mBAAmBA,CACxBC,MAAgB,EAChBR,SAAiB,EACjBS,QAAgB,EACV;IACN,IAAIT,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIT,UAAU,CAClB,8CAA8CS,SAAS,EACzD,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACa,mBAAmB,CAACC,MAAM,EAAER,SAAS,EAAES,QAAQ,CAAC;EAClE;EAEOC,qBAAqBA,CAACC,UAAkB,EAAQ;IACrD,IAAIA,UAAU,GAAG,CAAC,EAAE;MAClB,MAAM,IAAIpB,UAAU,CAClB,8CAA8CoB,UAAU,EAC1D,CAAC;IACH;IAEA,IAAI,CAACjB,UAAU,CAACgB,qBAAqB,CAACC,UAAU,CAAC;EACnD;EAEOC,mBAAmBA,CAACD,UAAkB,EAAQ;IACnD,IAAIA,UAAU,GAAG,CAAC,EAAE;MAClB,MAAM,IAAIpB,UAAU,CAClB,8CAA8CoB,UAAU,EAC1D,CAAC;IACH;IAEA,IAAI,CAACjB,UAAU,CAACkB,mBAAmB,CAACD,UAAU,CAAC;EACjD;AACF","ignoreList":[]}
@@ -1,10 +1,9 @@
1
- import AudioNode from './AudioNode';
2
- import { InvalidStateError, RangeError } from '../errors';
1
+ "use strict";
2
+
3
+ import AudioNode from "./AudioNode.js";
4
+ import { InvalidStateError, RangeError } from "../errors/index.js";
3
5
  export default class AudioScheduledSourceNode extends AudioNode {
4
6
  hasBeenStarted = false;
5
- constructor(context, node) {
6
- super(context, node);
7
- }
8
7
  start(when = 0) {
9
8
  if (when < 0) {
10
9
  throw new RangeError(`Time must be a finite non-negative number: ${when}`);
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","InvalidStateError","RangeError","AudioScheduledSourceNode","hasBeenStarted","constructor","context","node","start","when","stop"],"sourceRoot":"../../../src","sources":["core/AudioScheduledSourceNode.ts"],"mappings":"AACA,OAAOA,SAAS,MAAM,aAAa;AAEnC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,WAAW;AAEzD,eAAe,MAAMC,wBAAwB,SAASH,SAAS,CAAC;EACtDI,cAAc,GAAY,KAAK;EAEvCC,WAAWA,CAACC,OAAyB,EAAEC,IAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;EACtB;EAEOC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAQ;IACnC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIP,UAAU,CAClB,8CAA8CO,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,IAAI,CAACL,cAAc,EAAE;MACvB,MAAM,IAAIH,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACG,cAAc,GAAG,IAAI;IACzB,IAAI,CAACG,IAAI,CAA+BC,KAAK,CAACC,IAAI,CAAC;EACtD;EAEOC,IAAIA,CAACD,IAAY,GAAG,CAAC,EAAQ;IAClC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIP,UAAU,CAClB,8CAA8CO,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,CAAC,IAAI,CAACL,cAAc,EAAE;MACxB,MAAM,IAAIH,iBAAiB,CACzB,8CACF,CAAC;IACH;IAEC,IAAI,CAACM,IAAI,CAA+BG,IAAI,CAACD,IAAI,CAAC;EACrD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioNode","InvalidStateError","RangeError","AudioScheduledSourceNode","hasBeenStarted","start","when","node","stop"],"sourceRoot":"../../../src","sources":["core/AudioScheduledSourceNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,wBAAwB,SAASH,SAAS,CAAC;EACtDI,cAAc,GAAY,KAAK;EAEhCC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAQ;IACnC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIJ,UAAU,CAClB,8CAA8CI,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,IAAI,CAACF,cAAc,EAAE;MACvB,MAAM,IAAIH,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACG,cAAc,GAAG,IAAI;IACzB,IAAI,CAACG,IAAI,CAA+BF,KAAK,CAACC,IAAI,CAAC;EACtD;EAEOE,IAAIA,CAACF,IAAY,GAAG,CAAC,EAAQ;IAClC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIJ,UAAU,CAClB,8CAA8CI,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE;MACxB,MAAM,IAAIH,iBAAiB,CACzB,8CACF,CAAC;IACH;IAEC,IAAI,CAACM,IAAI,CAA+BC,IAAI,CAACF,IAAI,CAAC;EACrD;AACF","ignoreList":[]}
@@ -1,12 +1,14 @@
1
- import AudioDestinationNode from './AudioDestinationNode';
2
- import OscillatorNode from './OscillatorNode';
3
- import GainNode from './GainNode';
4
- import StereoPannerNode from './StereoPannerNode';
5
- import BiquadFilterNode from './BiquadFilterNode';
6
- import AudioBufferSourceNode from './AudioBufferSourceNode';
7
- import AudioBuffer from './AudioBuffer';
8
- import PeriodicWave from './PeriodicWave';
9
- import { InvalidAccessError } from '../errors';
1
+ "use strict";
2
+
3
+ import AudioDestinationNode from "./AudioDestinationNode.js";
4
+ import OscillatorNode from "./OscillatorNode.js";
5
+ import GainNode from "./GainNode.js";
6
+ import StereoPannerNode from "./StereoPannerNode.js";
7
+ import BiquadFilterNode from "./BiquadFilterNode.js";
8
+ import AudioBufferSourceNode from "./AudioBufferSourceNode.js";
9
+ import AudioBuffer from "./AudioBuffer.js";
10
+ import PeriodicWave from "./PeriodicWave.js";
11
+ import { InvalidAccessError } from "../errors/index.js";
10
12
  export default class BaseAudioContext {
11
13
  constructor(context) {
12
14
  this.context = context;
@@ -1 +1 @@
1
- {"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","InvalidAccessError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","length","RangeError","createPeriodicWave","real","imag","constraints","disableNormalization","decodeAudioDataSource","sourcePath","buffer"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","InvalidAccessError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","length","RangeError","createPeriodicWave","real","imag","constraints","disableNormalization","decodeAudioDataSource","sourcePath","buffer"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,8 @@
1
- import { InvalidAccessError } from '../errors';
2
- import AudioNode from './AudioNode';
3
- import AudioParam from './AudioParam';
1
+ "use strict";
2
+
3
+ import { InvalidAccessError } from "../errors/index.js";
4
+ import AudioNode from "./AudioNode.js";
5
+ import AudioParam from "./AudioParam.js";
4
6
  export default class BiquadFilterNode extends AudioNode {
5
7
  constructor(context, biquadFilter) {
6
8
  super(context, biquadFilter);
@@ -1 +1 @@
1
- {"version":3,"names":["InvalidAccessError","AudioNode","AudioParam","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,WAAW;AAE9C,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,UAAU,MAAM,cAAc;AAIrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CAACC,OAAyB,EAAEC,YAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIL,UAAU,CAACI,YAAY,CAACC,SAAS,CAAC;IACvD,IAAI,CAACC,MAAM,GAAG,IAAIN,UAAU,CAACI,YAAY,CAACE,MAAM,CAAC;IACjD,IAAI,CAACC,CAAC,GAAG,IAAIP,UAAU,CAACI,YAAY,CAACG,CAAC,CAAC;IACvC,IAAI,CAACC,IAAI,GAAG,IAAIR,UAAU,CAACI,YAAY,CAACI,IAAI,CAAC;EAC/C;EAEA,IAAWC,IAAIA,CAAA,EAAqB;IAClC,OAAQ,IAAI,CAACC,IAAI,CAAuBD,IAAI;EAC9C;EAEA,IAAWA,IAAIA,CAACE,KAAuB,EAAE;IACtC,IAAI,CAACD,IAAI,CAAuBD,IAAI,GAAGE,KAAK;EAC/C;EAEOC,oBAAoBA,CACzBC,cAAwB,EACxBC,iBAA2B,EAC3BC,mBAA6B,EAC7B;IACA,IACEF,cAAc,CAACG,MAAM,KAAKF,iBAAiB,CAACE,MAAM,IAClDH,cAAc,CAACG,MAAM,KAAKD,mBAAmB,CAACC,MAAM,EACpD;MACA,MAAM,IAAIlB,kBAAkB,CAC1B,8DAA8De,cAAc,CAACG,MAAM,wBAAwBF,iBAAiB,CAACE,MAAM,0BAA0BD,mBAAmB,CAACC,MAAM,EACzL,CAAC;IACH;IACC,IAAI,CAACN,IAAI,CAAuBE,oBAAoB,CACnDC,cAAc,EACdC,iBAAiB,EACjBC,mBACF,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"names":["InvalidAccessError","AudioNode","AudioParam","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAIrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CAACC,OAAyB,EAAEC,YAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIL,UAAU,CAACI,YAAY,CAACC,SAAS,CAAC;IACvD,IAAI,CAACC,MAAM,GAAG,IAAIN,UAAU,CAACI,YAAY,CAACE,MAAM,CAAC;IACjD,IAAI,CAACC,CAAC,GAAG,IAAIP,UAAU,CAACI,YAAY,CAACG,CAAC,CAAC;IACvC,IAAI,CAACC,IAAI,GAAG,IAAIR,UAAU,CAACI,YAAY,CAACI,IAAI,CAAC;EAC/C;EAEA,IAAWC,IAAIA,CAAA,EAAqB;IAClC,OAAQ,IAAI,CAACC,IAAI,CAAuBD,IAAI;EAC9C;EAEA,IAAWA,IAAIA,CAACE,KAAuB,EAAE;IACtC,IAAI,CAACD,IAAI,CAAuBD,IAAI,GAAGE,KAAK;EAC/C;EAEOC,oBAAoBA,CACzBC,cAAwB,EACxBC,iBAA2B,EAC3BC,mBAA6B,EAC7B;IACA,IACEF,cAAc,CAACG,MAAM,KAAKF,iBAAiB,CAACE,MAAM,IAClDH,cAAc,CAACG,MAAM,KAAKD,mBAAmB,CAACC,MAAM,EACpD;MACA,MAAM,IAAIlB,kBAAkB,CAC1B,8DAA8De,cAAc,CAACG,MAAM,wBAAwBF,iBAAiB,CAACE,MAAM,0BAA0BD,mBAAmB,CAACC,MAAM,EACzL,CAAC;IACH;IACC,IAAI,CAACN,IAAI,CAAuBE,oBAAoB,CACnDC,cAAc,EACdC,iBAAiB,EACjBC,mBACF,CAAC;EACH;AACF","ignoreList":[]}
@@ -1,5 +1,7 @@
1
- import AudioNode from './AudioNode';
2
- import AudioParam from './AudioParam';
1
+ "use strict";
2
+
3
+ import AudioNode from "./AudioNode.js";
4
+ import AudioParam from "./AudioParam.js";
3
5
  export default class GainNode extends AudioNode {
4
6
  constructor(context, gain) {
5
7
  super(context, gain);
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","AudioParam","GainNode","constructor","context","gain"],"sourceRoot":"../../../src","sources":["core/GainNode.ts"],"mappings":"AACA,OAAOA,SAAS,MAAM,aAAa;AACnC,OAAOC,UAAU,MAAM,cAAc;AAGrC,eAAe,MAAMC,QAAQ,SAASF,SAAS,CAAC;EAG9CG,WAAWA,CAACC,OAAyB,EAAEC,IAAe,EAAE;IACtD,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACA,IAAI,GAAG,IAAIJ,UAAU,CAACI,IAAI,CAACA,IAAI,CAAC;EACvC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioNode","AudioParam","GainNode","constructor","context","gain"],"sourceRoot":"../../../src","sources":["core/GainNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,QAAQ,SAASF,SAAS,CAAC;EAG9CG,WAAWA,CAACC,OAAyB,EAAEC,IAAe,EAAE;IACtD,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACA,IAAI,GAAG,IAAIJ,UAAU,CAACI,IAAI,CAACA,IAAI,CAAC;EACvC;AACF","ignoreList":[]}
@@ -1,6 +1,8 @@
1
- import AudioScheduledSourceNode from './AudioScheduledSourceNode';
2
- import AudioParam from './AudioParam';
3
- import { InvalidStateError } from '../errors';
1
+ "use strict";
2
+
3
+ import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
4
+ import AudioParam from "./AudioParam.js";
5
+ import { InvalidStateError } from "../errors/index.js";
4
6
  export default class OscillatorNode extends AudioScheduledSourceNode {
5
7
  constructor(context, node) {
6
8
  super(context, node);
@@ -1 +1 @@
1
- {"version":3,"names":["AudioScheduledSourceNode","AudioParam","InvalidStateError","OscillatorNode","constructor","context","node","frequency","detune","type","value","setPeriodicWave","wave","periodicWave"],"sourceRoot":"../../../src","sources":["core/OscillatorNode.ts"],"mappings":"AAEA,OAAOA,wBAAwB,MAAM,4BAA4B;AACjE,OAAOC,UAAU,MAAM,cAAc;AAGrC,SAASC,iBAAiB,QAAQ,WAAW;AAE7C,eAAe,MAAMC,cAAc,SAASH,wBAAwB,CAAC;EAInEI,WAAWA,CAACC,OAAyB,EAAEC,IAAqB,EAAE;IAC5D,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACC,SAAS,GAAG,IAAIN,UAAU,CAACK,IAAI,CAACC,SAAS,CAAC;IAC/C,IAAI,CAACC,MAAM,GAAG,IAAIP,UAAU,CAACK,IAAI,CAACE,MAAM,CAAC;IACzC,IAAI,CAACC,IAAI,GAAGH,IAAI,CAACG,IAAI;EACvB;EAEA,IAAWA,IAAIA,CAAA,EAAmB;IAChC,OAAQ,IAAI,CAACH,IAAI,CAAqBG,IAAI;EAC5C;EAEA,IAAWA,IAAIA,CAACC,KAAqB,EAAE;IACrC,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtB,MAAM,IAAIR,iBAAiB,CACzB,uGACF,CAAC;IACH;IAEC,IAAI,CAACI,IAAI,CAAqBG,IAAI,GAAGC,KAAK;EAC7C;EAEOC,eAAeA,CAACC,IAAkB,EAAQ;IAC9C,IAAI,CAACN,IAAI,CAAqBK,eAAe,CAACC,IAAI,CAACC,YAAY,CAAC;EACnE;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioScheduledSourceNode","AudioParam","InvalidStateError","OscillatorNode","constructor","context","node","frequency","detune","type","value","setPeriodicWave","wave","periodicWave"],"sourceRoot":"../../../src","sources":["core/OscillatorNode.ts"],"mappings":";;AAEA,OAAOA,wBAAwB,MAAM,+BAA4B;AACjE,OAAOC,UAAU,MAAM,iBAAc;AAGrC,SAASC,iBAAiB,QAAQ,oBAAW;AAE7C,eAAe,MAAMC,cAAc,SAASH,wBAAwB,CAAC;EAInEI,WAAWA,CAACC,OAAyB,EAAEC,IAAqB,EAAE;IAC5D,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACC,SAAS,GAAG,IAAIN,UAAU,CAACK,IAAI,CAACC,SAAS,CAAC;IAC/C,IAAI,CAACC,MAAM,GAAG,IAAIP,UAAU,CAACK,IAAI,CAACE,MAAM,CAAC;IACzC,IAAI,CAACC,IAAI,GAAGH,IAAI,CAACG,IAAI;EACvB;EAEA,IAAWA,IAAIA,CAAA,EAAmB;IAChC,OAAQ,IAAI,CAACH,IAAI,CAAqBG,IAAI;EAC5C;EAEA,IAAWA,IAAIA,CAACC,KAAqB,EAAE;IACrC,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtB,MAAM,IAAIR,iBAAiB,CACzB,uGACF,CAAC;IACH;IAEC,IAAI,CAACI,IAAI,CAAqBG,IAAI,GAAGC,KAAK;EAC7C;EAEOC,eAAeA,CAACC,IAAkB,EAAQ;IAC9C,IAAI,CAACN,IAAI,CAAqBK,eAAe,CAACC,IAAI,CAACC,YAAY,CAAC;EACnE;AACF","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  export default class PeriodicWave {
2
4
  /** @internal */
3
5
 
@@ -1 +1 @@
1
- {"version":3,"names":["PeriodicWave","constructor","periodicWave"],"sourceRoot":"../../../src","sources":["core/PeriodicWave.ts"],"mappings":"AAEA,eAAe,MAAMA,YAAY,CAAC;EAChC;;EAGAC,WAAWA,CAACC,YAA2B,EAAE;IACvC,IAAI,CAACA,YAAY,GAAGA,YAAY;EAClC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["PeriodicWave","constructor","periodicWave"],"sourceRoot":"../../../src","sources":["core/PeriodicWave.ts"],"mappings":";;AAEA,eAAe,MAAMA,YAAY,CAAC;EAChC;;EAGAC,WAAWA,CAACC,YAA2B,EAAE;IACvC,IAAI,CAACA,YAAY,GAAGA,YAAY;EAClC;AACF","ignoreList":[]}
@@ -1,5 +1,7 @@
1
- import AudioNode from './AudioNode';
2
- import AudioParam from './AudioParam';
1
+ "use strict";
2
+
3
+ import AudioNode from "./AudioNode.js";
4
+ import AudioParam from "./AudioParam.js";
3
5
  export default class StereoPannerNode extends AudioNode {
4
6
  constructor(context, pan) {
5
7
  super(context, pan);
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","AudioParam","StereoPannerNode","constructor","context","pan"],"sourceRoot":"../../../src","sources":["core/StereoPannerNode.ts"],"mappings":"AACA,OAAOA,SAAS,MAAM,aAAa;AACnC,OAAOC,UAAU,MAAM,cAAc;AAGrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAGtDG,WAAWA,CAACC,OAAyB,EAAEC,GAAsB,EAAE;IAC7D,KAAK,CAACD,OAAO,EAAEC,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,GAAG,IAAIJ,UAAU,CAACI,GAAG,CAACA,GAAG,CAAC;EACpC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioNode","AudioParam","StereoPannerNode","constructor","context","pan"],"sourceRoot":"../../../src","sources":["core/StereoPannerNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAGtDG,WAAWA,CAACC,OAAyB,EAAEC,GAAsB,EAAE;IAC7D,KAAK,CAACD,OAAO,EAAEC,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,GAAG,IAAIJ,UAAU,CAACI,GAAG,CAACA,GAAG,CAAC;EACpC;AACF","ignoreList":[]}
@@ -1,2 +1,2 @@
1
-
1
+ "use strict";
2
2
  //# sourceMappingURL=types.js.map