react-native-audio-api 0.6.0-rc.0 → 0.6.0-rc.1

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 (152) hide show
  1. package/android/CMakeLists.txt +6 -3
  2. package/android/build.gradle +1 -0
  3. package/android/src/main/java/com/swmansion/audioapi/AudioManagerModule.kt +15 -12
  4. package/android/src/main/java/com/swmansion/audioapi/system/AudioFocusListener.kt +60 -0
  5. package/android/src/main/java/com/swmansion/audioapi/system/LockScreenManager.kt +294 -0
  6. package/android/src/main/java/com/swmansion/audioapi/system/MediaNotificationManager.kt +279 -0
  7. package/android/src/main/java/com/swmansion/audioapi/system/MediaReceiver.kt +46 -0
  8. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionCallback.kt +39 -0
  9. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionEventEmitter.kt +84 -0
  10. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionManager.kt +144 -0
  11. package/android/src/main/res/drawable/next.xml +9 -0
  12. package/android/src/main/res/drawable/pause.xml +9 -0
  13. package/android/src/main/res/drawable/play.xml +9 -0
  14. package/android/src/main/res/drawable/previous.xml +9 -0
  15. package/android/src/main/res/drawable/skip_backward_5.xml +9 -0
  16. package/android/src/main/res/drawable/skip_forward_5.xml +9 -0
  17. package/android/src/main/res/drawable/stop.xml +9 -0
  18. package/app.plugin.js +1 -0
  19. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +1 -6
  20. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.cpp +8 -4
  21. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.h +1 -0
  22. package/common/cpp/audioapi/core/utils/AudioNodeDestructor.cpp +3 -3
  23. package/ios/audioapi/ios/AudioManagerModule.mm +9 -7
  24. package/ios/audioapi/ios/system/LockScreenManager.mm +4 -8
  25. package/ios/audioapi/ios/system/NotificationManager.h +7 -1
  26. package/ios/audioapi/ios/system/NotificationManager.mm +66 -44
  27. package/lib/commonjs/api.js +197 -0
  28. package/lib/commonjs/api.js.map +1 -0
  29. package/lib/commonjs/api.web.js +219 -0
  30. package/lib/commonjs/api.web.js.map +1 -0
  31. package/lib/commonjs/core/AnalyserNode.js +71 -0
  32. package/lib/commonjs/core/AnalyserNode.js.map +1 -0
  33. package/lib/commonjs/core/AudioBuffer.js +44 -0
  34. package/lib/commonjs/core/AudioBuffer.js.map +1 -0
  35. package/lib/commonjs/core/AudioBufferSourceNode.js +68 -0
  36. package/lib/commonjs/core/AudioBufferSourceNode.js.map +1 -0
  37. package/lib/commonjs/core/AudioContext.js +29 -0
  38. package/lib/commonjs/core/AudioContext.js.map +1 -0
  39. package/lib/commonjs/core/AudioDestinationNode.js +11 -0
  40. package/lib/commonjs/core/AudioDestinationNode.js.map +1 -0
  41. package/lib/commonjs/core/AudioNode.js +30 -0
  42. package/lib/commonjs/core/AudioNode.js.map +1 -0
  43. package/lib/commonjs/core/AudioParam.js +82 -0
  44. package/lib/commonjs/core/AudioParam.js.map +1 -0
  45. package/lib/commonjs/core/AudioScheduledSourceNode.js +38 -0
  46. package/lib/commonjs/core/AudioScheduledSourceNode.js.map +1 -0
  47. package/lib/commonjs/core/BaseAudioContext.js +80 -0
  48. package/lib/commonjs/core/BaseAudioContext.js.map +1 -0
  49. package/lib/commonjs/core/BiquadFilterNode.js +33 -0
  50. package/lib/commonjs/core/BiquadFilterNode.js.map +1 -0
  51. package/lib/commonjs/core/GainNode.js +17 -0
  52. package/lib/commonjs/core/GainNode.js.map +1 -0
  53. package/lib/commonjs/core/OfflineAudioContext.js +63 -0
  54. package/lib/commonjs/core/OfflineAudioContext.js.map +1 -0
  55. package/lib/commonjs/core/OscillatorNode.js +32 -0
  56. package/lib/commonjs/core/OscillatorNode.js.map +1 -0
  57. package/lib/commonjs/core/PeriodicWave.js +15 -0
  58. package/lib/commonjs/core/PeriodicWave.js.map +1 -0
  59. package/lib/commonjs/core/StereoPannerNode.js +17 -0
  60. package/lib/commonjs/core/StereoPannerNode.js.map +1 -0
  61. package/lib/commonjs/errors/IndexSizeError.js +14 -0
  62. package/lib/commonjs/errors/IndexSizeError.js.map +1 -0
  63. package/lib/commonjs/errors/InvalidAccessError.js +14 -0
  64. package/lib/commonjs/errors/InvalidAccessError.js.map +1 -0
  65. package/lib/commonjs/errors/InvalidStateError.js +14 -0
  66. package/lib/commonjs/errors/InvalidStateError.js.map +1 -0
  67. package/lib/commonjs/errors/NotSupportedError.js +14 -0
  68. package/lib/commonjs/errors/NotSupportedError.js.map +1 -0
  69. package/lib/commonjs/errors/RangeError.js +14 -0
  70. package/lib/commonjs/errors/RangeError.js.map +1 -0
  71. package/lib/commonjs/errors/index.js +42 -0
  72. package/lib/commonjs/errors/index.js.map +1 -0
  73. package/lib/commonjs/index.js +17 -0
  74. package/lib/commonjs/index.js.map +1 -0
  75. package/lib/commonjs/interfaces.js +6 -0
  76. package/lib/commonjs/interfaces.js.map +1 -0
  77. package/lib/commonjs/package.json +1 -0
  78. package/lib/commonjs/plugin/withAudioAPI.js +62 -0
  79. package/lib/commonjs/plugin/withAudioAPI.js.map +1 -0
  80. package/lib/commonjs/specs/NativeAudioAPIModule.js +9 -0
  81. package/lib/commonjs/specs/NativeAudioAPIModule.js.map +1 -0
  82. package/lib/commonjs/specs/NativeAudioManagerModule.js +33 -0
  83. package/lib/commonjs/specs/NativeAudioManagerModule.js.map +1 -0
  84. package/lib/commonjs/specs/index.js +27 -0
  85. package/lib/commonjs/specs/index.js.map +1 -0
  86. package/lib/commonjs/system/AudioManager.js +79 -0
  87. package/lib/commonjs/system/AudioManager.js.map +1 -0
  88. package/lib/commonjs/system/index.js +14 -0
  89. package/lib/commonjs/system/index.js.map +1 -0
  90. package/lib/commonjs/system/types.js +2 -0
  91. package/lib/commonjs/system/types.js.map +1 -0
  92. package/lib/commonjs/types.js +2 -0
  93. package/lib/commonjs/types.js.map +1 -0
  94. package/lib/commonjs/utils/index.js +10 -0
  95. package/lib/commonjs/utils/index.js.map +1 -0
  96. package/lib/commonjs/web-core/AnalyserNode.js +38 -0
  97. package/lib/commonjs/web-core/AnalyserNode.js.map +1 -0
  98. package/lib/commonjs/web-core/AudioBuffer.js +44 -0
  99. package/lib/commonjs/web-core/AudioBuffer.js.map +1 -0
  100. package/lib/commonjs/web-core/AudioBufferSourceNode.js +214 -0
  101. package/lib/commonjs/web-core/AudioBufferSourceNode.js.map +1 -0
  102. package/lib/commonjs/web-core/AudioContext.js +93 -0
  103. package/lib/commonjs/web-core/AudioContext.js.map +1 -0
  104. package/lib/commonjs/web-core/AudioDestinationNode.js +11 -0
  105. package/lib/commonjs/web-core/AudioDestinationNode.js.map +1 -0
  106. package/lib/commonjs/web-core/AudioNode.js +33 -0
  107. package/lib/commonjs/web-core/AudioNode.js.map +1 -0
  108. package/lib/commonjs/web-core/AudioParam.js +81 -0
  109. package/lib/commonjs/web-core/AudioParam.js.map +1 -0
  110. package/lib/commonjs/web-core/AudioScheduledSourceNode.js +41 -0
  111. package/lib/commonjs/web-core/AudioScheduledSourceNode.js.map +1 -0
  112. package/lib/commonjs/web-core/BaseAudioContext.js +2 -0
  113. package/lib/commonjs/web-core/BaseAudioContext.js.map +1 -0
  114. package/lib/commonjs/web-core/BiquadFilterNode.js +33 -0
  115. package/lib/commonjs/web-core/BiquadFilterNode.js.map +1 -0
  116. package/lib/commonjs/web-core/GainNode.js +17 -0
  117. package/lib/commonjs/web-core/GainNode.js.map +1 -0
  118. package/lib/commonjs/web-core/OfflineAudioContext.js +96 -0
  119. package/lib/commonjs/web-core/OfflineAudioContext.js.map +1 -0
  120. package/lib/commonjs/web-core/OscillatorNode.js +31 -0
  121. package/lib/commonjs/web-core/OscillatorNode.js.map +1 -0
  122. package/lib/commonjs/web-core/PeriodicWave.js +15 -0
  123. package/lib/commonjs/web-core/PeriodicWave.js.map +1 -0
  124. package/lib/commonjs/web-core/StereoPannerNode.js +17 -0
  125. package/lib/commonjs/web-core/StereoPannerNode.js.map +1 -0
  126. package/lib/commonjs/web-core/custom/LoadCustomWasm.js +37 -0
  127. package/lib/commonjs/web-core/custom/LoadCustomWasm.js.map +1 -0
  128. package/lib/commonjs/web-core/custom/index.js +14 -0
  129. package/lib/commonjs/web-core/custom/index.js.map +1 -0
  130. package/lib/commonjs/web-core/custom/signalsmithStretch/LICENSE.txt +21 -0
  131. package/lib/commonjs/web-core/custom/signalsmithStretch/README.md +46 -0
  132. package/lib/commonjs/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs +826 -0
  133. package/lib/commonjs/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs.map +1 -0
  134. package/lib/module/plugin/withAudioAPI.js +58 -0
  135. package/lib/module/plugin/withAudioAPI.js.map +1 -0
  136. package/lib/module/specs/NativeAudioManagerModule.js +5 -6
  137. package/lib/module/specs/NativeAudioManagerModule.js.map +1 -1
  138. package/lib/module/system/AudioManager.js +9 -0
  139. package/lib/module/system/AudioManager.js.map +1 -1
  140. package/lib/typescript/plugin/withAudioAPI.d.ts +9 -0
  141. package/lib/typescript/plugin/withAudioAPI.d.ts.map +1 -0
  142. package/lib/typescript/specs/NativeAudioManagerModule.d.ts +2 -1
  143. package/lib/typescript/specs/NativeAudioManagerModule.d.ts.map +1 -1
  144. package/lib/typescript/system/AudioManager.d.ts +4 -2
  145. package/lib/typescript/system/AudioManager.d.ts.map +1 -1
  146. package/lib/typescript/system/types.d.ts +16 -4
  147. package/lib/typescript/system/types.d.ts.map +1 -1
  148. package/package.json +6 -3
  149. package/src/plugin/withAudioAPI.ts +90 -0
  150. package/src/specs/NativeAudioManagerModule.ts +8 -11
  151. package/src/system/AudioManager.ts +42 -15
  152. package/src/system/types.ts +20 -4
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AudioManagerModule", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _NativeAudioManagerModule.AudioManagerModule;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "NativeAudioAPIModule", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _NativeAudioAPIModule.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "eventEmitter", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _NativeAudioManagerModule.eventEmitter;
22
+ }
23
+ });
24
+ var _NativeAudioAPIModule = _interopRequireDefault(require("./NativeAudioAPIModule"));
25
+ var _NativeAudioManagerModule = require("./NativeAudioManagerModule");
26
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Object","defineProperty","exports","value","enumerable","get","_NativeAudioManagerModule","AudioManagerModule","_NativeAudioAPIModule","default","eventEmitter","_interopRequireDefault","require","e","__esModule"],"sourceRoot":"../../../src","sources":["specs/index.ts"],"mappings":"AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAH,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAE,UAAA;EAAAC,GAAA,WAAAA,CAAA;IAAA,OAAAC,yBAAA,CAAAC,kBAAA;EAAA;AAAA;AAAAP,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAE,UAAA;EAAAC,GAAA,WAAAA,CAAA;IAAA,OAAAG,qBAAA,CAAAC,OAAA;EAAA;AAAA;AAAAT,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAE,UAAA;EAAAC,GAAA,WAAAA,CAAA;IAAA,OAAAC,yBAAA,CAAAI,YAAA;EAAA;AAAA;AAEb,IAAAF,qBAAA,GAAAG,sBAAA,CAAAC,OAAA;AACA,IAAAN,yBAAA,GAAAM,OAAA;AAA8E,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAJ,OAAA,EAAAI,CAAA","ignoreList":[]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _specs = require("../specs");
8
+ class AudioManager {
9
+ setLockScreenInfo(info) {
10
+ _specs.AudioManagerModule.setLockScreenInfo(info);
11
+ }
12
+ resetLockScreenInfo() {
13
+ _specs.AudioManagerModule.resetLockScreenInfo();
14
+ }
15
+ setAudioSessionOptions(options) {
16
+ _specs.AudioManagerModule.setAudioSessionOptions(options.iosCategory ?? '', options.iosMode ?? '', options.iosOptions ?? [], options.active ?? true);
17
+ }
18
+ getDevicePreferredSampleRate() {
19
+ return _specs.AudioManagerModule.getDevicePreferredSampleRate();
20
+ }
21
+ observeAudioInterruptions(enabled) {
22
+ _specs.AudioManagerModule.observeAudioInterruptions(enabled);
23
+ }
24
+ enableRemoteCommand(name, enabled, callback) {
25
+ _specs.AudioManagerModule.enableRemoteCommand(name, enabled);
26
+ let subscription = null;
27
+ if (enabled && callback) {
28
+ switch (name) {
29
+ case 'play':
30
+ subscription = _specs.eventEmitter.addListener('onRemotePlay', callback);
31
+ break;
32
+ case 'pause':
33
+ subscription = _specs.eventEmitter.addListener('onRemotePause', callback);
34
+ break;
35
+ case 'stop':
36
+ subscription = _specs.eventEmitter.addListener('onRemoteStop', callback);
37
+ break;
38
+ case 'togglePlayPause':
39
+ subscription = _specs.eventEmitter.addListener('onRemoteTogglePlayPause', callback);
40
+ break;
41
+ case 'changePlaybackRate':
42
+ subscription = _specs.eventEmitter.addListener('onRemoteChangePlaybackRate', callback);
43
+ break;
44
+ case 'nextTrack':
45
+ subscription = _specs.eventEmitter.addListener('onRemoteNextTrack', callback);
46
+ break;
47
+ case 'previousTrack':
48
+ subscription = _specs.eventEmitter.addListener('onRemotePreviousTrack', callback);
49
+ break;
50
+ case 'skipForward':
51
+ subscription = _specs.eventEmitter.addListener('onRemoteSkipForward', callback);
52
+ break;
53
+ case 'skipBackward':
54
+ subscription = _specs.eventEmitter.addListener('onRemoteSkipBackward', callback);
55
+ break;
56
+ case 'seekForward':
57
+ subscription = _specs.eventEmitter.addListener('onRemoteSeekForward', callback);
58
+ break;
59
+ case 'seekBackward':
60
+ subscription = _specs.eventEmitter.addListener('onRemoteSeekBackward', callback);
61
+ break;
62
+ case 'changePlaybackPosition':
63
+ subscription = _specs.eventEmitter.addListener('onRemoteChangePlaybackPosition', callback);
64
+ break;
65
+ case 'interruption':
66
+ subscription = _specs.eventEmitter.addListener('onInterruption', callback);
67
+ break;
68
+ case 'routeChange':
69
+ subscription = _specs.eventEmitter.addListener('onRouteChange', callback);
70
+ break;
71
+ default:
72
+ console.error('Unsupported RemoteControl action:', name);
73
+ }
74
+ }
75
+ return subscription;
76
+ }
77
+ }
78
+ var _default = exports.default = new AudioManager();
79
+ //# sourceMappingURL=AudioManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_specs","require","AudioManager","setLockScreenInfo","info","AudioManagerModule","resetLockScreenInfo","setAudioSessionOptions","options","iosCategory","iosMode","iosOptions","active","getDevicePreferredSampleRate","observeAudioInterruptions","enabled","enableRemoteCommand","name","callback","subscription","eventEmitter","addListener","console","error","_default","exports","default"],"sourceRoot":"../../../src","sources":["system/AudioManager.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AudioManager.default;
10
+ }
11
+ });
12
+ var _AudioManager = _interopRequireDefault(require("./AudioManager"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AudioManager","_interopRequireDefault","require","e","__esModule","default"],"sourceRoot":"../../../src","sources":["system/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["system/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.clamp = clamp;
7
+ function clamp(value, min, max) {
8
+ return Math.min(Math.max(value, min), max);
9
+ }
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["clamp","value","min","max","Math"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;;AAAO,SAASA,KAAKA,CAACC,KAAa,EAAEC,GAAW,EAAEC,GAAW,EAAU;EACrE,OAAOC,IAAI,CAACF,GAAG,CAACE,IAAI,CAACD,GAAG,CAACF,KAAK,EAAEC,GAAG,CAAC,EAAEC,GAAG,CAAC;AAC5C","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _AudioNode = _interopRequireDefault(require("./AudioNode"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ class AnalyserNode extends _AudioNode.default {
10
+ constructor(context, node) {
11
+ super(context, node);
12
+ this.fftSize = node.fftSize;
13
+ this.frequencyBinCount = node.frequencyBinCount;
14
+ this.minDecibels = node.minDecibels;
15
+ this.maxDecibels = node.maxDecibels;
16
+ this.smoothingTimeConstant = node.smoothingTimeConstant;
17
+ }
18
+ get window() {
19
+ return 'blackman';
20
+ }
21
+ set window(value) {
22
+ console.log('React Native Audio API: setting window is not supported on web');
23
+ }
24
+ getByteFrequencyData(array) {
25
+ this.node.getByteFrequencyData(array);
26
+ }
27
+ getByteTimeDomainData(array) {
28
+ this.node.getByteTimeDomainData(array);
29
+ }
30
+ getFloatFrequencyData(array) {
31
+ this.node.getFloatFrequencyData(array);
32
+ }
33
+ getFloatTimeDomainData(array) {
34
+ this.node.getFloatTimeDomainData(array);
35
+ }
36
+ }
37
+ exports.default = AnalyserNode;
38
+ //# sourceMappingURL=AnalyserNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AudioNode","_interopRequireDefault","require","e","__esModule","default","AnalyserNode","AudioNode","constructor","context","node","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData","exports"],"sourceRoot":"../../../src","sources":["web-core/AnalyserNode.tsx"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIrB,MAAMG,YAAY,SAASC,kBAAS,CAAC;EAOlDC,WAAWA,CAACC,OAAyB,EAAEC,IAA6B,EAAE;IACpE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,OAAO,GAAGD,IAAI,CAACC,OAAO;IAC3B,IAAI,CAACC,iBAAiB,GAAGF,IAAI,CAACE,iBAAiB;IAC/C,IAAI,CAACC,WAAW,GAAGH,IAAI,CAACG,WAAW;IACnC,IAAI,CAACC,WAAW,GAAGJ,IAAI,CAACI,WAAW;IACnC,IAAI,CAACC,qBAAqB,GAAGL,IAAI,CAACK,qBAAqB;EACzD;EAEA,IAAWC,MAAMA,CAAA,EAAe;IAC9B,OAAO,UAAU;EACnB;EAEA,IAAWA,MAAMA,CAACC,KAAiB,EAAE;IACnCC,OAAO,CAACC,GAAG,CACT,gEACF,CAAC;EACH;EAEOC,oBAAoBA,CAACC,KAAiB,EAAQ;IAClD,IAAI,CAACX,IAAI,CAA6BU,oBAAoB,CAACC,KAAK,CAAC;EACpE;EAEOC,qBAAqBA,CAACD,KAAiB,EAAQ;IACnD,IAAI,CAACX,IAAI,CAA6BY,qBAAqB,CAACD,KAAK,CAAC;EACrE;EAEOE,qBAAqBA,CAACF,KAAmB,EAAQ;IACrD,IAAI,CAACX,IAAI,CAA6Ba,qBAAqB,CAACF,KAAK,CAAC;EACrE;EAEOG,sBAAsBA,CAACH,KAAmB,EAAQ;IACtD,IAAI,CAACX,IAAI,CAA6Bc,sBAAsB,CAACH,KAAK,CAAC;EACtE;AACF;AAACI,OAAA,CAAApB,OAAA,GAAAC,YAAA","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _errors = require("../errors");
8
+ class AudioBuffer {
9
+ /** @internal */
10
+
11
+ constructor(buffer) {
12
+ this.buffer = buffer;
13
+ this.length = buffer.length;
14
+ this.duration = buffer.duration;
15
+ this.sampleRate = buffer.sampleRate;
16
+ this.numberOfChannels = buffer.numberOfChannels;
17
+ }
18
+ getChannelData(channel) {
19
+ if (channel < 0 || channel >= this.numberOfChannels) {
20
+ throw new _errors.IndexSizeError(`The channel number provided (${channel}) is outside the range [0, ${this.numberOfChannels - 1}]`);
21
+ }
22
+ return this.buffer.getChannelData(channel);
23
+ }
24
+ copyFromChannel(destination, channelNumber, startInChannel = 0) {
25
+ if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
26
+ throw new _errors.IndexSizeError(`The channel number provided (${channelNumber}) is outside the range [0, ${this.numberOfChannels - 1}]`);
27
+ }
28
+ if (startInChannel < 0 || startInChannel >= this.length) {
29
+ throw new _errors.IndexSizeError(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
30
+ }
31
+ this.buffer.copyFromChannel(destination, channelNumber, startInChannel);
32
+ }
33
+ copyToChannel(source, channelNumber, startInChannel = 0) {
34
+ if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
35
+ throw new _errors.IndexSizeError(`The channel number provided (${channelNumber}) is outside the range [0, ${this.numberOfChannels - 1}]`);
36
+ }
37
+ if (startInChannel < 0 || startInChannel >= this.length) {
38
+ throw new _errors.IndexSizeError(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
39
+ }
40
+ this.buffer.copyToChannel(source, channelNumber, startInChannel);
41
+ }
42
+ }
43
+ exports.default = AudioBuffer;
44
+ //# sourceMappingURL=AudioBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","IndexSizeError","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source","exports","default"],"sourceRoot":"../../../src","sources":["web-core/AudioBuffer.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEe,MAAMC,WAAW,CAAC;EAM/B;;EAGAC,WAAWA,CAACC,MAA8B,EAAE;IAC1C,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,EAAgB;IACnD,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIG,sBAAc,CACtB,gCAAgCD,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IAEA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOE,eAAeA,CACpBC,WAAyB,EACzBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACN,gBAAgB,EAAE;MAC/D,MAAM,IAAIG,sBAAc,CACtB,gCAAgCG,aAAa,8BAA8B,IAAI,CAACN,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIO,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACV,MAAM,EAAE;MACvD,MAAM,IAAIM,sBAAc,CACtB,uCAAuCI,cAAc,8BAA8B,IAAI,CAACV,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACQ,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAoB,EACpBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACN,gBAAgB,EAAE;MAC/D,MAAM,IAAIG,sBAAc,CACtB,gCAAgCG,aAAa,8BAA8B,IAAI,CAACN,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIO,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACV,MAAM,EAAE;MACvD,MAAM,IAAIM,sBAAc,CACtB,uCAAuCI,cAAc,8BAA8B,IAAI,CAACV,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACY,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF;AAACG,OAAA,CAAAC,OAAA,GAAAjB,WAAA","ignoreList":[]}
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _errors = require("../errors");
8
+ var _AudioParam = _interopRequireDefault(require("./AudioParam"));
9
+ var _AudioBuffer = _interopRequireDefault(require("./AudioBuffer"));
10
+ var _AudioScheduledSourceNode = _interopRequireDefault(require("./AudioScheduledSourceNode"));
11
+ var _utils = require("../utils");
12
+ var _LoadCustomWasm = require("./custom/LoadCustomWasm");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ class IStretcherNodeAudioParam {
15
+ constructor(value, setter, automationRate, minValue, maxValue, defaultValue) {
16
+ this._value = value;
17
+ this.automationRate = automationRate;
18
+ this.minValue = minValue;
19
+ this.maxValue = maxValue;
20
+ this.defaultValue = defaultValue;
21
+ this._setter = setter;
22
+ }
23
+ get value() {
24
+ return this._value;
25
+ }
26
+ set value(value) {
27
+ this._value = value;
28
+ this._setter(value);
29
+ }
30
+ cancelAndHoldAtTime(cancelTime) {
31
+ this._setter(this.defaultValue, cancelTime);
32
+ return this;
33
+ }
34
+ cancelScheduledValues(cancelTime) {
35
+ this._setter(this.defaultValue, cancelTime);
36
+ return this;
37
+ }
38
+ exponentialRampToValueAtTime(_value, _endTime) {
39
+ console.warn('exponentialRampToValueAtTime is not implemented for pitch correction mode');
40
+ return this;
41
+ }
42
+ linearRampToValueAtTime(_value, _endTime) {
43
+ console.warn('linearRampToValueAtTime is not implemented for pitch correction mode');
44
+ return this;
45
+ }
46
+ setTargetAtTime(_target, _startTime, _timeConstant) {
47
+ console.warn('setTargetAtTime is not implemented for pitch correction mode');
48
+ return this;
49
+ }
50
+ setValueAtTime(value, startTime) {
51
+ this._setter(value, startTime);
52
+ return this;
53
+ }
54
+ setValueCurveAtTime(_values, _startTime, _duration) {
55
+ console.warn('setValueCurveAtTime is not implemented for pitch correction mode');
56
+ return this;
57
+ }
58
+ }
59
+ class AudioBufferSourceNode extends _AudioScheduledSourceNode.default {
60
+ _loop = false;
61
+ _loopStart = -1;
62
+ _loopEnd = -1;
63
+ _buffer = null;
64
+ constructor(context, node, pitchCorrection) {
65
+ super(context, node);
66
+ this._pitchCorrection = pitchCorrection;
67
+ if (pitchCorrection) {
68
+ this.detune = new _AudioParam.default(new IStretcherNodeAudioParam(0, this.setDetune.bind(this), 'a-rate', -1200, 1200, 0));
69
+ this.playbackRate = new _AudioParam.default(new IStretcherNodeAudioParam(1, this.setPlaybackRate.bind(this), 'a-rate', 0, Infinity, 1));
70
+ } else {
71
+ this.detune = new _AudioParam.default(node.detune);
72
+ this.playbackRate = new _AudioParam.default(node.playbackRate);
73
+ }
74
+ }
75
+ isStretcherNode() {
76
+ return this._pitchCorrection;
77
+ }
78
+ asStretcher() {
79
+ return this.node;
80
+ }
81
+ asBufferSource() {
82
+ return this.node;
83
+ }
84
+ setDetune(value, when = 0) {
85
+ if (!this.isStretcherNode() || !this.hasBeenStarted) {
86
+ return;
87
+ }
88
+ this.asStretcher().schedule({
89
+ semitones: Math.floor((0, _utils.clamp)(value / 100, -12, 12)),
90
+ output: when
91
+ });
92
+ }
93
+ setPlaybackRate(value, when = 0) {
94
+ if (!this.isStretcherNode() || !this.hasBeenStarted) {
95
+ return;
96
+ }
97
+ this.asStretcher().schedule({
98
+ rate: value,
99
+ output: when
100
+ });
101
+ }
102
+ get buffer() {
103
+ if (this.isStretcherNode()) {
104
+ return this._buffer;
105
+ }
106
+ const buffer = this.asBufferSource().buffer;
107
+ if (!buffer) {
108
+ return null;
109
+ }
110
+ return new _AudioBuffer.default(buffer);
111
+ }
112
+ set buffer(buffer) {
113
+ if (this.isStretcherNode()) {
114
+ this._buffer = buffer;
115
+ const stretcher = this.asStretcher();
116
+ stretcher.dropBuffers();
117
+ if (!buffer) {
118
+ return;
119
+ }
120
+ const channelArrays = [];
121
+ for (let i = 0; i < buffer.numberOfChannels; i++) {
122
+ channelArrays.push(buffer.getChannelData(i));
123
+ }
124
+ stretcher.addBuffers(channelArrays);
125
+ return;
126
+ }
127
+ if (!buffer) {
128
+ this.asBufferSource().buffer = null;
129
+ return;
130
+ }
131
+ this.asBufferSource().buffer = buffer.buffer;
132
+ }
133
+ get loop() {
134
+ if (this.isStretcherNode()) {
135
+ return this._loop;
136
+ }
137
+ return this.asBufferSource().loop;
138
+ }
139
+ set loop(value) {
140
+ if (this.isStretcherNode()) {
141
+ this._loop = value;
142
+ return;
143
+ }
144
+ this.asBufferSource().loop = value;
145
+ }
146
+ get loopStart() {
147
+ if (this.isStretcherNode()) {
148
+ return this._loopStart;
149
+ }
150
+ return this.asBufferSource().loopStart;
151
+ }
152
+ set loopStart(value) {
153
+ if (this.isStretcherNode()) {
154
+ this._loopStart = value;
155
+ return;
156
+ }
157
+ this.asBufferSource().loopStart = value;
158
+ }
159
+ get loopEnd() {
160
+ if (this.isStretcherNode()) {
161
+ return this._loopEnd;
162
+ }
163
+ return this.asBufferSource().loopEnd;
164
+ }
165
+ set loopEnd(value) {
166
+ if (this.isStretcherNode()) {
167
+ this._loopEnd = value;
168
+ return;
169
+ }
170
+ this.asBufferSource().loopEnd = value;
171
+ }
172
+ start(when, offset, duration) {
173
+ if (when && when < 0) {
174
+ throw new _errors.RangeError(`when must be a finite non-negative number: ${when}`);
175
+ }
176
+ if (offset && offset < 0) {
177
+ throw new _errors.RangeError(`offset must be a finite non-negative number: ${offset}`);
178
+ }
179
+ if (duration && duration < 0) {
180
+ throw new _errors.RangeError(`duration must be a finite non-negative number: ${duration}`);
181
+ }
182
+ if (this.hasBeenStarted) {
183
+ throw new _errors.InvalidStateError('Cannot call start more than once');
184
+ }
185
+ this.hasBeenStarted = true;
186
+ if (!this.isStretcherNode()) {
187
+ this.asBufferSource().start(when, offset, duration);
188
+ return;
189
+ }
190
+ const startAt = !when || when < this.context.currentTime ? this.context.currentTime : when;
191
+ if (this.loop && this._loopStart !== -1 && this._loopEnd !== -1) {
192
+ this.asStretcher().schedule({
193
+ loopStart: this._loopStart,
194
+ loopEnd: this._loopEnd
195
+ });
196
+ }
197
+ this.asStretcher().start(startAt, offset, duration, this.playbackRate.value, Math.floor((0, _utils.clamp)(this.detune.value / 100, -12, 12)));
198
+ }
199
+ stop(when = 0) {
200
+ if (when < 0) {
201
+ throw new _errors.RangeError(`when must be a finite non-negative number: ${when}`);
202
+ }
203
+ if (!this.hasBeenStarted) {
204
+ throw new _errors.InvalidStateError('Cannot call stop without calling start first');
205
+ }
206
+ if (!this.isStretcherNode()) {
207
+ this.asBufferSource().stop(when);
208
+ return;
209
+ }
210
+ this.asStretcher().stop(when);
211
+ }
212
+ }
213
+ exports.default = AudioBufferSourceNode;
214
+ //# sourceMappingURL=AudioBufferSourceNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","_AudioParam","_interopRequireDefault","_AudioBuffer","_AudioScheduledSourceNode","_utils","_LoadCustomWasm","e","__esModule","default","IStretcherNodeAudioParam","constructor","value","setter","automationRate","minValue","maxValue","defaultValue","_value","_setter","cancelAndHoldAtTime","cancelTime","cancelScheduledValues","exponentialRampToValueAtTime","_endTime","console","warn","linearRampToValueAtTime","setTargetAtTime","_target","_startTime","_timeConstant","setValueAtTime","startTime","setValueCurveAtTime","_values","_duration","AudioBufferSourceNode","AudioScheduledSourceNode","_loop","_loopStart","_loopEnd","_buffer","context","node","pitchCorrection","_pitchCorrection","detune","AudioParam","setDetune","bind","playbackRate","setPlaybackRate","Infinity","isStretcherNode","asStretcher","asBufferSource","when","hasBeenStarted","schedule","semitones","Math","floor","clamp","output","rate","buffer","AudioBuffer","stretcher","dropBuffers","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","loop","loopStart","loopEnd","start","offset","duration","RangeError","InvalidStateError","startAt","currentTime","stop","exports"],"sourceRoot":"../../../src","sources":["web-core/AudioBufferSourceNode.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _errors = require("../errors");
8
+ var _AnalyserNode = _interopRequireDefault(require("./AnalyserNode"));
9
+ var _AudioDestinationNode = _interopRequireDefault(require("./AudioDestinationNode"));
10
+ var _AudioBuffer = _interopRequireDefault(require("./AudioBuffer"));
11
+ var _AudioBufferSourceNode = _interopRequireDefault(require("./AudioBufferSourceNode"));
12
+ var _BiquadFilterNode = _interopRequireDefault(require("./BiquadFilterNode"));
13
+ var _GainNode = _interopRequireDefault(require("./GainNode"));
14
+ var _OscillatorNode = _interopRequireDefault(require("./OscillatorNode"));
15
+ var _PeriodicWave = _interopRequireDefault(require("./PeriodicWave"));
16
+ var _StereoPannerNode = _interopRequireDefault(require("./StereoPannerNode"));
17
+ var _LoadCustomWasm = require("./custom/LoadCustomWasm");
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ class AudioContext {
20
+ constructor(options) {
21
+ if (options && (options.sampleRate < 8000 || options.sampleRate > 96000)) {
22
+ throw new _errors.NotSupportedError(`The provided sampleRate is not supported: ${options.sampleRate}`);
23
+ }
24
+ this.context = new window.AudioContext(options);
25
+ this.sampleRate = this.context.sampleRate;
26
+ this.destination = new _AudioDestinationNode.default(this, this.context.destination);
27
+ }
28
+ get currentTime() {
29
+ return this.context.currentTime;
30
+ }
31
+ get state() {
32
+ return this.context.state;
33
+ }
34
+ createOscillator() {
35
+ return new _OscillatorNode.default(this, this.context.createOscillator());
36
+ }
37
+ createGain() {
38
+ return new _GainNode.default(this, this.context.createGain());
39
+ }
40
+ createStereoPanner() {
41
+ return new _StereoPannerNode.default(this, this.context.createStereoPanner());
42
+ }
43
+ createBiquadFilter() {
44
+ return new _BiquadFilterNode.default(this, this.context.createBiquadFilter());
45
+ }
46
+ async createBufferSource(options) {
47
+ if (!options || !options.pitchCorrection) {
48
+ return new _AudioBufferSourceNode.default(this, this.context.createBufferSource(), false);
49
+ }
50
+ await _LoadCustomWasm.globalWasmPromise;
51
+ const wasmStretch = await window[_LoadCustomWasm.globalTag](this.context);
52
+ return new _AudioBufferSourceNode.default(this, wasmStretch, true);
53
+ }
54
+ createBuffer(numOfChannels, length, sampleRate) {
55
+ if (numOfChannels < 1 || numOfChannels >= 32) {
56
+ throw new _errors.NotSupportedError(`The number of channels provided (${numOfChannels}) is outside the range [1, 32]`);
57
+ }
58
+ if (length <= 0) {
59
+ throw new _errors.NotSupportedError(`The number of frames provided (${length}) is less than or equal to the minimum bound (0)`);
60
+ }
61
+ if (sampleRate < 8000 || sampleRate > 96000) {
62
+ throw new _errors.NotSupportedError(`The sample rate provided (${sampleRate}) is outside the range [8000, 96000]`);
63
+ }
64
+ return new _AudioBuffer.default(this.context.createBuffer(numOfChannels, length, sampleRate));
65
+ }
66
+ createPeriodicWave(real, imag, constraints) {
67
+ if (real.length !== imag.length) {
68
+ throw new _errors.InvalidAccessError(`The lengths of the real (${real.length}) and imaginary (${imag.length}) arrays must match.`);
69
+ }
70
+ return new _PeriodicWave.default(this.context.createPeriodicWave(real, imag, constraints));
71
+ }
72
+ createAnalyser() {
73
+ return new _AnalyserNode.default(this, this.context.createAnalyser());
74
+ }
75
+ async decodeAudioDataSource(source) {
76
+ const arrayBuffer = await fetch(source).then(response => response.arrayBuffer());
77
+ return this.decodeAudioData(arrayBuffer);
78
+ }
79
+ async decodeAudioData(arrayBuffer) {
80
+ return new _AudioBuffer.default(await this.context.decodeAudioData(arrayBuffer));
81
+ }
82
+ async close() {
83
+ await this.context.close();
84
+ }
85
+ async resume() {
86
+ await this.context.resume();
87
+ }
88
+ async suspend() {
89
+ await this.context.suspend();
90
+ }
91
+ }
92
+ exports.default = AudioContext;
93
+ //# sourceMappingURL=AudioContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","_AnalyserNode","_interopRequireDefault","_AudioDestinationNode","_AudioBuffer","_AudioBufferSourceNode","_BiquadFilterNode","_GainNode","_OscillatorNode","_PeriodicWave","_StereoPannerNode","_LoadCustomWasm","e","__esModule","default","AudioContext","constructor","options","sampleRate","NotSupportedError","context","window","destination","AudioDestinationNode","currentTime","state","createOscillator","OscillatorNode","createGain","GainNode","createStereoPanner","StereoPannerNode","createBiquadFilter","BiquadFilterNode","createBufferSource","pitchCorrection","AudioBufferSourceNode","globalWasmPromise","wasmStretch","globalTag","createBuffer","numOfChannels","length","AudioBuffer","createPeriodicWave","real","imag","constraints","InvalidAccessError","PeriodicWave","createAnalyser","AnalyserNode","decodeAudioDataSource","source","arrayBuffer","fetch","then","response","decodeAudioData","close","resume","suspend","exports"],"sourceRoot":"../../../src","sources":["web-core/AudioContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _AudioNode = _interopRequireDefault(require("./AudioNode"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ class AudioDestinationNode extends _AudioNode.default {}
10
+ exports.default = AudioDestinationNode;
11
+ //# sourceMappingURL=AudioDestinationNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AudioNode","_interopRequireDefault","require","e","__esModule","default","AudioDestinationNode","AudioNode","exports"],"sourceRoot":"../../../src","sources":["web-core/AudioDestinationNode.tsx"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAErB,MAAMG,oBAAoB,SAASC,kBAAS,CAAC;AAAEC,OAAA,CAAAH,OAAA,GAAAC,oBAAA","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ class AudioNode {
8
+ constructor(context, node) {
9
+ this.context = context;
10
+ this.node = node;
11
+ this.numberOfInputs = this.node.numberOfInputs;
12
+ this.numberOfOutputs = this.node.numberOfOutputs;
13
+ this.channelCount = this.node.channelCount;
14
+ this.channelCountMode = this.node.channelCountMode;
15
+ this.channelInterpretation = this.node.channelInterpretation;
16
+ }
17
+ connect(destination) {
18
+ if (this.context !== destination.context) {
19
+ throw new Error('The AudioNodes are from different BaseAudioContexts');
20
+ }
21
+ this.node.connect(destination.node);
22
+ return destination;
23
+ }
24
+ disconnect(destination) {
25
+ if (destination === undefined) {
26
+ this.node.disconnect();
27
+ return;
28
+ }
29
+ this.node.disconnect(destination.node);
30
+ }
31
+ }
32
+ exports.default = AudioNode;
33
+ //# sourceMappingURL=AudioNode.js.map