@blibliki/engine 0.1.7 → 0.1.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/build/Module/Filter.d.ts +6 -1
- package/build/Module/Filter.js +15 -0
- package/build/Module/Filter.js.map +1 -1
- package/jest.config.js +19 -0
- package/package.json +4 -1
- package/src/Module/Filter.ts +21 -1
- package/test/Module/Oscillator.test.ts +9 -0
package/build/Module/Filter.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Filter as InternalFilter } from "tone";
|
|
1
|
+
import { Filter as InternalFilter, FilterRollOff } from "tone";
|
|
2
2
|
import { FreqEnvelope, MonoFreqEnvelope } from "./Envelope";
|
|
3
3
|
import Module, { Voicable } from "./Base";
|
|
4
4
|
import PolyModule from "./PolyModule";
|
|
@@ -6,6 +6,7 @@ interface FilterInterface extends Voicable {
|
|
|
6
6
|
cutoff: number;
|
|
7
7
|
filterType: BiquadFilterType;
|
|
8
8
|
resonance: number;
|
|
9
|
+
slope: FilterRollOff;
|
|
9
10
|
envelopeAmount: number;
|
|
10
11
|
voiceNo?: number;
|
|
11
12
|
}
|
|
@@ -16,6 +17,10 @@ declare class MonoFilter extends Module<InternalFilter, FilterInterface> {
|
|
|
16
17
|
constructor(name: string, props: FilterProps);
|
|
17
18
|
get cutoff(): number;
|
|
18
19
|
set cutoff(value: number);
|
|
20
|
+
get filterType(): BiquadFilterType;
|
|
21
|
+
set filterType(value: BiquadFilterType);
|
|
22
|
+
get slope(): FilterRollOff;
|
|
23
|
+
set slope(value: FilterRollOff);
|
|
19
24
|
get frequency(): import("tone").Signal<"frequency">;
|
|
20
25
|
get resonance(): number;
|
|
21
26
|
set resonance(value: number);
|
package/build/Module/Filter.js
CHANGED
|
@@ -5,6 +5,7 @@ const InitialProps = {
|
|
|
5
5
|
cutoff: 20000,
|
|
6
6
|
resonance: 0,
|
|
7
7
|
envelopeAmount: 0,
|
|
8
|
+
slope: -24,
|
|
8
9
|
filterType: "lowpass",
|
|
9
10
|
};
|
|
10
11
|
class MonoFilter extends Module {
|
|
@@ -27,6 +28,20 @@ class MonoFilter extends Module {
|
|
|
27
28
|
this.internalModule.frequency.value = value;
|
|
28
29
|
}
|
|
29
30
|
}
|
|
31
|
+
get filterType() {
|
|
32
|
+
return this._props["filterType"];
|
|
33
|
+
}
|
|
34
|
+
set filterType(value) {
|
|
35
|
+
this._props = { ...this.props, filterType: value };
|
|
36
|
+
this.internalModule.type = value;
|
|
37
|
+
}
|
|
38
|
+
get slope() {
|
|
39
|
+
return this._props["slope"];
|
|
40
|
+
}
|
|
41
|
+
set slope(value) {
|
|
42
|
+
this._props = { ...this.props, slope: value };
|
|
43
|
+
this.internalModule.rolloff = value;
|
|
44
|
+
}
|
|
30
45
|
get frequency() {
|
|
31
46
|
return this.internalModule.frequency;
|
|
32
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filter.js","sourceRoot":"","sources":["../../src/Module/Filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"Filter.js","sourceRoot":"","sources":["../../src/Module/Filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,cAAc,EAAiB,MAAM,MAAM,CAAC;AAG/D,OAAO,MAAoB,MAAM,QAAQ,CAAC;AAC1C,OAAO,UAAU,MAAM,cAAc,CAAC;AAatC,MAAM,YAAY,GAAoB;IACpC,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,CAAC;IACZ,cAAc,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,EAAE;IACV,UAAU,EAAE,SAAS;CACtB,CAAC;AAEF,MAAM,UAAW,SAAQ,MAAuC;IACtD,SAAS,CAAmB;IAEpC,YAAY,IAAY,EAAE,KAAkB;QAC1C,KAAK,CAAC,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;YAC7C,IAAI;YACJ,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAE/C,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;SAC7C;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,UAAU,CAAC,KAAuB;QACpC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,CAAC,KAAoB;QAC5B,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,SAAS,CAAC,KAAa;QACzB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAElD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,cAAc,CAAC,KAAa;QAC9B,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAEvD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,kBAAkB,CAAC,QAA0B;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,UAAuC;IACzE,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC;IAE7B,YAAY,IAAY,EAAE,KAA+B;QACvD,KAAK,CAAC;YACJ,IAAI;YACJ,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,aAAa,CAAC;YACjB,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBACjB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAA2B,CAAC,CAAC;YAC9D,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,YAA0B;QAC3C,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC7C,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO;YAE3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC"}
|
package/jest.config.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** @type {import('ts-jest').JestConfigWithTsJest} */
|
|
2
|
+
module.exports = {
|
|
3
|
+
preset: "ts-jest",
|
|
4
|
+
testEnvironment: "node",
|
|
5
|
+
rootDir: "test",
|
|
6
|
+
moduleNameMapper: {
|
|
7
|
+
"^src/(.*)$": "<rootDir>/../src/$1",
|
|
8
|
+
},
|
|
9
|
+
transform: {
|
|
10
|
+
// '^.+\\.[tj]sx?$' to process js/ts with `ts-jest`
|
|
11
|
+
// '^.+\\.m?[tj]sx?$' to process js/ts/mjs/mts with `ts-jest`
|
|
12
|
+
"^.+\\.tsx?$": [
|
|
13
|
+
"ts-jest",
|
|
14
|
+
{
|
|
15
|
+
diagnostics: false,
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blibliki/engine",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"dependencies": {
|
|
@@ -29,10 +29,13 @@
|
|
|
29
29
|
]
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
+
"@types/jest": "^29.2.0",
|
|
32
33
|
"@types/node": "^16.7.13",
|
|
33
34
|
"@types/uuid": "^8.3.4",
|
|
34
35
|
"eslint": "^8.18.0",
|
|
36
|
+
"jest": "^29.2.2",
|
|
35
37
|
"prettier": "^2.7.1",
|
|
38
|
+
"ts-jest": "^29.0.3",
|
|
36
39
|
"typescript": "^4.7.4",
|
|
37
40
|
"typescript-language-server": "^0.11.1"
|
|
38
41
|
}
|
package/src/Module/Filter.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Filter as InternalFilter } from "tone";
|
|
1
|
+
import { Filter as InternalFilter, FilterRollOff } from "tone";
|
|
2
2
|
|
|
3
3
|
import { FreqEnvelope, MonoFreqEnvelope } from "./Envelope";
|
|
4
4
|
import Module, { Voicable } from "./Base";
|
|
@@ -8,6 +8,7 @@ interface FilterInterface extends Voicable {
|
|
|
8
8
|
cutoff: number;
|
|
9
9
|
filterType: BiquadFilterType;
|
|
10
10
|
resonance: number;
|
|
11
|
+
slope: FilterRollOff;
|
|
11
12
|
envelopeAmount: number;
|
|
12
13
|
voiceNo?: number;
|
|
13
14
|
}
|
|
@@ -18,6 +19,7 @@ const InitialProps: FilterInterface = {
|
|
|
18
19
|
cutoff: 20000,
|
|
19
20
|
resonance: 0,
|
|
20
21
|
envelopeAmount: 0,
|
|
22
|
+
slope: -24,
|
|
21
23
|
filterType: "lowpass",
|
|
22
24
|
};
|
|
23
25
|
|
|
@@ -45,6 +47,24 @@ class MonoFilter extends Module<InternalFilter, FilterInterface> {
|
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
|
|
50
|
+
get filterType() {
|
|
51
|
+
return this._props["filterType"];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
set filterType(value: BiquadFilterType) {
|
|
55
|
+
this._props = { ...this.props, filterType: value };
|
|
56
|
+
this.internalModule.type = value;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
get slope() {
|
|
60
|
+
return this._props["slope"];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
set slope(value: FilterRollOff) {
|
|
64
|
+
this._props = { ...this.props, slope: value };
|
|
65
|
+
this.internalModule.rolloff = value;
|
|
66
|
+
}
|
|
67
|
+
|
|
48
68
|
get frequency() {
|
|
49
69
|
return this.internalModule.frequency;
|
|
50
70
|
}
|