react-native-audio-api 0.5.7 → 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 (192) hide show
  1. package/RNAudioAPI.podspec +1 -1
  2. package/android/CMakeLists.txt +6 -3
  3. package/android/build.gradle +1 -0
  4. package/android/src/main/cpp/audioapi/android/core/AudioPlayer.cpp +0 -20
  5. package/android/src/main/cpp/audioapi/android/core/AudioPlayer.h +0 -2
  6. package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +13 -0
  7. package/android/src/main/java/com/swmansion/audioapi/AudioManagerModule.kt +62 -0
  8. package/android/src/main/java/com/swmansion/audioapi/system/AudioFocusListener.kt +60 -0
  9. package/android/src/main/java/com/swmansion/audioapi/system/LockScreenManager.kt +294 -0
  10. package/android/src/main/java/com/swmansion/audioapi/system/MediaNotificationManager.kt +279 -0
  11. package/android/src/main/java/com/swmansion/audioapi/system/MediaReceiver.kt +46 -0
  12. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionCallback.kt +39 -0
  13. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionEventEmitter.kt +84 -0
  14. package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionManager.kt +144 -0
  15. package/android/src/main/res/drawable/next.xml +9 -0
  16. package/android/src/main/res/drawable/pause.xml +9 -0
  17. package/android/src/main/res/drawable/play.xml +9 -0
  18. package/android/src/main/res/drawable/previous.xml +9 -0
  19. package/android/src/main/res/drawable/skip_backward_5.xml +9 -0
  20. package/android/src/main/res/drawable/skip_forward_5.xml +9 -0
  21. package/android/src/main/res/drawable/stop.xml +9 -0
  22. package/android/src/oldarch/NativeAudioManagerModuleSpec.java +99 -0
  23. package/app.plugin.js +1 -0
  24. package/common/cpp/audioapi/AudioAPIModuleInstaller.h +2 -6
  25. package/common/cpp/audioapi/core/AudioContext.cpp +1 -12
  26. package/common/cpp/audioapi/core/AudioContext.h +0 -1
  27. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +1 -6
  28. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.cpp +8 -4
  29. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.h +1 -0
  30. package/common/cpp/audioapi/core/utils/AudioNodeDestructor.cpp +3 -3
  31. package/ios/audioapi/ios/AudioAPIModule.mm +2 -3
  32. package/ios/audioapi/ios/AudioManagerModule.h +18 -0
  33. package/ios/audioapi/ios/AudioManagerModule.mm +94 -0
  34. package/ios/audioapi/ios/core/AudioPlayer.h +4 -12
  35. package/ios/audioapi/ios/core/AudioPlayer.m +26 -108
  36. package/ios/audioapi/ios/core/IOSAudioPlayer.h +1 -3
  37. package/ios/audioapi/ios/core/IOSAudioPlayer.mm +4 -28
  38. package/ios/audioapi/ios/system/AudioEngine.h +23 -0
  39. package/ios/audioapi/ios/system/AudioEngine.mm +137 -0
  40. package/ios/audioapi/ios/system/AudioSessionManager.h +22 -0
  41. package/ios/audioapi/ios/system/AudioSessionManager.mm +183 -0
  42. package/ios/audioapi/ios/system/LockScreenManager.h +23 -0
  43. package/ios/audioapi/ios/system/LockScreenManager.mm +295 -0
  44. package/ios/audioapi/ios/system/NotificationManager.h +22 -0
  45. package/ios/audioapi/ios/system/NotificationManager.mm +173 -0
  46. package/lib/commonjs/api.js +197 -0
  47. package/lib/commonjs/api.js.map +1 -0
  48. package/lib/commonjs/api.web.js +219 -0
  49. package/lib/commonjs/api.web.js.map +1 -0
  50. package/lib/commonjs/core/AnalyserNode.js +71 -0
  51. package/lib/commonjs/core/AnalyserNode.js.map +1 -0
  52. package/lib/commonjs/core/AudioBuffer.js +44 -0
  53. package/lib/commonjs/core/AudioBuffer.js.map +1 -0
  54. package/lib/commonjs/core/AudioBufferSourceNode.js +68 -0
  55. package/lib/commonjs/core/AudioBufferSourceNode.js.map +1 -0
  56. package/lib/commonjs/core/AudioContext.js +29 -0
  57. package/lib/commonjs/core/AudioContext.js.map +1 -0
  58. package/lib/commonjs/core/AudioDestinationNode.js +11 -0
  59. package/lib/commonjs/core/AudioDestinationNode.js.map +1 -0
  60. package/lib/commonjs/core/AudioNode.js +30 -0
  61. package/lib/commonjs/core/AudioNode.js.map +1 -0
  62. package/lib/commonjs/core/AudioParam.js +82 -0
  63. package/lib/commonjs/core/AudioParam.js.map +1 -0
  64. package/lib/commonjs/core/AudioScheduledSourceNode.js +38 -0
  65. package/lib/commonjs/core/AudioScheduledSourceNode.js.map +1 -0
  66. package/lib/commonjs/core/BaseAudioContext.js +80 -0
  67. package/lib/commonjs/core/BaseAudioContext.js.map +1 -0
  68. package/lib/commonjs/core/BiquadFilterNode.js +33 -0
  69. package/lib/commonjs/core/BiquadFilterNode.js.map +1 -0
  70. package/lib/commonjs/core/GainNode.js +17 -0
  71. package/lib/commonjs/core/GainNode.js.map +1 -0
  72. package/lib/commonjs/core/OfflineAudioContext.js +63 -0
  73. package/lib/commonjs/core/OfflineAudioContext.js.map +1 -0
  74. package/lib/commonjs/core/OscillatorNode.js +32 -0
  75. package/lib/commonjs/core/OscillatorNode.js.map +1 -0
  76. package/lib/commonjs/core/PeriodicWave.js +15 -0
  77. package/lib/commonjs/core/PeriodicWave.js.map +1 -0
  78. package/lib/commonjs/core/StereoPannerNode.js +17 -0
  79. package/lib/commonjs/core/StereoPannerNode.js.map +1 -0
  80. package/lib/commonjs/errors/IndexSizeError.js +14 -0
  81. package/lib/commonjs/errors/IndexSizeError.js.map +1 -0
  82. package/lib/commonjs/errors/InvalidAccessError.js +14 -0
  83. package/lib/commonjs/errors/InvalidAccessError.js.map +1 -0
  84. package/lib/commonjs/errors/InvalidStateError.js +14 -0
  85. package/lib/commonjs/errors/InvalidStateError.js.map +1 -0
  86. package/lib/commonjs/errors/NotSupportedError.js +14 -0
  87. package/lib/commonjs/errors/NotSupportedError.js.map +1 -0
  88. package/lib/commonjs/errors/RangeError.js +14 -0
  89. package/lib/commonjs/errors/RangeError.js.map +1 -0
  90. package/lib/commonjs/errors/index.js +42 -0
  91. package/lib/commonjs/errors/index.js.map +1 -0
  92. package/lib/commonjs/index.js +17 -0
  93. package/lib/commonjs/index.js.map +1 -0
  94. package/lib/commonjs/interfaces.js +6 -0
  95. package/lib/commonjs/interfaces.js.map +1 -0
  96. package/lib/commonjs/package.json +1 -0
  97. package/lib/commonjs/plugin/withAudioAPI.js +62 -0
  98. package/lib/commonjs/plugin/withAudioAPI.js.map +1 -0
  99. package/lib/commonjs/specs/NativeAudioAPIModule.js +9 -0
  100. package/lib/commonjs/specs/NativeAudioAPIModule.js.map +1 -0
  101. package/lib/commonjs/specs/NativeAudioManagerModule.js +33 -0
  102. package/lib/commonjs/specs/NativeAudioManagerModule.js.map +1 -0
  103. package/lib/commonjs/specs/index.js +27 -0
  104. package/lib/commonjs/specs/index.js.map +1 -0
  105. package/lib/commonjs/system/AudioManager.js +79 -0
  106. package/lib/commonjs/system/AudioManager.js.map +1 -0
  107. package/lib/commonjs/system/index.js +14 -0
  108. package/lib/commonjs/system/index.js.map +1 -0
  109. package/lib/commonjs/system/types.js +2 -0
  110. package/lib/commonjs/system/types.js.map +1 -0
  111. package/lib/commonjs/types.js +2 -0
  112. package/lib/commonjs/types.js.map +1 -0
  113. package/lib/commonjs/utils/index.js +10 -0
  114. package/lib/commonjs/utils/index.js.map +1 -0
  115. package/lib/commonjs/web-core/AnalyserNode.js +38 -0
  116. package/lib/commonjs/web-core/AnalyserNode.js.map +1 -0
  117. package/lib/commonjs/web-core/AudioBuffer.js +44 -0
  118. package/lib/commonjs/web-core/AudioBuffer.js.map +1 -0
  119. package/lib/commonjs/web-core/AudioBufferSourceNode.js +214 -0
  120. package/lib/commonjs/web-core/AudioBufferSourceNode.js.map +1 -0
  121. package/lib/commonjs/web-core/AudioContext.js +93 -0
  122. package/lib/commonjs/web-core/AudioContext.js.map +1 -0
  123. package/lib/commonjs/web-core/AudioDestinationNode.js +11 -0
  124. package/lib/commonjs/web-core/AudioDestinationNode.js.map +1 -0
  125. package/lib/commonjs/web-core/AudioNode.js +33 -0
  126. package/lib/commonjs/web-core/AudioNode.js.map +1 -0
  127. package/lib/commonjs/web-core/AudioParam.js +81 -0
  128. package/lib/commonjs/web-core/AudioParam.js.map +1 -0
  129. package/lib/commonjs/web-core/AudioScheduledSourceNode.js +41 -0
  130. package/lib/commonjs/web-core/AudioScheduledSourceNode.js.map +1 -0
  131. package/lib/commonjs/web-core/BaseAudioContext.js +2 -0
  132. package/lib/commonjs/web-core/BaseAudioContext.js.map +1 -0
  133. package/lib/commonjs/web-core/BiquadFilterNode.js +33 -0
  134. package/lib/commonjs/web-core/BiquadFilterNode.js.map +1 -0
  135. package/lib/commonjs/web-core/GainNode.js +17 -0
  136. package/lib/commonjs/web-core/GainNode.js.map +1 -0
  137. package/lib/commonjs/web-core/OfflineAudioContext.js +96 -0
  138. package/lib/commonjs/web-core/OfflineAudioContext.js.map +1 -0
  139. package/lib/commonjs/web-core/OscillatorNode.js +31 -0
  140. package/lib/commonjs/web-core/OscillatorNode.js.map +1 -0
  141. package/lib/commonjs/web-core/PeriodicWave.js +15 -0
  142. package/lib/commonjs/web-core/PeriodicWave.js.map +1 -0
  143. package/lib/commonjs/web-core/StereoPannerNode.js +17 -0
  144. package/lib/commonjs/web-core/StereoPannerNode.js.map +1 -0
  145. package/lib/commonjs/web-core/custom/LoadCustomWasm.js +37 -0
  146. package/lib/commonjs/web-core/custom/LoadCustomWasm.js.map +1 -0
  147. package/lib/commonjs/web-core/custom/index.js +14 -0
  148. package/lib/commonjs/web-core/custom/index.js.map +1 -0
  149. package/lib/commonjs/web-core/custom/signalsmithStretch/LICENSE.txt +21 -0
  150. package/lib/commonjs/web-core/custom/signalsmithStretch/README.md +46 -0
  151. package/lib/commonjs/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs +826 -0
  152. package/lib/commonjs/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs.map +1 -0
  153. package/lib/module/api.js +1 -0
  154. package/lib/module/api.js.map +1 -1
  155. package/lib/module/core/AudioContext.js +2 -1
  156. package/lib/module/core/AudioContext.js.map +1 -1
  157. package/lib/module/plugin/withAudioAPI.js +58 -0
  158. package/lib/module/plugin/withAudioAPI.js.map +1 -0
  159. package/lib/module/specs/NativeAudioManagerModule.js +30 -0
  160. package/lib/module/specs/NativeAudioManagerModule.js.map +1 -0
  161. package/lib/module/specs/index.js +6 -0
  162. package/lib/module/specs/index.js.map +1 -0
  163. package/lib/module/system/AudioManager.js +75 -0
  164. package/lib/module/system/AudioManager.js.map +1 -0
  165. package/lib/module/system/index.js +4 -0
  166. package/lib/module/system/index.js.map +1 -0
  167. package/lib/module/system/types.js +2 -0
  168. package/lib/module/system/types.js.map +1 -0
  169. package/lib/typescript/api.d.ts +1 -0
  170. package/lib/typescript/api.d.ts.map +1 -1
  171. package/lib/typescript/core/AudioContext.d.ts.map +1 -1
  172. package/lib/typescript/plugin/withAudioAPI.d.ts +9 -0
  173. package/lib/typescript/plugin/withAudioAPI.d.ts.map +1 -0
  174. package/lib/typescript/specs/NativeAudioManagerModule.d.ts +14 -0
  175. package/lib/typescript/specs/NativeAudioManagerModule.d.ts.map +1 -0
  176. package/lib/typescript/specs/index.d.ts +4 -0
  177. package/lib/typescript/specs/index.d.ts.map +1 -0
  178. package/lib/typescript/system/AudioManager.d.ts +14 -0
  179. package/lib/typescript/system/AudioManager.d.ts.map +1 -0
  180. package/lib/typescript/system/index.d.ts +2 -0
  181. package/lib/typescript/system/index.d.ts.map +1 -0
  182. package/lib/typescript/system/types.d.ts +40 -0
  183. package/lib/typescript/system/types.d.ts.map +1 -0
  184. package/package.json +7 -4
  185. package/src/api.ts +1 -0
  186. package/src/core/AudioContext.ts +6 -1
  187. package/src/plugin/withAudioAPI.ts +90 -0
  188. package/src/specs/NativeAudioManagerModule.ts +48 -0
  189. package/src/specs/index.ts +6 -0
  190. package/src/system/AudioManager.ts +149 -0
  191. package/src/system/index.ts +1 -0
  192. package/src/system/types.ts +84 -0
