@omnimedia/omnitool 1.1.0-60 → 1.1.0-62

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.
Files changed (47) hide show
  1. package/package.json +1 -1
  2. package/s/demo/routines/playback-test.ts +2 -17
  3. package/s/driver/fns/work.ts +3 -4
  4. package/s/timeline/renderers/player/parts/playback.ts +5 -2
  5. package/s/timeline/renderers/player/player.ts +19 -9
  6. package/x/demo/demo.bundle.min.js +4 -4
  7. package/x/demo/demo.bundle.min.js.map +3 -3
  8. package/x/demo/routines/playback-test.js +2 -16
  9. package/x/demo/routines/playback-test.js.map +1 -1
  10. package/x/driver/driver.worker.bundle.min.js +7 -11
  11. package/x/driver/driver.worker.bundle.min.js.map +4 -4
  12. package/x/driver/fns/work.js +0 -2
  13. package/x/driver/fns/work.js.map +1 -1
  14. package/x/index.html +2 -2
  15. package/x/tests.bundle.min.js +5 -5
  16. package/x/tests.bundle.min.js.map +3 -3
  17. package/x/tests.html +1 -1
  18. package/x/timeline/renderers/player/parts/playback.d.ts +2 -1
  19. package/x/timeline/renderers/player/parts/playback.js +4 -2
  20. package/x/timeline/renderers/player/parts/playback.js.map +1 -1
  21. package/x/timeline/renderers/player/player.d.ts +2 -2
  22. package/x/timeline/renderers/player/player.js +17 -10
  23. package/x/timeline/renderers/player/player.js.map +1 -1
  24. package/x/driver/WebGLRenderer-OMRWYQIV.js +0 -2
  25. package/x/driver/WebGLRenderer-OMRWYQIV.js.map +0 -7
  26. package/x/driver/WebGPURenderer-KQJB2OJJ.js +0 -2
  27. package/x/driver/WebGPURenderer-KQJB2OJJ.js.map +0 -7
  28. package/x/driver/browserAll-YBZEJCN3.js +0 -2
  29. package/x/driver/browserAll-YBZEJCN3.js.map +0 -7
  30. package/x/driver/chunk-3L3MB5NY.js +0 -393
  31. package/x/driver/chunk-3L3MB5NY.js.map +0 -7
  32. package/x/driver/chunk-42BQ4XKE.js +0 -269
  33. package/x/driver/chunk-42BQ4XKE.js.map +0 -7
  34. package/x/driver/chunk-4HAYG3N5.js +0 -327
  35. package/x/driver/chunk-4HAYG3N5.js.map +0 -7
  36. package/x/driver/chunk-BFBY7VYB.js +0 -42
  37. package/x/driver/chunk-BFBY7VYB.js.map +0 -7
  38. package/x/driver/chunk-KM6O72WE.js +0 -157
  39. package/x/driver/chunk-KM6O72WE.js.map +0 -7
  40. package/x/driver/chunk-N6HD4WYJ.js +0 -2
  41. package/x/driver/chunk-N6HD4WYJ.js.map +0 -7
  42. package/x/driver/chunk-WCZ2O3UN.js +0 -15
  43. package/x/driver/chunk-WCZ2O3UN.js.map +0 -7
  44. package/x/driver/chunk-XWNSF3WJ.js +0 -2
  45. package/x/driver/chunk-XWNSF3WJ.js.map +0 -7
  46. package/x/driver/webworkerAll-BKJQW6P7.js +0 -2
  47. package/x/driver/webworkerAll-BKJQW6P7.js.map +0 -7
package/x/tests.html CHANGED
@@ -295,7 +295,7 @@ canvas {
295
295
  }
296
296
  }
297
297
  </style>
298
- <script type=module src="tests.bundle.min.js?v=a9d4e36144b6"></script>
298
+ <script type=module src="tests.bundle.min.js?v=919f2101fa5a"></script>
299
299
 
300
300
 
301
301
  <meta name="theme-color" content="#3cff9c">
