@blibliki/engine 0.3.1 → 0.3.3
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/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -2
- package/dist/index.d.ts +7 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
- package/src/Engine.ts +17 -2
- package/src/core/Timing/index.ts +1 -1
- package/src/core/index.ts +1 -1
- package/src/index.ts +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blibliki/engine",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"@ircam/sc-scheduling": "^1.0.0",
|
|
21
21
|
"node-web-audio-api": "^1.0.3",
|
|
22
22
|
"webmidi": "^3.1.14",
|
|
23
|
-
"@blibliki/utils": "^0.
|
|
23
|
+
"@blibliki/utils": "^0.3.3"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "tsup",
|
|
@@ -29,6 +29,8 @@
|
|
|
29
29
|
"tsc": "tsc --noEmit",
|
|
30
30
|
"format": "prettier . --write",
|
|
31
31
|
"format:check": "prettier . --check",
|
|
32
|
-
"test": "vitest"
|
|
32
|
+
"test": "vitest",
|
|
33
|
+
"bump": "npm version patch",
|
|
34
|
+
"release": "pnpm run build && pnpm publish --access public"
|
|
33
35
|
}
|
|
34
36
|
}
|
package/src/Engine.ts
CHANGED
|
@@ -31,7 +31,7 @@ export type ICreateRoute = Optional<IRoute, "id">;
|
|
|
31
31
|
|
|
32
32
|
export class Engine {
|
|
33
33
|
private static _engines = new Map<string, Engine>();
|
|
34
|
-
private static _currentId: string;
|
|
34
|
+
private static _currentId: string | undefined;
|
|
35
35
|
private propsUpdateCallbacks: (<T extends ModuleType>(
|
|
36
36
|
params: IModule<T>,
|
|
37
37
|
) => void)[] = [];
|
|
@@ -142,7 +142,8 @@ export class Engine {
|
|
|
142
142
|
);
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
start(props: { offset?: TTime; actionAt?: TTime } = {}) {
|
|
145
|
+
async start(props: { offset?: TTime; actionAt?: TTime } = {}) {
|
|
146
|
+
await this.resume();
|
|
146
147
|
this.transport.start(props);
|
|
147
148
|
}
|
|
148
149
|
|
|
@@ -162,6 +163,18 @@ export class Engine {
|
|
|
162
163
|
this.transport.bpm = value;
|
|
163
164
|
}
|
|
164
165
|
|
|
166
|
+
get timeSignature() {
|
|
167
|
+
return this.transport.timeSignature;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
set timeSignature(value: [number, number]) {
|
|
171
|
+
this.transport.timeSignature = value;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
get playhead() {
|
|
175
|
+
return this.transport.playhead;
|
|
176
|
+
}
|
|
177
|
+
|
|
165
178
|
async resume() {
|
|
166
179
|
await this.context.resume();
|
|
167
180
|
}
|
|
@@ -173,6 +186,8 @@ export class Engine {
|
|
|
173
186
|
module.dispose();
|
|
174
187
|
});
|
|
175
188
|
this.modules.clear();
|
|
189
|
+
Engine._engines.delete(this.id);
|
|
190
|
+
Engine._currentId = Engine._engines.keys().next().value;
|
|
176
191
|
}
|
|
177
192
|
|
|
178
193
|
findModule(
|
package/src/core/Timing/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Engine } from "@/Engine";
|
|
2
2
|
|
|
3
3
|
export { default as Transport, TransportState } from "./Transport";
|
|
4
|
-
export { default as Time } from "./Time";
|
|
4
|
+
export { default as Time, t, nt } from "./Time";
|
|
5
5
|
|
|
6
6
|
export type { TransportEvents } from "./Transport";
|
|
7
7
|
export type { TTime } from "./Time";
|
package/src/core/index.ts
CHANGED