@@ -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":["core/AudioBuffer.ts"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEe,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,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;IACA,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,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _AudioScheduledSourceNode = _interopRequireDefault(require("./AudioScheduledSourceNode"));
8
+ var _AudioBuffer = _interopRequireDefault(require("./AudioBuffer"));
9
+ var _AudioParam = _interopRequireDefault(require("./AudioParam"));
10
+ var _errors = require("../errors");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ class AudioBufferSourceNode extends _AudioScheduledSourceNode.default {
13
+ constructor(context, node) {
14
+ super(context, node);
15
+ this.detune = new _AudioParam.default(node.detune);
16
+ this.playbackRate = new _AudioParam.default(node.playbackRate);
17
+ }
18
+ get buffer() {
19
+ const buffer = this.node.buffer;
20
+ if (!buffer) {
21
+ return null;
22
+ }
23
+ return new _AudioBuffer.default(buffer);
24
+ }
25
+ set buffer(buffer) {
26
+ if (!buffer) {
27
+ this.node.buffer = null;
28
+ return;
29
+ }
30
+ this.node.buffer = buffer.buffer;
31
+ }
32
+ get loop() {
33
+ return this.node.loop;
34
+ }
35
+ set loop(value) {
36
+ this.node.loop = value;
37
+ }
38
+ get loopStart() {
39
+ return this.node.loopStart;
40
+ }
41
+ set loopStart(value) {
42
+ this.node.loopStart = value;
43
+ }
44
+ get loopEnd() {
45
+ return this.node.loopEnd;
46
+ }
47
+ set loopEnd(value) {
48
+ this.node.loopEnd = value;
49
+ }
50
+ start(when = 0, offset = 0, duration) {
51
+ if (when < 0) {
52
+ throw new _errors.RangeError(`when must be a finite non-negative number: ${when}`);
53
+ }
54
+ if (offset < 0) {
55
+ throw new _errors.RangeError(`offset must be a finite non-negative number: ${offset}`);
56
+ }
57
+ if (duration && duration < 0) {
58
+ throw new _errors.RangeError(`duration must be a finite non-negative number: ${duration}`);
59
+ }
60
+ if (this.hasBeenStarted) {
61
+ throw new _errors.InvalidStateError('Cannot call start more than once');
62
+ }
63
+ this.hasBeenStarted = true;
64
+ this.node.start(when, offset, duration);
65
+ }
66
+ }
67
+ exports.default = AudioBufferSourceNode;
68
+ //# sourceMappingURL=AudioBufferSourceNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AudioScheduledSourceNode","_interopRequireDefault","require","_AudioBuffer","_AudioParam","_errors","e","__esModule","default","AudioBufferSourceNode","AudioScheduledSourceNode","constructor","context","node","detune","AudioParam","playbackRate","buffer","AudioBuffer","loop","value","loopStart","loopEnd","start","when","offset","duration","RangeError","hasBeenStarted","InvalidStateError","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":";;;;;;AACA,IAAAA,yBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA0D,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3C,MAAMG,qBAAqB,SAASC,iCAAwB,CAAC;EAI1EC,WAAWA,CAACC,OAAyB,EAAEC,IAA4B,EAAE;IACnE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIC,mBAAU,CAACF,IAAI,CAACC,MAAM,CAAC;IACzC,IAAI,CAACE,YAAY,GAAG,IAAID,mBAAU,CAACF,IAAI,CAACG,YAAY,CAAC;EACvD;EAEA,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACJ,IAAI,CAA4BI,MAAM;IAC3D,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAIC,oBAAW,CAACD,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACJ,IAAI,CAA4BI,MAAM,GAAG,IAAI;MACnD;IACF;IAEC,IAAI,CAACJ,IAAI,CAA4BI,MAAM,GAAGA,MAAM,CAACA,MAAM;EAC9D;EAEA,IAAWE,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACN,IAAI,CAA4BM,IAAI;EACnD;EAEA,IAAWA,IAAIA,CAACC,KAAc,EAAE;IAC7B,IAAI,CAACP,IAAI,CAA4BM,IAAI,GAAGC,KAAK;EACpD;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC7B,OAAQ,IAAI,CAACR,IAAI,CAA4BQ,SAAS;EACxD;EAEA,IAAWA,SAASA,CAACD,KAAa,EAAE;IACjC,IAAI,CAACP,IAAI,CAA4BQ,SAAS,GAAGD,KAAK;EACzD;EAEA,IAAWE,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACT,IAAI,CAA4BS,OAAO;EACtD;EAEA,IAAWA,OAAOA,CAACF,KAAa,EAAE;IAC/B,IAAI,CAACP,IAAI,CAA4BS,OAAO,GAAGF,KAAK;EACvD;EAEOG,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAc,GAAG,CAAC,EAAEC,QAAiB,EAAQ;IAC1E,IAAIF,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIG,kBAAU,CAClB,8CAA8CH,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,GAAG,CAAC,EAAE;MACd,MAAM,IAAIE,kBAAU,CAClB,gDAAgDF,MAAM,EACxD,CAAC;IACH;IAEA,IAAIC,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIC,kBAAU,CAClB,kDAAkDD,QAAQ,EAC5D,CAAC;IACH;IAEA,IAAI,IAAI,CAACE,cAAc,EAAE;MACvB,MAAM,IAAIC,yBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACD,cAAc,GAAG,IAAI;IACzB,IAAI,CAACf,IAAI,CAA4BU,KAAK,CAACC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;EACrE;AACF;AAACI,OAAA,CAAAtB,OAAA,GAAAC,qBAAA","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _BaseAudioContext = _interopRequireDefault(require("./BaseAudioContext"));
8
+ var _system = _interopRequireDefault(require("../system"));
9
+ var _errors = require("../errors");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ class AudioContext extends _BaseAudioContext.default {
12
+ constructor(options) {
13
+ if (options && (options.sampleRate < 8000 || options.sampleRate > 96000)) {
14
+ throw new _errors.NotSupportedError(`The provided sampleRate is not supported: ${options.sampleRate}`);
15
+ }
16
+ super(global.createAudioContext(options?.sampleRate || _system.default.getDevicePreferredSampleRate()));
17
+ }
18
+ async close() {
19
+ await this.context.close();
20
+ }
21
+ async resume() {
22
+ await this.context.resume();
23
+ }
24
+ async suspend() {
25
+ await this.context.suspend();
26
+ }
27
+ }
28
+ exports.default = AudioContext;
29
+ //# sourceMappingURL=AudioContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_BaseAudioContext","_interopRequireDefault","require","_system","_errors","e","__esModule","default","AudioContext","BaseAudioContext","constructor","options","sampleRate","NotSupportedError","global","createAudioContext","AudioManager","getDevicePreferredSampleRate","close","context","resume","suspend","exports"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAA8C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/B,MAAMG,YAAY,SAASC,yBAAgB,CAAC;EACzDC,WAAWA,CAACC,OAA6B,EAAE;IACzC,IAAIA,OAAO,KAAKA,OAAO,CAACC,UAAU,GAAG,IAAI,IAAID,OAAO,CAACC,UAAU,GAAG,KAAK,CAAC,EAAE;MACxE,MAAM,IAAIC,yBAAiB,CACzB,6CAA6CF,OAAO,CAACC,UAAU,EACjE,CAAC;IACH;IAEA,KAAK,CACHE,MAAM,CAACC,kBAAkB,CACvBJ,OAAO,EAAEC,UAAU,IAAII,eAAY,CAACC,4BAA4B,CAAC,CACnE,CACF,CAAC;EACH;EAEA,MAAMC,KAAKA,CAAA,EAAuB;IAChC,MAAO,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EAC/C;EAEA,MAAME,MAAMA,CAAA,EAAuB;IACjC,MAAO,IAAI,CAACD,OAAO,CAAmBC,MAAM,CAAC,CAAC;EAChD;EAEA,MAAMC,OAAOA,CAAA,EAAuB;IAClC,MAAO,IAAI,CAACF,OAAO,CAAmBE,OAAO,CAAC,CAAC;EACjD;AACF;AAACC,OAAA,CAAAf,OAAA,GAAAC,YAAA","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":["core/AudioDestinationNode.ts"],"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,30 @@
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 AudioNode {
9
+ constructor(context, node) {
10
+ this.context = context;
11
+ this.node = node;
12
+ this.numberOfInputs = this.node.numberOfInputs;
13
+ this.numberOfOutputs = this.node.numberOfOutputs;
14
+ this.channelCount = this.node.channelCount;
15
+ this.channelCountMode = this.node.channelCountMode;
16
+ this.channelInterpretation = this.node.channelInterpretation;
17
+ }
18
+ connect(destination) {
19
+ if (this.context !== destination.context) {
20
+ throw new _errors.InvalidAccessError('The AudioNodes are from different BaseAudioContexts');
21
+ }
22
+ this.node.connect(destination.node);
23
+ return destination;
24
+ }
25
+ disconnect(destination) {
26
+ this.node.disconnect(destination?.node);
27
+ }
28
+ }
29
+ exports.default = AudioNode;
30
+ //# sourceMappingURL=AudioNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","destination","InvalidAccessError","disconnect","exports","default"],"sourceRoot":"../../../src","sources":["core/AudioNode.ts"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAEe,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,CAACC,WAAsB,EAAa;IAChD,IAAI,IAAI,CAACR,OAAO,KAAKQ,WAAW,CAACR,OAAO,EAAE;MACxC,MAAM,IAAIS,0BAAkB,CAC1B,qDACF,CAAC;IACH;IAEA,IAAI,CAACR,IAAI,CAACM,OAAO,CAACC,WAAW,CAACP,IAAI,CAAC;IAEnC,OAAOO,WAAW;EACpB;EAEOE,UAAUA,CAACF,WAAuB,EAAQ;IAC/C,IAAI,CAACP,IAAI,CAACS,UAAU,CAACF,WAAW,EAAEP,IAAI,CAAC;EACzC;AACF;AAACU,OAAA,CAAAC,OAAA,GAAAd,SAAA","ignoreList":[]}
@@ -0,0 +1,82 @@
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 AudioParam {
9
+ constructor(audioParam) {
10
+ this.audioParam = audioParam;
11
+ this.value = audioParam.value;
12
+ this.defaultValue = audioParam.defaultValue;
13
+ this.minValue = audioParam.minValue;
14
+ this.maxValue = audioParam.maxValue;
15
+ }
16
+ get value() {
17
+ return this.audioParam.value;
18
+ }
19
+ set value(value) {
20
+ this.audioParam.value = value;
21
+ }
22
+ setValueAtTime(value, startTime) {
23
+ if (startTime < 0) {
24
+ throw new _errors.RangeError(`startTime must be a finite non-negative number: ${startTime}`);
25
+ }
26
+ this.audioParam.setValueAtTime(value, startTime);
27
+ return this;
28
+ }
29
+ linearRampToValueAtTime(value, endTime) {
30
+ if (endTime < 0) {
31
+ throw new _errors.RangeError(`endTime must be a finite non-negative number: ${endTime}`);
32
+ }
33
+ this.audioParam.linearRampToValueAtTime(value, endTime);
34
+ return this;
35
+ }
36
+ exponentialRampToValueAtTime(value, endTime) {
37
+ if (endTime < 0) {
38
+ throw new _errors.RangeError(`endTime must be a finite non-negative number: ${endTime}`);
39
+ }
40
+ this.audioParam.exponentialRampToValueAtTime(value, endTime);
41
+ return this;
42
+ }
43
+ setTargetAtTime(target, startTime, timeConstant) {
44
+ if (startTime < 0) {
45
+ throw new _errors.RangeError(`startTime must be a finite non-negative number: ${startTime}`);
46
+ }
47
+ if (timeConstant < 0) {
48
+ throw new _errors.RangeError(`timeConstant must be a finite non-negative number: ${startTime}`);
49
+ }
50
+ this.audioParam.setTargetAtTime(target, startTime, timeConstant);
51
+ return this;
52
+ }
53
+ setValueCurveAtTime(values, startTime, duration) {
54
+ if (startTime < 0) {
55
+ throw new _errors.RangeError(`startTime must be a finite non-negative number: ${startTime}`);
56
+ }
57
+ if (duration < 0) {
58
+ throw new _errors.RangeError(`duration must be a finite non-negative number: ${startTime}`);
59
+ }
60
+ if (values.length < 2) {
61
+ throw new _errors.InvalidStateError(`values must contain at least two values`);
62
+ }
63
+ this.audioParam.setValueCurveAtTime(values, startTime, duration);
64
+ return this;
65
+ }
66
+ cancelScheduledValues(cancelTime) {
67
+ if (cancelTime < 0) {
68
+ throw new _errors.RangeError(`cancelTime must be a finite non-negative number: ${cancelTime}`);
69
+ }
70
+ this.audioParam.cancelScheduledValues(cancelTime);
71
+ return this;
72
+ }
73
+ cancelAndHoldAtTime(cancelTime) {
74
+ if (cancelTime < 0) {
75
+ throw new _errors.RangeError(`cancelTime must be a finite non-negative number: ${cancelTime}`);
76
+ }
77
+ this.audioParam.cancelAndHoldAtTime(cancelTime);
78
+ return this;
79
+ }
80
+ }
81
+ exports.default = AudioParam;
82
+ //# sourceMappingURL=AudioParam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","AudioParam","constructor","audioParam","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","RangeError","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","InvalidStateError","cancelScheduledValues","cancelTime","cancelAndHoldAtTime","exports","default"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":"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","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
+ var _errors = require("../errors");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ class AudioScheduledSourceNode extends _AudioNode.default {
11
+ hasBeenStarted = false;
12
+ start(when = 0) {
13
+ if (when < 0) {
14
+ throw new _errors.RangeError(`when must be a finite non-negative number: ${when}`);
15
+ }
16
+ if (this.hasBeenStarted) {
17
+ throw new _errors.InvalidStateError('Cannot call start more than once');
18
+ }
19
+ this.hasBeenStarted = true;
20
+ this.node.start(when);
21
+ }
22
+ stop(when = 0) {
23
+ if (when < 0) {
24
+ throw new _errors.RangeError(`when must be a finite non-negative number: ${when}`);
25
+ }
26
+ if (!this.hasBeenStarted) {
27
+ throw new _errors.InvalidStateError('Cannot call stop without calling start first');
28
+ }
29
+ this.node.stop(when);
30
+ }
31
+
32
+ // eslint-disable-next-line accessor-pairs
33
+ set onended(callback) {
34
+ this.node.onended = callback;
35
+ }
36
+ }
37
+ exports.default = AudioScheduledSourceNode;
38
+ //# sourceMappingURL=AudioScheduledSourceNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AudioNode","_interopRequireDefault","require","_errors","e","__esModule","default","AudioScheduledSourceNode","AudioNode","hasBeenStarted","start","when","RangeError","InvalidStateError","node","stop","onended","callback","exports"],"sourceRoot":"../../../src","sources":["core/AudioScheduledSourceNode.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAA0D,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3C,MAAMG,wBAAwB,SAASC,kBAAS,CAAC;EACpDC,cAAc,GAAY,KAAK;EAElCC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAQ;IACnC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIC,kBAAU,CAClB,8CAA8CD,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,IAAI,CAACF,cAAc,EAAE;MACvB,MAAM,IAAII,yBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACJ,cAAc,GAAG,IAAI;IACzB,IAAI,CAACK,IAAI,CAA+BJ,KAAK,CAACC,IAAI,CAAC;EACtD;EAEOI,IAAIA,CAACJ,IAAY,GAAG,CAAC,EAAQ;IAClC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIC,kBAAU,CAClB,8CAA8CD,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE;MACxB,MAAM,IAAII,yBAAiB,CACzB,8CACF,CAAC;IACH;IAEC,IAAI,CAACC,IAAI,CAA+BC,IAAI,CAACJ,IAAI,CAAC;EACrD;;EAEA;EACA,IAAWK,OAAOA,CAACC,QAAgC,EAAE;IAClD,IAAI,CAACH,IAAI,CAA+BE,OAAO,GAAGC,QAAQ;EAC7D;AACF;AAACC,OAAA,CAAAZ,OAAA,GAAAC,wBAAA","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _AudioDestinationNode = _interopRequireDefault(require("./AudioDestinationNode"));
8
+ var _OscillatorNode = _interopRequireDefault(require("./OscillatorNode"));
9
+ var _GainNode = _interopRequireDefault(require("./GainNode"));
10
+ var _StereoPannerNode = _interopRequireDefault(require("./StereoPannerNode"));
11
+ var _BiquadFilterNode = _interopRequireDefault(require("./BiquadFilterNode"));
12
+ var _AudioBufferSourceNode = _interopRequireDefault(require("./AudioBufferSourceNode"));
13
+ var _AudioBuffer = _interopRequireDefault(require("./AudioBuffer"));
14
+ var _PeriodicWave = _interopRequireDefault(require("./PeriodicWave"));
15
+ var _AnalyserNode = _interopRequireDefault(require("./AnalyserNode"));
16
+ var _errors = require("../errors");
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ class BaseAudioContext {
19
+ constructor(context) {
20
+ this.context = context;
21
+ this.destination = new _AudioDestinationNode.default(this, context.destination);
22
+ this.sampleRate = context.sampleRate;
23
+ }
24
+ get currentTime() {
25
+ return this.context.currentTime;
26
+ }
27
+ get state() {
28
+ return this.context.state;
29
+ }
30
+ createOscillator() {
31
+ return new _OscillatorNode.default(this, this.context.createOscillator());
32
+ }
33
+ createGain() {
34
+ return new _GainNode.default(this, this.context.createGain());
35
+ }
36
+ createStereoPanner() {
37
+ return new _StereoPannerNode.default(this, this.context.createStereoPanner());
38
+ }
39
+ createBiquadFilter() {
40
+ return new _BiquadFilterNode.default(this, this.context.createBiquadFilter());
41
+ }
42
+ createBufferSource(options) {
43
+ const pitchCorrection = options?.pitchCorrection ?? false;
44
+ return new _AudioBufferSourceNode.default(this, this.context.createBufferSource(pitchCorrection));
45
+ }
46
+ createBuffer(numOfChannels, length, sampleRate) {
47
+ if (numOfChannels < 1 || numOfChannels >= 32) {
48
+ throw new _errors.NotSupportedError(`The number of channels provided (${numOfChannels}) is outside the range [1, 32]`);
49
+ }
50
+ if (length <= 0) {
51
+ throw new _errors.NotSupportedError(`The number of frames provided (${length}) is less than or equal to the minimum bound (0)`);
52
+ }
53
+ if (sampleRate < 8000 || sampleRate > 96000) {
54
+ throw new _errors.NotSupportedError(`The sample rate provided (${sampleRate}) is outside the range [8000, 96000]`);
55
+ }
56
+ return new _AudioBuffer.default(this.context.createBuffer(numOfChannels, length, sampleRate));
57
+ }
58
+ createPeriodicWave(real, imag, constraints) {
59
+ if (real.length !== imag.length) {
60
+ throw new _errors.InvalidAccessError(`The lengths of the real (${real.length}) and imaginary (${imag.length}) arrays must match.`);
61
+ }
62
+ const disableNormalization = constraints?.disableNormalization ?? false;
63
+ return new _PeriodicWave.default(this.context.createPeriodicWave(real, imag, disableNormalization));
64
+ }
65
+ createAnalyser() {
66
+ return new _AnalyserNode.default(this, this.context.createAnalyser());
67
+ }
68
+ async decodeAudioDataSource(sourcePath) {
69
+ // Remove the file:// prefix if it exists
70
+ if (sourcePath.startsWith('file://')) {
71
+ sourcePath = sourcePath.replace('file://', '');
72
+ }
73
+ return new _AudioBuffer.default(await this.context.decodeAudioDataSource(sourcePath));
74
+ }
75
+ async decodeAudioData(arrayBuffer) {
76
+ return new _AudioBuffer.default(await this.context.decodeAudioData(new Uint8Array(arrayBuffer)));
77
+ }
78
+ }
79
+ exports.default = BaseAudioContext;
80
+ //# sourceMappingURL=BaseAudioContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AudioDestinationNode","_interopRequireDefault","require","_OscillatorNode","_GainNode","_StereoPannerNode","_BiquadFilterNode","_AudioBufferSourceNode","_AudioBuffer","_PeriodicWave","_AnalyserNode","_errors","e","__esModule","default","BaseAudioContext","constructor","context","destination","AudioDestinationNode","sampleRate","currentTime","state","createOscillator","OscillatorNode","createGain","GainNode","createStereoPanner","StereoPannerNode","createBiquadFilter","BiquadFilterNode","createBufferSource","options","pitchCorrection","AudioBufferSourceNode","createBuffer","numOfChannels","length","NotSupportedError","AudioBuffer","createPeriodicWave","real","imag","constraints","InvalidAccessError","disableNormalization","PeriodicWave","createAnalyser","AnalyserNode","decodeAudioDataSource","sourcePath","startsWith","replace","decodeAudioData","arrayBuffer","Uint8Array","exports"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
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 _AudioNode = _interopRequireDefault(require("./AudioNode"));
9
+ var _AudioParam = _interopRequireDefault(require("./AudioParam"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ class BiquadFilterNode extends _AudioNode.default {
12
+ constructor(context, biquadFilter) {
13
+ super(context, biquadFilter);
14
+ this.frequency = new _AudioParam.default(biquadFilter.frequency);
15
+ this.detune = new _AudioParam.default(biquadFilter.detune);
16
+ this.Q = new _AudioParam.default(biquadFilter.Q);
17
+ this.gain = new _AudioParam.default(biquadFilter.gain);
18
+ }
19
+ get type() {
20
+ return this.node.type;
21
+ }
22
+ set type(value) {
23
+ this.node.type = value;
24
+ }
25
+ getFrequencyResponse(frequencyArray, magResponseOutput, phaseResponseOutput) {
26
+ if (frequencyArray.length !== magResponseOutput.length || frequencyArray.length !== phaseResponseOutput.length) {
27
+ throw new _errors.InvalidAccessError(`The lengths of the arrays are not the same frequencyArray: ${frequencyArray.length}, magResponseOutput: ${magResponseOutput.length}, phaseResponseOutput: ${phaseResponseOutput.length}`);
28
+ }
29
+ this.node.getFrequencyResponse(frequencyArray, magResponseOutput, phaseResponseOutput);
30
+ }
31
+ }
32
+ exports.default = BiquadFilterNode;
33
+ //# sourceMappingURL=BiquadFilterNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","_AudioNode","_interopRequireDefault","_AudioParam","e","__esModule","default","BiquadFilterNode","AudioNode","constructor","context","biquadFilter","frequency","AudioParam","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length","InvalidAccessError","exports"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAsC,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIvB,MAAMG,gBAAgB,SAASC,kBAAS,CAAC;EAMtDC,WAAWA,CAACC,OAAyB,EAAEC,YAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIC,mBAAU,CAACF,YAAY,CAACC,SAAS,CAAC;IACvD,IAAI,CAACE,MAAM,GAAG,IAAID,mBAAU,CAACF,YAAY,CAACG,MAAM,CAAC;IACjD,IAAI,CAACC,CAAC,GAAG,IAAIF,mBAAU,CAACF,YAAY,CAACI,CAAC,CAAC;IACvC,IAAI,CAACC,IAAI,GAAG,IAAIH,mBAAU,CAACF,YAAY,CAACK,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,cAA4B,EAC5BC,iBAA+B,EAC/BC,mBAAiC,EACjC;IACA,IACEF,cAAc,CAACG,MAAM,KAAKF,iBAAiB,CAACE,MAAM,IAClDH,cAAc,CAACG,MAAM,KAAKD,mBAAmB,CAACC,MAAM,EACpD;MACA,MAAM,IAAIC,0BAAkB,CAC1B,8DAA8DJ,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;AAACG,OAAA,CAAApB,OAAA,GAAAC,gBAAA","ignoreList":[]}
@@ -0,0 +1,17 @@
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
+ var _AudioParam = _interopRequireDefault(require("./AudioParam"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ class GainNode extends _AudioNode.default {
11
+ constructor(context, gain) {
12
+ super(context, gain);
13
+ this.gain = new _AudioParam.default(gain.gain);
14
+ }
15
+ }
16
+ exports.default = GainNode;
17
+ //# sourceMappingURL=GainNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AudioNode","_interopRequireDefault","require","_AudioParam","e","__esModule","default","GainNode","AudioNode","constructor","context","gain","AudioParam","exports"],"sourceRoot":"../../../src","sources":["core/GainNode.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGvB,MAAMG,QAAQ,SAASC,kBAAS,CAAC;EAG9CC,WAAWA,CAACC,OAAyB,EAAEC,IAAe,EAAE;IACtD,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACA,IAAI,GAAG,IAAIC,mBAAU,CAACD,IAAI,CAACA,IAAI,CAAC;EACvC;AACF;AAACE,OAAA,CAAAP,OAAA,GAAAC,QAAA","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _BaseAudioContext = _interopRequireDefault(require("./BaseAudioContext"));
8
+ var _errors = require("../errors");
9
+ var _AudioBuffer = _interopRequireDefault(require("./AudioBuffer"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ class OfflineAudioContext extends _BaseAudioContext.default {
12
+ constructor(arg0, arg1, arg2) {
13
+ if (typeof arg0 === 'object') {
14
+ const {
15
+ numberOfChannels,
16
+ length,
17
+ sampleRate
18
+ } = arg0;
19
+ super(global.createOfflineAudioContext(numberOfChannels, length, sampleRate));
20
+ this.duration = length / sampleRate;
21
+ } else if (typeof arg0 === 'number' && typeof arg1 === 'number' && typeof arg2 === 'number') {
22
+ super(global.createOfflineAudioContext(arg0, arg1, arg2));
23
+ this.duration = arg1 / arg2;
24
+ } else {
25
+ throw new _errors.NotSupportedError('Invalid constructor arguments');
26
+ }
27
+ this.isSuspended = false;
28
+ this.isRendering = false;
29
+ }
30
+ async resume() {
31
+ if (!this.isRendering) {
32
+ throw new _errors.InvalidStateError('Cannot resume an OfflineAudioContext while rendering');
33
+ }
34
+ if (!this.isSuspended) {
35
+ throw new _errors.InvalidStateError('Cannot resume an OfflineAudioContext that is not suspended');
36
+ }
37
+ this.isSuspended = false;
38
+ await this.context.resume();
39
+ }
40
+ async suspend(suspendTime) {
41
+ if (suspendTime < 0) {
42
+ throw new _errors.InvalidStateError('suspendTime must be a non-negative number');
43
+ }
44
+ if (suspendTime < this.context.currentTime) {
45
+ throw new _errors.InvalidStateError(`suspendTime must be greater than the current time: ${suspendTime}`);
46
+ }
47
+ if (suspendTime > this.duration) {
48
+ throw new _errors.InvalidStateError(`suspendTime must be less than the duration of the context: ${suspendTime}`);
49
+ }
50
+ this.isSuspended = true;
51
+ await this.context.suspend(suspendTime);
52
+ }
53
+ async startRendering() {
54
+ if (this.isRendering) {
55
+ throw new _errors.InvalidStateError('OfflineAudioContext is already rendering');
56
+ }
57
+ this.isRendering = true;
58
+ const audioBuffer = await this.context.startRendering();
59
+ return new _AudioBuffer.default(audioBuffer);
60
+ }
61
+ }
62
+ exports.default = OfflineAudioContext;
63
+ //# sourceMappingURL=OfflineAudioContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_BaseAudioContext","_interopRequireDefault","require","_errors","_AudioBuffer","e","__esModule","default","OfflineAudioContext","BaseAudioContext","constructor","arg0","arg1","arg2","numberOfChannels","length","sampleRate","global","createOfflineAudioContext","duration","NotSupportedError","isSuspended","isRendering","resume","InvalidStateError","context","suspend","suspendTime","currentTime","startRendering","audioBuffer","AudioBuffer","exports"],"sourceRoot":"../../../src","sources":["core/OfflineAudioContext.ts"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAwC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzB,MAAMG,mBAAmB,SAASC,yBAAgB,CAAC;EAOhEC,WAAWA,CACTC,IAAyC,EACzCC,IAAa,EACbC,IAAa,EACb;IACA,IAAI,OAAOF,IAAI,KAAK,QAAQ,EAAE;MAC5B,MAAM;QAAEG,gBAAgB;QAAEC,MAAM;QAAEC;MAAW,CAAC,GAAGL,IAAI;MACrD,KAAK,CACHM,MAAM,CAACC,yBAAyB,CAACJ,gBAAgB,EAAEC,MAAM,EAAEC,UAAU,CACvE,CAAC;MAED,IAAI,CAACG,QAAQ,GAAGJ,MAAM,GAAGC,UAAU;IACrC,CAAC,MAAM,IACL,OAAOL,IAAI,KAAK,QAAQ,IACxB,OAAOC,IAAI,KAAK,QAAQ,IACxB,OAAOC,IAAI,KAAK,QAAQ,EACxB;MACA,KAAK,CAACI,MAAM,CAACC,yBAAyB,CAACP,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC,CAAC;MACzD,IAAI,CAACM,QAAQ,GAAGP,IAAI,GAAGC,IAAI;IAC7B,CAAC,MAAM;MACL,MAAM,IAAIO,yBAAiB,CAAC,+BAA+B,CAAC;IAC9D;IAEA,IAAI,CAACC,WAAW,GAAG,KAAK;IACxB,IAAI,CAACC,WAAW,GAAG,KAAK;EAC1B;EAEA,MAAMC,MAAMA,CAAA,EAAuB;IACjC,IAAI,CAAC,IAAI,CAACD,WAAW,EAAE;MACrB,MAAM,IAAIE,yBAAiB,CACzB,sDACF,CAAC;IACH;IAEA,IAAI,CAAC,IAAI,CAACH,WAAW,EAAE;MACrB,MAAM,IAAIG,yBAAiB,CACzB,4DACF,CAAC;IACH;IAEA,IAAI,CAACH,WAAW,GAAG,KAAK;IAExB,MAAO,IAAI,CAACI,OAAO,CAA0BF,MAAM,CAAC,CAAC;EACvD;EAEA,MAAMG,OAAOA,CAACC,WAAmB,EAAsB;IACrD,IAAIA,WAAW,GAAG,CAAC,EAAE;MACnB,MAAM,IAAIH,yBAAiB,CAAC,2CAA2C,CAAC;IAC1E;IAEA,IAAIG,WAAW,GAAG,IAAI,CAACF,OAAO,CAACG,WAAW,EAAE;MAC1C,MAAM,IAAIJ,yBAAiB,CACzB,sDAAsDG,WAAW,EACnE,CAAC;IACH;IAEA,IAAIA,WAAW,GAAG,IAAI,CAACR,QAAQ,EAAE;MAC/B,MAAM,IAAIK,yBAAiB,CACzB,8DAA8DG,WAAW,EAC3E,CAAC;IACH;IAEA,IAAI,CAACN,WAAW,GAAG,IAAI;IAEvB,MAAO,IAAI,CAACI,OAAO,CAA0BC,OAAO,CAACC,WAAW,CAAC;EACnE;EAEA,MAAME,cAAcA,CAAA,EAAyB;IAC3C,IAAI,IAAI,CAACP,WAAW,EAAE;MACpB,MAAM,IAAIE,yBAAiB,CAAC,0CAA0C,CAAC;IACzE;IAEA,IAAI,CAACF,WAAW,GAAG,IAAI;IAEvB,MAAMQ,WAAW,GAAG,MAClB,IAAI,CAACL,OAAO,CACZI,cAAc,CAAC,CAAC;IAElB,OAAO,IAAIE,oBAAW,CAACD,WAAW,CAAC;EACrC;AACF;AAACE,OAAA,CAAAzB,OAAA,GAAAC,mBAAA","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _AudioScheduledSourceNode = _interopRequireDefault(require("./AudioScheduledSourceNode"));
8
+ var _AudioParam = _interopRequireDefault(require("./AudioParam"));
9
+ var _errors = require("../errors");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ class OscillatorNode extends _AudioScheduledSourceNode.default {
12
+ constructor(context, node) {
13
+ super(context, node);
14
+ this.frequency = new _AudioParam.default(node.frequency);
15
+ this.detune = new _AudioParam.default(node.detune);
16
+ this.type = node.type;
17
+ }
18
+ get type() {
19
+ return this.node.type;
20
+ }
21
+ set type(value) {
22
+ if (value === 'custom') {
23
+ throw new _errors.InvalidStateError("'type' cannot be set directly to 'custom'. Use setPeriodicWave() to create a custom Oscillator type.");
24
+ }
25
+ this.node.type = value;
26
+ }
27
+ setPeriodicWave(wave) {
28
+ this.node.setPeriodicWave(wave.periodicWave);
29
+ }
30
+ }
31
+ exports.default = OscillatorNode;
32
+ //# sourceMappingURL=OscillatorNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AudioScheduledSourceNode","_interopRequireDefault","require","_AudioParam","_errors","e","__esModule","default","OscillatorNode","AudioScheduledSourceNode","constructor","context","node","frequency","AudioParam","detune","type","value","InvalidStateError","setPeriodicWave","wave","periodicWave","exports"],"sourceRoot":"../../../src","sources":["core/OscillatorNode.ts"],"mappings":";;;;;;AAEA,IAAAA,yBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,OAAA,GAAAF,OAAA;AAA8C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/B,MAAMG,cAAc,SAASC,iCAAwB,CAAC;EAInEC,WAAWA,CAACC,OAAyB,EAAEC,IAAqB,EAAE;IAC5D,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACC,SAAS,GAAG,IAAIC,mBAAU,CAACF,IAAI,CAACC,SAAS,CAAC;IAC/C,IAAI,CAACE,MAAM,GAAG,IAAID,mBAAU,CAACF,IAAI,CAACG,MAAM,CAAC;IACzC,IAAI,CAACC,IAAI,GAAGJ,IAAI,CAACI,IAAI;EACvB;EAEA,IAAWA,IAAIA,CAAA,EAAmB;IAChC,OAAQ,IAAI,CAACJ,IAAI,CAAqBI,IAAI;EAC5C;EAEA,IAAWA,IAAIA,CAACC,KAAqB,EAAE;IACrC,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtB,MAAM,IAAIC,yBAAiB,CACzB,uGACF,CAAC;IACH;IAEC,IAAI,CAACN,IAAI,CAAqBI,IAAI,GAAGC,KAAK;EAC7C;EAEOE,eAAeA,CAACC,IAAkB,EAAQ;IAC9C,IAAI,CAACR,IAAI,CAAqBO,eAAe,CAACC,IAAI,CAACC,YAAY,CAAC;EACnE;AACF;AAACC,OAAA,CAAAf,OAAA,GAAAC,cAAA","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ class PeriodicWave {
8
+ /** @internal */
9
+
10
+ constructor(periodicWave) {
11
+ this.periodicWave = periodicWave;
12
+ }
13
+ }
14
+ exports.default = PeriodicWave;
15
+ //# sourceMappingURL=PeriodicWave.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PeriodicWave","constructor","periodicWave","exports","default"],"sourceRoot":"../../../src","sources":["core/PeriodicWave.ts"],"mappings":";;;;;;AAEe,MAAMA,YAAY,CAAC;EAChC;;EAGAC,WAAWA,CAACC,YAA2B,EAAE;IACvC,IAAI,CAACA,YAAY,GAAGA,YAAY;EAClC;AACF;AAACC,OAAA,CAAAC,OAAA,GAAAJ,YAAA","ignoreList":[]}