@fluex/fluexgl-dsp 0.4.5 → 0.4.6
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/lib/dist/core/classes/Channel.d.ts +7 -0
- package/lib/dist/core/classes/Channel.d.ts.map +1 -1
- package/lib/dist/core/classes/Channel.js +12 -0
- package/lib/dist/effects/classes/clips/SoftClip.d.ts.map +1 -1
- package/lib/dist/effects/classes/clips/SoftClip.js +4 -2
- package/lib/src/core/classes/Channel.ts +14 -0
- package/lib/src/effects/classes/clips/SoftClip.ts +6 -2
- package/package.json +1 -1
|
@@ -20,6 +20,13 @@ export declare class Channel {
|
|
|
20
20
|
private disconnectAudioNodes;
|
|
21
21
|
private isInitialized;
|
|
22
22
|
private isReachable;
|
|
23
|
+
/**
|
|
24
|
+
* Public method to manually rebuild the effect chain.
|
|
25
|
+
* Can be useful when the automatic rebuilt did not
|
|
26
|
+
* work properly.
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
RebuildEffectChain(): void;
|
|
23
30
|
AddEffect(effect: Effector): Channel;
|
|
24
31
|
AttachEffect(effect: Effector): Channel;
|
|
25
32
|
RemoveEffect(effect: Effector): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/core/classes/Channel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,qBAAa,OAAO;IAET,EAAE,EAAE,MAAM,CAAQ;IAClB,KAAK,EAAE,MAAM,CAAa;IAE1B,KAAK,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC/B,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACjD,YAAY,EAAE,YAAY,GAAG,IAAI,CAAQ;IACzC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACjC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEhC,OAAO,EAAE,QAAQ,EAAE,CAAM;IACzB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAQ;IAEpC,KAAK,EAAE,OAAO,EAAE,CAAM;IACtB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAQ;gBAE1C,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM;IAsBjD,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../../../src/core/classes/Channel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,qBAAa,OAAO;IAET,EAAE,EAAE,MAAM,CAAQ;IAClB,KAAK,EAAE,MAAM,CAAa;IAE1B,KAAK,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC/B,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACjD,YAAY,EAAE,YAAY,GAAG,IAAI,CAAQ;IACzC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACjC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEhC,OAAO,EAAE,QAAQ,EAAE,CAAM;IACzB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAQ;IAEpC,KAAK,EAAE,OAAO,EAAE,CAAM;IACtB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAQ;gBAE1C,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM;IAsBjD,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IAwBnB;;;;;OAKG;IACI,kBAAkB;IAIlB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAcpC,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAIvC,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAqBpC,gBAAgB;IAMhB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAIpC,gBAAgB;IAIhB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAkC9B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAehC,kBAAkB,IAAI,OAAO;IAI7B,mBAAmB;IAOnB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAQ9C,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAS/B,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IASzB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IAI5C,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAMrD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,EAAE;IAIrC,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAM/C,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;CAmElF"}
|
|
@@ -93,6 +93,15 @@ export class Channel {
|
|
|
93
93
|
}
|
|
94
94
|
return false;
|
|
95
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Public method to manually rebuild the effect chain.
|
|
98
|
+
* Can be useful when the automatic rebuilt did not
|
|
99
|
+
* work properly.
|
|
100
|
+
* @returns
|
|
101
|
+
*/
|
|
102
|
+
RebuildEffectChain() {
|
|
103
|
+
return this.rebuildEffectChain();
|
|
104
|
+
}
|
|
96
105
|
AddEffect(effect) {
|
|
97
106
|
if (!this.context)
|
|
98
107
|
throw new Error(`Could not add effect (${effect.id}), to channel (${this.id}), because the channel's AudioContext is undefined.`);
|
|
@@ -264,5 +273,8 @@ export class Channel {
|
|
|
264
273
|
if (fromIndex < toIndex)
|
|
265
274
|
toIndex = toIndex - 1;
|
|
266
275
|
this.effects.splice(toIndex, 0, item);
|
|
276
|
+
// Initializing the effect is unnessecary because it should have been intialized already
|
|
277
|
+
// otherwise it could not been found. Rebuilding the effect chain is nessecary though.
|
|
278
|
+
this.rebuildEffectChain();
|
|
267
279
|
}
|
|
268
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SoftClip.d.ts","sourceRoot":"","sources":["../../../../src/effects/classes/clips/SoftClip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAwD,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAErH,qBAAa,QAAS,SAAQ,QAAQ;IAE3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAc;IAClC,IAAI,EAAE,MAAM,CAAc;IAE1B,KAAK,EAAE,MAAM,CAAK;IAClB,IAAI,EAAE,MAAM,CAAK;IACjB,UAAU,EAAE,UAAU,CAAuB;gBAExC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAE,OAAO,CAAC,eAAe,CAAM;IAUzD,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"SoftClip.d.ts","sourceRoot":"","sources":["../../../../src/effects/classes/clips/SoftClip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAwD,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAErH,qBAAa,QAAS,SAAQ,QAAQ;IAE3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAc;IAClC,IAAI,EAAE,MAAM,CAAc;IAE1B,KAAK,EAAE,MAAM,CAAK;IAClB,IAAI,EAAE,MAAM,CAAK;IACjB,UAAU,EAAE,UAAU,CAAuB;gBAExC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAE,OAAO,CAAC,eAAe,CAAM;IAUzD,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IASlE,qBAAqB,IAAI,eAAe;IAQxC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMhC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAKxC"}
|
|
@@ -15,8 +15,10 @@ export class SoftClip extends Effector {
|
|
|
15
15
|
this.strictMode = mode === StrictMode.Enabled ? StrictMode.Enabled : StrictMode.Disabled;
|
|
16
16
|
}
|
|
17
17
|
async InitializeOnAttachment(context) {
|
|
18
|
-
this.context
|
|
19
|
-
|
|
18
|
+
if (this.context === null)
|
|
19
|
+
this.context = context;
|
|
20
|
+
if (this.audioWorkletNode === null)
|
|
21
|
+
this.audioWorkletNode = CreateAudioWorkletNode(context, AudioWorkletProcessorNames.SoftClip, this.ReturnOptionsAsObject());
|
|
20
22
|
}
|
|
21
23
|
ReturnOptionsAsObject() {
|
|
22
24
|
return {
|
|
@@ -134,6 +134,16 @@ export class Channel {
|
|
|
134
134
|
return false;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
+
/**
|
|
138
|
+
* Public method to manually rebuild the effect chain.
|
|
139
|
+
* Can be useful when the automatic rebuilt did not
|
|
140
|
+
* work properly.
|
|
141
|
+
* @returns
|
|
142
|
+
*/
|
|
143
|
+
public RebuildEffectChain() {
|
|
144
|
+
return this.rebuildEffectChain();
|
|
145
|
+
}
|
|
146
|
+
|
|
137
147
|
public AddEffect(effect: Effector): Channel {
|
|
138
148
|
|
|
139
149
|
if (!this.context)
|
|
@@ -355,5 +365,9 @@ export class Channel {
|
|
|
355
365
|
toIndex = toIndex - 1;
|
|
356
366
|
|
|
357
367
|
this.effects.splice(toIndex, 0, item);
|
|
368
|
+
|
|
369
|
+
// Initializing the effect is unnessecary because it should have been intialized already
|
|
370
|
+
// otherwise it could not been found. Rebuilding the effect chain is nessecary though.
|
|
371
|
+
this.rebuildEffectChain();
|
|
358
372
|
}
|
|
359
373
|
}
|
|
@@ -22,8 +22,12 @@ export class SoftClip extends Effector {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
public async InitializeOnAttachment(context: AudioContext): Promise<void> {
|
|
25
|
-
|
|
26
|
-
this.
|
|
25
|
+
|
|
26
|
+
if(this.context === null)
|
|
27
|
+
this.context = context;
|
|
28
|
+
|
|
29
|
+
if(this.audioWorkletNode === null)
|
|
30
|
+
this.audioWorkletNode = CreateAudioWorkletNode<SoftClipOptions>(context, AudioWorkletProcessorNames.SoftClip, this.ReturnOptionsAsObject());
|
|
27
31
|
}
|
|
28
32
|
|
|
29
33
|
public ReturnOptionsAsObject(): SoftClipOptions {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluex/fluexgl-dsp",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"description": "An open-source, web-based DSP library developed alongside FluexGL, designed for creating and manipulating sounds in various contexts.",
|
|
5
5
|
"main": "lib/dist/index.js",
|
|
6
6
|
"types": "lib/dist/index.d.ts",
|