react-native-audio-api 0.6.1-rc.7 → 0.6.1-rc.8
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/README.md +6 -11
- package/android/src/main/java/com/swmansion/audioapi/system/LockScreenManager.kt +4 -0
- package/common/cpp/audioapi/core/AudioParam.cpp +4 -5
- package/ios/audioapi/ios/AudioAPIModule.mm +6 -8
- package/lib/commonjs/plugin/withAudioAPI.js +15 -14
- package/lib/commonjs/plugin/withAudioAPI.js.map +1 -1
- package/lib/commonjs/web-core/AudioBufferSourceNode.js +4 -4
- package/lib/commonjs/web-core/AudioBufferSourceNode.js.map +1 -1
- package/lib/commonjs/web-core/AudioNode.js +8 -2
- package/lib/commonjs/web-core/AudioNode.js.map +1 -1
- package/lib/commonjs/web-core/AudioParam.js +2 -1
- package/lib/commonjs/web-core/AudioParam.js.map +1 -1
- package/lib/commonjs/web-core/BiquadFilterNode.js +4 -4
- package/lib/commonjs/web-core/BiquadFilterNode.js.map +1 -1
- package/lib/commonjs/web-core/GainNode.js +1 -1
- package/lib/commonjs/web-core/GainNode.js.map +1 -1
- package/lib/commonjs/web-core/OscillatorNode.js +2 -2
- package/lib/commonjs/web-core/OscillatorNode.js.map +1 -1
- package/lib/commonjs/web-core/StereoPannerNode.js +1 -1
- package/lib/commonjs/web-core/StereoPannerNode.js.map +1 -1
- package/lib/module/plugin/withAudioAPI.js +15 -14
- package/lib/module/plugin/withAudioAPI.js.map +1 -1
- package/lib/module/web-core/AudioBufferSourceNode.js +4 -4
- package/lib/module/web-core/AudioBufferSourceNode.js.map +1 -1
- package/lib/module/web-core/AudioNode.js +7 -2
- package/lib/module/web-core/AudioNode.js.map +1 -1
- package/lib/module/web-core/AudioParam.js +2 -1
- package/lib/module/web-core/AudioParam.js.map +1 -1
- package/lib/module/web-core/BiquadFilterNode.js +4 -4
- package/lib/module/web-core/BiquadFilterNode.js.map +1 -1
- package/lib/module/web-core/GainNode.js +1 -1
- package/lib/module/web-core/GainNode.js.map +1 -1
- package/lib/module/web-core/OscillatorNode.js +2 -2
- package/lib/module/web-core/OscillatorNode.js.map +1 -1
- package/lib/module/web-core/StereoPannerNode.js +1 -1
- package/lib/module/web-core/StereoPannerNode.js.map +1 -1
- package/lib/typescript/plugin/withAudioAPI.d.ts +7 -6
- package/lib/typescript/plugin/withAudioAPI.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioBufferSourceNode.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioNode.d.ts +2 -1
- package/lib/typescript/web-core/AudioNode.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioParam.d.ts +4 -2
- package/lib/typescript/web-core/AudioParam.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/plugin/withAudioAPI.ts +36 -29
- package/src/web-core/AudioBufferSourceNode.tsx +9 -4
- package/src/web-core/AudioNode.tsx +10 -3
- package/src/web-core/AudioParam.tsx +5 -2
- package/src/web-core/BiquadFilterNode.tsx +4 -4
- package/src/web-core/GainNode.tsx +1 -1
- package/src/web-core/OscillatorNode.tsx +2 -2
- package/src/web-core/StereoPannerNode.tsx +1 -1
package/README.md
CHANGED
|
@@ -34,17 +34,12 @@ check out the [Getting Started](https://docs.swmansion.com/react-native-audio-ap
|
|
|
34
34
|
Ability to modify playback speed without affecting pitch of the sound
|
|
35
35
|
<br />
|
|
36
36
|
|
|
37
|
-
- <sub
|
|
38
|
-
Full control of system audio settings, remote controls, lock screen integration and most importantly configurable background modes
|
|
39
|
-
<br />
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<br />
|
|
44
|
-
|
|
45
|
-
- **Connect audio param** 🤞 <br />
|
|
46
|
-
Ability to connect Audio nodes to audio params, which will allow for powerful and efficient modulation of audio parameters, creating effects like tremolo, vibrato or complex envelope followers.
|
|
47
|
-
<br />
|
|
37
|
+
- <sub>[](https://github.com/software-mansion/react-native-audio-api/releases/tag/0.6.0)</sub> <br/> **System configuration** 🛠️ <br />
|
|
38
|
+
Full control of system audio settings, remote controls, lock screen integration and most importantly configurable background modes <br />
|
|
39
|
+
<br /> **Microphone support** 🎙️ <br />
|
|
40
|
+
Grab audio data from device microphone or connected device, connect it to the audio graph or stream through the internet <br />
|
|
41
|
+
<br /> **Connect audio param** 🤞 <br />
|
|
42
|
+
Ability to connect Audio nodes to audio params, which will allow for powerful and efficient modulation of audio parameters, creating effects like tremolo, vibrato or complex envelope followers. <br />
|
|
48
43
|
|
|
49
44
|
- **JS Audio Worklets** 🐎 <br />
|
|
50
45
|
Ability to run JS functions connected to the audio graph running on audio thread allowing for full customization of what happens to the audio signal.
|
|
@@ -17,11 +17,10 @@ AudioParam::AudioParam(
|
|
|
17
17
|
minValue_(minValue),
|
|
18
18
|
maxValue_(maxValue),
|
|
19
19
|
context_(context),
|
|
20
|
-
audioBus_(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
context->getSampleRate())) {
|
|
20
|
+
audioBus_(std::make_shared<AudioBus>(
|
|
21
|
+
RENDER_QUANTUM_SIZE,
|
|
22
|
+
1,
|
|
23
|
+
context->getSampleRate())) {
|
|
25
24
|
startTime_ = 0;
|
|
26
25
|
endTime_ = 0;
|
|
27
26
|
startValue_ = value_;
|
|
@@ -85,9 +85,8 @@ RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(getDevicePreferredSampleRate)
|
|
|
85
85
|
return [self.audioSessionManager getDevicePreferredSampleRate];
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
RCT_EXPORT_METHOD(
|
|
89
|
-
|
|
90
|
-
reject)
|
|
88
|
+
RCT_EXPORT_METHOD(setAudioSessionActivity : (BOOL)enabled resolve : (RCTPromiseResolveBlock)
|
|
89
|
+
resolve reject : (RCTPromiseRejectBlock)reject)
|
|
91
90
|
{
|
|
92
91
|
if ([self.audioSessionManager setActive:enabled]) {
|
|
93
92
|
resolve(@"true");
|
|
@@ -127,16 +126,15 @@ RCT_EXPORT_METHOD(observeVolumeChanges : (BOOL)enabled)
|
|
|
127
126
|
[self.notificationManager observeVolumeChanges:(BOOL)enabled];
|
|
128
127
|
}
|
|
129
128
|
|
|
130
|
-
RCT_EXPORT_METHOD(
|
|
131
|
-
|
|
132
|
-
reject)
|
|
129
|
+
RCT_EXPORT_METHOD(requestRecordingPermissions : (nonnull RCTPromiseResolveBlock)
|
|
130
|
+
resolve reject : (nonnull RCTPromiseRejectBlock)reject)
|
|
133
131
|
{
|
|
134
132
|
NSString *res = [self.audioSessionManager requestRecordingPermissions];
|
|
135
133
|
resolve(res);
|
|
136
134
|
}
|
|
137
135
|
|
|
138
|
-
RCT_EXPORT_METHOD(
|
|
139
|
-
|
|
136
|
+
RCT_EXPORT_METHOD(checkRecordingPermissions : (nonnull RCTPromiseResolveBlock)
|
|
137
|
+
resolve reject : (nonnull RCTPromiseRejectBlock)reject)
|
|
140
138
|
{
|
|
141
139
|
NSString *res = [self.audioSessionManager checkRecordingPermissions];
|
|
142
140
|
resolve(res);
|
|
@@ -6,6 +6,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _configPlugins = require("@expo/config-plugins");
|
|
8
8
|
const pkg = require('react-native-audio-api/package.json');
|
|
9
|
+
const withDefaultOptions = options => {
|
|
10
|
+
return {
|
|
11
|
+
iosBackgroundMode: true,
|
|
12
|
+
androidForegroundService: true,
|
|
13
|
+
androidFSPermissions: ['android.permission.FOREGROUND_SERVICE', 'android.permission.WAKE_LOCK'],
|
|
14
|
+
androidFSTypes: ['mediaPlayback'],
|
|
15
|
+
...options
|
|
16
|
+
};
|
|
17
|
+
};
|
|
9
18
|
const withBackgroundAudio = config => {
|
|
10
19
|
return (0, _configPlugins.withInfoPlist)(config, iosConfig => {
|
|
11
20
|
iosConfig.modResults.UIBackgroundModes = [...Array.from(new Set([...(iosConfig.modResults.UIBackgroundModes ?? []), 'audio']))];
|
|
@@ -39,22 +48,14 @@ const withForegroundService = (config, {
|
|
|
39
48
|
return mod;
|
|
40
49
|
});
|
|
41
50
|
};
|
|
42
|
-
const withAudioAPI = (config, {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
androidFSPermissions = [],
|
|
46
|
-
androidFSTypes = []
|
|
47
|
-
} = {}) => {
|
|
48
|
-
if (iosBackgroundMode) {
|
|
51
|
+
const withAudioAPI = (config, optionsIn) => {
|
|
52
|
+
const options = withDefaultOptions(optionsIn ?? {});
|
|
53
|
+
if (options.iosBackgroundMode) {
|
|
49
54
|
config = withBackgroundAudio(config);
|
|
50
55
|
}
|
|
51
|
-
if (androidForegroundService) {
|
|
52
|
-
config = withAndroidPermissions(config,
|
|
53
|
-
|
|
54
|
-
});
|
|
55
|
-
config = withForegroundService(config, {
|
|
56
|
-
androidFSTypes
|
|
57
|
-
});
|
|
56
|
+
if (options.androidForegroundService) {
|
|
57
|
+
config = withAndroidPermissions(config, options);
|
|
58
|
+
config = withForegroundService(config, options);
|
|
58
59
|
}
|
|
59
60
|
return config;
|
|
60
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_configPlugins","require","pkg","withBackgroundAudio","config","withInfoPlist","iosConfig","modResults","UIBackgroundModes","Array","from","Set","withAndroidPermissions","
|
|
1
|
+
{"version":3,"names":["_configPlugins","require","pkg","withDefaultOptions","options","iosBackgroundMode","androidForegroundService","androidFSPermissions","androidFSTypes","withBackgroundAudio","config","withInfoPlist","iosConfig","modResults","UIBackgroundModes","Array","from","Set","withAndroidPermissions","AndroidConfig","Permissions","withPermissions","withForegroundService","withAndroidManifest","mod","manifest","mainApplication","Manifest","getMainApplicationOrThrow","SFTypes","join","serviceElement","$","intentFilter","service","push","withAudioAPI","optionsIn","_default","exports","default","createRunOncePlugin","name","version"],"sourceRoot":"../../../src","sources":["plugin/withAudioAPI.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAOA,MAAMC,GAAG,GAAGD,OAAO,CAAC,qCAAqC,CAAC;AAS1D,MAAME,kBAAkB,GAAIC,OAAyB,IAAc;EACjE,OAAO;IACLC,iBAAiB,EAAE,IAAI;IACvBC,wBAAwB,EAAE,IAAI;IAC9BC,oBAAoB,EAAE,CACpB,uCAAuC,EACvC,8BAA8B,CAC/B;IACDC,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,GAAGJ;EACL,CAAC;AACH,CAAC;AAED,MAAMK,mBAAiC,GAAIC,MAAM,IAAK;EACpD,OAAO,IAAAC,4BAAa,EAACD,MAAM,EAAGE,SAAS,IAAK;IAC1CA,SAAS,CAACC,UAAU,CAACC,iBAAiB,GAAG,CACvC,GAAGC,KAAK,CAACC,IAAI,CACX,IAAIC,GAAG,CAAC,CAAC,IAAIL,SAAS,CAACC,UAAU,CAACC,iBAAiB,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CACtE,CAAC,CACF;IAED,OAAOF,SAAS;EAClB,CAAC,CAAC;AACJ,CAAC;AAED,MAAMM,sBAA6C,GAAGA,CACpDR,MAAM,EACN;EAAEH;AAA8B,CAAC,KAC9B;EACH,OAAOY,4BAAa,CAACC,WAAW,CAACC,eAAe,CAC9CX,MAAM,EACNH,oBACF,CAAC;AACH,CAAC;AAED,MAAMe,qBAA4C,GAAGA,CACnDZ,MAAM,EACN;EAAEF;AAAwB,CAAC,KACxB;EACH,OAAO,IAAAe,kCAAmB,EAACb,MAAM,EAAGc,GAAG,IAAK;IAC1C,MAAMC,QAAQ,GAAGD,GAAG,CAACX,UAAU;IAC/B,MAAMa,eAAe,GACnBP,4BAAa,CAACQ,QAAQ,CAACC,yBAAyB,CAACH,QAAQ,CAAC;IAE5D,MAAMI,OAAO,GAAGrB,cAAc,CAACsB,IAAI,CAAC,GAAG,CAAC;IAExC,MAAMC,cAAc,GAAG;MACrBC,CAAC,EAAE;QACD,cAAc,EACZ,4EAA4E;QAC9E,sBAAsB,EAAE,MAAM;QAC9B,+BAA+B,EAAEH;MACnC,CAAC;MACDI,YAAY,EAAE;IAChB,CAAC;IAED,IAAI,CAACP,eAAe,CAACQ,OAAO,EAAE;MAC5BR,eAAe,CAACQ,OAAO,GAAG,EAAE;IAC9B;IAEAR,eAAe,CAACQ,OAAO,CAACC,IAAI,CAACJ,cAAc,CAAC;IAE5C,OAAOP,GAAG;EACZ,CAAC,CAAC;AACJ,CAAC;AAED,MAAMY,YAAmC,GAAGA,CAAC1B,MAAM,EAAE2B,SAAS,KAAK;EACjE,MAAMjC,OAAO,GAAGD,kBAAkB,CAACkC,SAAS,IAAI,CAAC,CAAC,CAAC;EAEnD,IAAIjC,OAAO,CAACC,iBAAiB,EAAE;IAC7BK,MAAM,GAAGD,mBAAmB,CAACC,MAAM,CAAC;EACtC;EAEA,IAAIN,OAAO,CAACE,wBAAwB,EAAE;IACpCI,MAAM,GAAGQ,sBAAsB,CAACR,MAAM,EAAEN,OAAO,CAAC;IAChDM,MAAM,GAAGY,qBAAqB,CAACZ,MAAM,EAAEN,OAAO,CAAC;EACjD;EAEA,OAAOM,MAAM;AACf,CAAC;AAAC,IAAA4B,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa,IAAAC,kCAAmB,EAACL,YAAY,EAAElC,GAAG,CAACwC,IAAI,EAAExC,GAAG,CAACyC,OAAO,CAAC","ignoreList":[]}
|
|
@@ -65,11 +65,11 @@ class AudioBufferSourceNode extends _AudioScheduledSourceNode.default {
|
|
|
65
65
|
super(context, node);
|
|
66
66
|
this._pitchCorrection = pitchCorrection;
|
|
67
67
|
if (pitchCorrection) {
|
|
68
|
-
this.detune = new _AudioParam.default(new IStretcherNodeAudioParam(0, this.setDetune.bind(this), 'a-rate', -1200, 1200, 0));
|
|
69
|
-
this.playbackRate = new _AudioParam.default(new IStretcherNodeAudioParam(1, this.setPlaybackRate.bind(this), 'a-rate', 0, Infinity, 1));
|
|
68
|
+
this.detune = new _AudioParam.default(new IStretcherNodeAudioParam(0, this.setDetune.bind(this), 'a-rate', -1200, 1200, 0), context);
|
|
69
|
+
this.playbackRate = new _AudioParam.default(new IStretcherNodeAudioParam(1, this.setPlaybackRate.bind(this), 'a-rate', 0, Infinity, 1), context);
|
|
70
70
|
} else {
|
|
71
|
-
this.detune = new _AudioParam.default(node.detune);
|
|
72
|
-
this.playbackRate = new _AudioParam.default(node.playbackRate);
|
|
71
|
+
this.detune = new _AudioParam.default(node.detune, context);
|
|
72
|
+
this.playbackRate = new _AudioParam.default(node.playbackRate, context);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
isStretcherNode() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_errors","require","_AudioParam","_interopRequireDefault","_AudioBuffer","_AudioScheduledSourceNode","_utils","_LoadCustomWasm","e","__esModule","default","IStretcherNodeAudioParam","constructor","value","setter","automationRate","minValue","maxValue","defaultValue","_value","_setter","cancelAndHoldAtTime","cancelTime","cancelScheduledValues","exponentialRampToValueAtTime","_endTime","console","warn","linearRampToValueAtTime","setTargetAtTime","_target","_startTime","_timeConstant","setValueAtTime","startTime","setValueCurveAtTime","_values","_duration","AudioBufferSourceNode","AudioScheduledSourceNode","_loop","_loopStart","_loopEnd","_buffer","context","node","pitchCorrection","_pitchCorrection","detune","AudioParam","setDetune","bind","playbackRate","setPlaybackRate","Infinity","isStretcherNode","asStretcher","asBufferSource","when","hasBeenStarted","schedule","semitones","Math","floor","clamp","output","rate","buffer","AudioBuffer","stretcher","dropBuffers","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","loop","loopStart","loopEnd","start","offset","duration","RangeError","InvalidStateError","startAt","currentTime","stop","exports"],"sourceRoot":"../../../src","sources":["web-core/AudioBufferSourceNode.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_errors","require","_AudioParam","_interopRequireDefault","_AudioBuffer","_AudioScheduledSourceNode","_utils","_LoadCustomWasm","e","__esModule","default","IStretcherNodeAudioParam","constructor","value","setter","automationRate","minValue","maxValue","defaultValue","_value","_setter","cancelAndHoldAtTime","cancelTime","cancelScheduledValues","exponentialRampToValueAtTime","_endTime","console","warn","linearRampToValueAtTime","setTargetAtTime","_target","_startTime","_timeConstant","setValueAtTime","startTime","setValueCurveAtTime","_values","_duration","AudioBufferSourceNode","AudioScheduledSourceNode","_loop","_loopStart","_loopEnd","_buffer","context","node","pitchCorrection","_pitchCorrection","detune","AudioParam","setDetune","bind","playbackRate","setPlaybackRate","Infinity","isStretcherNode","asStretcher","asBufferSource","when","hasBeenStarted","schedule","semitones","Math","floor","clamp","output","rate","buffer","AudioBuffer","stretcher","dropBuffers","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","loop","loopStart","loopEnd","start","offset","duration","RangeError","InvalidStateError","startAt","currentTime","stop","exports"],"sourceRoot":"../../../src","sources":["web-core/AudioBufferSourceNode.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
var _AudioParam = _interopRequireDefault(require("./AudioParam"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
9
|
class AudioNode {
|
|
8
10
|
constructor(context, node) {
|
|
9
11
|
this.context = context;
|
|
@@ -16,9 +18,13 @@ class AudioNode {
|
|
|
16
18
|
}
|
|
17
19
|
connect(destination) {
|
|
18
20
|
if (this.context !== destination.context) {
|
|
19
|
-
throw new Error('
|
|
21
|
+
throw new Error('Source and destination are from different BaseAudioContexts');
|
|
22
|
+
}
|
|
23
|
+
if (destination instanceof _AudioParam.default) {
|
|
24
|
+
this.node.connect(destination.param);
|
|
25
|
+
} else {
|
|
26
|
+
this.node.connect(destination.node);
|
|
20
27
|
}
|
|
21
|
-
this.node.connect(destination.node);
|
|
22
28
|
return destination;
|
|
23
29
|
}
|
|
24
30
|
disconnect(destination) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","destination","Error","disconnect","undefined","exports"
|
|
1
|
+
{"version":3,"names":["_AudioParam","_interopRequireDefault","require","e","__esModule","default","AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","destination","Error","AudioParam","param","disconnect","undefined","exports"],"sourceRoot":"../../../src","sources":["web-core/AudioNode.tsx"],"mappings":";;;;;;AAEA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEvB,MAAMG,SAAS,CAAC;EAU7BC,WAAWA,CAACC,OAAyB,EAAEC,IAA0B,EAAE;IACjE,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,WAAmC,EAA0B;IAC1E,IAAI,IAAI,CAACR,OAAO,KAAKQ,WAAW,CAACR,OAAO,EAAE;MACxC,MAAM,IAAIS,KAAK,CACb,6DACF,CAAC;IACH;IAEA,IAAID,WAAW,YAAYE,mBAAU,EAAE;MACrC,IAAI,CAACT,IAAI,CAACM,OAAO,CAACC,WAAW,CAACG,KAAK,CAAC;IACtC,CAAC,MAAM;MACL,IAAI,CAACV,IAAI,CAACM,OAAO,CAACC,WAAW,CAACP,IAAI,CAAC;IACrC;IAEA,OAAOO,WAAW;EACpB;EAEOI,UAAUA,CAACJ,WAAuB,EAAQ;IAC/C,IAAIA,WAAW,KAAKK,SAAS,EAAE;MAC7B,IAAI,CAACZ,IAAI,CAACW,UAAU,CAAC,CAAC;MACtB;IACF;IAEA,IAAI,CAACX,IAAI,CAACW,UAAU,CAACJ,WAAW,CAACP,IAAI,CAAC;EACxC;AACF;AAACa,OAAA,CAAAjB,OAAA,GAAAC,SAAA","ignoreList":[]}
|
|
@@ -6,11 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _errors = require("../errors");
|
|
8
8
|
class AudioParam {
|
|
9
|
-
constructor(param) {
|
|
9
|
+
constructor(param, context) {
|
|
10
10
|
this.param = param;
|
|
11
11
|
this.defaultValue = param.defaultValue;
|
|
12
12
|
this.minValue = param.minValue;
|
|
13
13
|
this.maxValue = param.maxValue;
|
|
14
|
+
this.context = context;
|
|
14
15
|
}
|
|
15
16
|
get value() {
|
|
16
17
|
return this.param.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_errors","require","AudioParam","constructor","param","defaultValue","minValue","maxValue","value","setValueAtTime","startTime","RangeError","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","InvalidStateError","cancelScheduledValues","cancelTime","cancelAndHoldAtTime","exports","default"],"sourceRoot":"../../../src","sources":["web-core/AudioParam.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_errors","require","AudioParam","constructor","param","context","defaultValue","minValue","maxValue","value","setValueAtTime","startTime","RangeError","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","InvalidStateError","cancelScheduledValues","cancelTime","cancelAndHoldAtTime","exports","default"],"sourceRoot":"../../../src","sources":["web-core/AudioParam.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,10 +11,10 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
11
11
|
class BiquadFilterNode extends _AudioNode.default {
|
|
12
12
|
constructor(context, biquadFilter) {
|
|
13
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);
|
|
14
|
+
this.frequency = new _AudioParam.default(biquadFilter.frequency, context);
|
|
15
|
+
this.detune = new _AudioParam.default(biquadFilter.detune, context);
|
|
16
|
+
this.Q = new _AudioParam.default(biquadFilter.Q, context);
|
|
17
|
+
this.gain = new _AudioParam.default(biquadFilter.gain, context);
|
|
18
18
|
}
|
|
19
19
|
get type() {
|
|
20
20
|
return this.node.type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AudioParam","_interopRequireDefault","require","_AudioNode","_errors","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":["web-core/BiquadFilterNode.tsx"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,OAAA,GAAAF,OAAA;AAA+C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,MAAMG,gBAAgB,SAASC,kBAAS,CAAC;EAMtDC,WAAWA,CACTC,OAAyB,EACzBC,YAAyC,EACzC;IACA,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIC,mBAAU,CAACF,YAAY,CAACC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"names":["_AudioParam","_interopRequireDefault","require","_AudioNode","_errors","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":["web-core/BiquadFilterNode.tsx"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,OAAA,GAAAF,OAAA;AAA+C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,MAAMG,gBAAgB,SAASC,kBAAS,CAAC;EAMtDC,WAAWA,CACTC,OAAyB,EACzBC,YAAyC,EACzC;IACA,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIC,mBAAU,CAACF,YAAY,CAACC,SAAS,EAAEF,OAAO,CAAC;IAChE,IAAI,CAACI,MAAM,GAAG,IAAID,mBAAU,CAACF,YAAY,CAACG,MAAM,EAAEJ,OAAO,CAAC;IAC1D,IAAI,CAACK,CAAC,GAAG,IAAIF,mBAAU,CAACF,YAAY,CAACI,CAAC,EAAEL,OAAO,CAAC;IAChD,IAAI,CAACM,IAAI,GAAG,IAAIH,mBAAU,CAACF,YAAY,CAACK,IAAI,EAAEN,OAAO,CAAC;EACxD;EAEA,IAAWO,IAAIA,CAAA,EAAqB;IAClC,OAAQ,IAAI,CAACC,IAAI,CAAiCD,IAAI;EACxD;EAEA,IAAWA,IAAIA,CAACE,KAAuB,EAAE;IACtC,IAAI,CAACD,IAAI,CAAiCD,IAAI,GAAGE,KAAK;EACzD;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;IAEC,IAAI,CAACN,IAAI,CAAiCE,oBAAoB,CAC7DC,cAAc,EACdC,iBAAiB,EACjBC,mBACF,CAAC;EACH;AACF;AAACG,OAAA,CAAApB,OAAA,GAAAC,gBAAA","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
10
10
|
class GainNode extends _AudioNode.default {
|
|
11
11
|
constructor(context, gain) {
|
|
12
12
|
super(context, gain);
|
|
13
|
-
this.gain = new _AudioParam.default(gain.gain);
|
|
13
|
+
this.gain = new _AudioParam.default(gain.gain, context);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.default = GainNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AudioNode","_interopRequireDefault","require","_AudioParam","e","__esModule","default","GainNode","AudioNode","constructor","context","gain","AudioParam","exports"],"sourceRoot":"../../../src","sources":["web-core/GainNode.tsx"],"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;AAEvB,MAAMG,QAAQ,SAASC,kBAAS,CAAC;EAG9CC,WAAWA,CAACC,OAAyB,EAAEC,IAAyB,EAAE;IAChE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACA,IAAI,GAAG,IAAIC,mBAAU,CAACD,IAAI,CAACA,IAAI,CAAC;
|
|
1
|
+
{"version":3,"names":["_AudioNode","_interopRequireDefault","require","_AudioParam","e","__esModule","default","GainNode","AudioNode","constructor","context","gain","AudioParam","exports"],"sourceRoot":"../../../src","sources":["web-core/GainNode.tsx"],"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;AAEvB,MAAMG,QAAQ,SAASC,kBAAS,CAAC;EAG9CC,WAAWA,CAACC,OAAyB,EAAEC,IAAyB,EAAE;IAChE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACA,IAAI,GAAG,IAAIC,mBAAU,CAACD,IAAI,CAACA,IAAI,EAAED,OAAO,CAAC;EAChD;AACF;AAACG,OAAA,CAAAP,OAAA,GAAAC,QAAA","ignoreList":[]}
|
|
@@ -11,8 +11,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
11
11
|
class OscillatorNode extends _AudioScheduledSourceNode.default {
|
|
12
12
|
constructor(context, node) {
|
|
13
13
|
super(context, node);
|
|
14
|
-
this.detune = new _AudioParam.default(node.detune);
|
|
15
|
-
this.frequency = new _AudioParam.default(node.frequency);
|
|
14
|
+
this.detune = new _AudioParam.default(node.detune, context);
|
|
15
|
+
this.frequency = new _AudioParam.default(node.frequency, context);
|
|
16
16
|
}
|
|
17
17
|
get type() {
|
|
18
18
|
return this.node.type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_errors","require","_AudioScheduledSourceNode","_interopRequireDefault","_AudioParam","e","__esModule","default","OscillatorNode","AudioScheduledSourceNode","constructor","context","node","detune","AudioParam","frequency","type","value","InvalidStateError","setPeriodicWave","wave","periodicWave","exports"],"sourceRoot":"../../../src","sources":["web-core/OscillatorNode.tsx"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAsC,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGvB,MAAMG,cAAc,SAASC,iCAAwB,CAAC;EAInEC,WAAWA,CAACC,OAAyB,EAAEC,IAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIC,mBAAU,CAACF,IAAI,CAACC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"names":["_errors","require","_AudioScheduledSourceNode","_interopRequireDefault","_AudioParam","e","__esModule","default","OscillatorNode","AudioScheduledSourceNode","constructor","context","node","detune","AudioParam","frequency","type","value","InvalidStateError","setPeriodicWave","wave","periodicWave","exports"],"sourceRoot":"../../../src","sources":["web-core/OscillatorNode.tsx"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAsC,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGvB,MAAMG,cAAc,SAASC,iCAAwB,CAAC;EAInEC,WAAWA,CAACC,OAAyB,EAAEC,IAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIC,mBAAU,CAACF,IAAI,CAACC,MAAM,EAAEF,OAAO,CAAC;IAClD,IAAI,CAACI,SAAS,GAAG,IAAID,mBAAU,CAACF,IAAI,CAACG,SAAS,EAAEJ,OAAO,CAAC;EAC1D;EAEA,IAAWK,IAAIA,CAAA,EAAmB;IAChC,OAAQ,IAAI,CAACJ,IAAI,CAA+BI,IAAI;EACtD;EAEA,IAAWA,IAAIA,CAACC,KAAqB,EAAE;IACrC,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtB,MAAM,IAAIC,yBAAiB,CACzB,uGACF,CAAC;IACH;IAEC,IAAI,CAACN,IAAI,CAA+BI,IAAI,GAAGC,KAAK;EACvD;EAEOE,eAAeA,CAACC,IAAkB,EAAQ;IAC9C,IAAI,CAACR,IAAI,CAA+BO,eAAe,CAACC,IAAI,CAACC,YAAY,CAAC;EAC7E;AACF;AAACC,OAAA,CAAAf,OAAA,GAAAC,cAAA","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
10
10
|
class StereoPannerNode extends _AudioNode.default {
|
|
11
11
|
constructor(context, pan) {
|
|
12
12
|
super(context, pan);
|
|
13
|
-
this.pan = new _AudioParam.default(pan.pan);
|
|
13
|
+
this.pan = new _AudioParam.default(pan.pan, context);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.default = StereoPannerNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AudioNode","_interopRequireDefault","require","_AudioParam","e","__esModule","default","StereoPannerNode","AudioNode","constructor","context","pan","AudioParam","exports"],"sourceRoot":"../../../src","sources":["web-core/StereoPannerNode.tsx"],"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;AAEvB,MAAMG,gBAAgB,SAASC,kBAAS,CAAC;EAGtDC,WAAWA,CAACC,OAAyB,EAAEC,GAAgC,EAAE;IACvE,KAAK,CAACD,OAAO,EAAEC,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,GAAG,IAAIC,mBAAU,CAACD,GAAG,CAACA,GAAG,CAAC;
|
|
1
|
+
{"version":3,"names":["_AudioNode","_interopRequireDefault","require","_AudioParam","e","__esModule","default","StereoPannerNode","AudioNode","constructor","context","pan","AudioParam","exports"],"sourceRoot":"../../../src","sources":["web-core/StereoPannerNode.tsx"],"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;AAEvB,MAAMG,gBAAgB,SAASC,kBAAS,CAAC;EAGtDC,WAAWA,CAACC,OAAyB,EAAEC,GAAgC,EAAE;IACvE,KAAK,CAACD,OAAO,EAAEC,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,GAAG,IAAIC,mBAAU,CAACD,GAAG,CAACA,GAAG,EAAED,OAAO,CAAC;EAC7C;AACF;AAACG,OAAA,CAAAP,OAAA,GAAAC,gBAAA","ignoreList":[]}
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import { AndroidConfig, createRunOncePlugin, withInfoPlist, withAndroidManifest } from '@expo/config-plugins';
|
|
4
4
|
const pkg = require('react-native-audio-api/package.json');
|
|
5
|
+
const withDefaultOptions = options => {
|
|
6
|
+
return {
|
|
7
|
+
iosBackgroundMode: true,
|
|
8
|
+
androidForegroundService: true,
|
|
9
|
+
androidFSPermissions: ['android.permission.FOREGROUND_SERVICE', 'android.permission.WAKE_LOCK'],
|
|
10
|
+
androidFSTypes: ['mediaPlayback'],
|
|
11
|
+
...options
|
|
12
|
+
};
|
|
13
|
+
};
|
|
5
14
|
const withBackgroundAudio = config => {
|
|
6
15
|
return withInfoPlist(config, iosConfig => {
|
|
7
16
|
iosConfig.modResults.UIBackgroundModes = [...Array.from(new Set([...(iosConfig.modResults.UIBackgroundModes ?? []), 'audio']))];
|
|
@@ -35,22 +44,14 @@ const withForegroundService = (config, {
|
|
|
35
44
|
return mod;
|
|
36
45
|
});
|
|
37
46
|
};
|
|
38
|
-
const withAudioAPI = (config, {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
androidFSPermissions = [],
|
|
42
|
-
androidFSTypes = []
|
|
43
|
-
} = {}) => {
|
|
44
|
-
if (iosBackgroundMode) {
|
|
47
|
+
const withAudioAPI = (config, optionsIn) => {
|
|
48
|
+
const options = withDefaultOptions(optionsIn ?? {});
|
|
49
|
+
if (options.iosBackgroundMode) {
|
|
45
50
|
config = withBackgroundAudio(config);
|
|
46
51
|
}
|
|
47
|
-
if (androidForegroundService) {
|
|
48
|
-
config = withAndroidPermissions(config,
|
|
49
|
-
|
|
50
|
-
});
|
|
51
|
-
config = withForegroundService(config, {
|
|
52
|
-
androidFSTypes
|
|
53
|
-
});
|
|
52
|
+
if (options.androidForegroundService) {
|
|
53
|
+
config = withAndroidPermissions(config, options);
|
|
54
|
+
config = withForegroundService(config, options);
|
|
54
55
|
}
|
|
55
56
|
return config;
|
|
56
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AndroidConfig","createRunOncePlugin","withInfoPlist","withAndroidManifest","pkg","require","withBackgroundAudio","config","iosConfig","modResults","UIBackgroundModes","Array","from","Set","withAndroidPermissions","
|
|
1
|
+
{"version":3,"names":["AndroidConfig","createRunOncePlugin","withInfoPlist","withAndroidManifest","pkg","require","withDefaultOptions","options","iosBackgroundMode","androidForegroundService","androidFSPermissions","androidFSTypes","withBackgroundAudio","config","iosConfig","modResults","UIBackgroundModes","Array","from","Set","withAndroidPermissions","Permissions","withPermissions","withForegroundService","mod","manifest","mainApplication","Manifest","getMainApplicationOrThrow","SFTypes","join","serviceElement","$","intentFilter","service","push","withAudioAPI","optionsIn","name","version"],"sourceRoot":"../../../src","sources":["plugin/withAudioAPI.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,mBAAmB,EAEnBC,aAAa,EACbC,mBAAmB,QACd,sBAAsB;AAC7B,MAAMC,GAAG,GAAGC,OAAO,CAAC,qCAAqC,CAAC;AAS1D,MAAMC,kBAAkB,GAAIC,OAAyB,IAAc;EACjE,OAAO;IACLC,iBAAiB,EAAE,IAAI;IACvBC,wBAAwB,EAAE,IAAI;IAC9BC,oBAAoB,EAAE,CACpB,uCAAuC,EACvC,8BAA8B,CAC/B;IACDC,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,GAAGJ;EACL,CAAC;AACH,CAAC;AAED,MAAMK,mBAAiC,GAAIC,MAAM,IAAK;EACpD,OAAOX,aAAa,CAACW,MAAM,EAAGC,SAAS,IAAK;IAC1CA,SAAS,CAACC,UAAU,CAACC,iBAAiB,GAAG,CACvC,GAAGC,KAAK,CAACC,IAAI,CACX,IAAIC,GAAG,CAAC,CAAC,IAAIL,SAAS,CAACC,UAAU,CAACC,iBAAiB,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CACtE,CAAC,CACF;IAED,OAAOF,SAAS;EAClB,CAAC,CAAC;AACJ,CAAC;AAED,MAAMM,sBAA6C,GAAGA,CACpDP,MAAM,EACN;EAAEH;AAA8B,CAAC,KAC9B;EACH,OAAOV,aAAa,CAACqB,WAAW,CAACC,eAAe,CAC9CT,MAAM,EACNH,oBACF,CAAC;AACH,CAAC;AAED,MAAMa,qBAA4C,GAAGA,CACnDV,MAAM,EACN;EAAEF;AAAwB,CAAC,KACxB;EACH,OAAOR,mBAAmB,CAACU,MAAM,EAAGW,GAAG,IAAK;IAC1C,MAAMC,QAAQ,GAAGD,GAAG,CAACT,UAAU;IAC/B,MAAMW,eAAe,GACnB1B,aAAa,CAAC2B,QAAQ,CAACC,yBAAyB,CAACH,QAAQ,CAAC;IAE5D,MAAMI,OAAO,GAAGlB,cAAc,CAACmB,IAAI,CAAC,GAAG,CAAC;IAExC,MAAMC,cAAc,GAAG;MACrBC,CAAC,EAAE;QACD,cAAc,EACZ,4EAA4E;QAC9E,sBAAsB,EAAE,MAAM;QAC9B,+BAA+B,EAAEH;MACnC,CAAC;MACDI,YAAY,EAAE;IAChB,CAAC;IAED,IAAI,CAACP,eAAe,CAACQ,OAAO,EAAE;MAC5BR,eAAe,CAACQ,OAAO,GAAG,EAAE;IAC9B;IAEAR,eAAe,CAACQ,OAAO,CAACC,IAAI,CAACJ,cAAc,CAAC;IAE5C,OAAOP,GAAG;EACZ,CAAC,CAAC;AACJ,CAAC;AAED,MAAMY,YAAmC,GAAGA,CAACvB,MAAM,EAAEwB,SAAS,KAAK;EACjE,MAAM9B,OAAO,GAAGD,kBAAkB,CAAC+B,SAAS,IAAI,CAAC,CAAC,CAAC;EAEnD,IAAI9B,OAAO,CAACC,iBAAiB,EAAE;IAC7BK,MAAM,GAAGD,mBAAmB,CAACC,MAAM,CAAC;EACtC;EAEA,IAAIN,OAAO,CAACE,wBAAwB,EAAE;IACpCI,MAAM,GAAGO,sBAAsB,CAACP,MAAM,EAAEN,OAAO,CAAC;IAChDM,MAAM,GAAGU,qBAAqB,CAACV,MAAM,EAAEN,OAAO,CAAC;EACjD;EAEA,OAAOM,MAAM;AACf,CAAC;AAED,eAAeZ,mBAAmB,CAACmC,YAAY,EAAEhC,GAAG,CAACkC,IAAI,EAAElC,GAAG,CAACmC,OAAO,CAAC","ignoreList":[]}
|
|
@@ -60,11 +60,11 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
60
60
|
super(context, node);
|
|
61
61
|
this._pitchCorrection = pitchCorrection;
|
|
62
62
|
if (pitchCorrection) {
|
|
63
|
-
this.detune = new AudioParam(new IStretcherNodeAudioParam(0, this.setDetune.bind(this), 'a-rate', -1200, 1200, 0));
|
|
64
|
-
this.playbackRate = new AudioParam(new IStretcherNodeAudioParam(1, this.setPlaybackRate.bind(this), 'a-rate', 0, Infinity, 1));
|
|
63
|
+
this.detune = new AudioParam(new IStretcherNodeAudioParam(0, this.setDetune.bind(this), 'a-rate', -1200, 1200, 0), context);
|
|
64
|
+
this.playbackRate = new AudioParam(new IStretcherNodeAudioParam(1, this.setPlaybackRate.bind(this), 'a-rate', 0, Infinity, 1), context);
|
|
65
65
|
} else {
|
|
66
|
-
this.detune = new AudioParam(node.detune);
|
|
67
|
-
this.playbackRate = new AudioParam(node.playbackRate);
|
|
66
|
+
this.detune = new AudioParam(node.detune, context);
|
|
67
|
+
this.playbackRate = new AudioParam(node.playbackRate, context);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
isStretcherNode() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidStateError","RangeError","AudioParam","AudioBuffer","AudioScheduledSourceNode","clamp","globalTag","IStretcherNodeAudioParam","constructor","value","setter","automationRate","minValue","maxValue","defaultValue","_value","_setter","cancelAndHoldAtTime","cancelTime","cancelScheduledValues","exponentialRampToValueAtTime","_endTime","console","warn","linearRampToValueAtTime","setTargetAtTime","_target","_startTime","_timeConstant","setValueAtTime","startTime","setValueCurveAtTime","_values","_duration","AudioBufferSourceNode","_loop","_loopStart","_loopEnd","_buffer","context","node","pitchCorrection","_pitchCorrection","detune","setDetune","bind","playbackRate","setPlaybackRate","Infinity","isStretcherNode","asStretcher","asBufferSource","when","hasBeenStarted","schedule","semitones","Math","floor","output","rate","buffer","stretcher","dropBuffers","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","loop","loopStart","loopEnd","start","offset","duration","startAt","currentTime","stop"],"sourceRoot":"../../../src","sources":["web-core/AudioBufferSourceNode.tsx"],"mappings":";;AAAA,SAASA,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,OAAOC,UAAU,MAAM,iBAAc;AACrC,OAAOC,WAAW,MAAM,kBAAe;AAEvC,OAAOC,wBAAwB,MAAM,+BAA4B;AAEjE,SAASC,KAAK,QAAQ,mBAAU;AAChC,SAASC,SAAS,QAAQ,4BAAyB;AAwEnD,MAAMC,wBAAwB,CAAkC;EAS9DC,WAAWA,CACTC,KAAa,EACbC,MAA8C,EAC9CC,cAA8B,EAC9BC,QAAgB,EAChBC,QAAgB,EAChBC,YAAoB,EACpB;IACA,IAAI,CAACC,MAAM,GAAGN,KAAK;IACnB,IAAI,CAACE,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACE,OAAO,GAAGN,MAAM;EACvB;EAEA,IAAWD,KAAKA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACM,MAAM;EACpB;EAEA,IAAWN,KAAKA,CAACA,KAAa,EAAE;IAC9B,IAAI,CAACM,MAAM,GAAGN,KAAK;IAEnB,IAAI,CAACO,OAAO,CAACP,KAAK,CAAC;EACrB;EAEAQ,mBAAmBA,CAACC,UAAkB,EAAyB;IAC7D,IAAI,CAACF,OAAO,CAAC,IAAI,CAACF,YAAY,EAAEI,UAAU,CAAC;IAC3C,OAAO,IAAI;EACb;EAEAC,qBAAqBA,CAACD,UAAkB,EAAyB;IAC/D,IAAI,CAACF,OAAO,CAAC,IAAI,CAACF,YAAY,EAAEI,UAAU,CAAC;IAC3C,OAAO,IAAI;EACb;EAEAE,4BAA4BA,CAC1BL,MAAc,EACdM,QAAgB,EACO;IACvBC,OAAO,CAACC,IAAI,CACV,2EACF,CAAC;IACD,OAAO,IAAI;EACb;EAEAC,uBAAuBA,CACrBT,MAAc,EACdM,QAAgB,EACO;IACvBC,OAAO,CAACC,IAAI,CACV,sEACF,CAAC;IACD,OAAO,IAAI;EACb;EAEAE,eAAeA,CACbC,OAAe,EACfC,UAAkB,EAClBC,aAAqB,EACE;IACvBN,OAAO,CAACC,IAAI,CACV,8DACF,CAAC;IACD,OAAO,IAAI;EACb;EAEAM,cAAcA,CAACpB,KAAa,EAAEqB,SAAiB,EAAyB;IACtE,IAAI,CAACd,OAAO,CAACP,KAAK,EAAEqB,SAAS,CAAC;IAC9B,OAAO,IAAI;EACb;EAEAC,mBAAmBA,CACjBC,OAAqB,EACrBL,UAAkB,EAClBM,SAAiB,EACM;IACvBX,OAAO,CAACC,IAAI,CACV,kEACF,CAAC;IACD,OAAO,IAAI;EACb;AACF;AAcA,eAAe,MAAMW,qBAAqB,SAEhC9B,wBAAwB,CAAC;EAKzB+B,KAAK,GAAY,KAAK;EACtBC,UAAU,GAAW,CAAC,CAAC;EACvBC,QAAQ,GAAW,CAAC,CAAC;EAErBC,OAAO,GAAuB,IAAI;EAE1C9B,WAAWA,CAAC+B,OAAyB,EAAEC,IAAO,EAAEC,eAAwB,EAAE;IACxE,KAAK,CAACF,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACE,gBAAgB,GAAGD,eAAe;IAEvC,IAAIA,eAAe,EAAE;MACnB,IAAI,CAACE,MAAM,GAAG,IAAIzC,UAAU,CAC1B,IAAIK,wBAAwB,CAC1B,CAAC,EACD,IAAI,CAACqC,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC,EACzB,QAAQ,EACR,CAAC,IAAI,EACL,IAAI,EACJ,CACF,
|
|
1
|
+
{"version":3,"names":["InvalidStateError","RangeError","AudioParam","AudioBuffer","AudioScheduledSourceNode","clamp","globalTag","IStretcherNodeAudioParam","constructor","value","setter","automationRate","minValue","maxValue","defaultValue","_value","_setter","cancelAndHoldAtTime","cancelTime","cancelScheduledValues","exponentialRampToValueAtTime","_endTime","console","warn","linearRampToValueAtTime","setTargetAtTime","_target","_startTime","_timeConstant","setValueAtTime","startTime","setValueCurveAtTime","_values","_duration","AudioBufferSourceNode","_loop","_loopStart","_loopEnd","_buffer","context","node","pitchCorrection","_pitchCorrection","detune","setDetune","bind","playbackRate","setPlaybackRate","Infinity","isStretcherNode","asStretcher","asBufferSource","when","hasBeenStarted","schedule","semitones","Math","floor","output","rate","buffer","stretcher","dropBuffers","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","loop","loopStart","loopEnd","start","offset","duration","startAt","currentTime","stop"],"sourceRoot":"../../../src","sources":["web-core/AudioBufferSourceNode.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import AudioParam from "./AudioParam.js";
|
|
3
4
|
export default class AudioNode {
|
|
4
5
|
constructor(context, node) {
|
|
5
6
|
this.context = context;
|
|
@@ -12,9 +13,13 @@ export default class AudioNode {
|
|
|
12
13
|
}
|
|
13
14
|
connect(destination) {
|
|
14
15
|
if (this.context !== destination.context) {
|
|
15
|
-
throw new Error('
|
|
16
|
+
throw new Error('Source and destination are from different BaseAudioContexts');
|
|
17
|
+
}
|
|
18
|
+
if (destination instanceof AudioParam) {
|
|
19
|
+
this.node.connect(destination.param);
|
|
20
|
+
} else {
|
|
21
|
+
this.node.connect(destination.node);
|
|
16
22
|
}
|
|
17
|
-
this.node.connect(destination.node);
|
|
18
23
|
return destination;
|
|
19
24
|
}
|
|
20
25
|
disconnect(destination) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","destination","Error","disconnect","undefined"],"sourceRoot":"../../../src","sources":["web-core/AudioNode.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["AudioParam","AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","destination","Error","param","disconnect","undefined"],"sourceRoot":"../../../src","sources":["web-core/AudioNode.tsx"],"mappings":";;AAEA,OAAOA,UAAU,MAAM,iBAAc;AAErC,eAAe,MAAMC,SAAS,CAAC;EAU7BC,WAAWA,CAACC,OAAyB,EAAEC,IAA0B,EAAE;IACjE,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,WAAmC,EAA0B;IAC1E,IAAI,IAAI,CAACR,OAAO,KAAKQ,WAAW,CAACR,OAAO,EAAE;MACxC,MAAM,IAAIS,KAAK,CACb,6DACF,CAAC;IACH;IAEA,IAAID,WAAW,YAAYX,UAAU,EAAE;MACrC,IAAI,CAACI,IAAI,CAACM,OAAO,CAACC,WAAW,CAACE,KAAK,CAAC;IACtC,CAAC,MAAM;MACL,IAAI,CAACT,IAAI,CAACM,OAAO,CAACC,WAAW,CAACP,IAAI,CAAC;IACrC;IAEA,OAAOO,WAAW;EACpB;EAEOG,UAAUA,CAACH,WAAuB,EAAQ;IAC/C,IAAIA,WAAW,KAAKI,SAAS,EAAE;MAC7B,IAAI,CAACX,IAAI,CAACU,UAAU,CAAC,CAAC;MACtB;IACF;IAEA,IAAI,CAACV,IAAI,CAACU,UAAU,CAACH,WAAW,CAACP,IAAI,CAAC;EACxC;AACF","ignoreList":[]}
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import { RangeError, InvalidStateError } from "../errors/index.js";
|
|
4
4
|
export default class AudioParam {
|
|
5
|
-
constructor(param) {
|
|
5
|
+
constructor(param, context) {
|
|
6
6
|
this.param = param;
|
|
7
7
|
this.defaultValue = param.defaultValue;
|
|
8
8
|
this.minValue = param.minValue;
|
|
9
9
|
this.maxValue = param.maxValue;
|
|
10
|
+
this.context = context;
|
|
10
11
|
}
|
|
11
12
|
get value() {
|
|
12
13
|
return this.param.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RangeError","InvalidStateError","AudioParam","constructor","param","defaultValue","minValue","maxValue","value","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","cancelScheduledValues","cancelTime","cancelAndHoldAtTime"],"sourceRoot":"../../../src","sources":["web-core/AudioParam.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,iBAAiB,QAAQ,oBAAW;
|
|
1
|
+
{"version":3,"names":["RangeError","InvalidStateError","AudioParam","constructor","param","context","defaultValue","minValue","maxValue","value","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","cancelScheduledValues","cancelTime","cancelAndHoldAtTime"],"sourceRoot":"../../../src","sources":["web-core/AudioParam.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,10 +6,10 @@ import { InvalidAccessError } from "../errors/index.js";
|
|
|
6
6
|
export default class BiquadFilterNode extends AudioNode {
|
|
7
7
|
constructor(context, biquadFilter) {
|
|
8
8
|
super(context, biquadFilter);
|
|
9
|
-
this.frequency = new AudioParam(biquadFilter.frequency);
|
|
10
|
-
this.detune = new AudioParam(biquadFilter.detune);
|
|
11
|
-
this.Q = new AudioParam(biquadFilter.Q);
|
|
12
|
-
this.gain = new AudioParam(biquadFilter.gain);
|
|
9
|
+
this.frequency = new AudioParam(biquadFilter.frequency, context);
|
|
10
|
+
this.detune = new AudioParam(biquadFilter.detune, context);
|
|
11
|
+
this.Q = new AudioParam(biquadFilter.Q, context);
|
|
12
|
+
this.gain = new AudioParam(biquadFilter.gain, context);
|
|
13
13
|
}
|
|
14
14
|
get type() {
|
|
15
15
|
return this.node.type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioParam","AudioNode","InvalidAccessError","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["web-core/BiquadFilterNode.tsx"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,iBAAc;AACrC,OAAOC,SAAS,MAAM,gBAAa;AAGnC,SAASC,kBAAkB,QAAQ,oBAAW;AAE9C,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CACTC,OAAyB,EACzBC,YAAyC,EACzC;IACA,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIP,UAAU,CAACM,YAAY,CAACC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"names":["AudioParam","AudioNode","InvalidAccessError","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["web-core/BiquadFilterNode.tsx"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,iBAAc;AACrC,OAAOC,SAAS,MAAM,gBAAa;AAGnC,SAASC,kBAAkB,QAAQ,oBAAW;AAE9C,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CACTC,OAAyB,EACzBC,YAAyC,EACzC;IACA,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIP,UAAU,CAACM,YAAY,CAACC,SAAS,EAAEF,OAAO,CAAC;IAChE,IAAI,CAACG,MAAM,GAAG,IAAIR,UAAU,CAACM,YAAY,CAACE,MAAM,EAAEH,OAAO,CAAC;IAC1D,IAAI,CAACI,CAAC,GAAG,IAAIT,UAAU,CAACM,YAAY,CAACG,CAAC,EAAEJ,OAAO,CAAC;IAChD,IAAI,CAACK,IAAI,GAAG,IAAIV,UAAU,CAACM,YAAY,CAACI,IAAI,EAAEL,OAAO,CAAC;EACxD;EAEA,IAAWM,IAAIA,CAAA,EAAqB;IAClC,OAAQ,IAAI,CAACC,IAAI,CAAiCD,IAAI;EACxD;EAEA,IAAWA,IAAIA,CAACE,KAAuB,EAAE;IACtC,IAAI,CAACD,IAAI,CAAiCD,IAAI,GAAGE,KAAK;EACzD;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,IAAIhB,kBAAkB,CAC1B,8DAA8Da,cAAc,CAACG,MAAM,wBAAwBF,iBAAiB,CAACE,MAAM,0BAA0BD,mBAAmB,CAACC,MAAM,EACzL,CAAC;IACH;IAEC,IAAI,CAACN,IAAI,CAAiCE,oBAAoB,CAC7DC,cAAc,EACdC,iBAAiB,EACjBC,mBACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import AudioParam from "./AudioParam.js";
|
|
|
5
5
|
export default class GainNode extends AudioNode {
|
|
6
6
|
constructor(context, gain) {
|
|
7
7
|
super(context, gain);
|
|
8
|
-
this.gain = new AudioParam(gain.gain);
|
|
8
|
+
this.gain = new AudioParam(gain.gain, context);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=GainNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioParam","GainNode","constructor","context","gain"],"sourceRoot":"../../../src","sources":["web-core/GainNode.tsx"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAErC,eAAe,MAAMC,QAAQ,SAASF,SAAS,CAAC;EAG9CG,WAAWA,CAACC,OAAyB,EAAEC,IAAyB,EAAE;IAChE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACA,IAAI,GAAG,IAAIJ,UAAU,CAACI,IAAI,CAACA,IAAI,CAAC;
|
|
1
|
+
{"version":3,"names":["AudioNode","AudioParam","GainNode","constructor","context","gain"],"sourceRoot":"../../../src","sources":["web-core/GainNode.tsx"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAErC,eAAe,MAAMC,QAAQ,SAASF,SAAS,CAAC;EAG9CG,WAAWA,CAACC,OAAyB,EAAEC,IAAyB,EAAE;IAChE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACA,IAAI,GAAG,IAAIJ,UAAU,CAACI,IAAI,CAACA,IAAI,EAAED,OAAO,CAAC;EAChD;AACF","ignoreList":[]}
|
|
@@ -6,8 +6,8 @@ import AudioParam from "./AudioParam.js";
|
|
|
6
6
|
export default class OscillatorNode extends AudioScheduledSourceNode {
|
|
7
7
|
constructor(context, node) {
|
|
8
8
|
super(context, node);
|
|
9
|
-
this.detune = new AudioParam(node.detune);
|
|
10
|
-
this.frequency = new AudioParam(node.frequency);
|
|
9
|
+
this.detune = new AudioParam(node.detune, context);
|
|
10
|
+
this.frequency = new AudioParam(node.frequency, context);
|
|
11
11
|
}
|
|
12
12
|
get type() {
|
|
13
13
|
return this.node.type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidStateError","AudioScheduledSourceNode","AudioParam","OscillatorNode","constructor","context","node","detune","frequency","type","value","setPeriodicWave","wave","periodicWave"],"sourceRoot":"../../../src","sources":["web-core/OscillatorNode.tsx"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,oBAAW;AAC7C,OAAOC,wBAAwB,MAAM,+BAA4B;AAEjE,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,cAAc,SAASF,wBAAwB,CAAC;EAInEG,WAAWA,CAACC,OAAyB,EAAEC,IAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIL,UAAU,CAACI,IAAI,CAACC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"names":["InvalidStateError","AudioScheduledSourceNode","AudioParam","OscillatorNode","constructor","context","node","detune","frequency","type","value","setPeriodicWave","wave","periodicWave"],"sourceRoot":"../../../src","sources":["web-core/OscillatorNode.tsx"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,oBAAW;AAC7C,OAAOC,wBAAwB,MAAM,+BAA4B;AAEjE,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,cAAc,SAASF,wBAAwB,CAAC;EAInEG,WAAWA,CAACC,OAAyB,EAAEC,IAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIL,UAAU,CAACI,IAAI,CAACC,MAAM,EAAEF,OAAO,CAAC;IAClD,IAAI,CAACG,SAAS,GAAG,IAAIN,UAAU,CAACI,IAAI,CAACE,SAAS,EAAEH,OAAO,CAAC;EAC1D;EAEA,IAAWI,IAAIA,CAAA,EAAmB;IAChC,OAAQ,IAAI,CAACH,IAAI,CAA+BG,IAAI;EACtD;EAEA,IAAWA,IAAIA,CAACC,KAAqB,EAAE;IACrC,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtB,MAAM,IAAIV,iBAAiB,CACzB,uGACF,CAAC;IACH;IAEC,IAAI,CAACM,IAAI,CAA+BG,IAAI,GAAGC,KAAK;EACvD;EAEOC,eAAeA,CAACC,IAAkB,EAAQ;IAC9C,IAAI,CAACN,IAAI,CAA+BK,eAAe,CAACC,IAAI,CAACC,YAAY,CAAC;EAC7E;AACF","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import AudioParam from "./AudioParam.js";
|
|
|
5
5
|
export default class StereoPannerNode extends AudioNode {
|
|
6
6
|
constructor(context, pan) {
|
|
7
7
|
super(context, pan);
|
|
8
|
-
this.pan = new AudioParam(pan.pan);
|
|
8
|
+
this.pan = new AudioParam(pan.pan, context);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=StereoPannerNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioParam","StereoPannerNode","constructor","context","pan"],"sourceRoot":"../../../src","sources":["web-core/StereoPannerNode.tsx"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAErC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAGtDG,WAAWA,CAACC,OAAyB,EAAEC,GAAgC,EAAE;IACvE,KAAK,CAACD,OAAO,EAAEC,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,GAAG,IAAIJ,UAAU,CAACI,GAAG,CAACA,GAAG,CAAC;
|
|
1
|
+
{"version":3,"names":["AudioNode","AudioParam","StereoPannerNode","constructor","context","pan"],"sourceRoot":"../../../src","sources":["web-core/StereoPannerNode.tsx"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAErC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAGtDG,WAAWA,CAACC,OAAyB,EAAEC,GAAgC,EAAE;IACvE,KAAK,CAACD,OAAO,EAAEC,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,GAAG,IAAIJ,UAAU,CAACI,GAAG,CAACA,GAAG,EAAED,OAAO,CAAC;EAC7C;AACF","ignoreList":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
-
|
|
3
|
-
iosBackgroundMode
|
|
4
|
-
androidForegroundService
|
|
5
|
-
androidFSPermissions
|
|
6
|
-
androidFSTypes
|
|
7
|
-
}
|
|
2
|
+
interface Options {
|
|
3
|
+
iosBackgroundMode: boolean;
|
|
4
|
+
androidForegroundService: boolean;
|
|
5
|
+
androidFSPermissions: string[];
|
|
6
|
+
androidFSTypes: string[];
|
|
7
|
+
}
|
|
8
|
+
declare const _default: ConfigPlugin<Options>;
|
|
8
9
|
export default _default;
|
|
9
10
|
//# sourceMappingURL=withAudioAPI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withAudioAPI.d.ts","sourceRoot":"","sources":["../../../src/plugin/withAudioAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,sBAAsB,CAAC
|
|
1
|
+
{"version":3,"file":"withAudioAPI.d.ts","sourceRoot":"","sources":["../../../src/plugin/withAudioAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,sBAAsB,CAAC;AAG9B,UAAU,OAAO;IACf,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wBAAwB,EAAE,OAAO,CAAC;IAClC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;;AAmFD,wBAAwE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioBufferSourceNode.d.ts","sourceRoot":"","sources":["../../../src/web-core/AudioBufferSourceNode.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AudioBufferSourceNode.d.ts","sourceRoot":"","sources":["../../../src/web-core/AudioBufferSourceNode.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import BaseAudioContext from './BaseAudioContext';
|
|
2
2
|
import { ChannelCountMode, ChannelInterpretation } from '../types';
|
|
3
|
+
import AudioParam from './AudioParam';
|
|
3
4
|
export default class AudioNode {
|
|
4
5
|
readonly context: BaseAudioContext;
|
|
5
6
|
readonly numberOfInputs: number;
|
|
@@ -9,7 +10,7 @@ export default class AudioNode {
|
|
|
9
10
|
readonly channelInterpretation: ChannelInterpretation;
|
|
10
11
|
protected readonly node: globalThis.AudioNode;
|
|
11
12
|
constructor(context: BaseAudioContext, node: globalThis.AudioNode);
|
|
12
|
-
connect(destination: AudioNode): AudioNode;
|
|
13
|
+
connect(destination: AudioNode | AudioParam): AudioNode | AudioParam;
|
|
13
14
|
disconnect(destination?: AudioNode): void;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=AudioNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioNode.d.ts","sourceRoot":"","sources":["../../../src/web-core/AudioNode.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"AudioNode.d.ts","sourceRoot":"","sources":["../../../src/web-core/AudioNode.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;gBAElC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,SAAS;IAU1D,OAAO,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU;IAgBpE,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,GAAG,IAAI;CAQjD"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import BaseAudioContext from './BaseAudioContext';
|
|
1
2
|
export default class AudioParam {
|
|
2
3
|
readonly defaultValue: number;
|
|
3
4
|
readonly minValue: number;
|
|
4
5
|
readonly maxValue: number;
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
readonly context: BaseAudioContext;
|
|
7
|
+
readonly param: globalThis.AudioParam;
|
|
8
|
+
constructor(param: globalThis.AudioParam, context: BaseAudioContext);
|
|
7
9
|
get value(): number;
|
|
8
10
|
set value(value: number);
|
|
9
11
|
setValueAtTime(value: number, startTime: number): AudioParam;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioParam.d.ts","sourceRoot":"","sources":["../../../src/web-core/AudioParam.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AudioParam.d.ts","sourceRoot":"","sources":["../../../src/web-core/AudioParam.tsx"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAEnC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC;gBAE1B,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB;IAQnE,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAEM,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU;IAY5D,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;IAYnE,4BAA4B,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,UAAU;IAYN,eAAe,CACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,UAAU;IAkBN,mBAAmB,CACxB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,UAAU;IAsBN,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;IAYrD,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;CAW3D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-audio-api",
|
|
3
|
-
"version": "0.6.1-rc.
|
|
3
|
+
"version": "0.6.1-rc.8",
|
|
4
4
|
"description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification",
|
|
5
5
|
"bin": {
|
|
6
6
|
"setup-rn-audio-api-web": "./scripts/setup-rn-audio-api-web.js"
|
|
@@ -90,6 +90,7 @@
|
|
|
90
90
|
"@commitlint/config-conventional": "^17.0.2",
|
|
91
91
|
"@evilmartians/lefthook": "^1.5.0",
|
|
92
92
|
"@expo/config-plugins": "^9.0.0",
|
|
93
|
+
"@expo/config-types": "^53.0.4",
|
|
93
94
|
"@react-native/babel-preset": "0.77.1",
|
|
94
95
|
"@react-native/eslint-config": "^0.77.1",
|
|
95
96
|
"@react-native/metro-config": "0.77.1",
|
|
@@ -5,9 +5,28 @@ import {
|
|
|
5
5
|
withInfoPlist,
|
|
6
6
|
withAndroidManifest,
|
|
7
7
|
} from '@expo/config-plugins';
|
|
8
|
-
|
|
9
8
|
const pkg = require('react-native-audio-api/package.json');
|
|
10
9
|
|
|
10
|
+
interface Options {
|
|
11
|
+
iosBackgroundMode: boolean;
|
|
12
|
+
androidForegroundService: boolean;
|
|
13
|
+
androidFSPermissions: string[];
|
|
14
|
+
androidFSTypes: string[];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const withDefaultOptions = (options: Partial<Options>): Options => {
|
|
18
|
+
return {
|
|
19
|
+
iosBackgroundMode: true,
|
|
20
|
+
androidForegroundService: true,
|
|
21
|
+
androidFSPermissions: [
|
|
22
|
+
'android.permission.FOREGROUND_SERVICE',
|
|
23
|
+
'android.permission.WAKE_LOCK',
|
|
24
|
+
],
|
|
25
|
+
androidFSTypes: ['mediaPlayback'],
|
|
26
|
+
...options,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
|
|
11
30
|
const withBackgroundAudio: ConfigPlugin = (config) => {
|
|
12
31
|
return withInfoPlist(config, (iosConfig) => {
|
|
13
32
|
iosConfig.modResults.UIBackgroundModes = [
|
|
@@ -20,18 +39,20 @@ const withBackgroundAudio: ConfigPlugin = (config) => {
|
|
|
20
39
|
});
|
|
21
40
|
};
|
|
22
41
|
|
|
23
|
-
const withAndroidPermissions: ConfigPlugin<
|
|
24
|
-
|
|
25
|
-
|
|
42
|
+
const withAndroidPermissions: ConfigPlugin<Options> = (
|
|
43
|
+
config,
|
|
44
|
+
{ androidFSPermissions }: Options
|
|
45
|
+
) => {
|
|
26
46
|
return AndroidConfig.Permissions.withPermissions(
|
|
27
47
|
config,
|
|
28
48
|
androidFSPermissions
|
|
29
49
|
);
|
|
30
50
|
};
|
|
31
51
|
|
|
32
|
-
const withForegroundService: ConfigPlugin<
|
|
33
|
-
|
|
34
|
-
|
|
52
|
+
const withForegroundService: ConfigPlugin<Options> = (
|
|
53
|
+
config,
|
|
54
|
+
{ androidFSTypes }: Options
|
|
55
|
+
) => {
|
|
35
56
|
return withAndroidManifest(config, (mod) => {
|
|
36
57
|
const manifest = mod.modResults;
|
|
37
58
|
const mainApplication =
|
|
@@ -59,30 +80,16 @@ const withForegroundService: ConfigPlugin<{
|
|
|
59
80
|
});
|
|
60
81
|
};
|
|
61
82
|
|
|
62
|
-
const withAudioAPI: ConfigPlugin<{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
androidFSTypes?: string[];
|
|
67
|
-
}> = (
|
|
68
|
-
config,
|
|
69
|
-
{
|
|
70
|
-
iosBackgroundMode = true,
|
|
71
|
-
androidForegroundService = true,
|
|
72
|
-
androidFSPermissions = [],
|
|
73
|
-
androidFSTypes = [],
|
|
74
|
-
} = {}
|
|
75
|
-
) => {
|
|
76
|
-
if (iosBackgroundMode) {
|
|
83
|
+
const withAudioAPI: ConfigPlugin<Options> = (config, optionsIn) => {
|
|
84
|
+
const options = withDefaultOptions(optionsIn ?? {});
|
|
85
|
+
|
|
86
|
+
if (options.iosBackgroundMode) {
|
|
77
87
|
config = withBackgroundAudio(config);
|
|
78
88
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
config = withForegroundService(config, {
|
|
84
|
-
androidFSTypes,
|
|
85
|
-
});
|
|
89
|
+
|
|
90
|
+
if (options.androidForegroundService) {
|
|
91
|
+
config = withAndroidPermissions(config, options);
|
|
92
|
+
config = withForegroundService(config, options);
|
|
86
93
|
}
|
|
87
94
|
|
|
88
95
|
return config;
|
|
@@ -210,7 +210,8 @@ export default class AudioBufferSourceNode<
|
|
|
210
210
|
-1200,
|
|
211
211
|
1200,
|
|
212
212
|
0
|
|
213
|
-
)
|
|
213
|
+
),
|
|
214
|
+
context
|
|
214
215
|
);
|
|
215
216
|
|
|
216
217
|
this.playbackRate = new AudioParam(
|
|
@@ -221,11 +222,15 @@ export default class AudioBufferSourceNode<
|
|
|
221
222
|
0,
|
|
222
223
|
Infinity,
|
|
223
224
|
1
|
|
224
|
-
)
|
|
225
|
+
),
|
|
226
|
+
context
|
|
225
227
|
);
|
|
226
228
|
} else {
|
|
227
|
-
this.detune = new AudioParam((node as DefaultSource).detune);
|
|
228
|
-
this.playbackRate = new AudioParam(
|
|
229
|
+
this.detune = new AudioParam((node as DefaultSource).detune, context);
|
|
230
|
+
this.playbackRate = new AudioParam(
|
|
231
|
+
(node as DefaultSource).playbackRate,
|
|
232
|
+
context
|
|
233
|
+
);
|
|
229
234
|
}
|
|
230
235
|
}
|
|
231
236
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import BaseAudioContext from './BaseAudioContext';
|
|
2
2
|
import { ChannelCountMode, ChannelInterpretation } from '../types';
|
|
3
|
+
import AudioParam from './AudioParam';
|
|
3
4
|
|
|
4
5
|
export default class AudioNode {
|
|
5
6
|
readonly context: BaseAudioContext;
|
|
@@ -21,12 +22,18 @@ export default class AudioNode {
|
|
|
21
22
|
this.channelInterpretation = this.node.channelInterpretation;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
|
-
public connect(destination: AudioNode): AudioNode {
|
|
25
|
+
public connect(destination: AudioNode | AudioParam): AudioNode | AudioParam {
|
|
25
26
|
if (this.context !== destination.context) {
|
|
26
|
-
throw new Error(
|
|
27
|
+
throw new Error(
|
|
28
|
+
'Source and destination are from different BaseAudioContexts'
|
|
29
|
+
);
|
|
27
30
|
}
|
|
28
31
|
|
|
29
|
-
|
|
32
|
+
if (destination instanceof AudioParam) {
|
|
33
|
+
this.node.connect(destination.param);
|
|
34
|
+
} else {
|
|
35
|
+
this.node.connect(destination.node);
|
|
36
|
+
}
|
|
30
37
|
|
|
31
38
|
return destination;
|
|
32
39
|
}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { RangeError, InvalidStateError } from '../errors';
|
|
2
|
+
import BaseAudioContext from './BaseAudioContext';
|
|
2
3
|
|
|
3
4
|
export default class AudioParam {
|
|
4
5
|
readonly defaultValue: number;
|
|
5
6
|
readonly minValue: number;
|
|
6
7
|
readonly maxValue: number;
|
|
8
|
+
readonly context: BaseAudioContext;
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
readonly param: globalThis.AudioParam;
|
|
9
11
|
|
|
10
|
-
constructor(param: globalThis.AudioParam) {
|
|
12
|
+
constructor(param: globalThis.AudioParam, context: BaseAudioContext) {
|
|
11
13
|
this.param = param;
|
|
12
14
|
this.defaultValue = param.defaultValue;
|
|
13
15
|
this.minValue = param.minValue;
|
|
14
16
|
this.maxValue = param.maxValue;
|
|
17
|
+
this.context = context;
|
|
15
18
|
}
|
|
16
19
|
|
|
17
20
|
public get value(): number {
|
|
@@ -15,10 +15,10 @@ export default class BiquadFilterNode extends AudioNode {
|
|
|
15
15
|
biquadFilter: globalThis.BiquadFilterNode
|
|
16
16
|
) {
|
|
17
17
|
super(context, biquadFilter);
|
|
18
|
-
this.frequency = new AudioParam(biquadFilter.frequency);
|
|
19
|
-
this.detune = new AudioParam(biquadFilter.detune);
|
|
20
|
-
this.Q = new AudioParam(biquadFilter.Q);
|
|
21
|
-
this.gain = new AudioParam(biquadFilter.gain);
|
|
18
|
+
this.frequency = new AudioParam(biquadFilter.frequency, context);
|
|
19
|
+
this.detune = new AudioParam(biquadFilter.detune, context);
|
|
20
|
+
this.Q = new AudioParam(biquadFilter.Q, context);
|
|
21
|
+
this.gain = new AudioParam(biquadFilter.gain, context);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
public get type(): BiquadFilterType {
|
|
@@ -12,8 +12,8 @@ export default class OscillatorNode extends AudioScheduledSourceNode {
|
|
|
12
12
|
constructor(context: BaseAudioContext, node: globalThis.OscillatorNode) {
|
|
13
13
|
super(context, node);
|
|
14
14
|
|
|
15
|
-
this.detune = new AudioParam(node.detune);
|
|
16
|
-
this.frequency = new AudioParam(node.frequency);
|
|
15
|
+
this.detune = new AudioParam(node.detune, context);
|
|
16
|
+
this.frequency = new AudioParam(node.frequency, context);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
public get type(): OscillatorType {
|