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.
- package/RNAudioAPI.podspec +1 -1
- package/android/CMakeLists.txt +6 -3
- package/android/build.gradle +1 -0
- package/android/src/main/cpp/audioapi/android/core/AudioPlayer.cpp +0 -20
- package/android/src/main/cpp/audioapi/android/core/AudioPlayer.h +0 -2
- package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +13 -0
- package/android/src/main/java/com/swmansion/audioapi/AudioManagerModule.kt +62 -0
- package/android/src/main/java/com/swmansion/audioapi/system/AudioFocusListener.kt +60 -0
- package/android/src/main/java/com/swmansion/audioapi/system/LockScreenManager.kt +294 -0
- package/android/src/main/java/com/swmansion/audioapi/system/MediaNotificationManager.kt +279 -0
- package/android/src/main/java/com/swmansion/audioapi/system/MediaReceiver.kt +46 -0
- package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionCallback.kt +39 -0
- package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionEventEmitter.kt +84 -0
- package/android/src/main/java/com/swmansion/audioapi/system/MediaSessionManager.kt +144 -0
- package/android/src/main/res/drawable/next.xml +9 -0
- package/android/src/main/res/drawable/pause.xml +9 -0
- package/android/src/main/res/drawable/play.xml +9 -0
- package/android/src/main/res/drawable/previous.xml +9 -0
- package/android/src/main/res/drawable/skip_backward_5.xml +9 -0
- package/android/src/main/res/drawable/skip_forward_5.xml +9 -0
- package/android/src/main/res/drawable/stop.xml +9 -0
- package/android/src/oldarch/NativeAudioManagerModuleSpec.java +99 -0
- package/app.plugin.js +1 -0
- package/common/cpp/audioapi/AudioAPIModuleInstaller.h +2 -6
- package/common/cpp/audioapi/core/AudioContext.cpp +1 -12
- package/common/cpp/audioapi/core/AudioContext.h +0 -1
- package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +1 -6
- package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.cpp +8 -4
- package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.h +1 -0
- package/common/cpp/audioapi/core/utils/AudioNodeDestructor.cpp +3 -3
- package/ios/audioapi/ios/AudioAPIModule.mm +2 -3
- package/ios/audioapi/ios/AudioManagerModule.h +18 -0
- package/ios/audioapi/ios/AudioManagerModule.mm +94 -0
- package/ios/audioapi/ios/core/AudioPlayer.h +4 -12
- package/ios/audioapi/ios/core/AudioPlayer.m +26 -108
- package/ios/audioapi/ios/core/IOSAudioPlayer.h +1 -3
- package/ios/audioapi/ios/core/IOSAudioPlayer.mm +4 -28
- package/ios/audioapi/ios/system/AudioEngine.h +23 -0
- package/ios/audioapi/ios/system/AudioEngine.mm +137 -0
- package/ios/audioapi/ios/system/AudioSessionManager.h +22 -0
- package/ios/audioapi/ios/system/AudioSessionManager.mm +183 -0
- package/ios/audioapi/ios/system/LockScreenManager.h +23 -0
- package/ios/audioapi/ios/system/LockScreenManager.mm +295 -0
- package/ios/audioapi/ios/system/NotificationManager.h +22 -0
- package/ios/audioapi/ios/system/NotificationManager.mm +173 -0
- package/lib/commonjs/api.js +197 -0
- package/lib/commonjs/api.js.map +1 -0
- package/lib/commonjs/api.web.js +219 -0
- package/lib/commonjs/api.web.js.map +1 -0
- package/lib/commonjs/core/AnalyserNode.js +71 -0
- package/lib/commonjs/core/AnalyserNode.js.map +1 -0
- package/lib/commonjs/core/AudioBuffer.js +44 -0
- package/lib/commonjs/core/AudioBuffer.js.map +1 -0
- package/lib/commonjs/core/AudioBufferSourceNode.js +68 -0
- package/lib/commonjs/core/AudioBufferSourceNode.js.map +1 -0
- package/lib/commonjs/core/AudioContext.js +29 -0
- package/lib/commonjs/core/AudioContext.js.map +1 -0
- package/lib/commonjs/core/AudioDestinationNode.js +11 -0
- package/lib/commonjs/core/AudioDestinationNode.js.map +1 -0
- package/lib/commonjs/core/AudioNode.js +30 -0
- package/lib/commonjs/core/AudioNode.js.map +1 -0
- package/lib/commonjs/core/AudioParam.js +82 -0
- package/lib/commonjs/core/AudioParam.js.map +1 -0
- package/lib/commonjs/core/AudioScheduledSourceNode.js +38 -0
- package/lib/commonjs/core/AudioScheduledSourceNode.js.map +1 -0
- package/lib/commonjs/core/BaseAudioContext.js +80 -0
- package/lib/commonjs/core/BaseAudioContext.js.map +1 -0
- package/lib/commonjs/core/BiquadFilterNode.js +33 -0
- package/lib/commonjs/core/BiquadFilterNode.js.map +1 -0
- package/lib/commonjs/core/GainNode.js +17 -0
- package/lib/commonjs/core/GainNode.js.map +1 -0
- package/lib/commonjs/core/OfflineAudioContext.js +63 -0
- package/lib/commonjs/core/OfflineAudioContext.js.map +1 -0
- package/lib/commonjs/core/OscillatorNode.js +32 -0
- package/lib/commonjs/core/OscillatorNode.js.map +1 -0
- package/lib/commonjs/core/PeriodicWave.js +15 -0
- package/lib/commonjs/core/PeriodicWave.js.map +1 -0
- package/lib/commonjs/core/StereoPannerNode.js +17 -0
- package/lib/commonjs/core/StereoPannerNode.js.map +1 -0
- package/lib/commonjs/errors/IndexSizeError.js +14 -0
- package/lib/commonjs/errors/IndexSizeError.js.map +1 -0
- package/lib/commonjs/errors/InvalidAccessError.js +14 -0
- package/lib/commonjs/errors/InvalidAccessError.js.map +1 -0
- package/lib/commonjs/errors/InvalidStateError.js +14 -0
- package/lib/commonjs/errors/InvalidStateError.js.map +1 -0
- package/lib/commonjs/errors/NotSupportedError.js +14 -0
- package/lib/commonjs/errors/NotSupportedError.js.map +1 -0
- package/lib/commonjs/errors/RangeError.js +14 -0
- package/lib/commonjs/errors/RangeError.js.map +1 -0
- package/lib/commonjs/errors/index.js +42 -0
- package/lib/commonjs/errors/index.js.map +1 -0
- package/lib/commonjs/index.js +17 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/interfaces.js +6 -0
- package/lib/commonjs/interfaces.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/plugin/withAudioAPI.js +62 -0
- package/lib/commonjs/plugin/withAudioAPI.js.map +1 -0
- package/lib/commonjs/specs/NativeAudioAPIModule.js +9 -0
- package/lib/commonjs/specs/NativeAudioAPIModule.js.map +1 -0
- package/lib/commonjs/specs/NativeAudioManagerModule.js +33 -0
- package/lib/commonjs/specs/NativeAudioManagerModule.js.map +1 -0
- package/lib/commonjs/specs/index.js +27 -0
- package/lib/commonjs/specs/index.js.map +1 -0
- package/lib/commonjs/system/AudioManager.js +79 -0
- package/lib/commonjs/system/AudioManager.js.map +1 -0
- package/lib/commonjs/system/index.js +14 -0
- package/lib/commonjs/system/index.js.map +1 -0
- package/lib/commonjs/system/types.js +2 -0
- package/lib/commonjs/system/types.js.map +1 -0
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/utils/index.js +10 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/web-core/AnalyserNode.js +38 -0
- package/lib/commonjs/web-core/AnalyserNode.js.map +1 -0
- package/lib/commonjs/web-core/AudioBuffer.js +44 -0
- package/lib/commonjs/web-core/AudioBuffer.js.map +1 -0
- package/lib/commonjs/web-core/AudioBufferSourceNode.js +214 -0
- package/lib/commonjs/web-core/AudioBufferSourceNode.js.map +1 -0
- package/lib/commonjs/web-core/AudioContext.js +93 -0
- package/lib/commonjs/web-core/AudioContext.js.map +1 -0
- package/lib/commonjs/web-core/AudioDestinationNode.js +11 -0
- package/lib/commonjs/web-core/AudioDestinationNode.js.map +1 -0
- package/lib/commonjs/web-core/AudioNode.js +33 -0
- package/lib/commonjs/web-core/AudioNode.js.map +1 -0
- package/lib/commonjs/web-core/AudioParam.js +81 -0
- package/lib/commonjs/web-core/AudioParam.js.map +1 -0
- package/lib/commonjs/web-core/AudioScheduledSourceNode.js +41 -0
- package/lib/commonjs/web-core/AudioScheduledSourceNode.js.map +1 -0
- package/lib/commonjs/web-core/BaseAudioContext.js +2 -0
- package/lib/commonjs/web-core/BaseAudioContext.js.map +1 -0
- package/lib/commonjs/web-core/BiquadFilterNode.js +33 -0
- package/lib/commonjs/web-core/BiquadFilterNode.js.map +1 -0
- package/lib/commonjs/web-core/GainNode.js +17 -0
- package/lib/commonjs/web-core/GainNode.js.map +1 -0
- package/lib/commonjs/web-core/OfflineAudioContext.js +96 -0
- package/lib/commonjs/web-core/OfflineAudioContext.js.map +1 -0
- package/lib/commonjs/web-core/OscillatorNode.js +31 -0
- package/lib/commonjs/web-core/OscillatorNode.js.map +1 -0
- package/lib/commonjs/web-core/PeriodicWave.js +15 -0
- package/lib/commonjs/web-core/PeriodicWave.js.map +1 -0
- package/lib/commonjs/web-core/StereoPannerNode.js +17 -0
- package/lib/commonjs/web-core/StereoPannerNode.js.map +1 -0
- package/lib/commonjs/web-core/custom/LoadCustomWasm.js +37 -0
- package/lib/commonjs/web-core/custom/LoadCustomWasm.js.map +1 -0
- package/lib/commonjs/web-core/custom/index.js +14 -0
- package/lib/commonjs/web-core/custom/index.js.map +1 -0
- package/lib/commonjs/web-core/custom/signalsmithStretch/LICENSE.txt +21 -0
- package/lib/commonjs/web-core/custom/signalsmithStretch/README.md +46 -0
- package/lib/commonjs/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs +826 -0
- package/lib/commonjs/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs.map +1 -0
- package/lib/module/api.js +1 -0
- package/lib/module/api.js.map +1 -1
- package/lib/module/core/AudioContext.js +2 -1
- package/lib/module/core/AudioContext.js.map +1 -1
- package/lib/module/plugin/withAudioAPI.js +58 -0
- package/lib/module/plugin/withAudioAPI.js.map +1 -0
- package/lib/module/specs/NativeAudioManagerModule.js +30 -0
- package/lib/module/specs/NativeAudioManagerModule.js.map +1 -0
- package/lib/module/specs/index.js +6 -0
- package/lib/module/specs/index.js.map +1 -0
- package/lib/module/system/AudioManager.js +75 -0
- package/lib/module/system/AudioManager.js.map +1 -0
- package/lib/module/system/index.js +4 -0
- package/lib/module/system/index.js.map +1 -0
- package/lib/module/system/types.js +2 -0
- package/lib/module/system/types.js.map +1 -0
- package/lib/typescript/api.d.ts +1 -0
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/core/AudioContext.d.ts.map +1 -1
- package/lib/typescript/plugin/withAudioAPI.d.ts +9 -0
- package/lib/typescript/plugin/withAudioAPI.d.ts.map +1 -0
- package/lib/typescript/specs/NativeAudioManagerModule.d.ts +14 -0
- package/lib/typescript/specs/NativeAudioManagerModule.d.ts.map +1 -0
- package/lib/typescript/specs/index.d.ts +4 -0
- package/lib/typescript/specs/index.d.ts.map +1 -0
- package/lib/typescript/system/AudioManager.d.ts +14 -0
- package/lib/typescript/system/AudioManager.d.ts.map +1 -0
- package/lib/typescript/system/index.d.ts +2 -0
- package/lib/typescript/system/index.d.ts.map +1 -0
- package/lib/typescript/system/types.d.ts +40 -0
- package/lib/typescript/system/types.d.ts.map +1 -0
- package/package.json +7 -4
- package/src/api.ts +1 -0
- package/src/core/AudioContext.ts +6 -1
- package/src/plugin/withAudioAPI.ts +90 -0
- package/src/specs/NativeAudioManagerModule.ts +48 -0
- package/src/specs/index.ts +6 -0
- package/src/system/AudioManager.ts +149 -0
- package/src/system/index.ts +1 -0
- 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":[]}
|