@applemusic-like-lyrics/lyric 0.2.0 → 0.2.2

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.2",
8
8
  "license": "GPL-3.0",
9
9
  "repository": {
10
10
  "type": "git",
@@ -135,4 +135,31 @@ export interface LyricLine {
135
135
  */
136
136
  export function decryptQrcHex(hexData: string): string;
137
137
 
138
+ /**
139
+ * 一个 TTML 歌词行对象,存储了歌词行信息和 AMLL 元数据信息
140
+ */
141
+ export interface TTMLLyric {
142
+ /**
143
+ * TTML 中存储的歌词行信息
144
+ */
145
+ lines: LyricLine[];
146
+ /**
147
+ * 一个元数据表,以 `[键, 值数组]` 的形式存储
148
+ */
149
+ metadata: [string, string[]][];
150
+ }
151
+
152
+ /**
153
+ * 解析 TTML 格式(包含 AMLL 特有属性信息)的歌词字符串
154
+ * @param src 歌词字符串
155
+ * @returns 成功解析出来的 TTML 歌词对象
156
+ */
157
+ export function parseTTML(src: string): TTMLLyric;
158
+
159
+ /**
160
+ * 将歌词数组转换为 TTML 格式(包含 AMLL 特有属性信息)的歌词字符串
161
+ * @param lyric TTML 歌词对象
162
+ */
163
+ export function stringifyTTML(lyric: TTMLLyric): string;
164
+
138
165
 
@@ -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}
@@ -454,6 +486,15 @@ export function __wbindgen_error_new(arg0, arg1) {
454
486
  return addHeapObject(ret);
455
487
  };
456
488
 
489
+ export function __wbindgen_string_get(arg0, arg1) {
490
+ const obj = getObject(arg1);
491
+ const ret = typeof(obj) === 'string' ? obj : undefined;
492
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
493
+ var len1 = WASM_VECTOR_LEN;
494
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
495
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
496
+ };
497
+
457
498
  export function __wbindgen_is_object(arg0) {
458
499
  const val = getObject(arg0);
459
500
  const ret = typeof(val) === 'object' && val !== null;
@@ -470,15 +511,6 @@ export function __wbindgen_in(arg0, arg1) {
470
511
  return ret;
471
512
  };
472
513
 
473
- export function __wbindgen_string_get(arg0, arg1) {
474
- const obj = getObject(arg1);
475
- const ret = typeof(obj) === 'string' ? obj : undefined;
476
- var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
477
- var len1 = WASM_VECTOR_LEN;
478
- getInt32Memory0()[arg0 / 4 + 1] = len1;
479
- getInt32Memory0()[arg0 / 4 + 0] = ptr1;
480
- };
481
-
482
514
  export function __wbindgen_boolean_get(arg0) {
483
515
  const v = getObject(arg0);
484
516
  const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;
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;