@omnimedia/omnitool 1.1.0-12 → 1.1.0-13
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/package.json +4 -2
- package/s/demo/demo.bundle.ts +1 -1
- package/s/timeline/parts/compositor/parts/schedulers.ts +9 -1
- package/s/timeline/parts/compositor/playback.ts +7 -1
- package/x/demo/demo.bundle.js +1 -1
- package/x/demo/demo.bundle.js.map +1 -1
- package/x/demo/demo.bundle.min.js +54 -54
- package/x/demo/demo.bundle.min.js.map +4 -4
- package/x/index.html +2 -2
- package/x/timeline/parts/compositor/parts/schedulers.d.ts +1 -1
- package/x/timeline/parts/compositor/parts/schedulers.js +5 -1
- package/x/timeline/parts/compositor/parts/schedulers.js.map +1 -1
- package/x/timeline/parts/compositor/playback.d.ts +1 -0
- package/x/timeline/parts/compositor/playback.js +3 -1
- package/x/timeline/parts/compositor/playback.js.map +1 -1
package/x/index.html
CHANGED
|
@@ -65,7 +65,7 @@ canvas {
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
</style>
|
|
68
|
-
<script type=module src="demo/demo.bundle.min.js?v=
|
|
68
|
+
<script type=module src="demo/demo.bundle.min.js?v=fa70bcbb2db7"></script>
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
<meta name="theme-color" content="#3cff9c">
|
|
@@ -85,7 +85,7 @@ canvas {
|
|
|
85
85
|
<body>
|
|
86
86
|
|
|
87
87
|
<section>
|
|
88
|
-
<h1>Omnitool <small>v1.1.0-
|
|
88
|
+
<h1>Omnitool <small>v1.1.0-13</small></h1>
|
|
89
89
|
<button class=fetch>fetch</button>
|
|
90
90
|
<input type="file" class="file-input">
|
|
91
91
|
<div class=results></div>
|
|
@@ -6,7 +6,7 @@ export type RealtimeController = {
|
|
|
6
6
|
setFPS(v: number): void;
|
|
7
7
|
isPlaying(): boolean;
|
|
8
8
|
};
|
|
9
|
-
export declare const realtime: (onTick: (
|
|
9
|
+
export declare const realtime: (onTick: (tickTime: number) => void, onUpdate: (currentTime: number) => void) => RealtimeController;
|
|
10
10
|
export type FixedStepOptions = {
|
|
11
11
|
fps: number;
|
|
12
12
|
duration: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const realtime = (onTick) => {
|
|
1
|
+
export const realtime = (onTick, onUpdate) => {
|
|
2
2
|
let playing = false;
|
|
3
3
|
let rafId = null;
|
|
4
4
|
let fps = 60;
|
|
@@ -6,12 +6,15 @@ export const realtime = (onTick) => {
|
|
|
6
6
|
let currentTimeS = 0;
|
|
7
7
|
let lastTime = 0;
|
|
8
8
|
let accumulator = 0;
|
|
9
|
+
let currentTime = 0;
|
|
9
10
|
const tick = (now) => {
|
|
10
11
|
if (!playing)
|
|
11
12
|
return;
|
|
12
13
|
const deltaTime = now - lastTime;
|
|
13
14
|
lastTime = now;
|
|
14
15
|
accumulator += deltaTime;
|
|
16
|
+
currentTime += deltaTime / 1000;
|
|
17
|
+
onUpdate(currentTime);
|
|
15
18
|
while (accumulator >= frameDuration) {
|
|
16
19
|
onTick(currentTimeS);
|
|
17
20
|
currentTimeS += frameDuration / 1000;
|
|
@@ -38,6 +41,7 @@ export const realtime = (onTick) => {
|
|
|
38
41
|
seek(t) {
|
|
39
42
|
currentTimeS = Math.max(0, t);
|
|
40
43
|
accumulator = 0;
|
|
44
|
+
currentTime = t;
|
|
41
45
|
},
|
|
42
46
|
dispose() {
|
|
43
47
|
this.pause();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedulers.js","sourceRoot":"","sources":["../../../../../s/timeline/parts/compositor/parts/schedulers.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"schedulers.js","sourceRoot":"","sources":["../../../../../s/timeline/parts/compositor/parts/schedulers.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,QAAQ,GAAG,CACvB,MAAkC,EAClC,QAAuC,EAClB,EAAE;IAEtB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,KAAK,GAAkB,IAAI,CAAA;IAC/B,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,IAAI,aAAa,GAAG,IAAI,GAAG,GAAG,CAAA;IAC9B,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE;QAC3B,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,MAAM,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAA;QAChC,QAAQ,GAAG,GAAG,CAAA;QAEd,WAAW,IAAI,SAAS,CAAA;QACxB,WAAW,IAAI,SAAS,GAAG,IAAI,CAAA;QAChC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAEpB,OAAO,WAAW,IAAI,aAAa,EAAE,CAAC;YACpC,MAAM,CAAC,YAAY,CAAC,CAAA;YACpB,YAAY,IAAI,aAAa,GAAG,IAAI,CAAA;YACpC,WAAW,IAAI,aAAa,CAAA;QAC9B,CAAC;QAED,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC,CAAA;IAED,OAAO;QACL,IAAI;YACF,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YAC5B,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC;QACD,KAAK;YACH,IAAI,CAAC,OAAO;gBAAE,OAAM;YACpB,OAAO,GAAG,KAAK,CAAA;YACf,IAAI,KAAK,KAAK,IAAI;gBAAE,oBAAoB,CAAC,KAAK,CAAC,CAAA;YAC/C,KAAK,GAAG,IAAI,CAAA;QACd,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7B,WAAW,GAAG,CAAC,CAAA;YACf,WAAW,GAAG,CAAC,CAAA;QACjB,CAAC;QACD,OAAO;YACL,IAAI,CAAC,KAAK,EAAE,CAAA;QACd,CAAC;QACD,SAAS;YACP,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,MAAM,CAAC,CAAC;YACP,GAAG,GAAG,CAAC,CAAA;YACP,aAAa,GAAG,IAAI,GAAG,GAAG,CAAA;QAC3B,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC7B,IAAsB,EACtB,OAA2D,EAC1D,EAAE;IACH,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAA;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;IAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO;YAAE,MAAK;QAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QAChB,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpB,CAAC;AACF,CAAC,CAAA"}
|
|
@@ -10,6 +10,7 @@ export declare class VideoPlayer {
|
|
|
10
10
|
private root;
|
|
11
11
|
private sampler;
|
|
12
12
|
private resolveMedia;
|
|
13
|
+
readonly currentTime: import("@e280/strata").SignalFn<number>;
|
|
13
14
|
constructor(driver: Driver, canvas: HTMLCanvasElement, root: Node<AudioPlaybackComponent>, sampler: HTMLSampler, resolveMedia?: ResolveMedia);
|
|
14
15
|
get context(): CanvasRenderingContext2D;
|
|
15
16
|
static create(driver: Driver, timeline: TimelineFile): Promise<VideoPlayer>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { signal } from "@e280/strata";
|
|
1
2
|
import { realtime } from "./parts/schedulers.js";
|
|
2
3
|
import { makeHtmlSampler } from "./samplers/html.js";
|
|
3
4
|
import { buildHTMLNodeTree } from "./parts/html-tree.js";
|
|
@@ -7,7 +8,8 @@ export class VideoPlayer {
|
|
|
7
8
|
root;
|
|
8
9
|
sampler;
|
|
9
10
|
resolveMedia;
|
|
10
|
-
|
|
11
|
+
currentTime = signal(0);
|
|
12
|
+
#controller = realtime(tickTime => this.#tick(tickTime), currentTime => this.currentTime(currentTime));
|
|
11
13
|
constructor(driver, canvas, root, sampler, resolveMedia = _hash => "/assets/temp/gl.mp4") {
|
|
12
14
|
this.driver = driver;
|
|
13
15
|
this.canvas = canvas;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playback.js","sourceRoot":"","sources":["../../../../s/timeline/parts/compositor/playback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playback.js","sourceRoot":"","sources":["../../../../s/timeline/parts/compositor/playback.ts"],"names":[],"mappings":"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"}
|