@applemusic-like-lyrics/core 0.2.0-alpha.5 → 0.2.0

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 (78) hide show
  1. package/LICENSE +661 -661
  2. package/README.md +48 -46
  3. package/dist/amll-core.css +1 -1
  4. package/dist/amll-core.js +2198 -2117
  5. package/dist/amll-core.js.map +1 -1
  6. package/dist/bg-render/base.d.ts +1 -0
  7. package/dist/bg-render/base.d.ts.map +1 -0
  8. package/dist/bg-render/img.d.ts +1 -0
  9. package/dist/bg-render/img.d.ts.map +1 -0
  10. package/dist/bg-render/index.d.ts +1 -0
  11. package/dist/bg-render/index.d.ts.map +1 -0
  12. package/dist/bg-render/mesh-renderer/cp-generate.d.ts +1 -0
  13. package/dist/bg-render/mesh-renderer/cp-generate.d.ts.map +1 -0
  14. package/dist/bg-render/mesh-renderer/cp-presets.d.ts +22 -0
  15. package/dist/bg-render/mesh-renderer/cp-presets.d.ts.map +1 -0
  16. package/dist/bg-render/mesh-renderer/index.d.ts +9 -0
  17. package/dist/bg-render/mesh-renderer/index.d.ts.map +1 -0
  18. package/dist/bg-render/pixi-renderer.d.ts +1 -0
  19. package/dist/bg-render/pixi-renderer.d.ts.map +1 -0
  20. package/dist/canvas-test.d.ts +1 -0
  21. package/dist/canvas-test.d.ts.map +1 -0
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/interfaces.d.ts +3 -0
  25. package/dist/interfaces.d.ts.map +1 -0
  26. package/dist/lyric-player/base.d.ts +56 -2
  27. package/dist/lyric-player/base.d.ts.map +1 -0
  28. package/dist/lyric-player/bottom-line.d.ts +1 -0
  29. package/dist/lyric-player/bottom-line.d.ts.map +1 -0
  30. package/dist/lyric-player/canvas/index.d.ts +14 -0
  31. package/dist/lyric-player/canvas/index.d.ts.map +1 -0
  32. package/dist/lyric-player/canvas/lyric-line.d.ts +3 -0
  33. package/dist/lyric-player/canvas/lyric-line.d.ts.map +1 -0
  34. package/dist/lyric-player/canvas/text-layout.d.ts +1 -0
  35. package/dist/lyric-player/canvas/text-layout.d.ts.map +1 -0
  36. package/dist/lyric-player/dom/index.d.ts +6 -0
  37. package/dist/lyric-player/dom/index.d.ts.map +1 -0
  38. package/dist/lyric-player/dom/interlude-dots.d.ts +1 -0
  39. package/dist/lyric-player/dom/interlude-dots.d.ts.map +1 -0
  40. package/dist/lyric-player/dom/lyric-line.d.ts +10 -2
  41. package/dist/lyric-player/dom/lyric-line.d.ts.map +1 -0
  42. package/dist/lyric-player/dom-slim/index.d.ts +7 -1
  43. package/dist/lyric-player/dom-slim/index.d.ts.map +1 -0
  44. package/dist/lyric-player/dom-slim/interlude-dots.d.ts +1 -0
  45. package/dist/lyric-player/dom-slim/interlude-dots.d.ts.map +1 -0
  46. package/dist/lyric-player/dom-slim/lyric-line.d.ts +1 -0
  47. package/dist/lyric-player/dom-slim/lyric-line.d.ts.map +1 -0
  48. package/dist/lyric-player/index.d.ts +1 -0
  49. package/dist/lyric-player/index.d.ts.map +1 -0
  50. package/dist/mg-test.d.ts +1 -0
  51. package/dist/mg-test.d.ts.map +1 -0
  52. package/dist/utils/debounce.d.ts +1 -0
  53. package/dist/utils/debounce.d.ts.map +1 -0
  54. package/dist/utils/derivative.d.ts +1 -0
  55. package/dist/utils/derivative.d.ts.map +1 -0
  56. package/dist/utils/eq-set.d.ts +1 -0
  57. package/dist/utils/eq-set.d.ts.map +1 -0
  58. package/dist/utils/flagsets.d.ts +1 -0
  59. package/dist/utils/flagsets.d.ts.map +1 -0
  60. package/dist/utils/is-cjk.d.ts +1 -0
  61. package/dist/utils/is-cjk.d.ts.map +1 -0
  62. package/dist/utils/linear.d.ts +1 -0
  63. package/dist/utils/linear.d.ts.map +1 -0
  64. package/dist/utils/lyric-split-words.d.ts +1 -0
  65. package/dist/utils/lyric-split-words.d.ts.map +1 -0
  66. package/dist/utils/matrix.d.ts +1 -0
  67. package/dist/utils/matrix.d.ts.map +1 -0
  68. package/dist/utils/mutex.d.ts +1 -0
  69. package/dist/utils/mutex.d.ts.map +1 -0
  70. package/dist/utils/resource.d.ts +1 -0
  71. package/dist/utils/resource.d.ts.map +1 -0
  72. package/dist/utils/schedule.d.ts +1 -0
  73. package/dist/utils/schedule.d.ts.map +1 -0
  74. package/dist/utils/spring.d.ts +1 -0
  75. package/dist/utils/spring.d.ts.map +1 -0
  76. package/dist/utils/wa-spring.d.ts +1 -0
  77. package/dist/utils/wa-spring.d.ts.map +1 -0
  78. package/package.json +15 -10
