@applemusic-like-lyrics/lyric 0.2.0 → 0.2.1

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/README.md CHANGED
@@ -21,7 +21,7 @@
21
21
  | QQ 音乐逐词歌词格式 `.qrc` | ✅ | ✅ [^1] | ✅ [^1] | ✅ | / | ✅ | ✅ | ✅ |
22
22
  | Lyricify Syllable 逐词歌词格式 `.lys` | ✅ | ✅ [^1] | ✅ [^1] | ✅ [^2] | ✅ [^2] | / | ✅ | ✅ |
23
23
  | TTML 歌词格式 `.ttml` | ✅ | ✅ [^1] | ✅ [^1] | ✅ [^2] | ✅ [^2] | ✅ [^3] | / | ✅ |
24
- | ASS 字幕格式 `.ass` | | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | / |
24
+ | ASS 字幕格式 `.ass` | | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | / |
25
25
 
26
26
  [^1]: 会丢失逐词时间数据、演唱属性(背景人声,对唱人声)和 AMLL 元数据
27
27
  [^2]: 会丢失演唱属性(背景人声,对唱人声)和 AMLL 元数据
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "SteveXMH <39523898+Steve-xmh@users.noreply.github.com>"
5
5
  ],
6
6
  "description": "一个歌词解析/生成模块,着重于歌词内容解析,支持多种格式",
7
- "version": "0.2.0",
7
+ "version": "0.2.1",
8
8
  "license": "GPL-3.0",
9
9
  "repository": {
10
10
  "type": "git",
@@ -135,4 +135,18 @@ export interface LyricLine {
135
135
  */
136
136
  export function decryptQrcHex(hexData: string): string;
137
137
 
138
+ /**
139
+ * 一个 TTML 歌词行对象,存储了歌词行信息和元数据信息
140
+ */
141
+ export interface TTMLLyric {
142
+ /**
143
+ * TTML 中存储的歌词行信息
144
+ */
145
+ lines: LyricLine[];
146
+ /**
147
+ * 一个元数据表,以 `[键, 值数组]` 的形式存储
148
+ */
149
+ metadata: [string, string[]][];
150
+ }
151
+
138
152
 
@@ -378,6 +378,38 @@ export function stringifyQrc(lrc) {
378
378
  }
379
379
  }
380
380
 
381
+ /**
382
+ * @param {string} src
383
+ * @returns {any}
384
+ */
385
+ export function parseTTML(src) {
386
+ const ptr0 = passStringToWasm0(src, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
387
+ const len0 = WASM_VECTOR_LEN;
388
+ const ret = wasm.parseTTML(ptr0, len0);
389
+ return takeObject(ret);
390
+ }
391
+
392
+ /**
393
+ * @param {any} lrc
394
+ * @returns {string}
395
+ */
396
+ export function stringifyTTML(lrc) {
397
+ let deferred1_0;
398
+ let deferred1_1;
399
+ try {
400
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
401
+ wasm.stringifyTTML(retptr, addHeapObject(lrc));
402
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
403
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
404
+ deferred1_0 = r0;
405
+ deferred1_1 = r1;
406
+ return getStringFromWasm0(r0, r1);
407
+ } finally {
408
+ wasm.__wbindgen_add_to_stack_pointer(16);
409
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
410
+ }
411
+ }
412
+
381
413
  /**
382
414
  * @param {string} src
383
415
  * @returns {any}
Binary file
@@ -11,6 +11,8 @@ export function parseLys(a: number, b: number): number;
11
11
  export function stringifyLys(a: number, b: number): void;
12
12
  export function parseQrc(a: number, b: number): number;
13
13
  export function stringifyQrc(a: number, b: number): void;
14
+ export function parseTTML(a: number, b: number): number;
15
+ export function stringifyTTML(a: number, b: number): void;
14
16
  export function parseYrc(a: number, b: number): number;
15
17
  export function stringifyYrc(a: number, b: number): void;
16
18
  export function wasm_start(): void;