@fluex/fluexgl-dsp 0.4.7 → 0.4.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 +7 -7
- package/lib/dist/console-codes.d.ts +2 -1
- package/lib/dist/console-codes.d.ts.map +1 -1
- package/lib/dist/console-codes.js +1 -0
- package/lib/dist/core/classes/AudioClip.d.ts +26 -17
- package/lib/dist/core/classes/AudioClip.d.ts.map +1 -1
- package/lib/dist/core/classes/AudioClip.js +124 -51
- package/lib/dist/core/classes/AudioClipPlayer.d.ts +8 -8
- package/lib/dist/core/classes/AudioClipPlayer.d.ts.map +1 -1
- package/lib/dist/core/classes/AudioClipPlayer.js +22 -24
- package/lib/dist/core/classes/AudioDevice.d.ts +46 -5
- package/lib/dist/core/classes/AudioDevice.d.ts.map +1 -1
- package/lib/dist/core/classes/AudioDevice.js +47 -6
- package/lib/dist/core/classes/Channel.d.ts +20 -20
- package/lib/dist/core/classes/Channel.d.ts.map +1 -1
- package/lib/dist/core/classes/Channel.js +42 -42
- package/lib/dist/core/classes/DpsPipeline.d.ts +6 -6
- package/lib/dist/core/classes/DpsPipeline.d.ts.map +1 -1
- package/lib/dist/core/classes/DpsPipeline.js +18 -18
- package/lib/dist/core/classes/Effector.d.ts +5 -5
- package/lib/dist/core/classes/Effector.d.ts.map +1 -1
- package/lib/dist/core/classes/Effector.js +8 -8
- package/lib/dist/core/classes/Master.d.ts +6 -6
- package/lib/dist/core/classes/Master.d.ts.map +1 -1
- package/lib/dist/core/classes/Master.js +18 -18
- package/lib/dist/effects/classes/Analyser.d.ts +6 -6
- package/lib/dist/effects/classes/Analyser.d.ts.map +1 -1
- package/lib/dist/effects/classes/Analyser.js +7 -7
- package/lib/dist/effects/classes/Chorus.d.ts +7 -7
- package/lib/dist/effects/classes/Chorus.d.ts.map +1 -1
- package/lib/dist/effects/classes/Chorus.js +25 -25
- package/lib/dist/effects/classes/Distortion.d.ts +1 -1
- package/lib/dist/effects/classes/Distortion.d.ts.map +1 -1
- package/lib/dist/effects/classes/Distortion.js +1 -1
- package/lib/dist/effects/classes/Reverb.d.ts +32 -0
- package/lib/dist/effects/classes/Reverb.d.ts.map +1 -0
- package/lib/dist/effects/classes/Reverb.js +61 -0
- package/lib/dist/effects/classes/clips/HardClip.d.ts +5 -5
- package/lib/dist/effects/classes/clips/HardClip.d.ts.map +1 -1
- package/lib/dist/effects/classes/clips/HardClip.js +14 -14
- package/lib/dist/effects/classes/clips/SoftClip.d.ts +4 -4
- package/lib/dist/effects/classes/clips/SoftClip.d.ts.map +1 -1
- package/lib/dist/effects/classes/clips/SoftClip.js +13 -13
- package/lib/dist/effects/classes/filters/HighPassFilter.d.ts +5 -5
- package/lib/dist/effects/classes/filters/HighPassFilter.d.ts.map +1 -1
- package/lib/dist/effects/classes/filters/HighPassFilter.js +16 -16
- package/lib/dist/effects/classes/filters/LowPassFilter.d.ts +5 -5
- package/lib/dist/effects/classes/filters/LowPassFilter.d.ts.map +1 -1
- package/lib/dist/effects/classes/filters/LowPassFilter.js +17 -17
- package/lib/dist/effects/classes/filters/NotchFilter.d.ts +5 -5
- package/lib/dist/effects/classes/filters/NotchFilter.d.ts.map +1 -1
- package/lib/dist/effects/classes/filters/NotchFilter.js +16 -16
- package/lib/dist/effects/exports.d.ts +1 -5
- package/lib/dist/effects/exports.d.ts.map +1 -1
- package/lib/dist/effects/exports.js +1 -5
- package/lib/dist/index.d.ts +2 -2
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +2 -2
- package/lib/dist/typings.d.ts +11 -0
- package/lib/dist/typings.d.ts.map +1 -1
- package/lib/dist/utilities/debugger.d.ts +4 -4
- package/lib/dist/utilities/debugger.js +8 -8
- package/lib/dist/utilities/helpers.d.ts +13 -13
- package/lib/dist/utilities/helpers.d.ts.map +1 -1
- package/lib/dist/utilities/helpers.js +45 -59
- package/lib/dist/utilities/web-assembly.js +1 -1
- package/lib/src/console-codes.ts +2 -1
- package/lib/src/core/classes/AudioClip.ts +154 -60
- package/lib/src/core/classes/AudioClipPlayer.ts +22 -24
- package/lib/src/core/classes/AudioDevice.ts +49 -6
- package/lib/src/core/classes/Channel.ts +42 -42
- package/lib/src/core/classes/DpsPipeline.ts +19 -19
- package/lib/src/core/classes/Effector.ts +9 -9
- package/lib/src/core/classes/Master.ts +18 -18
- package/lib/src/effects/classes/Analyser.ts +7 -7
- package/lib/src/effects/classes/Chorus.ts +25 -25
- package/lib/src/effects/classes/Distortion.ts +1 -1
- package/lib/src/effects/classes/Reverb.ts +81 -0
- package/lib/src/effects/classes/clips/HardClip.ts +14 -14
- package/lib/src/effects/classes/clips/SoftClip.ts +13 -13
- package/lib/src/effects/classes/filters/HighPassFilter.ts +16 -16
- package/lib/src/effects/classes/filters/LowPassFilter.ts +17 -17
- package/lib/src/effects/classes/filters/NotchFilter.ts +16 -16
- package/lib/src/effects/exports.ts +1 -6
- package/lib/src/index.ts +11 -15
- package/lib/src/typings.ts +13 -0
- package/lib/src/utilities/debugger.ts +4 -4
- package/lib/src/utilities/helpers.ts +47 -60
- package/lib/src/utilities/web-assembly.ts +1 -1
- package/package.json +3 -2
- package/lib/src/effects/classes/reverbs/ChamberReverb.ts +0 -1
- package/lib/src/effects/classes/reverbs/ConvolverReverb.ts +0 -1
- package/lib/src/effects/classes/reverbs/GenericReverb.ts +0 -1
- package/lib/src/effects/classes/reverbs/HallReverb.ts +0 -1
- package/lib/src/effects/classes/reverbs/RoomReverb.ts +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { coerceFiniteNumber, createAudioWorkletNode, sendMessageToWorklet } from "../../../utilities/helpers";
|
|
2
2
|
import { Effector } from "../../../core/classes/Effector";
|
|
3
3
|
import { AudioWorkletProcessorNames, HighPassFilterMessageCommandId, StrictMode } from "../../../typings";
|
|
4
4
|
import { DEFAULT_SAMPLE_RATE } from "../../../utilities/constants";
|
|
@@ -12,18 +12,18 @@ export class HighPassFilter extends Effector {
|
|
|
12
12
|
contextSampleRate = DEFAULT_SAMPLE_RATE;
|
|
13
13
|
constructor({ cutoff, q, strictMode } = {}) {
|
|
14
14
|
super();
|
|
15
|
-
this.cutoff =
|
|
16
|
-
this.q =
|
|
17
|
-
const mode =
|
|
15
|
+
this.cutoff = coerceFiniteNumber(cutoff, this.cutoff);
|
|
16
|
+
this.q = coerceFiniteNumber(q, this.q);
|
|
17
|
+
const mode = coerceFiniteNumber(strictMode, this.strictMode);
|
|
18
18
|
this.strictMode = mode === StrictMode.Enabled ? StrictMode.Enabled : StrictMode.Disabled;
|
|
19
19
|
this.audioWorkletNode && this.registerMessageEventListener(this.audioWorkletNode);
|
|
20
20
|
}
|
|
21
|
-
async
|
|
21
|
+
async initializeOnAttachment(context) {
|
|
22
22
|
this.context = context;
|
|
23
23
|
this.contextSampleRate = context.sampleRate;
|
|
24
|
-
this.audioWorkletNode =
|
|
24
|
+
this.audioWorkletNode = createAudioWorkletNode(context, AudioWorkletProcessorNames.HighPassFilter, this.returnOptionsAsObject());
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
returnOptionsAsObject() {
|
|
27
27
|
return {
|
|
28
28
|
cutoff: this.cutoff,
|
|
29
29
|
q: this.q,
|
|
@@ -31,29 +31,29 @@ export class HighPassFilter extends Effector {
|
|
|
31
31
|
maxFrequency: this.maxFrequency
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
setCutoff(cutoff = 1000) {
|
|
35
35
|
if (!this.context)
|
|
36
36
|
return false;
|
|
37
|
-
cutoff =
|
|
37
|
+
cutoff = coerceFiniteNumber(cutoff, this.cutoff);
|
|
38
38
|
cutoff = Math.min(this.maxFrequency, cutoff);
|
|
39
39
|
if (cutoff >= this.context.sampleRate)
|
|
40
40
|
cutoff = this.context.sampleRate;
|
|
41
41
|
this.cutoff = cutoff;
|
|
42
|
-
return
|
|
42
|
+
return sendMessageToWorklet(this.audioWorkletNode, HighPassFilterMessageCommandId.SetCutoff, cutoff);
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
maxFrequency =
|
|
44
|
+
setMaxFrequency(maxFrequency = this.maxFrequency) {
|
|
45
|
+
maxFrequency = coerceFiniteNumber(maxFrequency, this.maxFrequency);
|
|
46
46
|
if (maxFrequency > (this.contextSampleRate * 0.5))
|
|
47
47
|
throw new Error("Could not set the max frequency, because the value is over the sample rate.");
|
|
48
48
|
this.maxFrequency = maxFrequency;
|
|
49
|
-
return
|
|
49
|
+
return sendMessageToWorklet(this.audioWorkletNode, HighPassFilterMessageCommandId.SetMaxFrequency, maxFrequency);
|
|
50
50
|
}
|
|
51
|
-
|
|
52
|
-
q =
|
|
51
|
+
setQ(q = 0.7) {
|
|
52
|
+
q = coerceFiniteNumber(q, this.q);
|
|
53
53
|
q = Math.max(0.0001, q);
|
|
54
54
|
if (q > 4)
|
|
55
55
|
q = 4;
|
|
56
56
|
this.q = q;
|
|
57
|
-
return
|
|
57
|
+
return sendMessageToWorklet(this.audioWorkletNode, HighPassFilterMessageCommandId.SetQ, q);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -8,10 +8,10 @@ export declare class LowPassFilter extends Effector {
|
|
|
8
8
|
minFrequency: number;
|
|
9
9
|
strictMode: StrictMode;
|
|
10
10
|
constructor({ cutoff, minFrequency, q, strictMode }: Partial<LowPassFilterOptions>);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
initializeOnAttachment(context: AudioContext): Promise<void>;
|
|
12
|
+
returnOptionsAsObject(): LowPassFilterOptions;
|
|
13
|
+
setCutoff(cutoff?: number): boolean;
|
|
14
|
+
setMinFrequency(minFrequency?: number): boolean;
|
|
15
|
+
setQ(q?: number): boolean;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=LowPassFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LowPassFilter.d.ts","sourceRoot":"","sources":["../../../../src/effects/classes/filters/LowPassFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAI1D,OAAO,EAAE,oBAAoB,EAA6D,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE/H,qBAAa,aAAc,SAAQ,QAAQ;IAEhC,IAAI,EAAE,MAAM,CAAmB;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAmB;IAEvC,MAAM,EAAE,MAAM,CAAQ;IACtB,CAAC,EAAE,MAAM,CAAO;IAChB,YAAY,EAAE,MAAM,CAAM;IAC1B,UAAU,EAAE,UAAU,CAAuB;
|
|
1
|
+
{"version":3,"file":"LowPassFilter.d.ts","sourceRoot":"","sources":["../../../../src/effects/classes/filters/LowPassFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAI1D,OAAO,EAAE,oBAAoB,EAA6D,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE/H,qBAAa,aAAc,SAAQ,QAAQ;IAEhC,IAAI,EAAE,MAAM,CAAmB;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAmB;IAEvC,MAAM,EAAE,MAAM,CAAQ;IACtB,CAAC,EAAE,MAAM,CAAO;IAChB,YAAY,EAAE,MAAM,CAAM;IAC1B,UAAU,EAAE,UAAU,CAAuB;IAEpD,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,oBAAoB,CAAC,EASjF;IAEY,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE;IAEM,qBAAqB,IAAI,oBAAoB,CAOnD;IAEM,SAAS,CAAC,MAAM,GAAE,MAAa,GAAG,OAAO,CAY/C;IAEM,eAAe,CAAC,YAAY,GAAE,MAAW,GAAG,OAAO,CASzD;IAEM,IAAI,CAAC,CAAC,GAAE,MAAY,GAAG,OAAO,CAUpC;CACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Effector } from "../../../core/classes/Effector";
|
|
2
|
-
import {
|
|
2
|
+
import { coerceFiniteNumber, sendMessageToWorklet, createAudioWorkletNode } from "../../../utilities/helpers";
|
|
3
3
|
import { LowPassFilterMessageCommandId, AudioWorkletProcessorNames, StrictMode } from "../../../typings";
|
|
4
4
|
export class LowPassFilter extends Effector {
|
|
5
5
|
name = "LowPassFilter";
|
|
@@ -10,18 +10,18 @@ export class LowPassFilter extends Effector {
|
|
|
10
10
|
strictMode = StrictMode.Disabled;
|
|
11
11
|
constructor({ cutoff, minFrequency, q, strictMode }) {
|
|
12
12
|
super();
|
|
13
|
-
this.cutoff =
|
|
14
|
-
this.minFrequency =
|
|
15
|
-
this.q =
|
|
16
|
-
const mode =
|
|
13
|
+
this.cutoff = coerceFiniteNumber(cutoff, this.cutoff);
|
|
14
|
+
this.minFrequency = coerceFiniteNumber(minFrequency, this.minFrequency);
|
|
15
|
+
this.q = coerceFiniteNumber(q, this.q);
|
|
16
|
+
const mode = coerceFiniteNumber(strictMode, this.strictMode);
|
|
17
17
|
this.strictMode = mode === StrictMode.Enabled ? StrictMode.Enabled : StrictMode.Disabled;
|
|
18
18
|
}
|
|
19
|
-
async
|
|
19
|
+
async initializeOnAttachment(context) {
|
|
20
20
|
this.context = context;
|
|
21
|
-
this.audioWorkletNode =
|
|
21
|
+
this.audioWorkletNode = createAudioWorkletNode(context, AudioWorkletProcessorNames.LowPassFilter, this.returnOptionsAsObject());
|
|
22
22
|
this.audioWorkletNode && this.registerMessageEventListener(this.audioWorkletNode);
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
returnOptionsAsObject() {
|
|
25
25
|
return {
|
|
26
26
|
cutoff: this.cutoff,
|
|
27
27
|
minFrequency: this.minFrequency,
|
|
@@ -29,29 +29,29 @@ export class LowPassFilter extends Effector {
|
|
|
29
29
|
strictMode: this.strictMode
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
setCutoff(cutoff = 1000) {
|
|
33
33
|
if (!this.context)
|
|
34
34
|
return false;
|
|
35
|
-
cutoff =
|
|
35
|
+
cutoff = coerceFiniteNumber(cutoff, this.cutoff);
|
|
36
36
|
cutoff = Math.max(this.minFrequency, cutoff);
|
|
37
37
|
if (cutoff >= this.context.sampleRate)
|
|
38
38
|
cutoff = this.context.sampleRate;
|
|
39
39
|
this.cutoff = cutoff;
|
|
40
|
-
return
|
|
40
|
+
return sendMessageToWorklet(this.audioWorkletNode, LowPassFilterMessageCommandId.SetCutoff, cutoff);
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
minFrequency =
|
|
42
|
+
setMinFrequency(minFrequency = 10) {
|
|
43
|
+
minFrequency = coerceFiniteNumber(minFrequency, this.minFrequency);
|
|
44
44
|
if (minFrequency < 10)
|
|
45
45
|
minFrequency = 10;
|
|
46
46
|
this.minFrequency = minFrequency;
|
|
47
|
-
return
|
|
47
|
+
return sendMessageToWorklet(this.audioWorkletNode, LowPassFilterMessageCommandId.SetMinFrequency, minFrequency);
|
|
48
48
|
}
|
|
49
|
-
|
|
50
|
-
q =
|
|
49
|
+
setQ(q = 0.7) {
|
|
50
|
+
q = coerceFiniteNumber(q, this.q);
|
|
51
51
|
q = Math.max(0.0001, q);
|
|
52
52
|
if (q > 4)
|
|
53
53
|
q = 4;
|
|
54
54
|
this.q = q;
|
|
55
|
-
return
|
|
55
|
+
return sendMessageToWorklet(this.audioWorkletNode, LowPassFilterMessageCommandId.SetQ, q);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -9,10 +9,10 @@ export default class NotchFilter extends Effector {
|
|
|
9
9
|
private contextSampleRate;
|
|
10
10
|
private strictMode;
|
|
11
11
|
constructor({ cutoff, q, minFrequency, strictMode }?: Partial<NotchFilterOptions>);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
initializeOnAttachment(context: AudioContext): Promise<void>;
|
|
13
|
+
returnOptionsAsObject(): NotchFilterOptions;
|
|
14
|
+
setCutoff(cutoff?: number): boolean;
|
|
15
|
+
setMinFrequency(minFrequency?: number): boolean;
|
|
16
|
+
setQ(q?: number): boolean;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=NotchFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotchFilter.d.ts","sourceRoot":"","sources":["../../../../src/effects/classes/filters/NotchFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,kBAAkB,EAAc,MAAM,kBAAkB,CAAC;AAC3H,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAI1D,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAEtC,IAAI,EAAE,MAAM,CAAiB;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAiB;IAErC,MAAM,EAAE,MAAM,CAAQ;IACtB,YAAY,EAAE,MAAM,CAAM;IAC1B,CAAC,EAAE,MAAM,CAAO;IAEvB,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,UAAU,CAAmC;
|
|
1
|
+
{"version":3,"file":"NotchFilter.d.ts","sourceRoot":"","sources":["../../../../src/effects/classes/filters/NotchFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,kBAAkB,EAAc,MAAM,kBAAkB,CAAC;AAC3H,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAI1D,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAEtC,IAAI,EAAE,MAAM,CAAiB;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAiB;IAErC,MAAM,EAAE,MAAM,CAAQ;IACtB,YAAY,EAAE,MAAM,CAAM;IAC1B,CAAC,EAAE,MAAM,CAAO;IAEvB,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,UAAU,CAAmC;IAErD,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,GAAE,OAAO,CAAC,kBAAkB,CAAM,EASpF;IAEY,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE;IAEM,qBAAqB,IAAI,kBAAkB,CAOjD;IAEM,SAAS,CAAC,MAAM,GAAE,MAAa,GAAG,OAAO,CAY/C;IAEM,eAAe,CAAC,YAAY,GAAE,MAA0B,WAS9D;IAEM,IAAI,CAAC,CAAC,GAAE,MAAY,GAAG,OAAO,CAUpC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AudioWorkletProcessorNames, NotchFilterMessageCommandId, StrictMode } from "../../../typings";
|
|
2
2
|
import { Effector } from "../../../core/classes/Effector";
|
|
3
3
|
import { DEFAULT_SAMPLE_RATE } from "../../../utilities/constants";
|
|
4
|
-
import {
|
|
4
|
+
import { coerceFiniteNumber, createAudioWorkletNode, sendMessageToWorklet } from "../../../utilities/helpers";
|
|
5
5
|
export default class NotchFilter extends Effector {
|
|
6
6
|
name = "NotchFilter";
|
|
7
7
|
label = "NotchFilter";
|
|
@@ -12,18 +12,18 @@ export default class NotchFilter extends Effector {
|
|
|
12
12
|
strictMode = StrictMode.Disabled;
|
|
13
13
|
constructor({ cutoff, q, minFrequency, strictMode } = {}) {
|
|
14
14
|
super();
|
|
15
|
-
this.cutoff =
|
|
16
|
-
this.q =
|
|
17
|
-
const mode =
|
|
15
|
+
this.cutoff = coerceFiniteNumber(cutoff, this.cutoff);
|
|
16
|
+
this.q = coerceFiniteNumber(q, this.q);
|
|
17
|
+
const mode = coerceFiniteNumber(strictMode, this.strictMode);
|
|
18
18
|
this.strictMode = mode === StrictMode.Enabled ? StrictMode.Enabled : StrictMode.Disabled;
|
|
19
19
|
this.audioWorkletNode && this.registerMessageEventListener(this.audioWorkletNode);
|
|
20
20
|
}
|
|
21
|
-
async
|
|
21
|
+
async initializeOnAttachment(context) {
|
|
22
22
|
this.context = context;
|
|
23
23
|
this.contextSampleRate = context.sampleRate;
|
|
24
|
-
this.audioWorkletNode =
|
|
24
|
+
this.audioWorkletNode = createAudioWorkletNode(context, AudioWorkletProcessorNames.NotchFilter, this.returnOptionsAsObject());
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
returnOptionsAsObject() {
|
|
27
27
|
return {
|
|
28
28
|
cutoff: this.cutoff,
|
|
29
29
|
q: this.q,
|
|
@@ -31,29 +31,29 @@ export default class NotchFilter extends Effector {
|
|
|
31
31
|
minFrequency: this.minFrequency
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
setCutoff(cutoff = 1000) {
|
|
35
35
|
if (!this.context)
|
|
36
36
|
return false;
|
|
37
|
-
cutoff =
|
|
37
|
+
cutoff = coerceFiniteNumber(cutoff, this.cutoff);
|
|
38
38
|
cutoff = Math.min(this.minFrequency, cutoff);
|
|
39
39
|
if (cutoff >= this.context.sampleRate)
|
|
40
40
|
cutoff = this.context.sampleRate;
|
|
41
41
|
this.cutoff = cutoff;
|
|
42
|
-
return
|
|
42
|
+
return sendMessageToWorklet(this.audioWorkletNode, NotchFilterMessageCommandId.SetCutoff, cutoff);
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
minFrequency =
|
|
44
|
+
setMinFrequency(minFrequency = this.minFrequency) {
|
|
45
|
+
minFrequency = coerceFiniteNumber(minFrequency, this.minFrequency);
|
|
46
46
|
if (minFrequency < 10)
|
|
47
47
|
minFrequency = 10;
|
|
48
48
|
this.minFrequency = minFrequency;
|
|
49
|
-
return
|
|
49
|
+
return sendMessageToWorklet(this.audioWorkletNode, NotchFilterMessageCommandId.SetMinFrequency, minFrequency);
|
|
50
50
|
}
|
|
51
|
-
|
|
52
|
-
q =
|
|
51
|
+
setQ(q = 0.7) {
|
|
52
|
+
q = coerceFiniteNumber(q, this.q);
|
|
53
53
|
q = Math.max(0.0001, q);
|
|
54
54
|
if (q > 4)
|
|
55
55
|
q = 4;
|
|
56
56
|
this.q = q;
|
|
57
|
-
return
|
|
57
|
+
return sendMessageToWorklet(this.audioWorkletNode, NotchFilterMessageCommandId.SetQ, q);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -7,17 +7,13 @@ export { Saturation } from "./classes/Saturation";
|
|
|
7
7
|
export { StereoPanner } from "./classes/StereoPanner";
|
|
8
8
|
export { SoftClip } from "./classes/clips/SoftClip";
|
|
9
9
|
export { HardClip } from "./classes/clips/HardClip";
|
|
10
|
+
export { Reverb, type ReverbOptions } from "./classes/Reverb";
|
|
10
11
|
export { Compressor } from "./classes/compressors/Compressor";
|
|
11
12
|
export { MultibandCompressor } from "./classes/compressors/MultibandCompressor";
|
|
12
13
|
export { AdvancedDelay } from "./classes/delays/AdvancedDelay";
|
|
13
14
|
export { MonoDelay } from "./classes/delays/MonoDelay";
|
|
14
15
|
export { PingPongDelay } from "./classes/delays/PingPongDelay";
|
|
15
16
|
export { StereoDelay } from "./classes/delays/StereoDelay";
|
|
16
|
-
export { ChamberReverb } from "./classes/reverbs/ChamberReverb";
|
|
17
|
-
export { ConvolverReverb } from "./classes/reverbs/ConvolverReverb";
|
|
18
|
-
export { GenericReverb } from "./classes/reverbs/GenericReverb";
|
|
19
|
-
export { HallReverb } from "./classes/reverbs/HallReverb";
|
|
20
|
-
export { RoomReverb } from "./classes/reverbs/RoomReverb";
|
|
21
17
|
export { LowPassFilter } from "./classes/filters/LowPassFilter";
|
|
22
18
|
export { HighPassFilter } from "./classes/filters/HighPassFilter";
|
|
23
19
|
//# sourceMappingURL=exports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/effects/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/effects/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -7,16 +7,12 @@ export { Saturation } from "./classes/Saturation";
|
|
|
7
7
|
export { StereoPanner } from "./classes/StereoPanner";
|
|
8
8
|
export { SoftClip } from "./classes/clips/SoftClip";
|
|
9
9
|
export { HardClip } from "./classes/clips/HardClip";
|
|
10
|
+
export { Reverb } from "./classes/Reverb";
|
|
10
11
|
export { Compressor } from "./classes/compressors/Compressor";
|
|
11
12
|
export { MultibandCompressor } from "./classes/compressors/MultibandCompressor";
|
|
12
13
|
export { AdvancedDelay } from "./classes/delays/AdvancedDelay";
|
|
13
14
|
export { MonoDelay } from "./classes/delays/MonoDelay";
|
|
14
15
|
export { PingPongDelay } from "./classes/delays/PingPongDelay";
|
|
15
16
|
export { StereoDelay } from "./classes/delays/StereoDelay";
|
|
16
|
-
export { ChamberReverb } from "./classes/reverbs/ChamberReverb";
|
|
17
|
-
export { ConvolverReverb } from "./classes/reverbs/ConvolverReverb";
|
|
18
|
-
export { GenericReverb } from "./classes/reverbs/GenericReverb";
|
|
19
|
-
export { HallReverb } from "./classes/reverbs/HallReverb";
|
|
20
|
-
export { RoomReverb } from "./classes/reverbs/RoomReverb";
|
|
21
17
|
export { LowPassFilter } from "./classes/filters/LowPassFilter";
|
|
22
18
|
export { HighPassFilter } from "./classes/filters/HighPassFilter";
|
package/lib/dist/index.d.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { DspOptions } from "./typings";
|
|
6
6
|
export declare const DSP: DspOptions;
|
|
7
|
-
export { Chorus, Analyser, Distortion, Equalizer, Limiter, Saturation, StereoPanner, Compressor, MultibandCompressor, AdvancedDelay, MonoDelay, PingPongDelay, StereoDelay,
|
|
7
|
+
export { Chorus, Analyser, Distortion, Equalizer, Limiter, Saturation, StereoPanner, Compressor, MultibandCompressor, AdvancedDelay, MonoDelay, PingPongDelay, StereoDelay, SoftClip, LowPassFilter, HardClip, HighPassFilter, Reverb, type ReverbOptions } from "./effects/exports";
|
|
8
8
|
export { AudioDevice, Channel, Effector, Master, AudioClip, DspPipeline, AudioClipPlayer } from "./core/exports";
|
|
9
|
-
export {
|
|
9
|
+
export { initializeDspPipeline, resolveAudioOutputDevices, resolveAudioInputDevices, resolveDefaultAudioInputDevice, resolveDefaultAudioOutputDevice, loadAudioSource, loadAudioSourceFromBlob, loadWorkletOnAudioDevice, sendMessageToWorklet } from "./utilities/helpers";
|
|
10
10
|
export { SUPPORTED_FILE_TYPES, DEFAULT_SAMPLE_RATE } from "./utilities/constants";
|
|
11
11
|
export { hasInitializedWasm, } from "./utilities/web-assembly";
|
|
12
12
|
export { StrictMode, ProcessorIdentificationCodes, HardClipMessageCommandId, SoftClipMessageCommandId, AudioWorkletProcessorNames, ChorusMessageCommandId, LowPassFilterMessageCommandId, } from "./typings";
|
package/lib/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,eAAO,MAAM,GAAG,EAAE,UAYjB,CAAA;AAED,OAAO,EACH,MAAM,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,EACP,UAAU,EACV,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,aAAa,EACb,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,eAAO,MAAM,GAAG,EAAE,UAYjB,CAAA;AAED,OAAO,EACH,MAAM,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,EACP,UAAU,EACV,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,cAAc,EACd,MAAM,EAAE,KAAK,aAAa,EAC7B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACH,WAAW,EACX,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,WAAW,EACX,eAAe,EAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACH,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,oBAAoB,EACpB,mBAAmB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,kBAAkB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACH,UAAU,EACV,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,GAChC,MAAM,WAAW,CAAC;AAEnB,YAAY,EACR,kBAAkB,EAClB,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,gCAAgC,EAChC,8BAA8B,EAC9B,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,aAAa,GAChB,MAAM,WAAW,CAAC"}
|
package/lib/dist/index.js
CHANGED
|
@@ -15,9 +15,9 @@ export const DSP = {
|
|
|
15
15
|
breakOnError: true
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
export { Chorus, Analyser, Distortion, Equalizer, Limiter, Saturation, StereoPanner, Compressor, MultibandCompressor, AdvancedDelay, MonoDelay, PingPongDelay, StereoDelay,
|
|
18
|
+
export { Chorus, Analyser, Distortion, Equalizer, Limiter, Saturation, StereoPanner, Compressor, MultibandCompressor, AdvancedDelay, MonoDelay, PingPongDelay, StereoDelay, SoftClip, LowPassFilter, HardClip, HighPassFilter, Reverb } from "./effects/exports";
|
|
19
19
|
export { AudioDevice, Channel, Effector, Master, AudioClip, DspPipeline, AudioClipPlayer } from "./core/exports";
|
|
20
|
-
export {
|
|
20
|
+
export { initializeDspPipeline, resolveAudioOutputDevices, resolveAudioInputDevices, resolveDefaultAudioInputDevice, resolveDefaultAudioOutputDevice, loadAudioSource, loadAudioSourceFromBlob, loadWorkletOnAudioDevice, sendMessageToWorklet } from "./utilities/helpers";
|
|
21
21
|
export { SUPPORTED_FILE_TYPES, DEFAULT_SAMPLE_RATE } from "./utilities/constants";
|
|
22
22
|
export { hasInitializedWasm, } from "./utilities/web-assembly";
|
|
23
23
|
export { StrictMode, ProcessorIdentificationCodes, HardClipMessageCommandId, SoftClipMessageCommandId, AudioWorkletProcessorNames, ChorusMessageCommandId, LowPassFilterMessageCommandId, } from "./typings";
|
package/lib/dist/typings.d.ts
CHANGED
|
@@ -101,8 +101,19 @@ export interface AudioClipOnProgressEvent {
|
|
|
101
101
|
contextTimestamp: number;
|
|
102
102
|
formatted: string;
|
|
103
103
|
}
|
|
104
|
+
export interface AudioClipOnInitializeEvent {
|
|
105
|
+
durationOfInitialization: number;
|
|
106
|
+
context: AudioContext | null;
|
|
107
|
+
}
|
|
108
|
+
export interface AudioClipOnPlayEvent {
|
|
109
|
+
timestamp: number;
|
|
110
|
+
audioBufferSourceNodes: AudioBufferSourceNode[];
|
|
111
|
+
context: AudioContext;
|
|
112
|
+
}
|
|
104
113
|
export interface AudioClipEventMap {
|
|
105
114
|
"progress": (event: AudioClipOnProgressEvent) => void;
|
|
115
|
+
"initialize": (event: AudioClipOnInitializeEvent) => void;
|
|
116
|
+
"play": (event: AudioClipOnPlayEvent) => void;
|
|
106
117
|
}
|
|
107
118
|
export interface DspPipelineInitializationOptions {
|
|
108
119
|
pathToWasm: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../src/typings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../src/typings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ErrorCodes, WarningCodes } from "../console-codes";
|
|
2
2
|
export declare namespace Debug {
|
|
3
|
-
function
|
|
4
|
-
function
|
|
5
|
-
function
|
|
6
|
-
function
|
|
3
|
+
function log(message: string, additionalDetails?: string[]): void;
|
|
4
|
+
function success(message: string, additionalDetails?: string[]): void;
|
|
5
|
+
function warn(message: string, additionalDetails?: string[], warningCode?: WarningCodes): void;
|
|
6
|
+
function error(message: string, additionalDetails?: string[], errorCode?: ErrorCodes): void;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=debugger.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DSP } from "../index";
|
|
2
2
|
export var Debug;
|
|
3
3
|
(function (Debug) {
|
|
4
|
-
function
|
|
4
|
+
function log(message, additionalDetails) {
|
|
5
5
|
if (!DSP.debugger.showInfo)
|
|
6
6
|
return;
|
|
7
7
|
let outputString = `%c[INFO]: %c${message} %c`;
|
|
@@ -10,8 +10,8 @@ export var Debug;
|
|
|
10
10
|
});
|
|
11
11
|
return console.log(outputString, "color: white;", "color: gray", "color: gray");
|
|
12
12
|
}
|
|
13
|
-
Debug.
|
|
14
|
-
function
|
|
13
|
+
Debug.log = log;
|
|
14
|
+
function success(message, additionalDetails) {
|
|
15
15
|
if (!DSP.debugger.showInfo)
|
|
16
16
|
return;
|
|
17
17
|
let outputString = `%c[SUCCESS]: %c${message} %c`;
|
|
@@ -20,8 +20,8 @@ export var Debug;
|
|
|
20
20
|
});
|
|
21
21
|
return console.log(outputString, "color: lime;", "color: white", "color: gray");
|
|
22
22
|
}
|
|
23
|
-
Debug.
|
|
24
|
-
function
|
|
23
|
+
Debug.success = success;
|
|
24
|
+
function warn(message, additionalDetails, warningCode) {
|
|
25
25
|
if (!DSP.debugger.showWarnings)
|
|
26
26
|
return;
|
|
27
27
|
let outputString = `%c(${warningCode ? warningCode : "Unknown".toUpperCase()}) %c[WARNING]: %c${message} %c`;
|
|
@@ -30,8 +30,8 @@ export var Debug;
|
|
|
30
30
|
});
|
|
31
31
|
return console.log(outputString, "color: gray", "color: yellow;", "color: white", "color: white; font-style: italic;");
|
|
32
32
|
}
|
|
33
|
-
Debug.
|
|
34
|
-
function
|
|
33
|
+
Debug.warn = warn;
|
|
34
|
+
function error(message, additionalDetails, errorCode) {
|
|
35
35
|
if (!DSP.debugger.showErrors)
|
|
36
36
|
return;
|
|
37
37
|
let outputString = `%c(${errorCode ? errorCode : "Unknown".toUpperCase()}) %c[ERROR]: %c${message} %c`;
|
|
@@ -45,5 +45,5 @@ export var Debug;
|
|
|
45
45
|
throw new window.Error(outputString);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
Debug.
|
|
48
|
+
Debug.error = error;
|
|
49
49
|
})(Debug || (Debug = {}));
|
|
@@ -7,42 +7,42 @@ import { LoadAudioSourceOptions, AudioSourceData, DspPipelineInitializationOptio
|
|
|
7
7
|
* FluexGL DSP cannot be used without calling this function first.
|
|
8
8
|
* @returns
|
|
9
9
|
*/
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function initializeDspPipeline(options: DspPipelineInitializationOptions): Promise<DspPipelineInitializationState | null>;
|
|
11
11
|
/**
|
|
12
12
|
* Resolves a list of available audio output devices.
|
|
13
13
|
* @returns
|
|
14
14
|
*/
|
|
15
|
-
export declare function
|
|
15
|
+
export declare function resolveAudioOutputDevices(): Promise<AudioDevice[]>;
|
|
16
16
|
/**
|
|
17
17
|
* Resolves a list of available audio input devices.
|
|
18
18
|
* @returns
|
|
19
19
|
*/
|
|
20
|
-
export declare function
|
|
20
|
+
export declare function resolveAudioInputDevices(): Promise<AudioDevice[]>;
|
|
21
21
|
/**
|
|
22
22
|
* Resolves the default audio output device.
|
|
23
23
|
* @returns
|
|
24
24
|
*/
|
|
25
|
-
export declare function
|
|
25
|
+
export declare function resolveDefaultAudioOutputDevice(init: DspPipelineInitializationState): Promise<AudioDevice | null>;
|
|
26
26
|
/**
|
|
27
27
|
* Resolves the default audio input device.
|
|
28
28
|
* @returns
|
|
29
29
|
*/
|
|
30
|
-
export declare function
|
|
30
|
+
export declare function resolveDefaultAudioInputDevice(init: DspPipelineInitializationState): Promise<AudioDevice | null>;
|
|
31
31
|
/**
|
|
32
32
|
* Loads an audio source from a specified path.
|
|
33
33
|
* @param path
|
|
34
34
|
* @param options
|
|
35
35
|
* @returns
|
|
36
36
|
*/
|
|
37
|
-
export declare function
|
|
37
|
+
export declare function loadAudioSource(path: string, options?: Partial<LoadAudioSourceOptions>): Promise<AudioSourceData | null>;
|
|
38
38
|
/**
|
|
39
39
|
* Loads an audio file from a blob.
|
|
40
40
|
*/
|
|
41
|
-
export declare function
|
|
42
|
-
export declare function
|
|
43
|
-
export declare function
|
|
44
|
-
export declare function
|
|
45
|
-
export declare function
|
|
46
|
-
export declare function
|
|
47
|
-
export declare function
|
|
41
|
+
export declare function loadAudioSourceFromBlob(blob: Blob): Promise<AudioSourceData | null>;
|
|
42
|
+
export declare function constructProcessorWorklet(code: string): string;
|
|
43
|
+
export declare function loadWorkletOnAudioDevice(audioDevice: AudioDevice, workletBlobUrl: string): Promise<boolean>;
|
|
44
|
+
export declare function sendMessageToWorklet<T, K = any>(node: AudioWorkletNode | null, commandId: T, data: K): boolean;
|
|
45
|
+
export declare function isFiniteNumber(value: unknown): value is number;
|
|
46
|
+
export declare function coerceFiniteNumber(value: unknown, fallback: number): number;
|
|
47
|
+
export declare function createAudioWorkletNode<T = any>(context: AudioContext, name: AudioWorkletProcessorNames | string, data: T): AudioWorkletNode;
|
|
48
48
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utilities/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAS1D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAEnK;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAwCrI;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAUxE;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAUvE;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAmBvH;AAED;;;GAGG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAmBtH;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAoC,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAoChK;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAYzF;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9D;AAED,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAgB9F;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,WAepG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,wBAAgB,sBAAsB,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utilities/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAS1D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAEnK;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAwCrI;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAUxE;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAUvE;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAmBvH;AAED;;;GAGG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAmBtH;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAoC,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAoChK;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAYzF;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9D;AAED,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAgB9F;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,WAepG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,wBAAgB,sBAAsB,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,0BAA0B,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,gBAAgB,CAiB3I"}
|