@@ -107,3 +107,4 @@ export declare abstract class BaseRenderer extends AbstractBaseRenderer {
107
107
  dispose(): void;
108
108
  getElement(): HTMLElement;
109
109
  }
110
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/bg-render/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE/D,8BAAsB,oBAAqB,YAAW,UAAU,EAAE,UAAU;IAC3E;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC5C;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,IAAI,IAAI;IACtB;;OAEG;IACH,QAAQ,CAAC,MAAM,IAAI,IAAI;IACvB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAChB,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,gBAAgB,EACzD,OAAO,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAChB;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC/C;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAC7C,QAAQ,CAAC,OAAO,IAAI,IAAI;IACxB,QAAQ,CAAC,UAAU,IAAI,WAAW;CAClC;AAED,8BAAsB,YAAa,SAAQ,oBAAoB;IAIlD,SAAS,CAAC,MAAM,EAAE,iBAAiB;IAH/C,OAAO,CAAC,QAAQ,CAAiB;IACjC,SAAS,CAAC,SAAS,SAAK;IACxB,SAAS,CAAC,mBAAmB,SAAQ;gBACf,MAAM,EAAE,iBAAiB;IAiB/C,cAAc,CAAC,KAAK,EAAE,MAAM;IAW5B;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAIvD;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM;IAG1B;;;OAGG;aACe,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IACtD;;;;;OAKG;aACe,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAC3C;;OAEG;aACe,KAAK,IAAI,IAAI;IAC/B;;OAEG;aACe,MAAM,IAAI,IAAI;IAChC;;;OAGG;aACe,QAAQ,CACzB,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,gBAAgB,EACzD,OAAO,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAChB,OAAO,IAAI,IAAI;IAIN,UAAU,IAAI,WAAW;CAGlC"}
@@ -2,3 +2,4 @@ export declare function blurImage(imageData: ImageData, radius: number, quality:
2
2
  export declare function saturateImage(imageData: ImageData, saturation: number): void;
3
3
  export declare function brightnessImage(imageData: ImageData, brightness: number): void;
4
4
  export declare function contrastImage(imageData: ImageData, contrast: number): void;
5
+ //# sourceMappingURL=img.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"img.d.ts","sourceRoot":"","sources":["../../src/bg-render/img.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CACxB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,QAmHf;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAcrE;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAavE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAanE"}
@@ -26,3 +26,4 @@ export declare class BackgroundRender<Renderer extends BaseRenderer> implements
26
26
  getElement(): HTMLCanvasElement;
27
27
  dispose(): void;
28
28
  }
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bg-render/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEpE,qBAAa,gBAAgB,CAAC,QAAQ,SAAS,YAAY,CAC1D,YAAW,oBAAoB;IAE/B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAW;gBACf,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB;IASzD,MAAM,CAAC,GAAG,CAAC,QAAQ,SAAS,YAAY,EAAE,IAAI,EAAE;QAC/C,KAAK,MAAM,EAAE,iBAAiB,GAAG,QAAQ,CAAC;KAC1C,GAAG,gBAAgB,CAAC,QAAQ,CAAC;IAK9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAGjC,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAGpC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAGzB,KAAK,IAAI,IAAI;IAGb,MAAM,IAAI,IAAI;IAGd,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAGtC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAGpC,QAAQ,CACP,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,gBAAgB,EACzD,OAAO,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAGhB,UAAU;IAGV,OAAO;CAIP"}
@@ -4,3 +4,4 @@ normalOffset?: number, // = 0.3,
4
4
  blendFactor?: number, smoothIters?: number, // = 3,
5
5
  smoothFactor?: number, // = 0.3,
6
6
  smoothModifier?: number): ControlPointPreset;
7
+ //# sourceMappingURL=cp-generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cp-generate.d.ts","sourceRoot":"","sources":["../../../src/bg-render/mesh-renderer/cp-generate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEN,KAAK,kBAAkB,EAGvB,MAAM,iBAAiB,CAAC;AA6IzB,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,iBAAiB,SAAwB,EAAE,SAAS;AACpD,YAAY,SAAwB,EAAE,SAAS;AAC/C,WAAW,SAAM,EACjB,WAAW,SAAgC,EAAE,OAAO;AACpD,YAAY,SAAwB,EAAE,SAAS;AAC/C,cAAc,SAA2B,GACvC,kBAAkB,CAoDpB"}
@@ -1 +1,23 @@
1
+ /** @internal */
2
+ export interface ControlPointConf {
3
+ cx: number;
4
+ cy: number;
5
+ x: number;
6
+ y: number;
7
+ ur: number;
8
+ vr: number;
9
+ up: number;
10
+ vp: number;
11
+ }
12
+ /** @internal */
13
+ export interface ControlPointPreset {
14
+ width: number;
15
+ height: number;
16
+ conf: ControlPointConf[];
17
+ }
18
+ /** @internal */
19
+ export declare const p: (cx: number, cy: number, x: number, y: number, ur?: number, vr?: number, up?: number, vp?: number) => ControlPointConf;
20
+ /** @internal */
21
+ export declare const preset: (width: number, height: number, conf: ControlPointConf[]) => ControlPointPreset;
1
22
  export declare const CONTROL_POINT_PRESETS: readonly [ControlPointPreset, ControlPointPreset, ControlPointPreset, ControlPointPreset];