@@ -25,8 +25,9 @@ export declare class Playback {
25
25
  audioGain: GainNode;
26
26
  audioNodes: Set<AudioBufferSourceNode>;
27
27
  constructor(driver: Driver, timeline: TimelineFile, resolveMedia: (hash: string) => DecoderSource);
28
+ update(timeline: TimelineFile): void;
28
29
  seek(time: Ms): Promise<import("../../../../driver/fns/schematic.js").Layer[]>;
29
- start(timeline: TimelineFile): Promise<void>;
30
+ start(): Promise<void>;
30
31
  pause(): void;
31
32
  get duration(): Ms;
32
33
  get currentTime(): Ms;
@@ -30,6 +30,9 @@ export class Playback {
30
30
  this.audioSampler = createAudioSampler(this.resolveMedia);
31
31
  this.#samples();
32
32
  }
33
+ update(timeline) {
34
+ this.timeline = timeline;
35
+ }
33
36
  async #samples() {
34
37
  for await (const _ of this.#controller.ticks()) {
35
38
  const layers = await this.playVisualSampler?.next(this.currentTime) ?? [];
@@ -44,10 +47,9 @@ export class Playback {
44
47
  this.#playbackStart = time;
45
48
  return await this.seekVisualSampler.sample(this.timeline, time);
46
49
  }
47
- async start(timeline) {
50
+ async start() {
48
51
  if (this.#controller.isPlaying())
49
52
  return;
50
- this.timeline = timeline;
51
53
  await this.audioContext.resume();
52
54
  this.#playbackStart = this.currentTime;
53
55
  this.#audioStartSec = this.audioContext.currentTime;
@@ -1 +1 @@
1
- {"version":3,"file":"playback.js","sourceRoot":"","sources":["../../../../../s/timeline/renderers/player/parts/playback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playback.js","sourceRoot":"","sources":["../../../../../s/timeline/renderers/player/parts/playback.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import { TimelineFile } from "../../parts/basics.js";
4
4
  import { DecoderSource } from "../../../driver/fns/schematic.js";
5
5
  type ResolveMedia = (hash: string) => DecoderSource;
6
6
  export declare class VideoPlayer {
7
+ #private;
7
8
  private driver;
8
- private timeline;
9
9
  canvas: HTMLCanvasElement;
10
10
  playback: Playback;
11
11
  constructor(driver: Driver, resolveMedia: ResolveMedia, timeline: TimelineFile);
@@ -18,6 +18,6 @@ export declare class VideoPlayer {
18
18
  /**
19
19
  call this whenever your timeline state changes
20
20
  */
21
- update(timeline: TimelineFile): Promise<void>;
21
+ update(timeline: TimelineFile): void;
22
22
  }
23
23
  export {};
@@ -3,25 +3,24 @@ import { fps } from "../../../units/fps.js";
3
3
  import { Playback } from "./parts/playback.js";
4
4
  export class VideoPlayer {
5
5
  driver;
6
- timeline;
7
6
  canvas;
8
7
  playback;
8
+ #pendingSeek = null;
9
+ #flushTask = null;
9
10
  constructor(driver, resolveMedia, timeline) {
10
11
  this.driver = driver;
11
- this.timeline = timeline;
12
12
  this.playback = new Playback(driver, timeline, resolveMedia);
13
13
  this.canvas = driver.compositor.pixi.renderer.canvas;
14
14
  }
15
15
  async play() {
16
- await this.playback.start(this.timeline);
16
+ await this.playback.start();
17
17
  }
18
18
  pause() {
19
19
  this.playback.pause();
20
20
  }
21
- async seek(timeMs) {
22
- const layers = await this.playback.seek(ms(timeMs));
23
- const frame = await this.driver.composite(layers);
24
- frame.close();
21
+ seek(timeMs) {
22
+ this.#pendingSeek = timeMs;
23
+ return this.#flushTask ??= this.#flushSeeks().finally(() => this.#flushTask = null);
25
24
  }
26
25
  setFPS(value) {
27
26
  this.playback.setFps(fps(value));
@@ -35,9 +34,17 @@ export class VideoPlayer {
35
34
  /**
36
35
  call this whenever your timeline state changes
37
36
  */
38
- async update(timeline) {
39
- this.timeline = timeline;
37
+ update(timeline) {
38
+ this.playback.update(timeline);
39
+ }
40
+ async #flushSeeks() {
41
+ while (this.#pendingSeek !== null) {
42
+ const next = this.#pendingSeek;
43
+ this.#pendingSeek = null;
44
+ const layers = await this.playback.seek(ms(next));
45
+ const frame = await this.driver.composite(layers);
46
+ frame.close();
47
+ }
40
48
  }
41
49
  }
42
- const toUrl = (src) => (src instanceof Blob ? URL.createObjectURL(src) : String(src));
43
50
  //# sourceMappingURL=player.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"player.js","sourceRoot":"","sources":["../../../../s/timeline/renderers/player/player.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAA;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,uBAAuB,CAAA;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAO5C,MAAM,OAAO,WAAW;IAKd;IAEA;IANT,MAAM,CAAmB;IACzB,QAAQ,CAAU;IAElB,YACS,MAAc,EACtB,YAA0B,EAClB,QAAsB;QAFtB,WAAM,GAAN,MAAM,CAAQ;QAEd,aAAQ,GAAR,QAAQ,CAAc;QAE9B,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,IAAI;QACT,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;QACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QACjD,KAAK,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,MAAM,CAAC,KAAa;QACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;IAC9B,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;IACjC,CAAC;IAED;;MAEE;IACF,KAAK,CAAC,MAAM,CAAC,QAAsB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzB,CAAC;CAED;AAED,MAAM,KAAK,GAAG,CAAC,GAAkB,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"player.js","sourceRoot":"","sources":["../../../../s/timeline/renderers/player/player.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAA;AACvC,OAAO,EAAC,GAAG,EAAC,MAAM,uBAAuB,CAAA;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAO5C,MAAM,OAAO,WAAW;IAQd;IAPT,MAAM,CAAmB;IACzB,QAAQ,CAAU;IAElB,YAAY,GAAkB,IAAI,CAAA;IAClC,UAAU,GAAyB,IAAI,CAAA;IAEvC,YACS,MAAc,EACtB,YAA0B,EAC1B,QAAsB;QAFd,WAAM,GAAN,MAAM,CAAQ;QAItB,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,IAAI;QACT,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IAC5B,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;IAED,IAAI,CAAC,MAAc;QAClB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAA;QAC1B,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IACpF,CAAC;IAED,MAAM,CAAC,KAAa;QACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;IAC9B,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;IACjC,CAAC;IAED;;MAEE;IACF,MAAM,CAAC,QAAsB;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAA;YAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACjD,KAAK,CAAC,KAAK,EAAE,CAAA;QACd,CAAC;IACF,CAAC;CACD"}
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-KM6O72WE.js";import"./chunk-4HAYG3N5.js";import"./chunk-42BQ4XKE.js";export{a as WebGLRenderer};
2
- //# sourceMappingURL=WebGLRenderer-OMRWYQIV.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-BFBY7VYB.js";import"./chunk-N6HD4WYJ.js";import"./chunk-4HAYG3N5.js";import"./chunk-42BQ4XKE.js";export{a as WebGPURenderer};
2
- //# sourceMappingURL=WebGPURenderer-KQJB2OJJ.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,2 +0,0 @@
1
- import{a as i,b as o,c as m,d as p,e}from"./chunk-WCZ2O3UN.js";import"./chunk-XWNSF3WJ.js";import"./chunk-3L3MB5NY.js";import"./chunk-N6HD4WYJ.js";import{M as t,d as r}from"./chunk-42BQ4XKE.js";r.add(i);r.mixin(t,o);r.add(m);r.mixin(t,p);r.add(e);
2
- //# sourceMappingURL=browserAll-YBZEJCN3.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../node_modules/pixi.js/src/accessibility/init.ts", "../../node_modules/pixi.js/src/events/init.ts", "../../node_modules/pixi.js/src/dom/init.ts"],
4
- "sourcesContent": ["import { extensions } from '../extensions/Extensions';\nimport { Container } from '../scene/container/Container';\nimport { AccessibilitySystem } from './AccessibilitySystem';\nimport { accessibilityTarget } from './accessibilityTarget';\n\nextensions.add(AccessibilitySystem);\nextensions.mixin(Container, accessibilityTarget);\n", "import { extensions } from '../extensions/Extensions';\nimport { Container } from '../scene/container/Container';\nimport { EventSystem } from './EventSystem';\nimport { FederatedContainer } from './FederatedEventTarget';\n\nextensions.add(EventSystem);\nextensions.mixin(Container, FederatedContainer);\n", "import { extensions } from '../extensions/Extensions';\nimport { DOMPipe } from './DOMPipe';\n\nexport * from './index';\n\nextensions.add(DOMPipe);\n"],
5
- "mappings": "kMAKAA,EAAW,IAAIC,CAAmB,EAClCD,EAAW,MAAME,EAAWC,CAAmB,ECD/CC,EAAW,IAAIC,CAAW,EAC1BD,EAAW,MAAME,EAAWC,CAAkB,ECD9CC,EAAW,IAAIC,CAAO",
6
- "names": ["extensions", "AccessibilitySystem", "Container", "accessibilityTarget", "extensions", "EventSystem", "Container", "FederatedContainer", "extensions", "DOMPipe"]
7
- }