node-web-audio-api 0.14.0 → 0.16.0
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/CHANGELOG.md +13 -0
- package/LICENSE +1 -1
- package/README.md +35 -17
- package/index.cjs +1 -1
- package/index.mjs +2 -1
- package/js/AnalyserNode.js +135 -0
- package/js/AudioBufferSourceNode.js +105 -0
- package/js/AudioContext.js +60 -0
- package/js/AudioNode.mixin.js +121 -0
- package/js/AudioParam.js +132 -0
- package/js/AudioScheduledSourceNode.mixin.js +67 -0
- package/js/BaseAudioContext.mixin.js +140 -0
- package/js/BiquadFilterNode.js +75 -0
- package/js/ChannelMergerNode.js +51 -0
- package/js/ChannelSplitterNode.js +51 -0
- package/js/ConstantSourceNode.js +56 -0
- package/js/ConvolverNode.js +75 -0
- package/js/DelayNode.js +52 -0
- package/js/DynamicsCompressorNode.js +60 -0
- package/js/EventTarget.mixin.js +59 -0
- package/js/GainNode.js +52 -0
- package/js/IIRFilterNode.js +59 -0
- package/js/OfflineAudioContext.js +45 -0
- package/js/OscillatorNode.js +77 -0
- package/js/PannerNode.js +169 -0
- package/js/StereoPannerNode.js +52 -0
- package/js/WaveShaperNode.js +75 -0
- package/js/lib/errors.js +108 -0
- package/js/lib/utils.js +16 -0
- package/js/monkey-patch.js +67 -0
- package/node-web-audio-api.darwin-arm64.node +0 -0
- package/node-web-audio-api.darwin-x64.node +0 -0
- package/node-web-audio-api.linux-arm-gnueabihf.node +0 -0
- package/node-web-audio-api.linux-arm64-gnu.node +0 -0
- package/node-web-audio-api.linux-x64-gnu.node +0 -0
- package/node-web-audio-api.win32-arm64-msvc.node +0 -0
- package/node-web-audio-api.win32-x64-msvc.node +0 -0
- package/package.json +10 -6
- package/monkey-patch.js +0 -184
package/js/AudioParam.js
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// -------------------------------------------------------------------------- //
|
|
2
|
+
// -------------------------------------------------------------------------- //
|
|
3
|
+
// //
|
|
4
|
+
// //
|
|
5
|
+
// //
|
|
6
|
+
// ██╗ ██╗ █████╗ ██████╗ ███╗ ██╗██╗███╗ ██╗ ██████╗ //
|
|
7
|
+
// ██║ ██║██╔══██╗██╔══██╗████╗ ██║██║████╗ ██║██╔════╝ //
|
|
8
|
+
// ██║ █╗ ██║███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║ ███╗ //
|
|
9
|
+
// ██║███╗██║██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║ ██║ //
|
|
10
|
+
// ╚███╔███╔╝██║ ██║██║ ██║██║ ╚████║██║██║ ╚████║╚██████╔╝ //
|
|
11
|
+
// ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═══╝ ╚═════╝ //
|
|
12
|
+
// //
|
|
13
|
+
// //
|
|
14
|
+
// - This file has been generated --------------------------- //
|
|
15
|
+
// //
|
|
16
|
+
// //
|
|
17
|
+
// -------------------------------------------------------------------------- //
|
|
18
|
+
// -------------------------------------------------------------------------- //
|
|
19
|
+
|
|
20
|
+
const { throwSanitizedError } = require('./lib/errors.js');
|
|
21
|
+
|
|
22
|
+
const kNativeAudioParam = Symbol('node-web-audio-api:audio-param');
|
|
23
|
+
|
|
24
|
+
class AudioParam {
|
|
25
|
+
constructor(nativeAudioParam) {
|
|
26
|
+
this[kNativeAudioParam] = nativeAudioParam;
|
|
27
|
+
}
|
|
28
|
+
// getters
|
|
29
|
+
|
|
30
|
+
get value() {
|
|
31
|
+
return this[kNativeAudioParam].value;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
get automationRate() {
|
|
35
|
+
return this[kNativeAudioParam].automationRate;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
get defaultValue() {
|
|
39
|
+
return this[kNativeAudioParam].defaultValue;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
get minValue() {
|
|
43
|
+
return this[kNativeAudioParam].minValue;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
get maxValue() {
|
|
47
|
+
return this[kNativeAudioParam].maxValue;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// setters
|
|
51
|
+
|
|
52
|
+
set value(value) {
|
|
53
|
+
try {
|
|
54
|
+
this[kNativeAudioParam].value = value;
|
|
55
|
+
} catch (err) {
|
|
56
|
+
throwSanitizedError(err);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
set automationRate(value) {
|
|
61
|
+
try {
|
|
62
|
+
this[kNativeAudioParam].automationRate = value;
|
|
63
|
+
} catch (err) {
|
|
64
|
+
throwSanitizedError(err);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// methods
|
|
69
|
+
|
|
70
|
+
setValueAtTime(...args) {
|
|
71
|
+
try {
|
|
72
|
+
return this[kNativeAudioParam].setValueAtTime(...args);
|
|
73
|
+
} catch (err) {
|
|
74
|
+
throwSanitizedError(err);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
linearRampToValueAtTime(...args) {
|
|
79
|
+
try {
|
|
80
|
+
return this[kNativeAudioParam].linearRampToValueAtTime(...args);
|
|
81
|
+
} catch (err) {
|
|
82
|
+
throwSanitizedError(err);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
exponentialRampToValueAtTime(...args) {
|
|
87
|
+
try {
|
|
88
|
+
return this[kNativeAudioParam].exponentialRampToValueAtTime(...args);
|
|
89
|
+
} catch (err) {
|
|
90
|
+
throwSanitizedError(err);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
setTargetAtTime(...args) {
|
|
95
|
+
try {
|
|
96
|
+
return this[kNativeAudioParam].setTargetAtTime(...args);
|
|
97
|
+
} catch (err) {
|
|
98
|
+
throwSanitizedError(err);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
setValueCurveAtTime(...args) {
|
|
103
|
+
try {
|
|
104
|
+
return this[kNativeAudioParam].setValueCurveAtTime(...args);
|
|
105
|
+
} catch (err) {
|
|
106
|
+
throwSanitizedError(err);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
cancelScheduledValues(...args) {
|
|
111
|
+
try {
|
|
112
|
+
return this[kNativeAudioParam].cancelScheduledValues(...args);
|
|
113
|
+
} catch (err) {
|
|
114
|
+
throwSanitizedError(err);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
cancelAndHoldAtTime(...args) {
|
|
119
|
+
try {
|
|
120
|
+
return this[kNativeAudioParam].cancelAndHoldAtTime(...args);
|
|
121
|
+
} catch (err) {
|
|
122
|
+
throwSanitizedError(err);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
module.exports.kNativeAudioParam = kNativeAudioParam;
|
|
129
|
+
module.exports.AudioParam = AudioParam;
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// -------------------------------------------------------------------------- //
|
|
2
|
+
// -------------------------------------------------------------------------- //
|
|
3
|
+
// //
|
|
4
|
+
// //
|
|
5
|
+
// //
|
|
6
|
+
// ██╗ ██╗ █████╗ ██████╗ ███╗ ██╗██╗███╗ ██╗ ██████╗ //
|
|
7
|
+
// ██║ ██║██╔══██╗██╔══██╗████╗ ██║██║████╗ ██║██╔════╝ //
|
|
8
|
+
// ██║ █╗ ██║███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║ ███╗ //
|
|
9
|
+
// ██║███╗██║██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║ ██║ //
|
|
10
|
+
// ╚███╔███╔╝██║ ██║██║ ██║██║ ╚████║██║██║ ╚████║╚██████╔╝ //
|
|
11
|
+
// ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═══╝ ╚═════╝ //
|
|
12
|
+
// //
|
|
13
|
+
// //
|
|
14
|
+
// - This file has been generated --------------------------- //
|
|
15
|
+
// //
|
|
16
|
+
// //
|
|
17
|
+
// -------------------------------------------------------------------------- //
|
|
18
|
+
// -------------------------------------------------------------------------- //
|
|
19
|
+
|
|
20
|
+
const { throwSanitizedError } = require('./lib/errors.js');
|
|
21
|
+
|
|
22
|
+
module.exports = (superclass) => {
|
|
23
|
+
class AudioScheduledSourceNode extends superclass {
|
|
24
|
+
constructor(...args) {
|
|
25
|
+
super(...args);
|
|
26
|
+
}
|
|
27
|
+
// getters
|
|
28
|
+
|
|
29
|
+
get onended() {
|
|
30
|
+
return super.onended;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// setters
|
|
34
|
+
|
|
35
|
+
set onended(value) {
|
|
36
|
+
try {
|
|
37
|
+
super.onended = value;
|
|
38
|
+
} catch (err) {
|
|
39
|
+
throwSanitizedError(err);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// methods - start / stop
|
|
44
|
+
|
|
45
|
+
start(...args) {
|
|
46
|
+
try {
|
|
47
|
+
return super.start(...args);
|
|
48
|
+
} catch (err) {
|
|
49
|
+
throwSanitizedError(err);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
stop(...args) {
|
|
54
|
+
try {
|
|
55
|
+
return super.stop(...args);
|
|
56
|
+
} catch (err) {
|
|
57
|
+
throwSanitizedError(err);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return AudioScheduledSourceNode;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
// -------------------------------------------------------------------------- //
|
|
2
|
+
// -------------------------------------------------------------------------- //
|
|
3
|
+
// //
|
|
4
|
+
// //
|
|
5
|
+
// //
|
|
6
|
+
// ██╗ ██╗ █████╗ ██████╗ ███╗ ██╗██╗███╗ ██╗ ██████╗ //
|
|
7
|
+
// ██║ ██║██╔══██╗██╔══██╗████╗ ██║██║████╗ ██║██╔════╝ //
|
|
8
|
+
// ██║ █╗ ██║███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║ ███╗ //
|
|
9
|
+
// ██║███╗██║██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║ ██║ //
|
|
10
|
+
// ╚███╔███╔╝██║ ██║██║ ██║██║ ╚████║██║██║ ╚████║╚██████╔╝ //
|
|
11
|
+
// ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═══╝ ╚═════╝ //
|
|
12
|
+
// //
|
|
13
|
+
// //
|
|
14
|
+
// - This file has been generated --------------------------- //
|
|
15
|
+
// //
|
|
16
|
+
// //
|
|
17
|
+
// -------------------------------------------------------------------------- //
|
|
18
|
+
// -------------------------------------------------------------------------- //
|
|
19
|
+
|
|
20
|
+
const { isFunction } = require('./lib/utils.js');
|
|
21
|
+
|
|
22
|
+
module.exports = (superclass, bindings) => {
|
|
23
|
+
const {
|
|
24
|
+
AnalyserNode,
|
|
25
|
+
AudioBufferSourceNode,
|
|
26
|
+
BiquadFilterNode,
|
|
27
|
+
ChannelMergerNode,
|
|
28
|
+
ChannelSplitterNode,
|
|
29
|
+
ConstantSourceNode,
|
|
30
|
+
ConvolverNode,
|
|
31
|
+
DelayNode,
|
|
32
|
+
DynamicsCompressorNode,
|
|
33
|
+
GainNode,
|
|
34
|
+
IIRFilterNode,
|
|
35
|
+
OscillatorNode,
|
|
36
|
+
PannerNode,
|
|
37
|
+
StereoPannerNode,
|
|
38
|
+
WaveShaperNode,
|
|
39
|
+
} = bindings;
|
|
40
|
+
|
|
41
|
+
class BaseAudioContext extends superclass {
|
|
42
|
+
// This is not exactly what the spec says, but if we reject the promise
|
|
43
|
+
// when decodeErrorCallback is present the program will crash in an
|
|
44
|
+
// unexpected manner
|
|
45
|
+
// cf. https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-decodeaudiodata
|
|
46
|
+
decodeAudioData(audioData, decodeSuccessCallback, decodeErrorCallback) {
|
|
47
|
+
if (!(audioData instanceof ArrayBuffer)) {
|
|
48
|
+
throw new TypeError('Failed to execute "decodeAudioData": parameter 1 is not of type "ArrayBuffer"');
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
try {
|
|
52
|
+
const audioBuffer = super.decodeAudioData(audioData);
|
|
53
|
+
|
|
54
|
+
if (isFunction(decodeSuccessCallback)) {
|
|
55
|
+
decodeSuccessCallback(audioBuffer);
|
|
56
|
+
} else {
|
|
57
|
+
return Promise.resolve(audioBuffer);
|
|
58
|
+
}
|
|
59
|
+
} catch (err) {
|
|
60
|
+
if (isFunction(decodeErrorCallback)) {
|
|
61
|
+
decodeErrorCallback(err);
|
|
62
|
+
} else {
|
|
63
|
+
return Promise.reject(err);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// --------------------------------------------------------------------
|
|
69
|
+
// Factory Methods (use the patched AudioNodes)
|
|
70
|
+
// --------------------------------------------------------------------
|
|
71
|
+
createAnalyser() {
|
|
72
|
+
return new AnalyserNode(this);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
createBufferSource() {
|
|
76
|
+
return new AudioBufferSourceNode(this);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
createBiquadFilter() {
|
|
80
|
+
return new BiquadFilterNode(this);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
createChannelMerger(numberOfInputs) {
|
|
84
|
+
const options = { numberOfInputs };
|
|
85
|
+
return new ChannelMergerNode(this, options);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
createChannelSplitter(numberOfOutputs) {
|
|
89
|
+
const options = { numberOfOutputs };
|
|
90
|
+
return new ChannelSplitterNode(this, options);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
createConstantSource() {
|
|
94
|
+
return new ConstantSourceNode(this);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
createConvolver() {
|
|
98
|
+
return new ConvolverNode(this);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
createDelay(maxDelayTime) {
|
|
102
|
+
const options = { maxDelayTime };
|
|
103
|
+
return new DelayNode(this, options);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
createDynamicsCompressor() {
|
|
107
|
+
return new DynamicsCompressorNode(this);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
createGain() {
|
|
111
|
+
return new GainNode(this);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
createIIRFilter(feedforward, feedback) {
|
|
115
|
+
const options = { feedforward, feedback };
|
|
116
|
+
return new IIRFilterNode(this, options);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
createOscillator() {
|
|
120
|
+
return new OscillatorNode(this);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
createPanner() {
|
|
124
|
+
return new PannerNode(this);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
createStereoPanner() {
|
|
128
|
+
return new StereoPannerNode(this);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
createWaveShaper() {
|
|
132
|
+
return new WaveShaperNode(this);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return BaseAudioContext;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// -------------------------------------------------------------------------- //
|
|
2
|
+
// -------------------------------------------------------------------------- //
|
|
3
|
+
// //
|
|
4
|
+
// //
|
|
5
|
+
// //
|
|
6
|
+
// ██╗ ██╗ █████╗ ██████╗ ███╗ ██╗██╗███╗ ██╗ ██████╗ //
|
|
7
|
+
// ██║ ██║██╔══██╗██╔══██╗████╗ ██║██║████╗ ██║██╔════╝ //
|
|
8
|
+
// ██║ █╗ ██║███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║ ███╗ //
|
|
9
|
+
// ██║███╗██║██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║ ██║ //
|
|
10
|
+
// ╚███╔███╔╝██║ ██║██║ ██║██║ ╚████║██║██║ ╚████║╚██████╔╝ //
|
|
11
|
+
// ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═══╝ ╚═════╝ //
|
|
12
|
+
// //
|
|
13
|
+
// //
|
|
14
|
+
// - This file has been generated --------------------------- //
|
|
15
|
+
// //
|
|
16
|
+
// //
|
|
17
|
+
// -------------------------------------------------------------------------- //
|
|
18
|
+
// -------------------------------------------------------------------------- //
|
|
19
|
+
|
|
20
|
+
// eslint-disable-next-line no-unused-vars
|
|
21
|
+
const { throwSanitizedError } = require('./lib/errors.js');
|
|
22
|
+
// eslint-disable-next-line no-unused-vars
|
|
23
|
+
const { AudioParam } = require('./AudioParam.js');
|
|
24
|
+
const EventTargetMixin = require('./EventTarget.mixin.js');
|
|
25
|
+
const AudioNodeMixin = require('./AudioNode.mixin.js');
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
module.exports = (NativeBiquadFilterNode) => {
|
|
29
|
+
|
|
30
|
+
const EventTarget = EventTargetMixin(NativeBiquadFilterNode);
|
|
31
|
+
const AudioNode = AudioNodeMixin(EventTarget);
|
|
32
|
+
|
|
33
|
+
class BiquadFilterNode extends AudioNode {
|
|
34
|
+
constructor(context, options) {
|
|
35
|
+
super(context, options);
|
|
36
|
+
|
|
37
|
+
this.frequency = new AudioParam(this.frequency);
|
|
38
|
+
this.detune = new AudioParam(this.detune);
|
|
39
|
+
this.Q = new AudioParam(this.Q);
|
|
40
|
+
this.gain = new AudioParam(this.gain);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// getters
|
|
44
|
+
|
|
45
|
+
get type() {
|
|
46
|
+
return super.type;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// setters
|
|
50
|
+
|
|
51
|
+
set type(value) {
|
|
52
|
+
try {
|
|
53
|
+
super.type = value;
|
|
54
|
+
} catch (err) {
|
|
55
|
+
throwSanitizedError(err);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// methods
|
|
60
|
+
|
|
61
|
+
getFrequencyResponse(...args) {
|
|
62
|
+
try {
|
|
63
|
+
return super.getFrequencyResponse(...args);
|
|
64
|
+
} catch (err) {
|
|
65
|
+
throwSanitizedError(err);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return BiquadFilterNode;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// -------------------------------------------------------------------------- //
|
|
2
|
+
// -------------------------------------------------------------------------- //
|
|
3
|
+
// //
|
|
4
|
+
// //
|
|
5
|
+
// //
|
|
6
|
+
// ██╗ ██╗ █████╗ ██████╗ ███╗ ██╗██╗███╗ ██╗ ██████╗ //
|
|
7
|
+
// ██║ ██║██╔══██╗██╔══██╗████╗ ██║██║████╗ ██║██╔════╝ //
|
|
8
|
+
// ██║ █╗ ██║███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║ ███╗ //
|
|
9
|
+
// ██║███╗██║██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║ ██║ //
|
|
10
|
+
// ╚███╔███╔╝██║ ██║██║ ██║██║ ╚████║██║██║ ╚████║╚██████╔╝ //
|
|
11
|
+
// ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═══╝ ╚═════╝ //
|
|
12
|
+
// //
|
|
13
|
+
// //
|
|
14
|
+
// - This file has been generated --------------------------- //
|
|
15
|
+
// //
|
|
16
|
+
// //
|
|
17
|
+
// -------------------------------------------------------------------------- //
|
|
18
|
+
// -------------------------------------------------------------------------- //
|
|
19
|
+
|
|
20
|
+
// eslint-disable-next-line no-unused-vars
|
|
21
|
+
const { throwSanitizedError } = require('./lib/errors.js');
|
|
22
|
+
// eslint-disable-next-line no-unused-vars
|
|
23
|
+
const { AudioParam } = require('./AudioParam.js');
|
|
24
|
+
const EventTargetMixin = require('./EventTarget.mixin.js');
|
|
25
|
+
const AudioNodeMixin = require('./AudioNode.mixin.js');
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
module.exports = (NativeChannelMergerNode) => {
|
|
29
|
+
|
|
30
|
+
const EventTarget = EventTargetMixin(NativeChannelMergerNode);
|
|
31
|
+
const AudioNode = AudioNodeMixin(EventTarget);
|
|
32
|
+
|
|
33
|
+
class ChannelMergerNode extends AudioNode {
|
|
34
|
+
constructor(context, options) {
|
|
35
|
+
super(context, options);
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// getters
|
|
40
|
+
|
|
41
|
+
// setters
|
|
42
|
+
|
|
43
|
+
// methods
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return ChannelMergerNode;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// -------------------------------------------------------------------------- //
|
|
2
|
+
// -------------------------------------------------------------------------- //
|
|
3
|
+
// //
|
|
4
|
+
// //
|
|
5
|
+
// //
|
|
6
|
+
// ██╗ ██╗ █████╗ ██████╗ ███╗ ██╗██╗███╗ ██╗ ██████╗ //
|
|
7
|
+
// ██║ ██║██╔══██╗██╔══██╗████╗ ██║██║████╗ ██║██╔════╝ //
|
|
8
|
+
// ██║ █╗ ██║███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║ ███╗ //
|
|
9
|
+
// ██║███╗██║██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║ ██║ //
|
|
10
|
+
// ╚███╔███╔╝██║ ██║██║ ██║██║ ╚████║██║██║ ╚████║╚██████╔╝ //
|
|
11
|
+
// ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═══╝ ╚═════╝ //
|
|
12
|
+
// //
|
|
13
|
+
// //
|
|
14
|
+
// - This file has been generated --------------------------- //
|
|
15
|
+
// //
|
|
16
|
+
// //
|
|
17
|
+
// -------------------------------------------------------------------------- //
|
|
18
|
+
// -------------------------------------------------------------------------- //
|
|
19
|
+
|
|
20
|
+
// eslint-disable-next-line no-unused-vars
|
|
21
|
+
const { throwSanitizedError } = require('./lib/errors.js');
|
|
22
|
+
// eslint-disable-next-line no-unused-vars
|
|
23
|
+
const { AudioParam } = require('./AudioParam.js');
|
|
24
|
+
const EventTargetMixin = require('./EventTarget.mixin.js');
|
|
25
|
+
const AudioNodeMixin = require('./AudioNode.mixin.js');
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
module.exports = (NativeChannelSplitterNode) => {
|
|
29
|
+
|
|
30
|
+
const EventTarget = EventTargetMixin(NativeChannelSplitterNode);
|
|
31
|
+
const AudioNode = AudioNodeMixin(EventTarget);
|
|
32
|
+
|
|
33
|
+
class ChannelSplitterNode extends AudioNode {
|
|
34
|
+
constructor(context, options) {
|
|
35
|
+
super(context, options);
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// getters
|
|
40
|
+
|
|
41
|
+
// setters
|
|
42
|
+
|
|
43
|
+
// methods
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return ChannelSplitterNode;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// -------------------------------------------------------------------------- //
|
|
2
|
+
// -------------------------------------------------------------------------- //
|
|
3
|
+
// //
|
|
4
|
+
// //
|
|
5
|
+
// //
|
|
6
|
+
// ██╗ ██╗ █████╗ ██████╗ ███╗ ██╗██╗███╗ ██╗ ██████╗ //
|
|
7
|
+
// ██║ ██║██╔══██╗██╔══██╗████╗ ██║██║████╗ ██║██╔════╝ //
|
|
8
|
+
// ██║ █╗ ██║███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║ ███╗ //
|
|
9
|
+
// ██║███╗██║██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║ ██║ //
|
|
10
|
+
// ╚███╔███╔╝██║ ██║██║ ██║██║ ╚████║██║██║ ╚████║╚██████╔╝ //
|
|
11
|
+
// ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═══╝ ╚═════╝ //
|
|
12
|
+
// //
|
|
13
|
+
// //
|
|
14
|
+
// - This file has been generated --------------------------- //
|
|
15
|
+
// //
|
|
16
|
+
// //
|
|
17
|
+
// -------------------------------------------------------------------------- //
|
|
18
|
+
// -------------------------------------------------------------------------- //
|
|
19
|
+
|
|
20
|
+
// eslint-disable-next-line no-unused-vars
|
|
21
|
+
const { throwSanitizedError } = require('./lib/errors.js');
|
|
22
|
+
// eslint-disable-next-line no-unused-vars
|
|
23
|
+
const { AudioParam } = require('./AudioParam.js');
|
|
24
|
+
const EventTargetMixin = require('./EventTarget.mixin.js');
|
|
25
|
+
const AudioNodeMixin = require('./AudioNode.mixin.js');
|
|
26
|
+
const AudioScheduledSourceNodeMixin = require('./AudioScheduledSourceNode.mixin.js');
|
|
27
|
+
|
|
28
|
+
module.exports = (NativeConstantSourceNode) => {
|
|
29
|
+
|
|
30
|
+
const EventTarget = EventTargetMixin(NativeConstantSourceNode, ['ended']);
|
|
31
|
+
const AudioNode = AudioNodeMixin(EventTarget);
|
|
32
|
+
const AudioScheduledSourceNode = AudioScheduledSourceNodeMixin(AudioNode);
|
|
33
|
+
|
|
34
|
+
class ConstantSourceNode extends AudioScheduledSourceNode {
|
|
35
|
+
constructor(context, options) {
|
|
36
|
+
super(context, options);
|
|
37
|
+
// EventTargetMixin has been called so EventTargetMixin[kDispatchEvent] is
|
|
38
|
+
// bound to this, then we can safely finalize event target initialization
|
|
39
|
+
super.__initEventTarget__();
|
|
40
|
+
|
|
41
|
+
this.offset = new AudioParam(this.offset);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// getters
|
|
45
|
+
|
|
46
|
+
// setters
|
|
47
|
+
|
|
48
|
+
// methods
|
|
49
|
+
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return ConstantSourceNode;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// -------------------------------------------------------------------------- //
|
|
2
|
+
// -------------------------------------------------------------------------- //
|
|
3
|
+
// //
|
|
4
|
+
// //
|
|
5
|
+
// //
|
|
6
|
+
// ██╗ ██╗ █████╗ ██████╗ ███╗ ██╗██╗███╗ ██╗ ██████╗ //
|
|
7
|
+
// ██║ ██║██╔══██╗██╔══██╗████╗ ██║██║████╗ ██║██╔════╝ //
|
|
8
|
+
// ██║ █╗ ██║███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║ ███╗ //
|
|
9
|
+
// ██║███╗██║██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║ ██║ //
|
|
10
|
+
// ╚███╔███╔╝██║ ██║██║ ██║██║ ╚████║██║██║ ╚████║╚██████╔╝ //
|
|
11
|
+
// ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝╚═╝ ╚═══╝ ╚═════╝ //
|
|
12
|
+
// //
|
|
13
|
+
// //
|
|
14
|
+
// - This file has been generated --------------------------- //
|
|
15
|
+
// //
|
|
16
|
+
// //
|
|
17
|
+
// -------------------------------------------------------------------------- //
|
|
18
|
+
// -------------------------------------------------------------------------- //
|
|
19
|
+
|
|
20
|
+
// eslint-disable-next-line no-unused-vars
|
|
21
|
+
const { throwSanitizedError } = require('./lib/errors.js');
|
|
22
|
+
// eslint-disable-next-line no-unused-vars
|
|
23
|
+
const { AudioParam } = require('./AudioParam.js');
|
|
24
|
+
const EventTargetMixin = require('./EventTarget.mixin.js');
|
|
25
|
+
const AudioNodeMixin = require('./AudioNode.mixin.js');
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
module.exports = (NativeConvolverNode) => {
|
|
29
|
+
|
|
30
|
+
const EventTarget = EventTargetMixin(NativeConvolverNode);
|
|
31
|
+
const AudioNode = AudioNodeMixin(EventTarget);
|
|
32
|
+
|
|
33
|
+
class ConvolverNode extends AudioNode {
|
|
34
|
+
constructor(context, options) {
|
|
35
|
+
super(context, options);
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// getters
|
|
40
|
+
|
|
41
|
+
get buffer() {
|
|
42
|
+
return super.buffer;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
get normalize() {
|
|
46
|
+
return super.normalize;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// setters
|
|
50
|
+
|
|
51
|
+
set buffer(value) {
|
|
52
|
+
try {
|
|
53
|
+
super.buffer = value;
|
|
54
|
+
} catch (err) {
|
|
55
|
+
throwSanitizedError(err);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
set normalize(value) {
|
|
60
|
+
try {
|
|
61
|
+
super.normalize = value;
|
|
62
|
+
} catch (err) {
|
|
63
|
+
throwSanitizedError(err);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// methods
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return ConvolverNode;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|