23
+ //# sourceMappingURL=cp-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cp-presets.d.ts","sourceRoot":"","sources":["../../../src/bg-render/mesh-renderer/cp-presets.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACX;AAED,gBAAgB;AAChB,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,EAAE,CAAC;CACzB;AAED,gBAAgB;AAChB,eAAO,MAAM,CAAC,GACb,IAAI,MAAM,EACV,IAAI,MAAM,EACV,GAAG,MAAM,EACT,GAAG,MAAM,EACT,WAAM,EACN,WAAM,EACN,WAAM,EACN,WAAM,KACiD,gBAAgB,CAAC;AACzE,gBAAgB;AAChB,eAAO,MAAM,MAAM,GAClB,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,MAAM,gBAAgB,EAAE,KACsB,kBAAkB,CAAC;AAElE,eAAO,MAAM,qBAAqB,2FA6FxB,CAAC"}
@@ -27,6 +27,7 @@ export declare class MeshGradientRenderer extends BaseRenderer {
27
27
  private frameTime;
28
28
  private currentImageData?;
29
29
  private lastTickTime;
30
+ private smoothedVolume;
30
31
  private volume;
31
32
  private tickHandle;
32
33
  private maxFPS;
@@ -40,6 +41,10 @@ export declare class MeshGradientRenderer extends BaseRenderer {
40
41
  private isNoCover;
41
42
  private meshStates;
42
43
  private _disposed;
44
+ private frameCount;
45
+ private lastFPSUpdate;
46
+ private currentFPS;
47
+ private enablePerformanceMonitoring;
43
48
  setManualControl(enable: boolean): void;
44
49
  setWireFrame(enable: boolean): void;
45
50
  getControlPoint(x: number, y: number): ControlPoint | undefined;
@@ -61,5 +66,9 @@ export declare class MeshGradientRenderer extends BaseRenderer {
61
66
  setLowFreqVolume(volume: number): void;
62
67
  setHasLyric(_hasLyric: boolean): void;
63
68
  dispose(): void;
69
+ enablePerformanceMonitor(enable: boolean): void;
70
+ getCurrentFPS(): number;
71
+ private updatePerformanceStats;
64
72
  }
65
73
  export {};
74
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bg-render/mesh-renderer/index.ts"],"names":[],"mappings":"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"}
@@ -20,3 +20,4 @@ export declare class PixiRenderer extends BaseRenderer {
20
20
  dispose(): void;
21
21
  getElement(): HTMLElement;
22
22
  }
23
+ //# sourceMappingURL=pixi-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-renderer.d.ts","sourceRoot":"","sources":["../../src/bg-render/pixi-renderer.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,qBAAa,YAAa,SAAQ,YAAY;cAwEd,MAAM,EAAE,iBAAiB;IAvExD,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,MAAM,CAkEZ;gBAC6B,MAAM,EAAE,iBAAiB;cAcrC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAMvD,cAAc,CAAC,KAAK,EAAE,MAAM;IAIrC,OAAO,CAAC,cAAc;IAyDb,aAAa,CAAC,MAAM,UAAQ;IAK5B,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,KAAK;IAKL,MAAM;IAIN,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvC,WAAW,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAI/B,QAAQ,CACtB,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,gBAAgB,EAC1D,OAAO,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAsDP,OAAO;IAMP,UAAU,IAAI,WAAW;CAGlC"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=canvas-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-test.d.ts","sourceRoot":"","sources":["../src/canvas-test.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './bg-render/index.ts';
2
2
  export type * from './interfaces.ts';
3
3
  export * from './lyric-player/index.ts';
4
4
  export type * as spring from './utils/spring.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,mBAAmB,iBAAiB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,YAAY,KAAK,MAAM,MAAM,mBAAmB,CAAC"}
@@ -30,6 +30,8 @@ export interface LyricWord {
30
30
  endTime: number;
31
31
  /** 单词内容 */
32
32
  word: string;
33
+ /** 单词的音译内容 */
34
+ romanWord: string;
33
35
  /** 单词内容是否包含冒犯性的不雅用语 */
34
36
  obscene: boolean;
35
37
  }
@@ -53,3 +55,4 @@ export interface LyricLine {
53
55
  /** 该行是否为对唱歌词行(即歌词行靠右对齐) */
54
56
  isDuet: boolean;
55
57
  }
58
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAC1B,0BAA0B;IAC1B,UAAU,IAAI,WAAW,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IAC1B;;;;OAIG;IACH,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,aAAa;AACb,MAAM,WAAW,SAAS;IACzB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,kBAAkB;AAClB,MAAM,WAAW,SAAS;IACzB;;;OAGG;IACH,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,2BAA2B;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,IAAI,EAAE,OAAO,CAAC;IACd,2BAA2B;IAC3B,MAAM,EAAE,OAAO,CAAC;CAChB"}
@@ -1,5 +1,5 @@
1
- import { Disposable, HasElement, LyricLine } from '../interfaces.ts';
2
- import { SpringParams } from '../utils/spring.ts';
1
+ import { Disposable, HasElement, LyricLine, LyricWord } from '../interfaces.ts';
2
+ import { Spring, SpringParams } from '../utils/spring.ts';
3
3
  import { BottomLineEl } from './bottom-line.ts';
4
4
  import { InterludeDots } from './dom/interlude-dots.ts';
5
5
  /**
@@ -8,6 +8,10 @@ import { InterludeDots } from './dom/interlude-dots.ts';
8
8
  export declare abstract class LyricPlayerBase extends EventTarget implements HasElement, Disposable {
9
9
  protected element: HTMLElement;
10
10
  protected currentTime: number;
11
+ /** @internal */
12
+ lyricLinesSize: WeakMap<LyricLineBase, [number, number]>;
13
+ /** @internal */
14
+ lyricLineElementMap: WeakMap<Element, LyricLineBase>;
11
15
  protected currentLyricLines: LyricLine[];
12
16
  protected processedLines: LyricLine[];
13
17
  protected lyricLinesIndexes: WeakMap<LyricLineBase, number>;
@@ -34,6 +38,11 @@ export declare abstract class LyricPlayerBase extends EventTarget implements Has
34
38
  protected allowScroll: boolean;
35
39
  protected isPageVisible: boolean;
36
40
  protected initialLayoutFinished: boolean;
41
+ /**
42
+ * 视图额外预渲染(overscan)距离,单位:像素。
43
+ * 用于决定在视口之外多少距离内也认为是“可见”,以便提前创建/保留行元素。
44
+ */
45
+ protected overscanPx: number;
37
46
  protected posXSpringParams: Partial<SpringParams>;
38
47
  protected posYSpringParams: Partial<SpringParams>;
39
48
  protected scaleSpringParams: Partial<SpringParams>;
@@ -42,6 +51,8 @@ export declare abstract class LyricPlayerBase extends EventTarget implements Has
42
51
  private onPageHide;
43
52
  private scrolledHandler;
44
53
  protected isScrolled: boolean;
54
+ /** @internal */
55
+ resizeObserver: ResizeObserver;
45
56
  protected wordFadeWidth: number;
46
57
  protected targetAlignIndex: number;
47
58
  constructor();
@@ -104,6 +115,13 @@ export declare abstract class LyricPlayerBase extends EventTarget implements Has
104
115
  * @param alignPosition 一个 `[0.0-1.0]` 之间的任意数字,代表组件高度由上到下的比例位置
105
116
  */
106
117
  setAlignPosition(alignPosition: number): void;
118
+ /**
119
+ * 设置 overscan(视图上下额外缓冲渲染区)距离,单位:像素。
120
+ * @param px 像素值,默认 300
121
+ */
122
+ setOverscanPx(px: number): void;
123
+ /** 获取当前 overscan 像素距离 */
124
+ getOverscanPx(): number;
107
125
  /**
108
126
  * 设置是否使用物理弹簧算法实现歌词动画效果,默认启用
109
127
  *
@@ -227,3 +245,39 @@ export declare abstract class LyricPlayerBase extends EventTarget implements Has
227
245
  getElement(): HTMLElement;
228
246
  dispose(): void;
229
247
  }
248
+ /**
249
+ * 所有标准歌词行的基类
250
+ * @internal
251
+ */
252
+ export declare abstract class LyricLineBase extends EventTarget implements Disposable {
253
+ protected top: number;
254
+ protected scale: number;
255
+ protected blur: number;
256
+ protected opacity: number;
257
+ protected delay: number;
258
+ readonly lineTransforms: {
259
+ posY: Spring;
260
+ scale: Spring;
261
+ };
262
+ abstract getLine(): LyricLine;
263
+ abstract enable(): void;
264
+ abstract disable(): void;
265
+ abstract resume(): void;
266
+ abstract pause(): void;
267
+ onLineSizeChange(_size: [number, number]): void;
268
+ setTransform(top?: number, scale?: number, opacity?: number, blur?: number, _force?: boolean, delay?: number): void;
269
+ /**
270
+ * 判定歌词是否可以应用强调辉光效果
271
+ *
272
+ * 果子在对辉光效果的解释是一种强调(emphasized)效果
273
+ *
274
+ * 条件是一个单词时长大于等于 1s 且长度小于等于 7
275
+ *
276
+ * @param word 单词
277
+ * @returns 是否可以应用强调辉光效果
278
+ */
279
+ static shouldEmphasize(word: LyricWord): boolean;
280
+ abstract update(delta?: number): void;
281
+ dispose(): void;
282
+ }
283
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/lyric-player/base.ts"],"names":[],"mappings":"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"}
@@ -24,3 +24,4 @@ export declare class BottomLineEl implements HasElement, Disposable {
24
24
  get isInSight(): boolean;
25
25
  dispose(): void;
26
26
  }
27
+ //# sourceMappingURL=bottom-line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bottom-line.d.ts","sourceRoot":"","sources":["../../src/lyric-player/bottom-line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,qBAAa,YAAa,YAAW,UAAU,EAAE,UAAU;IAW9C,OAAO,CAAC,WAAW;IAV/B,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,KAAK,CAAK;IAElB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAU;IACpC,QAAQ,CAAC,cAAc;;;MAGrB;gBACkB,WAAW,EAAE,eAAe;IAI1C,WAAW,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAO9C,OAAO,CAAC,SAAS,CAAM;IACvB,IAAI;IAGJ,IAAI;IAGJ,OAAO,CAAC,YAAY;IAcpB,UAAU;IAGV,YAAY,CACX,IAAI,GAAE,MAAkB,EACxB,GAAG,GAAE,MAAiB,EACtB,KAAK,UAAQ,EACb,KAAK,SAAI;IAoBV,MAAM,CAAC,KAAK,SAAI;IAUhB,IAAI,SAAS,YAQZ;IACD,OAAO,IAAI,IAAI;CAGf"}
@@ -4,8 +4,22 @@ import { CanvasLyricLine } from './lyric-line.ts';
4
4
  export declare class CanvasLyricPlayer extends LyricPlayerBase {
5
5
  private canvasElement;
6
6
  currentLyricLineObjects: CanvasLyricLine[];
7
+ /** @internal */
8
+ readonly ctx: CanvasRenderingContext2D;
9
+ /** @internal */
10
+ baseLineHeight: number;
11
+ /** @internal */
12
+ baseFontSize: number;
13
+ /** @internal */
14
+ baseFontFamily: string;
7
15
  constructor();
8
16
  setLyricLines(lines: LyricLine[], initialTime?: number): void;
9
17
  onResize(): void;
18
+ /**
19
+ * @internal
20
+ * @param size
21
+ */
22
+ setFontSize(emSize: number): void;
10
23
  update(delta?: number): void;
11
24
  }
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lyric-player/canvas/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,qBAAa,iBAAkB,SAAQ,eAAe;IACrD,OAAO,CAAC,aAAa,CAAoC;IAChD,uBAAuB,EAAE,eAAe,EAAE,CAAM;IACzD,gBAAgB;IAChB,QAAQ,CAAC,GAAG,2BAAwC;IACpD,gBAAgB;IAChB,cAAc,SAAK;IACnB,gBAAgB;IAChB,YAAY,SAAM;IAClB,gBAAgB;IAChB,cAAc,SAAgB;;IAwBrB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAW7D,QAAQ,IAAI,IAAI;IAgBzB;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAGxB,MAAM,CAAC,KAAK,SAAI,GAAG,IAAI;CA4BhC"}
@@ -12,6 +12,8 @@ export declare class CanvasLyricLine extends LyricLineBase {
12
12
  private translatedLayoutWords;
13
13
  private romanLayoutWords;
14
14
  private lineCanvas;
15
+ /** @internal */
16
+ relayout(): void;
15
17
  private enabled;
16
18
  enable(): void;
17
19
  disable(): void;
@@ -21,3 +23,4 @@ export declare class CanvasLyricLine extends LyricLineBase {
21
23
  get isInSight(): boolean;
22
24
  update(delta?: number): void;
23
25
  }
26
+ //# sourceMappingURL=lyric-line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lyric-line.d.ts","sourceRoot":"","sources":["../../../src/lyric-player/canvas/lyric-line.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOpD,qBAAa,eAAgB,SAAQ,aAAa;IAEhD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;gBADJ,MAAM,EAAE,iBAAiB,EACzB,IAAI,GAAE,SAQb;IAMO,OAAO,IAAI,SAAS;IAG7B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,WAAW,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAuB/B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,qBAAqB,CAA0B;IACvD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,UAAU,CAAuD;IACzE,gBAAgB;IAChB,QAAQ,IAAI,IAAI;IA8EhB,OAAO,CAAC,OAAO,CAAS;IACf,MAAM,IAAI,IAAI;IAGd,OAAO,IAAI,IAAI;IAGf,MAAM,IAAI,IAAI;IACd,KAAK,IAAI,IAAI;IACb,YAAY,CACpB,GAAG,SAAW,EACd,KAAK,SAAa,EAClB,OAAO,SAAe,EACtB,IAAI,SAAY,EAChB,KAAK,UAAQ,EACb,KAAK,SAAa,GAChB,IAAI;IAaP,IAAI,SAAS,YAMZ;IACQ,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAgBrC"}
@@ -37,3 +37,4 @@ export declare function layoutWord(ctx: CanvasRenderingContext2D, text: string,
37
37
  * @param initialX 初始 X 坐标,对于需要布局多段文本的情况下有所帮助
38
38
  */
39
39
  export declare function layoutLine(ctx: CanvasRenderingContext2D, text: string, config: TextLayoutConfig, initialX?: number): Generator<TextLayoutResult, void, void>;
40
+ //# sourceMappingURL=text-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-layout.d.ts","sourceRoot":"","sources":["../../../src/lyric-player/canvas/text-layout.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;CACV;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAiB,UAAU,CAC1B,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,QAAQ,SAAI,GACV,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,IAAI,CAAC,CA2GzD;AAED;;;;;;;GAOG;AACH,wBAAiB,UAAU,CAC1B,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,QAAQ,SAAI,GACV,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAuBzC"}
@@ -36,6 +36,11 @@ export declare class DomLyricPlayer extends LyricPlayerBase {
36
36
  readonly supportMaskImage: boolean;
37
37
  readonly innerSize: [number, number];
38
38
  private readonly onLineClickedHandler;
39
+ /**
40
+ * 是否为非逐词歌词
41
+ * @internal
42
+ */
43
+ _getIsNonDynamic(): boolean;
39
44
  private _baseFontSize;
40
45
  get baseFontSize(): number;
41
46
  constructor();
@@ -52,3 +57,4 @@ export declare class DomLyricPlayer extends LyricPlayerBase {
52
57
  update(delta?: number): void;
53
58
  dispose(): void;
54
59
  }
60
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lyric-player/dom/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAE,KAAK,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,WAAW,EAA+B,MAAM,iBAAiB,CAAC;AAE3E;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IAEjD;;OAEG;aACa,SAAS,EAAE,MAAM;IACjC;;OAEG;aACa,IAAI,EAAE,aAAa;;IAPnC;;OAEG;IACa,SAAS,EAAE,MAAM;IACjC;;OAEG;IACa,IAAI,EAAE,aAAa,EACnC,KAAK,EAAE,UAAU;CAIlB;AAED,MAAM,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAE7E;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACzC,uBAAuB,EAAE,WAAW,EAAE,CAAM;IAE5C,QAAQ,IAAI,IAAI;IAMzB,QAAQ,CAAC,kBAAkB,UAAkD;IAC7E,QAAQ,CAAC,gBAAgB,UAAsC;IAC/D,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAWnC;IACF;;;OAGG;IACH,gBAAgB;IAGhB,OAAO,CAAC,aAAa,CAEnB;IACF,IAAW,YAAY,WAEtB;;IAUD,OAAO,CAAC,YAAY;IAUX,gBAAgB,CAAC,KAAK,SAAM;IAOrC;;;;OAIG;IACM,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,WAAW,SAAI;IAqCjD,KAAK;IASL,MAAM;IASN,MAAM,CAAC,KAAK,SAAI;IAkBhB,OAAO,IAAI,IAAI;CASxB"}
@@ -20,3 +20,4 @@ export declare class InterludeDots implements HasElement, Disposable {
20
20
  update(delta?: number): void;
21
21
  dispose(): void;
22
22
  }
23
+ //# sourceMappingURL=interlude-dots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interlude-dots.d.ts","sourceRoot":"","sources":["../../../src/lyric-player/dom/interlude-dots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmBlE,qBAAa,aAAc,YAAW,UAAU,EAAE,UAAU;IAC3D,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,IAAI,CAA+C;IAC3D,OAAO,CAAC,IAAI,CAA+C;IAC3D,OAAO,CAAC,IAAI,CAA+C;IAC3D,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,qBAAqB,CAAQ;;IAOrC,UAAU;IAGV,YAAY,CAAC,IAAI,GAAE,MAAkB,EAAE,GAAG,GAAE,MAAiB;IAK7D,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IASzC,KAAK;IAIL,MAAM;IAIN,MAAM,CAAC,KAAK,SAAI;IAyGhB,OAAO;CAGP"}
@@ -1,6 +1,6 @@
1
- import { DomLyricPlayer } from '.';
2
1
  import { LyricLine, LyricWord } from '../../interfaces.ts';
3
2
  import { LyricLineBase } from '../base.ts';
3
+ import { DomLyricPlayer } from '.';
4
4
  interface RealWord extends LyricWord {
5
5
  mainElement: HTMLSpanElement;
6
6
  subElements: HTMLSpanElement[];
@@ -25,6 +25,7 @@ export declare class LyricLineEl extends LyricLineBase {
25
25
  private lyricLine;
26
26
  private element;
27
27
  private splittedWords;
28
+ private built;
28
29
  lineSize: number[];
29
30
  constructor(lyricPlayer: DomLyricPlayer, lyricLine?: LyricLine);
30
31
  private listenersMap;
@@ -47,10 +48,16 @@ export declare class LyricLineEl extends LyricLineBase {
47
48
  hide(): void;
48
49
  private rebuildStyle;
49
50
  rebuildElement(): void;
51
+ /** 设置翻译与音译行文本 */
52
+ private setSubLinesText;
53
+ /** 处理一组连写(无空格)单词,包含强调效果 */
54
+ private buildChunkGroup;
55
+ /** 渲染单个词(含强调与音译处理) */
56
+ private buildSingleWord;
50
57
  private initFloatAnimation;
51
58
  private initEmphasizeAnimation;
52
59
  private get totalDuration();
53
- onLineSizeChange(size: [number, number]): void;
60
+ onLineSizeChange(_size: [number, number]): void;
54
61
  updateMaskImageSync(): void;
55
62
  private generateCalcBasedMaskImage;
56
63
  private generateWebAnimationBasedMaskImage;
@@ -63,3 +70,4 @@ export declare class LyricLineEl extends LyricLineBase {
63
70
  dispose(): void;
64
71
  }
65
72
  export {};
73
+ //# sourceMappingURL=lyric-line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lyric-line.d.ts","sourceRoot":"","sources":["../../../src/lyric-player/dom/lyric-line.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,11 @@ export declare class DomSlimLyricPlayer extends LyricPlayerBase {
14
14
  readonly supportMaskImage: boolean;
15
15
  readonly innerSize: [number, number];
16
16
  private readonly onLineClickedHandler;
17
+ /**
18
+ * 是否为非逐词歌词
19
+ * @internal
20
+ */
21
+ _getIsNonDynamic(): boolean;
17
22
  private _baseFontSize;
18
23
  get baseFontSize(): number;
19
24
  constructor();
@@ -28,6 +33,7 @@ export declare class DomSlimLyricPlayer extends LyricPlayerBase {
28
33
  pause(): void;
29
34
  resume(): void;
30
35
  update(delta?: number): void;
31
- calcLayout(force?: boolean, reflow?: boolean): Promise<void>;
36
+ calcLayout(sync?: boolean): Promise<void>;
32
37
  dispose(): void;
33
38
  }
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lyric-player/dom-slim/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,WAAW,EAA+B,MAAM,iBAAiB,CAAC;AAE3E;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IAC7C,uBAAuB,EAAE,WAAW,EAAE,CAAM;IAErD,OAAO,CAAC,kBAAkB,CAaxB;IAEO,QAAQ,IAAI,IAAI;IAqBzB,QAAQ,CAAC,kBAAkB,UAAkD;IAC7E,QAAQ,CAAC,gBAAgB,UAAsC;IAC/D,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAWnC;IACF;;;OAGG;IACH,gBAAgB;IAGhB,OAAO,CAAC,aAAa,CAEnB;IACF,IAAW,YAAY,WAEtB;;IAUD,OAAO,CAAC,YAAY;IAUX,gBAAgB,CAAC,KAAK,SAAM;IAOrC;;;;OAIG;IACM,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,WAAW,SAAI;IAiCjD,KAAK;IAQL,MAAM;IAQN,MAAM,CAAC,KAAK,SAAI;IAYV,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC/C,OAAO,IAAI,IAAI;CASxB"}
@@ -20,3 +20,4 @@ export declare class InterludeDots implements HasElement, Disposable {
20
20
  update(delta?: number): void;
21
21
  dispose(): void;
22
22
  }
23
+ //# sourceMappingURL=interlude-dots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interlude-dots.d.ts","sourceRoot":"","sources":["../../../src/lyric-player/dom-slim/interlude-dots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmBlE,qBAAa,aAAc,YAAW,UAAU,EAAE,UAAU;IAC3D,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,IAAI,CAA+C;IAC3D,OAAO,CAAC,IAAI,CAA+C;IAC3D,OAAO,CAAC,IAAI,CAA+C;IAC3D,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,qBAAqB,CAAQ;;IAOrC,UAAU;IAGV,YAAY,CAAC,IAAI,GAAE,MAAkB,EAAE,GAAG,GAAE,MAAiB;IAK7D,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IASzC,KAAK;IAIL,MAAM;IAIN,MAAM,CAAC,KAAK,SAAI;IAqGhB,OAAO;CAGP"}
@@ -68,3 +68,4 @@ export declare class LyricLineEl extends LyricLineBase {
68
68
  dispose(): void;
69
69
  }
70
70
  export {};
71
+ //# sourceMappingURL=lyric-line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lyric-line.d.ts","sourceRoot":"","sources":["../../../src/lyric-player/dom-slim/lyric-line.ts"],"names":[],"mappings":"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"}
@@ -8,3 +8,4 @@ export {
8
8
  * 默认导出的歌词播放组件
9
9
  */
10
10
  DomLyricPlayer as LyricPlayer, };
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lyric-player/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAE/B,OAAO;AACN;;GAEG;AACH,cAAc,IAAI,WAAW,GAC7B,CAAC"}
package/dist/mg-test.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=mg-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mg-test.d.ts","sourceRoot":"","sources":["../src/mg-test.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  export declare function debounce<T extends Function>(cb: T, wait?: number): (...args: any) => void;
2
2
  export declare function debounceFrame<T extends Function>(cb: T, frameTime?: number): (...args: any) => void;
3
+ //# sourceMappingURL=debounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../src/utils/debounce.ts"],"names":[],"mappings":"AACA,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,SAAK,aAGjC,GAAG,UAK9B;AAGD,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,SAAI,aAI1C,GAAG,UAa9B"}
@@ -1,2 +1,3 @@
1
1
  export declare function derivative(f: (x: number) => number): (x: number) => number;
2
2
  export declare function getVelocity(f: (t: number) => number): (t: number) => number;
3
+ //# sourceMappingURL=derivative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivative.d.ts","sourceRoot":"","sources":["../../src/utils/derivative.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,IAE1C,GAAG,MAAM,YACjB;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAE3E"}
@@ -1 +1,2 @@
1
1
  export declare const eqSet: <T>(xs: Set<T>, ys: Set<T>) => boolean;
2
+ //# sourceMappingURL=eq-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eq-set.d.ts","sourceRoot":"","sources":["../../src/utils/eq-set.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,OAGiB,CAAC"}
@@ -15,3 +15,4 @@ export declare class FlagSets {
15
15
  delete(flag: number): void;
16
16
  has(flag: number): boolean;
17
17
  }
18
+ //# sourceMappingURL=flagsets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flagsets.d.ts","sourceRoot":"","sources":["../../src/utils/flagsets.ts"],"names":[],"mappings":"AAEA,qBAAa,QAAQ;IACpB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAK;IAElB,IAAI,IAAI,WAEP;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;;;;;;;;;IAuBjB,GAAG,CAAC,IAAI,EAAE,MAAM;IAUhB,MAAM,CAAC,IAAI,EAAE,MAAM;IAUnB,GAAG,CAAC,IAAI,EAAE,MAAM;CAKhB"}
@@ -1 +1,2 @@
1
1
  export declare const isCJK: (char: string) => boolean;
2
+ //# sourceMappingURL=is-cjk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-cjk.d.ts","sourceRoot":"","sources":["../../src/utils/is-cjk.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,YAEjC,CAAC"}
@@ -19,3 +19,4 @@ export declare class Linear {
19
19
  setTargetPosition(targetPosition: number, delay?: number): void;
20
20
  getCurrentPosition(): number;
21
21
  }
22
+ //# sourceMappingURL=linear.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/utils/linear.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,MAAM;IAClB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,WAAW,CAIN;IACb,OAAO,CAAC,aAAa,CAKR;gBACD,eAAe,SAAI;IAK/B,OAAO,CAAC,WAAW;IASnB,OAAO;IAOP,WAAW,CAAC,cAAc,EAAE,MAAM;IAKlC,MAAM,CAAC,KAAK,SAAI;IAuBhB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,SAAI;IAgBrD,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,SAAI;IAanD,kBAAkB;CAGlB"}
@@ -9,3 +9,4 @@ import { LyricWord } from '../interfaces.ts';
9
9
  * @returns 重新分组后的单词数组
10
10
  */
11
11
  export declare function chunkAndSplitLyricWords(words: LyricWord[]): (LyricWord | LyricWord[])[];
12
+ //# sourceMappingURL=lyric-split-words.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lyric-split-words.d.ts","sourceRoot":"","sources":["../../src/utils/lyric-split-words.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,SAAS,EAAE,GAChB,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,CA0F7B"}
@@ -23,3 +23,4 @@ export declare function scaleMatrix4(m: Matrix4, scale?: number, origin?: {
23
23
  }): Matrix4;
24
24
  export declare function translateMatrix4(m: Matrix4, x?: number, y?: number, z?: number): Matrix4;
25
25
  export declare function matrix4ToCSS(m: Matrix4, fractionDigits?: number): string;
26
+ //# sourceMappingURL=matrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/utils/matrix.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,OAAO,GAAG;IACrB,MAAM;IAAE,MAAM;IAAE,MAAM;IAAE,MAAM;IAC9B,MAAM;IAAE,MAAM;IAAE,MAAM;IAAE,MAAM;IAC9B,MAAM;IAAE,MAAM;IAAE,MAAM;IAAE,MAAM;IAC9B,MAAM;IAAE,MAAM;IAAE,MAAM;IAAE,MAAM;CAC9B,CAAC;AAEF,wBAAgB,aAAa,IAAI,OAAO,CAQvC;AAED,wBAAgB,YAAY,CAC3B,CAAC,EAAE,OAAO,EACV,KAAK,SAAI,EACT,MAAM;;;CAAiB,GACrB,OAAO,CAST;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,GAAG,OAAO,CAQzE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,SAAI,GAAG,MAAM,CAGnE"}
@@ -1,2 +1,3 @@
1
1
  export declare function mutexifyFunction<F extends (...args: Args) => Promise<Result>, Args extends any[], Result>(func: F): F;
2
2
  export default mutexifyFunction;
3
+ //# sourceMappingURL=mutex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutex.d.ts","sourceRoot":"","sources":["../../src/utils/mutex.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAC/B,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,EAC5C,IAAI,SAAS,GAAG,EAAE,EAClB,MAAM,EACL,IAAI,EAAE,CAAC,GAAG,CAAC,CA+BZ;AAED,eAAe,gBAAgB,CAAC"}
@@ -2,3 +2,4 @@ export declare function loadImage(imageUrl: string): Promise<HTMLImageElement>;
2
2
  export declare function loadVideo(videoUrl: string): Promise<HTMLVideoElement>;
3
3
  export declare function loadResourceFromUrl(url: string, isVideo?: boolean): Promise<HTMLImageElement | HTMLVideoElement>;
4
4
  export declare function loadResourceFromElement(element: HTMLImageElement | HTMLVideoElement): Promise<HTMLImageElement | HTMLVideoElement>;
5
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/utils/resource.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASrE;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2CrE;AAED,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,UAAQ,GACb,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAE9C;AAED,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,GAC1C,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAa9C"}
@@ -4,3 +4,4 @@
4
4
  */
5
5
  export declare function measure<T>(callback: () => T): Promise<T>;
6
6
  export declare function mutate(callback: () => void): Promise<unknown>;
7
+ //# sourceMappingURL=schedule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/utils/schedule.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyCH,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAaxD;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,oBAa1C"}
@@ -24,3 +24,4 @@ export declare class Spring {
24
24
  setTargetPosition(targetPosition: number, delay?: number): void;
25
25
  getCurrentPosition(): number;
26
26
  }
27
+ //# sourceMappingURL=spring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spring.d.ts","sourceRoot":"","sources":["../../src/utils/spring.ts"],"names":[],"mappings":"AAEA,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACd;AAID,qBAAa,MAAM;IAClB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,WAAW,CAIN;IACb,OAAO,CAAC,aAAa,CAKR;gBACD,eAAe,SAAI;IAO/B,OAAO,CAAC,WAAW;IAanB,OAAO;IASP,WAAW,CAAC,cAAc,EAAE,MAAM;IAOlC,MAAM,CAAC,KAAK,SAAI;IAqBhB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,SAAI;IAgBrD,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,SAAI;IAanD,kBAAkB;CAGlB"}
@@ -31,3 +31,4 @@ export declare class WebAnimationSpring extends EventTarget implements Disposabl
31
31
  dispose(): void;
32
32
  }
33
33
  export {};
34
+ //# sourceMappingURL=wa-spring.d.ts.map