textalive-react-api 0.3.2 → 0.4.14

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.
@@ -1,17 +1,24 @@
1
1
  import { Context } from 'react';
2
2
  import { DetailedHTMLProps } from 'react';
3
3
  import { FC } from 'react';
4
+ import { ForwardRefExoticComponent } from 'react';
4
5
  import { HTMLAttributes } from 'react';
5
- import { Interpolation } from '@emotion/serialize';
6
- import { Option as Option_2 } from 'react-dropdown-now';
7
6
  import { ReactNode } from 'react';
7
+ import { RefAttributes } from 'react';
8
8
  import { RefObject } from 'react';
9
+ import { SliderProps } from '@mantine/core';
10
+ import { TextProps } from '@mantine/core';
9
11
 
10
12
  /**
11
13
  * TextAlive ログインに使えるサービス / Account service for TextAlive login
14
+ *
15
+ * @internal
12
16
  */
13
17
  declare type AccountService = "twitter" | "github" | "youtube" | "piapro" | "songle";
14
18
 
19
+ /**
20
+ * @internal
21
+ */
15
22
  declare interface Asset {
16
23
  originalUrl: string;
17
24
  contentType?: number;
@@ -24,6 +31,9 @@ declare interface Asset {
24
31
  createdDate?: string;
25
32
  }
26
33
 
34
+ /**
35
+ * @internal
36
+ */
27
37
  declare interface AssetLicense {
28
38
  code?: number;
29
39
  condition?: {
@@ -40,7 +50,7 @@ declare interface AssetLicense {
40
50
  * 背景グラフィックに関するイベントのリスナ
41
51
  *
42
52
  * Event listener for background graphics
43
- * @public
53
+ * @internal
44
54
  */
45
55
  declare interface BackgroundGraphicsListener {
46
56
  /**
@@ -53,6 +63,9 @@ declare interface BackgroundGraphicsListener {
53
63
  onBackgroundGraphicsUpdate?(backgroundImage: BackgroundImageAsset): void;
54
64
  }
55
65
 
66
+ /**
67
+ * @internal
68
+ */
56
69
  declare interface BackgroundImageAsset extends Asset {
57
70
  css?: string;
58
71
  x?: number;
@@ -68,33 +81,14 @@ declare interface CharData extends UnitData, FontData {
68
81
  char?: string;
69
82
  }
70
83
 
71
- export declare const Check: FC<CheckProps>;
72
-
73
- export declare interface CheckProps {
74
- label?: ReactNode;
75
- labelTitle?: string;
76
- value: boolean;
77
- onValueChange?(value: boolean): void;
78
- styles?: CheckStyles;
79
- }
80
-
81
- export declare interface CheckStyles {
82
- container?: Interpolation;
83
- containerDisabled?: Interpolation;
84
- track?: Interpolation;
85
- trackChecked?: Interpolation;
86
- button?: Interpolation;
87
- buttonChecked?: Interpolation;
88
- }
89
-
90
84
  export declare const CheckWidget: FC<CheckWidgetProps>;
91
85
 
92
86
  export declare interface CheckWidgetProps {
93
87
  widget: ParameterWidget;
94
- value: any;
88
+ value: ParameterValue;
95
89
  onValueChange?(value: boolean): void;
96
90
  withoutName?: boolean;
97
- styles?: CheckStyles;
91
+ description?: string | RegionalText;
98
92
  }
99
93
 
100
94
  /**
@@ -116,21 +110,30 @@ declare interface ColorData {
116
110
  export declare const ColorPicker: FC<ColorPickerProps>;
117
111
 
118
112
  export declare interface ColorPickerProps {
113
+ position?: WidgetPosition;
119
114
  label?: ReactNode;
115
+ /**
116
+ * @deprecated use `description` instead
117
+ */
120
118
  labelTitle?: string;
119
+ description?: string;
121
120
  value: IColor;
122
121
  colorFactory(hexString: string): IColor;
123
122
  onValueChange?(value: IColor): void;
124
123
  }
125
124
 
125
+ export declare const ColorsContext: Context<string[] | null>;
126
+
126
127
  export declare const ColorWidget: FC<ColorWidgetProps>;
127
128
 
128
129
  export declare interface ColorWidgetProps {
130
+ position?: WidgetPosition;
129
131
  widget: ParameterWidget;
130
- value: any;
132
+ value: ParameterValue;
131
133
  colorFactory(hexString: string): IColor;
132
134
  onValueChange?(value: IColor): void;
133
135
  withoutName?: boolean;
136
+ description?: string | RegionalText;
134
137
  }
135
138
 
136
139
  /**
@@ -141,6 +144,9 @@ export declare interface ColorWidgetProps {
141
144
  */
142
145
  declare type DataLoaderListener = VideoLoaderListener & SongLoaderListener & TextLoaderListener & FontLoaderListener;
143
146
 
147
+ /**
148
+ * @public
149
+ */
144
150
  declare interface DecomposedProps {
145
151
  x?: number;
146
152
  y?: number;
@@ -151,6 +157,9 @@ declare interface DecomposedProps {
151
157
  rotation?: number;
152
158
  }
153
159
 
160
+ /**
161
+ * @internal
162
+ */
154
163
  declare interface EndpointData {
155
164
  fallback: {
156
165
  protocol: string;
@@ -164,6 +173,17 @@ declare interface EndpointData {
164
173
  protocol?: string;
165
174
  domain: string;
166
175
  server?: string;
176
+ appToken?: string;
177
+ authUser?: string;
178
+ authToken?: string;
179
+ };
180
+ content: {
181
+ protocol?: string;
182
+ domain: string;
183
+ server?: string;
184
+ };
185
+ client: {
186
+ version?: string;
167
187
  };
168
188
  }
169
189
 
@@ -173,20 +193,21 @@ declare interface EndpointData {
173
193
  * Find options for sorted timed objects
174
194
  * @public
175
195
  */
176
- declare interface FindTimedObjectOptions {
196
+ declare type FindTimedObjectOptions = {
177
197
  /**
178
198
  * 指定された場合、探索対象の時刻とこの時刻情報がなす区間と重複する時刻付きオブジェクトを返す
179
199
  *
180
200
  * When specified, find an object that overlaps with the specified range rather than the timing
181
201
  */
182
202
  endTime?: number;
203
+ } | {
183
204
  /**
184
205
  * 指定された場合、時刻付きオブジェクトは必ずしも探索対象の時刻を含んでいなくてもよい(二分探索の結果をそのまま返す)
185
206
  *
186
207
  * When specified, an object does not need to contain the specified timing (result from the binary tree search is always returned)
187
208
  */
188
209
  loose?: boolean;
189
- }
210
+ };
190
211
 
191
212
  /**
192
213
  * @public
@@ -197,13 +218,23 @@ declare interface FontData {
197
218
  fontStyle?: string;
198
219
  }
199
220
 
221
+ export declare const FontFamilyDropdown: FC<FontFamilyDropdownProps>;
222
+
223
+ export declare interface FontFamilyDropdownProps extends Omit<SelectDropdownProps, "options"> {
224
+ value: string;
225
+ onValueChange?(value: string): void;
226
+ withPrivate?: boolean;
227
+ }
228
+
200
229
  export declare const FontFamilyWidget: FC<FontFamilyWidgetProps>;
201
230
 
202
231
  export declare interface FontFamilyWidgetProps {
203
232
  widget: ParameterWidget;
204
233
  value: any;
205
234
  onValueChange?(value: ParameterValue): void;
235
+ withPrivate?: boolean;
206
236
  withoutName?: boolean;
237
+ description?: string | RegionalText;
207
238
  }
208
239
 
209
240
  /**
@@ -237,10 +268,21 @@ declare interface FontInfo {
237
268
  * URL of the CSS file
238
269
  */
239
270
  url?: string;
271
+ /**
272
+ * CSSのURL (頻出文字のみを抽出したサブセット)
273
+ *
274
+ * URL of the CSS file (Subset fonts for frequently-used chars)
275
+ */
276
+ compactUrl?: string;
277
+ /**
278
+ * プライベートフォントか否か
279
+ */
280
+ isPrivate?: boolean;
240
281
  /**
241
282
  * モリサワ TypeSquare フォントか否か
242
283
  *
243
284
  * Whether this font is provided by Morisawa TypeSquare or not
285
+ * @internal
244
286
  */
245
287
  typesquare?: boolean;
246
288
  /**
@@ -256,6 +298,12 @@ declare interface FontInfo {
256
298
  * @internal
257
299
  */
258
300
  typekit?: boolean;
301
+ /**
302
+ * フォントのグループ名
303
+ *
304
+ * Optional font group name
305
+ */
306
+ group?: string;
259
307
  }
260
308
 
261
309
  /**
@@ -285,12 +333,12 @@ declare interface FontLoadingError extends Error {
285
333
  export declare const FontsContext: Context<FontInfo[] | null>;
286
334
 
287
335
  /**
288
- * @public
336
+ * @internal
289
337
  */
290
338
  declare type GraphicData = UnitData;
291
339
 
292
340
  /**
293
- * @public
341
+ * @internal
294
342
  */
295
343
  declare interface GraphicsDriver {
296
344
  /**
@@ -353,20 +401,32 @@ declare interface GraphicsDriver {
353
401
 
354
402
  export declare const GraphicsDriverContext: Context<GraphicsDriver | null>;
355
403
 
404
+ /**
405
+ * @internal
406
+ */
356
407
  declare interface IAssetLicenceLoader {
357
408
  read(url: string, skipOptoutCheck?: boolean): Promise<Asset>;
358
409
  }
359
410
 
411
+ /**
412
+ * @internal
413
+ */
360
414
  declare interface IAssetURLManager {
361
415
  isUploaderAsset(asset: Asset): boolean;
362
416
  isPiaproAsset(asset: Asset): boolean;
363
417
  }
364
418
 
419
+ /**
420
+ * @internal
421
+ */
365
422
  declare interface IBackgroundAssetManager {
366
423
  checkBackgroundImageLicense(license: AssetLicense): boolean;
367
424
  getQueryParameter(backgroundImage: BackgroundImageAsset): string;
368
425
  }
369
426
 
427
+ /**
428
+ * @internal
429
+ */
370
430
  declare interface IBackgroundGraphicsLoader {
371
431
  readonly background: BackgroundImageAsset;
372
432
  readonly defaultBackgroundCss: string;
@@ -377,12 +437,19 @@ declare interface IBackgroundGraphicsLoader {
377
437
  exportPartialVideoEntry(options: VideoExportOptions): Partial<VideoEntry>;
378
438
  }
379
439
 
440
+ /**
441
+ * @internal
442
+ */
380
443
  declare type IBackgroundPlayer = IBackgroundURLManager & IAssetURLManager & IBackgroundAssetManager & IAssetLicenceLoader;
381
444
 
445
+ /**
446
+ * @internal
447
+ */
382
448
  declare interface IBackgroundURLManager {
383
449
  isBlankBackgroundAsset(background: BackgroundImageAsset): boolean;
384
450
  isBackgroundColorAsset(background: BackgroundImageAsset): boolean;
385
451
  isBackgroundPiaproImageAsset(background: BackgroundImageAsset): boolean;
452
+ isBackgroundRawImageAsset(background: BackgroundImageAsset): boolean;
386
453
  isBackgroundSpecialImageAsset(background: BackgroundImageAsset): boolean;
387
454
  }
388
455
 
@@ -391,9 +458,7 @@ declare interface IBackgroundURLManager {
391
458
  * @public
392
459
  */
393
460
  declare interface IBeat extends TimedObject {
394
- /**
395
- * @inheritDoc
396
- */
461
+ /** @inheritDoc */
397
462
  readonly endTime: number;
398
463
  /** ビート間隔 [ms] / Duration [ms] */
399
464
  readonly duration: number;
@@ -417,24 +482,15 @@ declare interface IBeat extends TimedObject {
417
482
  }
418
483
 
419
484
  /**
485
+ * 文字 / Character
420
486
  * @public
421
487
  */
422
488
  declare interface IChar extends ITextUnit {
423
- /**
424
- * @inheritDoc
425
- */
426
- animate: RenderingUnitFunction<IChar>;
427
- /**
428
- * @inheritDoc
429
- */
489
+ /** @inheritDoc */
430
490
  readonly parent: IWord;
431
- /**
432
- * @inheritDoc
433
- */
491
+ /** @inheritDoc */
434
492
  readonly previous: IChar;
435
- /**
436
- * @inheritDoc
437
- */
493
+ /** @inheritDoc */
438
494
  readonly next: IChar;
439
495
  }
440
496
 
@@ -481,8 +537,14 @@ declare interface IColor {
481
537
  value: number;
482
538
  /** 色情報の16進数表現 (RGB) / Hex string (RGB) */
483
539
  readonly rgb: string;
484
- /** 色情報の16進数表現 (RGBA) / Hex string (RGBA) */
540
+ /** 色情報のCSS互換表現 (RGB; e.g., rgba(17,34,51)) / Color info in CSS-compatible format (RGB; e.g., rgba(17,34,51)) */
541
+ readonly cssRgb: string;
542
+ /** 色情報の16進数表現 (RGBA; e.g., #11223300) / Hex string (RGBA; e.g., #11223300) */
485
543
  readonly rgba: string;
544
+ /** 色情報の16進数表現 (ARGB; e.g., 0x00112233) / Hex string (ARGB; e.g., 0x00112233) */
545
+ readonly argb: string;
546
+ /** 色情報のCSS互換表現 (RGBA; e.g., rgba(17,34,51,0)) / Color info in CSS-compatible format (RGBA; e.g., rgba(17,34,51,0)) */
547
+ readonly cssRgba: string;
486
548
  /**
487
549
  * @param color - 色情報 / Color
488
550
  * @returns 色情報が一致するか否か / Whether the specified color info matches the current info
@@ -503,9 +565,9 @@ declare interface IColor {
503
565
  */
504
566
  from(color: string | number | IColor): void;
505
567
  /**
506
- * 色情報をセットする
568
+ * 16進数で表された文字情報の色情報をセットする
507
569
  *
508
- * Set color info
570
+ * Set color info (Hex string RGB or RGBA e.g., #123 or #11223300)
509
571
  * @param color - 色情報の文字列表現 / Information source in string
510
572
  */
511
573
  fromString(color: string): void;
@@ -513,43 +575,56 @@ declare interface IColor {
513
575
  * 色情報をセットする
514
576
  *
515
577
  * Set color info
516
- * @param val - 色情報の数値表現 / Information source in number
578
+ * @param val - 色情報の数値表現 (32 bit ARGB または 24 bit RGB) / Information source in number (32 bit ARGB or 24 bit RGB)
517
579
  * @param withAlpha - 透明度付きか否か / Whether alpha value is included or not
518
580
  */
519
581
  fromNumber(val: number, withAlpha?: boolean): void;
520
582
  }
521
583
 
522
584
  /**
523
- * **IDataLoader**
524
- *
525
- * 読み込まれている音楽地図などの情報
585
+ * 読み込まれている音楽地図や歌詞などの情報にアクセスするためのインタフェース
526
586
  *
527
- * Current video materials
587
+ * This interface provides access to song map and lyrics information.
528
588
  * @public
529
589
  */
530
590
  declare interface IDataLoader extends ISongExplorer {
531
591
  /** TextAlive サービスのURL / TextAlive website url */
532
592
  readonly permalink: string;
533
- /** 動画データ / Video data */
593
+ /**
594
+ * 動画データ / Video data
595
+ * @internal
596
+ */
534
597
  readonly video: VideoEntry;
535
598
  /** 楽曲情報 / Song info */
536
599
  readonly song: Song;
537
- /** 楽曲の解析ステータス / Song analysis status */
600
+ /**
601
+ * 楽曲の解析ステータス / Song analysis status
602
+ * @internal
603
+ */
538
604
  readonly songStatus: SongStatus;
539
605
  /** 音楽地図情報 / Song map info */
540
606
  readonly songMap: ISongMap;
541
- /** 歌詞の発声タイミング推定ID / Lyrics timing estimation ID */
607
+ /**
608
+ * 歌詞の発声タイミング推定ID / Lyrics timing estimation ID
609
+ * @deprecated Use {@link LyricsInfo.id} property instead
610
+ */
542
611
  readonly lyricsId: number;
543
612
  /** 歌詞の発声タイミング情報 / Lyrics timing info */
544
- readonly lyrics: LyricsDiffInfo;
613
+ readonly lyrics: LyricsInfo;
545
614
  /** 歌詞の情報 / Lyrics info */
546
615
  readonly lyricsBody: LyricsBody;
547
- /** 歌詞テキスト / Lyrics text */
616
+ /**
617
+ * 歌詞テキスト / Lyrics text
618
+ * @deprecated Use {@link LyricsBody.text} property instead
619
+ */
548
620
  readonly text: string;
549
621
  /** フォントの読み込みステータス / Font loading status */
550
622
  readonly fonts: IFontLoader;
551
623
  }
552
624
 
625
+ /**
626
+ * @internal
627
+ */
553
628
  declare interface IEndpointManager extends EndpointData {
554
629
  songle: {
555
630
  protocol?: string;
@@ -560,6 +635,13 @@ declare interface IEndpointManager extends EndpointData {
560
635
  protocol: string;
561
636
  domain: string;
562
637
  server: string;
638
+ appToken?: string;
639
+ authUser?: string;
640
+ authToken?: string;
641
+ };
642
+ client: {
643
+ version: string;
644
+ axios?: any;
563
645
  };
564
646
  }
565
647
 
@@ -615,16 +697,24 @@ declare interface IFont {
615
697
  toString(scaleFactor?: number): string;
616
698
  }
617
699
 
700
+ /**
701
+ * @internal
702
+ */
618
703
  declare interface IFontInfoManager {
619
704
  endpoint: string;
705
+ clearCache(): void;
620
706
  getFrequentChars(): Promise<string>;
621
- listAvailableFonts(): Promise<FontInfo[]>;
707
+ listAvailableFonts(options?: ListAvailableFontsOptions): Promise<FontInfo[]>;
622
708
  }
623
709
 
624
710
  /**
625
711
  * @public
626
712
  */
627
713
  declare interface IFontLoader {
714
+ /**
715
+ * プライベートフォントを対象に含めるかどうか / Whether private fonts are included
716
+ */
717
+ isPrivateFontEnabled: boolean;
628
718
  /**
629
719
  * 読み込みに失敗したフォントの一覧 / List of fonts failed to load
630
720
  */
@@ -658,6 +748,7 @@ declare interface IFontLoader {
658
748
  * Load all required fonts to render the specified video data
659
749
  * @param json - 動画データ / Video data
660
750
  * @returns 読み込まれたフォントの一覧 / List of loaded fonts
751
+ * @internal
661
752
  */
662
753
  loadForVideo(json: VideoData): Promise<FontInfo[]>;
663
754
  /**
@@ -666,36 +757,36 @@ declare interface IFontLoader {
666
757
  * List up required fonts to render the specified video data
667
758
  * @param json - 動画データ / Video data
668
759
  * @returns フォント名の一覧 / List of font family names
760
+ * @internal
669
761
  */
670
762
  listFontFamiliesInVideo(json: VideoData): string[];
671
763
  /**
672
764
  * 利用可能なフォントの一覧を取得する
673
765
  *
674
766
  * List up all available fonts
767
+ * @param options - オプション / Options
675
768
  * @returns フォントの一覧 / List of fonts
769
+ * @internal
676
770
  */
677
- listAvailableFonts(): Promise<FontInfo[]>;
771
+ listAvailableFonts(options?: ListAvailableFontsOptions): Promise<FontInfo[]>;
678
772
  }
679
773
 
680
774
  /**
681
- * @public
775
+ * グラフィック / Graphic
776
+ * @internal
682
777
  */
683
778
  declare interface IGraphic extends IRenderingUnit {
684
- /**
685
- * @inheritDoc
686
- */
687
- animate: RenderingUnitFunction<IGraphic>;
688
- /**
689
- * @inheritDoc
690
- */
779
+ /** @inheritDoc */
691
780
  readonly previous: IGraphic;
692
- /**
693
- * @inheritDoc
694
- */
781
+ /** @inheritDoc */
695
782
  readonly next: IGraphic;
696
783
  }
697
784
 
785
+ /**
786
+ * @internal
787
+ */
698
788
  declare interface ILyricsBodyFetcher {
789
+ clearLyricBodyCache(): void;
699
790
  parseLyricBody(text: string, parserUrl: string): Promise<string>;
700
791
  fetchLyricBody(lyricUrl: string, options: {
701
792
  parserPath: string;
@@ -704,18 +795,31 @@ declare interface ILyricsBodyFetcher {
704
795
  fetchLocalLyricBody(lyricIdOrSongCode: number | string): Promise<LyricsBody>;
705
796
  }
706
797
 
798
+ /**
799
+ * @internal
800
+ */
707
801
  declare interface ILyricsDiffManager {
708
802
  loadDiffs(songCode: string, lyricsId: number): Promise<LyricsDiffs>;
709
803
  loadDiff(songCode: string, lyricsId: number, diffId: number): Promise<LyricsDiffInfo>;
710
804
  }
711
805
 
806
+ /**
807
+ * @internal
808
+ */
712
809
  declare interface ILyricsLoader {
810
+ clearCache(): void;
713
811
  load(songCode: string): Promise<SongleLyrics>;
714
812
  loadDetail(songCode: string, lyricsId: number): Promise<LyricsInfo>;
715
813
  }
716
814
 
815
+ /**
816
+ * @internal
817
+ */
717
818
  declare type ILyricsPlayer = ILyricsURLManager & ILyricsDiffManager & ILyricsBodyFetcher & ILyricsLoader;
718
819
 
820
+ /**
821
+ * @internal
822
+ */
719
823
  declare interface ILyricsURLManager {
720
824
  isUploaderUrl(url: string): boolean;
721
825
  parseUploaderUrl(url: string): {
@@ -775,8 +879,10 @@ declare interface IMatrix2D {
775
879
  * Generates matrix properties from the specified display object transform properties, and appends them to this matrix.
776
880
  * For example, you can use this to generate a matrix representing the transformations of a display object:
777
881
  *
882
+ * ```
778
883
  * var mtx = new createjs.Matrix2D();
779
884
  * mtx.appendTransform(o.x, o.y, o.scaleX, o.scaleY, o.rotation);
885
+ * ```
780
886
  * @param x
781
887
  * @param y
782
888
  * @param scaleX
@@ -845,12 +951,14 @@ declare interface IMatrix2D {
845
951
  * This is the equivalent of multiplying `(specified matrix) * (this matrix)`.
846
952
  * For example, you could calculate the combined transformation for a child object using:
847
953
  *
954
+ * ```
848
955
  * var o = myDisplayObject;
849
956
  * var mtx = o.getMatrix();
850
957
  * while (o = o.parent) {
851
958
  * // prepend each parent's transformation in turn:
852
959
  * o.prependMatrix(o.getMatrix());
853
960
  * }
961
+ * ```
854
962
  * @param matrix
855
963
  * @returns This matrix. Useful for chaining method calls.
856
964
  */
@@ -859,15 +967,14 @@ declare interface IMatrix2D {
859
967
  * Generates matrix properties from the specified display object transform properties, and prepends them to this matrix.
860
968
  * For example, you could calculate the combined transformation for a child object using:
861
969
  *
862
- * var o = myDisplayObject;
863
- * var mtx = new createjs.Matrix2D();
864
- * do {
865
- * // prepend each parent's transformation in turn:
866
- * mtx.prependTransform(o.x, o.y, o.scaleX, o.scaleY, o.rotation, o.skewX, o.skewY, o.regX, o.regY);
867
- * } while (o = o.parent);
868
- *
869
- * Note that the above example would not account for {@link https://www.createjs.com/docs/easeljs/classes/DisplayObject.html#property_transformMatrix}
870
- * values. See {@link IMatrix2D.prependMatrix} for an example that does.
970
+ * ```
971
+ * var o = myDisplayObject;
972
+ * var mtx = new createjs.Matrix2D();
973
+ * do {
974
+ * // prepend each parent's transformation in turn:
975
+ * mtx.prependTransform(o.x, o.y, o.scaleX, o.scaleY, o.rotation, o.skewX, o.skewY, o.regX, o.regY);
976
+ * } while (o = o.parent);
977
+ * ```
871
978
  * @param x
872
979
  * @param y
873
980
  * @param scaleX
@@ -934,24 +1041,15 @@ declare interface IMatrix2D {
934
1041
  }
935
1042
 
936
1043
  /**
1044
+ * フレーズ / Phrase
937
1045
  * @public
938
1046
  */
939
1047
  declare interface IPhrase extends ITextUnit {
940
- /**
941
- * @inheritDoc
942
- */
943
- animate: RenderingUnitFunction<IPhrase>;
944
- /**
945
- * @inheritDoc
946
- */
1048
+ /** @inheritDoc */
947
1049
  readonly children: IWord[];
948
- /**
949
- * @inheritDoc
950
- */
1050
+ /** @inheritDoc */
951
1051
  readonly previous: IPhrase;
952
- /**
953
- * @inheritDoc
954
- */
1052
+ /** @inheritDoc */
955
1053
  readonly next: IPhrase;
956
1054
  readonly wordCount: number;
957
1055
  readonly charCount: number;
@@ -965,9 +1063,9 @@ declare interface IPhrase extends ITextUnit {
965
1063
  /**
966
1064
  * **IPlayer**
967
1065
  *
968
- * TextAlive のプレイヤーが実装するインタフェースです。
1066
+ * Player の機能を抽象化したインタフェースです。
969
1067
  *
970
- * TextAlive Player implements this interface.
1068
+ * This interface provides abstraction of the Player features.
971
1069
  * @public
972
1070
  */
973
1071
  declare interface IPlayer {
@@ -978,15 +1076,15 @@ declare interface IPlayer {
978
1076
  */
979
1077
  readonly options: PlayerOptions;
980
1078
  /**
981
- * TextAlive アプリの状態
1079
+ * リリックアプリの状態
982
1080
  *
983
- * TextAlive app status
1081
+ * Lyric app status
984
1082
  */
985
1083
  readonly app: IPlayerApp;
986
1084
  /**
987
- * 読み込まれている音楽地図などの情報
1085
+ * 読み込み済みの音楽地図など楽曲に関する情報
988
1086
  *
989
- * Current video materials
1087
+ * Current song map and other information related to the musical piece
990
1088
  */
991
1089
  readonly data: IDataLoader;
992
1090
  /**
@@ -1175,13 +1273,13 @@ declare interface IPlayer {
1175
1273
  */
1176
1274
  readonly isVideoSeeking: boolean;
1177
1275
  /**
1178
- * TextAlive Player の情報を表示する `IPlayerBanner` インスタンスです。
1276
+ * Player の情報を表示する `IPlayerBanner` インスタンスです。
1179
1277
  *
1180
1278
  * A banner instance that shows the player info.
1181
1279
  */
1182
1280
  readonly banner: IPlayerBanner;
1183
1281
  /**
1184
- * TextAlive Player の音源の再生状態を管理する `Timer` インスタンスです。
1282
+ * Player の音源の再生状態を管理する `Timer` インスタンスです。
1185
1283
  *
1186
1284
  * A timer instance that controls the player status.
1187
1285
  */
@@ -1300,7 +1398,7 @@ declare interface IPlayer {
1300
1398
  * Get chorus parts in the current song
1301
1399
  *
1302
1400
  * @see {@link IDataLoader.getChoruses}
1303
- * @returns サビ情報(見つからなければ空の配列)
1401
+ * @returns サビ情報(見つからなければ空の配列) / Chorus parts (empty array if not found)
1304
1402
  */
1305
1403
  getChoruses(): IRepetitiveSegment[];
1306
1404
  /**
@@ -1310,21 +1408,32 @@ declare interface IPlayer {
1310
1408
  *
1311
1409
  * @see {@link IDataLoader.findChorus}
1312
1410
  * @param time - 位置 [ms] / Position [ms]
1313
- * @param options - optional parameters for finding a chorus part
1314
- * @returns サビ情報(見つからなければ `null`)
1411
+ * @param options - 取得オプション / Optional parameters for finding a chorus part
1412
+ * @returns サビ情報(見つからなければ `null`) / Chorus part info (`null` if not found)
1315
1413
  */
1316
1414
  findChorus(time: number, options?: PlayerFindOptions): IRepetitiveSegment;
1317
1415
  /**
1318
1416
  * @deprecated Use of {@link IPlayer.findChorusBetween} is deprecated - find a chorus part with {@link IPlayer.findChorus} instead.
1319
1417
  */
1320
1418
  findChorusBetween(startTime: number, endTime: number): IRepetitiveSegment;
1419
+ /**
1420
+ * 指定された時区間のサビ情報の変化を取得する
1421
+ *
1422
+ * Look for chorus part transitions in the specified time range
1423
+ *
1424
+ * @see {@link IDataLoader.findChorusChange}
1425
+ * @param startTime - 時区間の開始位置 [ms] / Start position [ms]
1426
+ * @param endTime - 時区間の終了位置 [ms] / End position [ms]
1427
+ * @returns サビ情報の変化 / Chorus part transitions
1428
+ */
1429
+ findChorusChange(startTime: number, endTime: number): TimedObjectsInRange<IRepetitiveSegment>;
1321
1430
  /**
1322
1431
  * 楽曲中のビートに関する情報を取得する
1323
1432
  *
1324
1433
  * Get beats in the current song
1325
1434
  *
1326
1435
  * @see {@link IDataLoader.getBeats}
1327
- * @returns ビート情報(見つからなければ空の配列)
1436
+ * @returns ビート情報(見つからなければ空の配列) / Beats (empty array if not found)
1328
1437
  */
1329
1438
  getBeats(): IBeat[];
1330
1439
  /**
@@ -1334,17 +1443,28 @@ declare interface IPlayer {
1334
1443
  *
1335
1444
  * @see {@link IDataLoader.findBeat}
1336
1445
  * @param time - 位置 [ms] / Position [ms]
1337
- * @param options - 探索オプション / Optional parameters for finding beat
1338
- * @returns ビート情報(見つからなければ `null`)
1446
+ * @param options - 取得オプション / Optional parameters for finding beat
1447
+ * @returns ビート情報(見つからなければ `null`) / Beat info (`null` if not found)
1339
1448
  */
1340
1449
  findBeat(time: number, options?: PlayerFindOptions): IBeat;
1450
+ /**
1451
+ * 指定された時区間のビート情報の変化を取得する
1452
+ *
1453
+ * Look for beat transitions in the specified time range
1454
+ *
1455
+ * @see {@link IDataLoader.findBeatChange}
1456
+ * @param startTime - 時区間の開始位置 [ms] / Start position [ms]
1457
+ * @param endTime - 時区間の終了位置 [ms] / End position [ms]
1458
+ * @returns ビート情報の変化 / Beat transitions
1459
+ */
1460
+ findBeatChange(startTime: number, endTime: number): TimedObjectsInRange<IBeat>;
1341
1461
  /**
1342
1462
  * 楽曲中のコード進行に関する情報を取得する
1343
1463
  *
1344
1464
  * Get chord info in the current song
1345
1465
  *
1346
1466
  * @see {@link IDataLoader.getChords}
1347
- * @returns コード進行の情報(見つからなければ空の配列)
1467
+ * @returns コード進行の情報(見つからなければ空の配列) / Chord info (empty array if not found)
1348
1468
  */
1349
1469
  getChords(): IChord[];
1350
1470
  /**
@@ -1355,18 +1475,29 @@ declare interface IPlayer {
1355
1475
  * @see {@link IDataLoader.findChord}
1356
1476
  * @param time - 位置 [ms] / Position [ms]
1357
1477
  * @param options - 探索オプション / Optional parameters for finding chord
1358
- * @returns コード進行(見つからなければ `null`)
1478
+ * @returns コード進行(見つからなければ `null`) / Chord info (`null` if not found)
1359
1479
  */
1360
1480
  findChord(time: number, options?: PlayerFindOptions): IChord;
1481
+ /**
1482
+ * 指定された時区間のコード進行の変化を取得する
1483
+ *
1484
+ * Look for chord progressions in the specified time range
1485
+ *
1486
+ * @see {@link IDataLoader.findChordChange}
1487
+ * @param startTime - 時区間の開始位置 [ms] / Start position [ms]
1488
+ * @param endTime - 時区間の終了位置 [ms] / End position [ms]
1489
+ * @returns コード進行の変化 / Chord progressions
1490
+ */
1491
+ findChordChange(startTime: number, endTime: number): TimedObjectsInRange<IChord>;
1361
1492
  /**
1362
1493
  * 指定された位置の音高情報を取得する
1363
1494
  *
1364
- * - {@link PlayerOptions.vocalFrequencyEnabled} を `true` にセットしておく必要があります
1495
+ * - 取得するには、あらかじめプレイヤー初期化オプション {@link PlayerOptions.vocalFrequencyEnabled} を `true` にセットしておく必要があります
1365
1496
  * - 今後、仕様変更の可能性があります
1366
1497
  *
1367
1498
  * Get vocal frequency at the specified timing
1368
1499
  *
1369
- * - {@link PlayerOptions.vocalFrequencyEnabled} needs to be `true`
1500
+ * - Constructor option {@link PlayerOptions.vocalFrequencyEnabled} needs to be `true`
1370
1501
  * - This API is subject to change in the future
1371
1502
  *
1372
1503
  * @see {@link IDataLoader.getVocalFrequency}
@@ -1378,8 +1509,14 @@ declare interface IPlayer {
1378
1509
  /**
1379
1510
  * 指定された位置の声量を取得する
1380
1511
  *
1512
+ * - 取得するには、あらかじめプレイヤー初期化オプション {@link PlayerOptions.vocalAmplitudeEnabled} を `true` にセットしておく必要があります
1513
+ * - 返値は 0 以上 {@link IPlayer.getMaxVocalAmplitude} で取得できる最大値以下の値
1514
+ *
1381
1515
  * Get vocal amplitude at the specified timing
1382
1516
  *
1517
+ * - Constructor option {@link PlayerOptions.vocalAmplitudeEnabled} needs to be `true`
1518
+ * - Return value ranges from 0 to the maximum value that can be retrieved by {@link IPlayer.getMaxVocalAmplitude}
1519
+ *
1383
1520
  * @see {@link IDataLoader.getVocalAmplitude}
1384
1521
  * @param time - 位置 [ms] / Position [ms]
1385
1522
  * @returns 声量
@@ -1388,8 +1525,12 @@ declare interface IPlayer {
1388
1525
  /**
1389
1526
  * 楽曲中の最大声量を取得する
1390
1527
  *
1528
+ * - 取得するには、あらかじめプレイヤー初期化オプション {@link PlayerOptions.vocalAmplitudeEnabled} を `true` にセットしておく必要があります
1529
+ *
1391
1530
  * Get maximum vocal amplitude
1392
1531
  *
1532
+ * - Constructor option {@link PlayerOptions.vocalAmplitudeEnabled} needs to be `true`
1533
+ *
1393
1534
  * @see {@link IDataLoader.getMaxVocalAmplitude}
1394
1535
  * @returns 最大声量
1395
1536
  */
@@ -1397,8 +1538,12 @@ declare interface IPlayer {
1397
1538
  /**
1398
1539
  * 指定された位置のV/A空間中の座標を取得する
1399
1540
  *
1541
+ * - 取得するには、あらかじめプレイヤー初期化オプション {@link PlayerOptions.valenceArousalEnabled} を `true` にセットしておく必要があります
1542
+ *
1400
1543
  * Get valence arousal value at the specified timing
1401
1544
  *
1545
+ * - Constructor option {@link PlayerOptions.valenceArousalEnabled} needs to be `true`
1546
+ *
1402
1547
  * @see {@link IDataLoader.getValenceArousal}
1403
1548
  * @param time - 位置 [ms] / Position [ms]
1404
1549
  * @returns 座標値
@@ -1407,8 +1552,12 @@ declare interface IPlayer {
1407
1552
  /**
1408
1553
  * V/A空間中の座標遷移の中央値を取得する
1409
1554
  *
1555
+ * - 取得するには、あらかじめプレイヤー初期化オプション {@link PlayerOptions.valenceArousalEnabled} を `true` にセットしておく必要があります
1556
+ *
1410
1557
  * Get median valence arousal value throughout the song
1411
1558
  *
1559
+ * - Constructor option {@link PlayerOptions.valenceArousalEnabled} needs to be `true`
1560
+ *
1412
1561
  * @see {@link IDataLoader.getMedianValenceArousal}
1413
1562
  * @returns 座標値
1414
1563
  */
@@ -1512,18 +1661,42 @@ declare interface IPlayer {
1512
1661
  }
1513
1662
 
1514
1663
  /**
1515
- * TextAlive アプリの情報
1664
+ * リリックアプリの情報
1516
1665
  *
1517
- * TextAlive app information
1666
+ * Lyric app information
1518
1667
  * @public
1519
1668
  */
1520
1669
  declare interface IPlayerApp {
1521
1670
  /**
1522
- * TextAlive アプリのオプション
1671
+ * リリックアプリのオプション
1523
1672
  *
1524
- * TextAlive app options
1673
+ * Lyric app options
1525
1674
  */
1526
1675
  readonly options: PlayerAppOptions;
1676
+ /**
1677
+ * アプリの名前
1678
+ *
1679
+ * Name of this application
1680
+ */
1681
+ name: string;
1682
+ /**
1683
+ * アプリ作者の名前
1684
+ *
1685
+ * Name of the author of this application
1686
+ */
1687
+ author: string;
1688
+ /**
1689
+ * アプリの状態
1690
+ *
1691
+ * Status of this application
1692
+ */
1693
+ status: number;
1694
+ /**
1695
+ * TextAlive API サーバの情報
1696
+ *
1697
+ * TextAlive server info
1698
+ */
1699
+ readonly server: PlayerAppServer;
1527
1700
  /**
1528
1701
  * TextAlive のホストに接続されているか否か
1529
1702
  *
@@ -1537,13 +1710,19 @@ declare interface IPlayerApp {
1537
1710
  */
1538
1711
  readonly host: PlayerAppHost;
1539
1712
  /**
1540
- * クエリパラメタなどによりホストから指定されている再生対象の楽曲URL
1713
+ * クエリパラメタまたはTextAliveホストにより指定されている再生対象の楽曲URL
1714
+ *
1715
+ * - アプリは起動時にクエリパラメタを調べ、楽曲が指定されていれば自動的に {@link IPlayer.createFromSongUrl} で楽曲情報の読み込みを開始します(ホストに接続されていても、クエリパラメタによる指定がなければ空になります)
1716
+ * - アプリがTextAliveホストに接続されると、ホストの指示により楽曲が上書きされることがあります(この後に {@link PlayerAppListener.onAppMediaChange} イベントが呼ばれます)
1541
1717
  *
1542
1718
  * Song url specified by the query parameter or updated by the media message
1719
+ *
1720
+ * - During the initialization of this app, it automatically looks for the song URL in the query parameter. When the song URL is specified, it loads the song by calling {@link IPlayer.createFromSongUrl}.
1721
+ * - When the app is connected to a host, the host might overwrite the song URL, resulting in the {@link PlayerAppListener.onAppMediaChange} event.
1543
1722
  */
1544
1723
  readonly songUrl: string;
1545
1724
  /**
1546
- * クエリパラメタなどによりホストから指定されている楽曲データの読み込みオプション
1725
+ * クエリパラメタまたはTextAliveホストにより指定されている楽曲データの読み込みオプション
1547
1726
  *
1548
1727
  * Options to load song data specified by the query parameter or updated by the media message
1549
1728
  */
@@ -1557,7 +1736,7 @@ declare interface IPlayerApp {
1557
1736
  /**
1558
1737
  * ホストへの接続中か否か
1559
1738
  *
1560
- * Whether the player is connecting to a host
1739
+ * Whether the player is trying to connect to a host
1561
1740
  */
1562
1741
  readonly isConnecting: boolean;
1563
1742
  /**
@@ -1579,7 +1758,7 @@ declare interface IPlayerApp {
1579
1758
  /**
1580
1759
  * **IPlayerBanner**
1581
1760
  *
1582
- * TextAlive Player の情報を表示する `IPlayerBanner` インスタンスです。Webブラウザで実行されると以下のようなDOM要素が生成されます。
1761
+ * Player の情報を表示する `IPlayerBanner` インスタンスです。Webブラウザで実行されると以下のようなDOM要素が生成されます。
1583
1762
  *
1584
1763
  * - CSSクラス `textalive-banner` を持つ {@link IPlayer.mediaElement} の子要素になります
1585
1764
  * - TextAliveサービスサイトへのリンクになっているアイコンを子要素に持ちます
@@ -1608,7 +1787,7 @@ declare interface IPlayerBanner {
1608
1787
  * TextAlive の各種APIアクセスを司るマネージャのコレクションです。
1609
1788
  *
1610
1789
  * TextAlive manager instances.
1611
- * @public
1790
+ * @internal
1612
1791
  */
1613
1792
  declare interface IPlayerManagers {
1614
1793
  asset?: IBackgroundPlayer;
@@ -1680,12 +1859,6 @@ declare interface IPoint {
1680
1859
  * @public
1681
1860
  */
1682
1861
  declare interface IRenderingUnit extends TimedObject {
1683
- /**
1684
- * このプロパティに関数が定義されているとき、 TextAlive の通常動作(割り当て済みテンプレートの `animate` 関数を呼ぶ)はスキップされ、この関数が呼ばれる
1685
- *
1686
- * When `animate` function is defined, TextAlive default behavior (call `animate` functions of all assigned template instances) is suppressed and this function is called instead
1687
- */
1688
- animate: RenderingUnitFunction<IRenderingUnit>;
1689
1862
  readonly parent: IRenderingUnit;
1690
1863
  readonly children: IRenderingUnit[];
1691
1864
  readonly previous: IRenderingUnit;
@@ -1708,6 +1881,12 @@ declare interface IRenderingUnit extends TimedObject {
1708
1881
  * @internal
1709
1882
  */
1710
1883
  readonly templateCount: number;
1884
+ /**
1885
+ * このプロパティに関数が定義されているとき、 TextAlive の通常動作(割り当て済みテンプレートの `animate` 関数を呼ぶ)はスキップされ、この関数が呼ばれる
1886
+ *
1887
+ * When `animate` function is defined, TextAlive default behavior (call `animate` functions of all assigned template instances) is suppressed and this function is called instead
1888
+ */
1889
+ animate: RenderingUnitFunction;
1711
1890
  /**
1712
1891
  * 指定された楽曲中の位置をこの描画ユニット中の位置 `[0, 1]` にマッピングして返す
1713
1892
  *
@@ -1789,12 +1968,18 @@ export declare function isJa(profile?: {
1789
1968
  language?: string;
1790
1969
  }): boolean;
1791
1970
 
1971
+ /**
1972
+ * 読み込まれている音楽地図の情報にアクセスするためのインタフェース
1973
+ *
1974
+ * This interface provides access to song map information etc.
1975
+ * @public
1976
+ */
1792
1977
  declare interface ISongExplorer {
1793
1978
  /**
1794
1979
  * 楽曲中のサビに関する情報を取得する
1795
1980
  *
1796
1981
  * Get chorus parts in the current song
1797
- * @returns サビ情報(見つからなければ空の配列)
1982
+ * @returns サビ情報(見つからなければ空の配列) / Chorus parts (empty array if not found)
1798
1983
  */
1799
1984
  getChoruses(): IRepetitiveSegment[];
1800
1985
  /**
@@ -1802,19 +1987,29 @@ declare interface ISongExplorer {
1802
1987
  *
1803
1988
  * Find a chorus part that overlaps with the specified timing
1804
1989
  * @param time - 位置 [ms] / Position [ms]
1805
- * @param options - optional parameters for finding a chorus part
1806
- * @returns サビ情報(見つからなければ `null`)
1990
+ * @param options - 取得オプション / Optional parameters for finding a chorus part
1991
+ * @returns サビ情報(見つからなければ `null`) / Chorus part info (`null` if not found)
1807
1992
  */
1808
1993
  findChorus(time: number, options?: PlayerFindOptions): IRepetitiveSegment;
1809
1994
  /**
1810
1995
  * @deprecated Use of {@link ISongExplorer.findChorusBetween} is deprecated - find a chorus part with {@link ISongExplorer.findChorus} instead.
1811
1996
  */
1812
1997
  findChorusBetween(startTime: number, endTime: number): IRepetitiveSegment;
1998
+ /**
1999
+ * 指定された時区間のサビ情報の変化を取得する
2000
+ *
2001
+ * Look for chorus part transitions in the specified time range
2002
+ *
2003
+ * @param startTime - 時区間の開始位置 [ms] / Start position [ms]
2004
+ * @param endTime - 時区間の終了位置 [ms] / End position [ms]
2005
+ * @returns サビ情報の変化 / Chorus part transitions
2006
+ */
2007
+ findChorusChange(startTime: number, endTime: number): TimedObjectsInRange<IRepetitiveSegment>;
1813
2008
  /**
1814
2009
  * 楽曲中のビートに関する情報を取得する
1815
2010
  *
1816
2011
  * Get beats in the current song
1817
- * @returns ビート情報(見つからなければ空の配列)
2012
+ * @returns ビート情報(見つからなければ空の配列) / Beats (empty array if not found)
1818
2013
  */
1819
2014
  getBeats(): IBeat[];
1820
2015
  /**
@@ -1822,15 +2017,25 @@ declare interface ISongExplorer {
1822
2017
  *
1823
2018
  * Find beat that overlaps with the specified timing
1824
2019
  * @param time - 位置 [ms] / Position [ms]
1825
- * @param options - 探索オプション / Optional parameters for finding beat
1826
- * @returns ビート情報(見つからなければ `null`)
2020
+ * @param options - 取得オプション / Optional parameters for finding beat
2021
+ * @returns ビート情報(見つからなければ `null`) / Beat info (`null` if not found)
1827
2022
  */
1828
2023
  findBeat(time: number, options?: PlayerFindOptions): IBeat;
2024
+ /**
2025
+ * 指定された時区間のビート情報の変化を取得する
2026
+ *
2027
+ * Look for beat transitions in the specified time range
2028
+ *
2029
+ * @param startTime - 時区間の開始位置 [ms] / Start position [ms]
2030
+ * @param endTime - 時区間の終了位置 [ms] / End position [ms]
2031
+ * @returns ビート情報の変化 / Beat transitions
2032
+ */
2033
+ findBeatChange(startTime: number, endTime: number): TimedObjectsInRange<IBeat>;
1829
2034
  /**
1830
2035
  * 楽曲中のコード進行に関する情報を取得する
1831
2036
  *
1832
2037
  * Get chord info in the current song
1833
- * @returns コード進行の情報(見つからなければ空の配列)
2038
+ * @returns コード進行の情報(見つからなければ空の配列) / Chord info (empty array if not found)
1834
2039
  */
1835
2040
  getChords(): IChord[];
1836
2041
  /**
@@ -1838,20 +2043,27 @@ declare interface ISongExplorer {
1838
2043
  *
1839
2044
  * Find chord that overlaps with the specified timing
1840
2045
  * @param time - 位置 [ms] / Position [ms]
1841
- * @param options - 探索オプション / Optional parameters for finding chord
1842
- * @returns コード進行(見つからなければ `null`)
2046
+ * @param options - 探索オプション / Optional parameters for finding a chord
2047
+ * @returns コード進行(見つからなければ `null`) / Chord info (`null` if not found)
1843
2048
  */
1844
2049
  findChord(time: number, options?: PlayerFindOptions): IChord;
1845
2050
  /**
1846
- * 指定された位置の音高情報を取得する
2051
+ * 指定された時区間のコード進行の変化を取得する
1847
2052
  *
1848
- * - {@link PlayerOptions.vocalFrequencyEnabled} を `true` にセットしておく必要があります
1849
- * - 今後、仕様変更の可能性があります
2053
+ * Look for chord progressions in the specified time range
2054
+ *
2055
+ * @param startTime - 時区間の開始位置 [ms] / Start position [ms]
2056
+ * @param endTime - 時区間の終了位置 [ms] / End position [ms]
2057
+ * @returns コード進行の変化 / Chord progressions
2058
+ */
2059
+ findChordChange(startTime: number, endTime: number): TimedObjectsInRange<IChord>;
2060
+ /**
2061
+ * 指定された位置の音高情報を取得する
1850
2062
  *
1851
2063
  * Get vocal frequency at the specified timing
1852
2064
  *
1853
- * - {@link PlayerOptions.vocalFrequencyEnabled} needs to be `true`
1854
- * - This API is subject to change in the future
2065
+ * - このメソッドを使うには {@link Player} の初期化オプション({@link PlayerOptions#vocalFrequencyEnabled} を `true` にする必要があります(今後、仕様変更の可能性があります)
2066
+ * - To use this method, {@link Player} constructor option {@link PlayerOptions#vocalFrequencyEnabled} needs to be `true` (this API is subject to change in the future)
1855
2067
  *
1856
2068
  * @param time - 位置 [ms] / Position [ms]
1857
2069
  * @returns 音高情報
@@ -1862,39 +2074,65 @@ declare interface ISongExplorer {
1862
2074
  * 指定された位置の声量を取得する
1863
2075
  *
1864
2076
  * Get vocal amplitude at the specified timing
2077
+ *
2078
+ * - このメソッドを使うには {@link Player} の初期化オプション({@link PlayerOptions#vocalAmplitudeEnabled} を `true` にする必要があります
2079
+ * - To use this method, {@link Player} constructor option {@link PlayerOptions#vocalAmplitudeEnabled} needs to be `true`
2080
+ *
1865
2081
  * @param time - 位置 [ms] / Position [ms]
1866
2082
  * @returns 声量
2083
+ * @see {@link PlayerOptions}
1867
2084
  */
1868
2085
  getVocalAmplitude(time: number): number;
1869
2086
  /**
1870
2087
  * 楽曲中の最大声量を取得する
1871
2088
  *
1872
2089
  * Get maximum vocal amplitude
2090
+ *
2091
+ * - このメソッドを使うには {@link Player} の初期化オプション({@link PlayerOptions#vocalAmplitudeEnabled} を `true` にする必要があります
2092
+ * - To use this method, {@link Player} constructor option {@link PlayerOptions#vocalAmplitudeEnabled} needs to be `true`
2093
+ *
1873
2094
  * @returns 最大声量
2095
+ * @see {@link PlayerOptions}
1874
2096
  */
1875
2097
  getMaxVocalAmplitude(): number;
1876
2098
  /**
1877
2099
  * 指定された位置のV/A空間中の座標を取得する
1878
2100
  *
1879
2101
  * Get valence arousal value at the specified timing
2102
+ *
2103
+ * - このメソッドを使うには {@link Player} の初期化オプション({@link PlayerOptions#valenceArousalEnabled} を `true` にする必要があります
2104
+ * - To use this method, {@link Player} constructor option {@link PlayerOptions#valenceArousalEnabled} needs to be `true`
2105
+ *
1880
2106
  * @param time - 位置 [ms] / Position [ms]
1881
2107
  * @returns 座標値
2108
+ * @see {@link PlayerOptions}
1882
2109
  */
1883
2110
  getValenceArousal(time: number): ValenceArousalValue;
1884
2111
  /**
1885
2112
  * V/A空間中の座標遷移の中央値を取得する
1886
2113
  *
1887
2114
  * Get median valence arousal value throughout the song
2115
+ *
2116
+ * - このメソッドを使うには {@link Player} の初期化オプション({@link PlayerOptions#valenceArousalEnabled} を `true` にする必要があります
2117
+ * - To use this method, {@link Player} constructor option {@link PlayerOptions#valenceArousalEnabled} needs to be `true`
2118
+ *
1888
2119
  * @returns 座標値
2120
+ * @see {@link PlayerOptions}
1889
2121
  */
1890
2122
  getMedianValenceArousal(): ValenceArousalValue;
1891
2123
  }
1892
2124
 
2125
+ /**
2126
+ * @internal
2127
+ */
1893
2128
  declare interface ISongInfoLoader {
1894
2129
  loadVocalAmplitude(identifier: number | string): Promise<VocalAmplitude>;
1895
2130
  loadValenceArousal(identifier: number | string): Promise<ValenceArousal>;
1896
2131
  }
1897
2132
 
2133
+ /**
2134
+ * @internal
2135
+ */
1898
2136
  declare interface ISongLoader {
1899
2137
  load(q: {
1900
2138
  id?: number;
@@ -1960,14 +2198,21 @@ declare interface ISongMap {
1960
2198
  };
1961
2199
  }
1962
2200
 
2201
+ /**
2202
+ * @internal
2203
+ */
1963
2204
  declare type ISongPlayer = ISongURLManager & ISongLoader & ISongInfoLoader;
1964
2205
 
2206
+ /**
2207
+ * @internal
2208
+ */
1965
2209
  declare interface ISongURLManager {
1966
2210
  getSongPathFromUrl(url: string): string;
1967
2211
  isUploaderUrl(url: string): boolean;
1968
2212
  isUploaderPath(path: string): boolean;
1969
2213
  getUploaderGuid(path: string): string;
1970
2214
  getSongUrlFromUploaderGuid(guid: string): string;
2215
+ getAltSongUrlFromUploaderGuid(guid: string): string;
1971
2216
  getSongUrlFromPath(path: string): string;
1972
2217
  isYouTubeUrl(url: string): boolean;
1973
2218
  isNicovideoUrl(url: string): boolean;
@@ -1975,6 +2220,9 @@ declare interface ISongURLManager {
1975
2220
  isPiaproUrl(url: string): boolean;
1976
2221
  }
1977
2222
 
2223
+ /**
2224
+ * @internal
2225
+ */
1978
2226
  declare interface ITemplate {
1979
2227
  templateClass: ITemplateClass;
1980
2228
  templateInstance: any;
@@ -1983,68 +2231,267 @@ declare interface ITemplate {
1983
2231
  assignedUnit: IRenderingUnit;
1984
2232
  }
1985
2233
 
2234
+ /**
2235
+ * @internal
2236
+ */
1986
2237
  declare interface ITemplateClass {
1987
2238
  className: string;
1988
2239
  id: number;
1989
2240
  script: string;
1990
2241
  }
1991
2242
 
2243
+ /**
2244
+ * @internal
2245
+ */
1992
2246
  declare interface ITemplateInfoManager {
1993
2247
  create(request: TemplateCreateRequest): Promise<TemplateCreateResponse>;
1994
2248
  listContributors(className: string, templateId: number): Promise<UserEntry[]>;
1995
2249
  }
1996
2250
 
2251
+ /**
2252
+ * Template interpreter
2253
+ *
2254
+ * @internal
2255
+ */
1997
2256
  declare interface ITemplateInterpreter {
2257
+ /**
2258
+ * Emit verbose output to console
2259
+ * @internal
2260
+ */
1998
2261
  verbose: boolean;
1999
- readonly ready: boolean;
2000
- readonly loaded: {
2262
+ /**
2263
+ * Ignore versions when checking dependencies for templates
2264
+ * @internal
2265
+ */
2266
+ ignoreVersion: boolean;
2267
+ /**
2268
+ * Print raw interpreter objects when emitting output to console
2269
+ * @internal
2270
+ */
2271
+ rawConsole: boolean;
2272
+ /**
2273
+ * Whether this interpreter is initialized or not
2274
+ * @internal
2275
+ */
2276
+ readonly ready: boolean;
2277
+ /**
2278
+ * Loaded templates
2279
+ * @internal
2280
+ */
2281
+ readonly loaded: {
2001
2282
  [s: string]: ITemplateClass;
2002
2283
  };
2284
+ /**
2285
+ * Get template by ID
2286
+ *
2287
+ * @param id Template version ID
2288
+ * @internal
2289
+ */
2003
2290
  getById(id: number): ITemplateClass;
2291
+ /**
2292
+ * Get template by class name
2293
+ *
2294
+ * @param className Template class name (with optional `@` version specifier)
2295
+ * @param ignoreVersion Ignore the version specifier even when specified
2296
+ * @internal
2297
+ */
2004
2298
  getByName(className: string, ignoreVersion?: boolean): ITemplateClass;
2299
+ /**
2300
+ * Load template by version ID
2301
+ *
2302
+ * @param id Template version ID
2303
+ * @internal
2304
+ */
2005
2305
  loadById(id: number): Promise<ITemplateClass>;
2306
+ /**
2307
+ * Load template by class name
2308
+ *
2309
+ * @see {@link ITemplateInterpreter.ignoreVersion}
2310
+ * @param className Template class name (with optional `@` version specifier)
2311
+ * @internal
2312
+ */
2006
2313
  loadByName(className: string): Promise<ITemplateClass>;
2314
+ /**
2315
+ * Load templates by class names
2316
+ *
2317
+ * @see {@link ITemplateInterpreter.ignoreVersion}
2318
+ * @param classNames Template class names (with optional `@` version specifiers)
2319
+ * @internal
2320
+ */
2007
2321
  loadByNames(classNames: string[]): Promise<ITemplateClass[]>;
2322
+ /**
2323
+ * Load templates required to render the specified video
2324
+ *
2325
+ * @see {@link ITemplateInterpreter.ignoreVersion}
2326
+ * @param videoId Video ID
2327
+ * @internal
2328
+ */
2008
2329
  loadForVideo(videoId: number): Promise<ITemplateClass[]>;
2009
- register(model: TemplateEntry): Promise<ITemplateClass>;
2330
+ /**
2331
+ * Get list of template classes required in specified script
2332
+ *
2333
+ * @param script JavaScript text
2334
+ * @internal
2335
+ */
2336
+ getRequiredTemplates(script: string): string[];
2337
+ /**
2338
+ * Get template class required in specified line of script
2339
+ *
2340
+ * @param script JavaScript text
2341
+ * @param index Line of script (\>= 1)
2342
+ * @internal
2343
+ */
2344
+ getRequiredTemplateAt(script: string, index: number): string;
2345
+ /**
2346
+ * Register template class to the interpreter
2347
+ *
2348
+ * 1. When model data (`TemplateEntry`) is provided, create template class first
2349
+ * 2. Otherwise (`ITemplateClass` is provided), load dependencies and register it
2350
+ *
2351
+ * Use case 1. is intended for use with `TemplateManager` in `textalive-data-web` package
2352
+ *
2353
+ * @param model Template model data
2354
+ * @internal
2355
+ */
2356
+ register(modelOrClass: TemplateEntry | ITemplateClass): Promise<ITemplateClass>;
2357
+ /**
2358
+ * Create template class from text script
2359
+ *
2360
+ * @param script JavaScript text
2361
+ * @internal
2362
+ */
2010
2363
  createClass(script: string): ITemplateClass;
2364
+ /**
2365
+ * Update template class with new text script
2366
+ *
2367
+ * @param oldClass Old template class to be updated
2368
+ * @param script JavaScript text
2369
+ * @internal
2370
+ */
2011
2371
  updateClassScript(oldClass: ITemplateClass, script: string): ITemplateClass;
2372
+ /**
2373
+ * Commit template class with optional log text
2374
+ *
2375
+ * @param templateClass Template class
2376
+ * @param log Log text
2377
+ * @internal
2378
+ */
2012
2379
  commit(templateClass: ITemplateClass, log?: string): Promise<TemplateCreateResponse>;
2380
+ /**
2381
+ * Export template instance (class name and parameters) as JSON data
2382
+ *
2383
+ * @param instance Template instance
2384
+ * @internal
2385
+ */
2013
2386
  exportInstance(instance: ITemplate): TemplateData;
2387
+ /**
2388
+ * Import template data and instantiate template
2389
+ *
2390
+ * @param data Template data
2391
+ * @internal
2392
+ */
2014
2393
  importInstance(data: TemplateData): ITemplate;
2394
+ /**
2395
+ * Import template data in video data, instantiate templates, and assign them to video object
2396
+ *
2397
+ * @param video Video object
2398
+ * @param data Video data
2399
+ * @internal
2400
+ */
2015
2401
  importInstances(video: IVideo, data: VideoData): boolean;
2402
+ /**
2403
+ * Create template instance
2404
+ *
2405
+ * @param templateClass Template class
2406
+ * @internal
2407
+ */
2016
2408
  newInstance(templateClass: ITemplateClass): ITemplate;
2409
+ /**
2410
+ * Dispose template instance
2411
+ *
2412
+ * @param instance Template instance
2413
+ * @internal
2414
+ */
2017
2415
  disposeInstance(instance: ITemplate): void;
2416
+ /**
2417
+ * Dispose template instances
2418
+ *
2419
+ * @param instances Array of template instances or video object containing template instances
2420
+ * @internal
2421
+ */
2018
2422
  disposeInstances(instances: ITemplate[] | IVideo): void;
2423
+ /**
2424
+ * Set template instance of rendering unit
2425
+ *
2426
+ * @param unit Rendering unit
2427
+ * @param template Template instance
2428
+ * @internal
2429
+ */
2019
2430
  setTemplate(unit: IRenderingUnit, template: ITemplate): void;
2431
+ /**
2432
+ * Clear templates assigned to rendering unit
2433
+ *
2434
+ * @param unit Rendering unit
2435
+ * @internal
2436
+ */
2020
2437
  clearTemplate(unit: IRenderingUnit): void;
2021
- getRequiredTemplates(script: string): string[];
2022
- getRequiredTemplateAt(script: string, index: number): string;
2438
+ /**
2439
+ * Execute specific method in template instance
2440
+ *
2441
+ * @param template Template instance
2442
+ * @param funcName Method name
2443
+ * @param parameters Parameter values
2444
+ * @returns Return value of method invocation
2445
+ * @internal
2446
+ */
2023
2447
  exec(template: ITemplate, funcName: string, parameters: ParameterValue[]): any;
2448
+ /**
2449
+ * Set property of template instance
2450
+ * @param instance Template instance
2451
+ * @param name Property name
2452
+ * @param value Property value
2453
+ * @internal
2454
+ */
2024
2455
  setProperty(instance: ITemplate, name: string, value: ParameterValue): void;
2456
+ /**
2457
+ * Get property of template instance
2458
+ * @param instance Template instance
2459
+ * @param name Property name
2460
+ * @returns Property value
2461
+ * @internal
2462
+ */
2025
2463
  getProperty(instance: ITemplate, name: string): ParameterValue;
2026
2464
  }
2027
2465
 
2466
+ /**
2467
+ * @internal
2468
+ */
2028
2469
  declare interface ITemplateLoader {
2029
2470
  list(options?: TemplateListRequest): Promise<TemplateListResponse>;
2030
2471
  load(templateId: number): Promise<TemplateEntry>;
2031
2472
  loadByName(templateName: string): Promise<TemplateEntry>;
2032
- loadForVideo(videoId: number, params?: {
2033
- withoutAuthors: boolean;
2034
- withScript: boolean;
2035
- }): Promise<TemplateList>;
2473
+ loadForVideo(videoId: number, options?: TemplateListForVideoRequest): Promise<TemplateListResponse>;
2036
2474
  }
2037
2475
 
2476
+ /**
2477
+ * @internal
2478
+ */
2038
2479
  declare type ITemplateManager = ITemplateLoader & ITemplateInfoManager;
2039
2480
 
2481
+ /**
2482
+ * @internal
2483
+ */
2040
2484
  declare interface ITextParser {
2041
2485
  parse(text: string): Promise<TextParsingResponse>;
2042
2486
  }
2043
2487
 
2488
+ /**
2489
+ * @internal
2490
+ */
2044
2491
  declare type ITextPlayer = ITextParser;
2045
2492
 
2046
2493
  /**
2047
- *
2494
+ * 文字ユニット / Text unit
2048
2495
  * @public
2049
2496
  */
2050
2497
  declare interface ITextUnit extends IRenderingUnit {
@@ -2090,16 +2537,25 @@ declare interface ITextUnit extends IRenderingUnit {
2090
2537
  readonly height: number;
2091
2538
  }
2092
2539
 
2540
+ /**
2541
+ * @internal
2542
+ */
2093
2543
  declare interface IUserActionManager {
2544
+ getServerStatus(): Promise<ServerStatus>;
2545
+ doGetServerStatus(): Promise<ServerStatus>;
2094
2546
  getProfile(): Promise<UserProfile>;
2095
2547
  doGetProfile(): Promise<UserProfile>;
2096
2548
  getToken(): Promise<string>;
2097
2549
  doGetToken(): Promise<string>;
2098
2550
  getMergingUsers(): Promise<UserEntry[]>;
2099
2551
  mergeUsers(): Promise<UserEntry>;
2552
+ updateUser(entry: UserUpdateRequest): Promise<UserEntry>;
2100
2553
  authenticate(userId: number, password: string): Promise<UserProfile>;
2101
2554
  }
2102
2555
 
2556
+ /**
2557
+ * @internal
2558
+ */
2103
2559
  declare interface IUserBrowserActionManager {
2104
2560
  loginTwitter(ev?: MouseEvent): false;
2105
2561
  loginGitHub(ev?: MouseEvent): false;
@@ -2115,6 +2571,9 @@ declare interface IUserBrowserActionManager {
2115
2571
  logout(ev?: MouseEvent, provider?: AccountService): false;
2116
2572
  }
2117
2573
 
2574
+ /**
2575
+ * @internal
2576
+ */
2118
2577
  declare interface IUserEventManager {
2119
2578
  readonly userProfile: UserProfile;
2120
2579
  isLoading(): boolean;
@@ -2122,13 +2581,29 @@ declare interface IUserEventManager {
2122
2581
  removeListener(listener: UserListener): void;
2123
2582
  }
2124
2583
 
2584
+ /**
2585
+ * @internal
2586
+ */
2125
2587
  declare type IUserManager = IUserTypeManager & IUserActionManager & IUserBrowserActionManager & IUserSpoofingManager & IUserEventManager;
2126
2588
 
2589
+ /**
2590
+ * @deprecated Use {@link EndpointManager.textalive.authUser} and {@link EndpointManager.textalive.authToken} properties instead
2591
+ * @internal
2592
+ */
2127
2593
  declare interface IUserSpoofingManager {
2594
+ /**
2595
+ * @deprecated Use {@link EndpointManager.textalive.authUser} and {@link EndpointManager.textalive.authToken} properties instead
2596
+ */
2128
2597
  spoof(userProfile: UserProfile): void;
2598
+ /**
2599
+ * @deprecated Use {@link EndpointManager.textalive.authUser} and {@link EndpointManager.textalive.authToken} properties instead
2600
+ */
2129
2601
  isSpoofingSongleUser(profile: UserProfile): boolean;
2130
2602
  }
2131
2603
 
2604
+ /**
2605
+ * @internal
2606
+ */
2132
2607
  declare interface IUserTypeManager {
2133
2608
  isYouTubeUser(profile: UserProfile): boolean;
2134
2609
  isPiaproUser(profile: UserProfile): boolean;
@@ -2136,32 +2611,44 @@ declare interface IUserTypeManager {
2136
2611
  }
2137
2612
 
2138
2613
  /**
2139
- * 動画({@link IRenderingUnit} を格納する入れ物)
2614
+ * 動画(描画ユニット {@link IRenderingUnit} を格納する入れ物)
2140
2615
  *
2141
2616
  * Video (A container for {@link IRenderingUnit} objects)
2142
2617
  * @public
2143
2618
  */
2144
2619
  declare interface IVideo extends TimedObject {
2620
+ /** @internal */
2621
+ readonly credits: IPhrase[];
2145
2622
  readonly phrases: IPhrase[];
2623
+ readonly words: IWord[];
2624
+ readonly chars: IChar[];
2625
+ /** @internal */
2146
2626
  readonly graphics: IGraphic[];
2147
- /**
2148
- * @internal
2149
- */
2627
+ /** @internal */
2150
2628
  readonly rendering: RenderingParameter;
2151
2629
  duration: number;
2152
2630
  readonly startTime: number;
2153
2631
  readonly endTime: number;
2632
+ /** @internal */
2633
+ readonly creditCount: number;
2154
2634
  readonly phraseCount: number;
2635
+ /** @internal */
2155
2636
  readonly graphicCount: number;
2156
2637
  readonly wordCount: number;
2157
2638
  readonly charCount: number;
2639
+ /** @internal */
2640
+ readonly firstCredit: IPhrase;
2158
2641
  readonly firstPhrase: IPhrase;
2159
2642
  readonly firstWord: IWord;
2160
2643
  readonly firstChar: IChar;
2644
+ /** @internal */
2161
2645
  readonly firstGraphic: IGraphic;
2646
+ /** @internal */
2647
+ readonly lastCredit: IPhrase;
2162
2648
  readonly lastPhrase: IPhrase;
2163
2649
  readonly lastWord: IWord;
2164
2650
  readonly lastChar: IChar;
2651
+ /** @internal */
2165
2652
  readonly lastGraphic: IGraphic;
2166
2653
  /**
2167
2654
  * 指定された位置を `[0, 1]` にマッピングして返す
@@ -2170,41 +2657,105 @@ declare interface IVideo extends TimedObject {
2170
2657
  * @param time - 位置 / Position in this video
2171
2658
  */
2172
2659
  progress(time: number): number;
2660
+ /**
2661
+ * @internal
2662
+ */
2663
+ getCredit(index: number): IPhrase;
2664
+ /**
2665
+ * 指定したインデックスのフレーズを取得する / Get phrase with the specified index
2666
+ * @param index フレーズのインデックス / Phrase index
2667
+ */
2173
2668
  getPhrase(index: number): IPhrase;
2669
+ /**
2670
+ * 指定したインデックスの単語を取得する / Get word with the specified index
2671
+ * @param index 単語のインデックス / Word index
2672
+ */
2174
2673
  getWord(index: number): IWord;
2674
+ /**
2675
+ * 指定したインデックスの文字を取得する / Get character with the specified index
2676
+ * @param index 文字のインデックス / Phrase index
2677
+ */
2175
2678
  getChar(index: number): IChar;
2679
+ /**
2680
+ * @internal
2681
+ */
2176
2682
  getGraphic(index: number): IGraphic;
2683
+ /**
2684
+ * 指定した描画オブジェクトのインデックスを取得する / Get index of the specified rendering unit
2685
+ * @param unit 描画オブジェクト / Rendering unit
2686
+ * @returns インデックス / Index
2687
+ */
2177
2688
  findIndex(unit: IRenderingUnit): number;
2178
2689
  /**
2179
- * Get phrase object in the current video
2690
+ * Get phrase object (credits) in the current video
2691
+ * @param time - position [ms]
2692
+ * @param options - optional parameters for finding phrase
2693
+ * @internal
2694
+ */
2695
+ findCredit(time: number, options?: FindTimedObjectOptions): IPhrase;
2696
+ /**
2697
+ * 指定した再生位置のフレーズを取得する / Get phrase object in the current video
2180
2698
  * @param time - position [ms]
2181
2699
  * @param options - optional parameters for finding phrase
2182
2700
  */
2183
2701
  findPhrase(time: number, options?: FindTimedObjectOptions): IPhrase;
2184
2702
  /**
2185
- * Get word object in the current video
2703
+ * 指定された時区間のフレーズ発声情報を取得する
2704
+ *
2705
+ * Look for phrases in the specified time range
2706
+ */
2707
+ findPhraseChange(startTime: number, endTime: number): TimedObjectsInRange<IPhrase>;
2708
+ /**
2709
+ * 指定した再生位置の単語を取得する / Get word object in the current video
2186
2710
  * @param time - position [ms]
2187
2711
  * @param options - optional parameters for finding word
2188
2712
  */
2189
2713
  findWord(time: number, options?: FindTimedObjectOptions): IWord;
2190
2714
  /**
2191
- * Get character object in the current video
2715
+ * 指定された時区間の単語発声情報を取得する
2716
+ *
2717
+ * Look for words in the specified time range
2718
+ */
2719
+ findWordChange(startTime: number, endTime: number): TimedObjectsInRange<IWord>;
2720
+ /**
2721
+ * 指定した再生位置の文字を取得する / Get character object in the current video
2192
2722
  * @param time - position [ms]
2193
2723
  * @param options - optional parameters for finding character
2194
2724
  */
2195
2725
  findChar(time: number, options?: FindTimedObjectOptions): IChar;
2196
2726
  /**
2197
- * Get graphic object in the current video
2727
+ * 指定された時区間の文字発声情報を取得する
2728
+ *
2729
+ * Look for characters in the specified time range
2730
+ */
2731
+ findCharChange(startTime: number, endTime: number): TimedObjectsInRange<IChar>;
2732
+ /**
2733
+ * 指定した再生位置のグラフィックを取得する / Get graphic object in the current video
2198
2734
  * @param time - position [ms]
2199
2735
  * @param options - optional parameters for finding graphic
2736
+ * @internal
2200
2737
  */
2201
2738
  findGraphic(time: number, options?: FindTimedObjectOptions): IGraphic;
2739
+ /**
2740
+ * 指定された時区間のグラフィック情報を取得する
2741
+ *
2742
+ * Look for graphics in the specified time range
2743
+ * @internal
2744
+ */
2745
+ findGraphicChange(startTime: number, endTime: number): TimedObjectsInRange<IGraphic>;
2202
2746
  }
2203
2747
 
2748
+ /**
2749
+ * @internal
2750
+ */
2204
2751
  declare interface IVideoLoader {
2752
+ list(options?: VideoListRequest): Promise<VideoListResponse>;
2205
2753
  load(videoId: number): Promise<VideoEntry>;
2206
2754
  }
2207
2755
 
2756
+ /**
2757
+ * @internal
2758
+ */
2208
2759
  declare type IVideoPlayer = IVideoLoader;
2209
2760
 
2210
2761
  /**
@@ -2236,28 +2787,17 @@ declare interface IVoice extends TimedObject {
2236
2787
  }
2237
2788
 
2238
2789
  /**
2790
+ * 単語 / Word
2239
2791
  * @public
2240
2792
  */
2241
2793
  declare interface IWord extends ITextUnit {
2242
- /**
2243
- * @inheritDoc
2244
- */
2245
- animate: RenderingUnitFunction<IWord>;
2246
- /**
2247
- * @inheritDoc
2248
- */
2794
+ /** @inheritDoc */
2249
2795
  readonly parent: IPhrase;
2250
- /**
2251
- * @inheritDoc
2252
- */
2796
+ /** @inheritDoc */
2253
2797
  readonly children: IChar[];
2254
- /**
2255
- * @inheritDoc
2256
- */
2798
+ /** @inheritDoc */
2257
2799
  readonly previous: IWord;
2258
- /**
2259
- * @inheritDoc
2260
- */
2800
+ /** @inheritDoc */
2261
2801
  readonly next: IWord;
2262
2802
  /**
2263
2803
  * 品詞
@@ -2291,17 +2831,62 @@ declare interface IWord extends ITextUnit {
2291
2831
  * 言語(`en`: 英語、`ja`: 日本語)
2292
2832
  */
2293
2833
  readonly language: string;
2834
+ /**
2835
+ * カウントダウン(カウントダウンの場合は 0 以上の数値)
2836
+ * @internal
2837
+ */
2838
+ readonly countDown: number;
2839
+ /**
2840
+ * カウントアップ(カウントアップの場合は 0 以上の数値)
2841
+ * @internal
2842
+ */
2843
+ readonly countUp: number;
2844
+ /**
2845
+ * カウントダウン、カウントアップの初期値
2846
+ * @internal
2847
+ */
2848
+ readonly initialCount: number;
2294
2849
  readonly charCount: number;
2295
2850
  readonly firstChar: IChar;
2296
2851
  readonly lastChar: IChar;
2297
2852
  findIndex(unit: IChar): number;
2298
2853
  }
2299
2854
 
2855
+ /**
2856
+ * @internal
2857
+ */
2858
+ declare interface ListAvailableFontsOptions {
2859
+ isPrivateFontEnabled?: boolean;
2860
+ }
2861
+
2862
+ /**
2863
+ * @internal
2864
+ */
2865
+ declare interface ListRequest extends ListSimpleRequest {
2866
+ lastId?: number;
2867
+ startId?: number;
2868
+ maxResults?: number;
2869
+ }
2870
+
2871
+ /**
2872
+ * @internal
2873
+ */
2874
+ declare interface ListResponse<T> extends ListSimpleResponse<T> {
2875
+ nextStartId?: number;
2876
+ nextLastId?: number;
2877
+ }
2878
+
2879
+ /**
2880
+ * @internal
2881
+ */
2300
2882
  declare interface ListSimpleRequest {
2301
2883
  lastIndex?: number;
2302
2884
  startIndex?: number;
2303
2885
  }
2304
2886
 
2887
+ /**
2888
+ * @internal
2889
+ */
2305
2890
  declare interface ListSimpleResponse<T> {
2306
2891
  list: T[];
2307
2892
  nextStartIndex?: number;
@@ -2320,6 +2905,7 @@ declare type LoaderListener = DataLoaderListener & BackgroundGraphicsListener &
2320
2905
  * 歌詞発声タイミングの推定結果
2321
2906
  *
2322
2907
  * Results of lyrics timing estimation
2908
+ * @internal
2323
2909
  */
2324
2910
  declare interface Lyrics {
2325
2911
  /** 歌詞発声タイミングの推定ID / Lyrics timing estimation ID */
@@ -2356,6 +2942,7 @@ declare interface LyricsBody {
2356
2942
  * 歌詞発声タイミングの訂正情報
2357
2943
  *
2358
2944
  * Lyrics diff information
2945
+ * @internal
2359
2946
  */
2360
2947
  declare interface LyricsDiff {
2361
2948
  /** 歌詞発声タイミングの訂正ID / Lyrics diff ID */
@@ -2369,18 +2956,42 @@ declare interface LyricsDiff {
2369
2956
  }
2370
2957
 
2371
2958
  /**
2372
- * 歌詞発声タイミングの詳細情報
2959
+ * 歌詞発声タイミングの差分に関する情報
2373
2960
  *
2374
2961
  * Detailed lyrics diff information
2375
- * @public
2962
+ * @internal
2376
2963
  */
2377
2964
  declare interface LyricsDiffInfo extends LyricsTimingInfo {
2378
2965
  /**
2379
- * 歌詞発声タイミングの訂正ID
2966
+ * Null if this points to the original lyrics, and otherwise undefined
2967
+ */
2968
+ diff?: null;
2969
+ /**
2970
+ * Songle で推定中か否か
2380
2971
  *
2381
- * Lyrics diff ID
2972
+ * Songle analysis processing status if this points to the original lyrics, and otherwise undefined
2382
2973
  */
2383
- id: number;
2974
+ processing?: boolean;
2975
+ /**
2976
+ * Songle での推定が失敗したか否か
2977
+ *
2978
+ * Songle analysis failure status if this points to the original lyrics, and otherwise undefined
2979
+ */
2980
+ failed?: boolean;
2981
+ /**
2982
+ * 作成日時
2983
+ *
2984
+ * Created date if this points to the original lyrics, and otherwise undefined
2985
+ * @internal
2986
+ */
2987
+ created_at?: string;
2988
+ /**
2989
+ * 更新日時
2990
+ *
2991
+ * Updated date if this points to the original lyrics, and otherwise undefined
2992
+ * @internal
2993
+ */
2994
+ updated_at?: string;
2384
2995
  }
2385
2996
 
2386
2997
  /**
@@ -2455,6 +3066,12 @@ declare interface LyricsTiming {
2455
3066
  * @public
2456
3067
  */
2457
3068
  declare interface LyricsTimingInfo {
3069
+ /**
3070
+ * 歌詞発声タイミングのID
3071
+ *
3072
+ * Lyrics ID
3073
+ */
3074
+ id: number;
2458
3075
  /**
2459
3076
  * 歌詞URL
2460
3077
  *
@@ -2483,9 +3100,11 @@ declare interface LyricsTimingInfo {
2483
3100
  *
2484
3101
  * This matrix can be visualized as:
2485
3102
  *
3103
+ * ```
2486
3104
  * [ a c tx
2487
3105
  * b d ty
2488
3106
  * 0 0 1 ]
3107
+ * ```
2489
3108
  *
2490
3109
  * Note the locations of b and c.
2491
3110
  *
@@ -2518,29 +3137,17 @@ declare interface LyricsTimingInfo {
2518
3137
  * @public
2519
3138
  */
2520
3139
  declare class Matrix2D implements IMatrix2D {
2521
- /**
2522
- * @inheritDoc
2523
- */
3140
+ /** @inheritDoc */
2524
3141
  a: number;
2525
- /**
2526
- * @inheritDoc
2527
- */
3142
+ /** @inheritDoc */
2528
3143
  b: number;
2529
- /**
2530
- * @inheritDoc
2531
- */
3144
+ /** @inheritDoc */
2532
3145
  c: number;
2533
- /**
2534
- * @inheritDoc
2535
- */
3146
+ /** @inheritDoc */
2536
3147
  d: number;
2537
- /**
2538
- * @inheritDoc
2539
- */
3148
+ /** @inheritDoc */
2540
3149
  tx: number;
2541
- /**
2542
- * @inheritDoc
2543
- */
3150
+ /** @inheritDoc */
2544
3151
  ty: number;
2545
3152
  /**
2546
3153
  * @param a - Specifies the a property for the new matrix.
@@ -2551,85 +3158,45 @@ declare class Matrix2D implements IMatrix2D {
2551
3158
  * @param ty - Specifies the ty property for the new matrix.
2552
3159
  */
2553
3160
  constructor(a?: number, b?: number, c?: number, d?: number, tx?: number, ty?: number);
2554
- /**
2555
- * @inheritDoc
2556
- */
3161
+ /** @inheritDoc */
2557
3162
  setValues(a?: number, b?: number, c?: number, d?: number, tx?: number, ty?: number): Matrix2D;
2558
- /**
2559
- * @inheritDoc
2560
- */
3163
+ /** @inheritDoc */
2561
3164
  append(a: number, b: number, c: number, d: number, tx: number, ty: number): Matrix2D;
2562
- /**
2563
- * @inheritDoc
2564
- */
3165
+ /** @inheritDoc */
2565
3166
  prepend(a: number, b: number, c: number, d: number, tx: number, ty: number): Matrix2D;
2566
- /**
2567
- * @inheritDoc
2568
- */
3167
+ /** @inheritDoc */
2569
3168
  appendMatrix(matrix: Matrix2D): Matrix2D;
2570
- /**
2571
- * @inheritDoc
2572
- */
3169
+ /** @inheritDoc */
2573
3170
  prependMatrix(matrix: Matrix2D): Matrix2D;
2574
- /**
2575
- * @inheritDoc
2576
- */
3171
+ /** @inheritDoc */
2577
3172
  appendTransform(x: number, y: number, scaleX: number, scaleY: number, rotation: number, skewX: number, skewY: number, regX: number, regY: number): Matrix2D;
2578
- /**
2579
- * @inheritDoc
2580
- */
3173
+ /** @inheritDoc */
2581
3174
  prependTransform(x: number, y: number, scaleX: number, scaleY: number, rotation: number, skewX: number, skewY: number, regX: number, regY: number): Matrix2D;
2582
- /**
2583
- * @inheritDoc
2584
- */
3175
+ /** @inheritDoc */
2585
3176
  rotate(angle: number): Matrix2D;
2586
- /**
2587
- * @inheritDoc
2588
- */
3177
+ /** @inheritDoc */
2589
3178
  skew(skewX: number, skewY: number): Matrix2D;
2590
- /**
2591
- * @inheritDoc
2592
- */
3179
+ /** @inheritDoc */
2593
3180
  scale(x: number, y: number): Matrix2D;
2594
- /**
2595
- * @inheritDoc
2596
- */
3181
+ /** @inheritDoc */
2597
3182
  translate(x: number, y: number): Matrix2D;
2598
- /**
2599
- * @inheritDoc
2600
- */
3183
+ /** @inheritDoc */
2601
3184
  identity(): Matrix2D;
2602
- /**
2603
- * @inheritDoc
2604
- */
3185
+ /** @inheritDoc */
2605
3186
  invert(): Matrix2D;
2606
- /**
2607
- * @inheritDoc
2608
- */
3187
+ /** @inheritDoc */
2609
3188
  isIdentity(): boolean;
2610
- /**
2611
- * @inheritDoc
2612
- */
3189
+ /** @inheritDoc */
2613
3190
  equals(matrix: Matrix2D): boolean;
2614
- /**
2615
- * @inheritDoc
2616
- */
3191
+ /** @inheritDoc */
2617
3192
  transformPoint(x: number, y: number, pt: Point): Point;
2618
- /**
2619
- * @inheritDoc
2620
- */
3193
+ /** @inheritDoc */
2621
3194
  decompose(target?: DecomposedProps): DecomposedProps;
2622
- /**
2623
- * @inheritDoc
2624
- */
3195
+ /** @inheritDoc */
2625
3196
  copy(matrix: Matrix2D): Matrix2D;
2626
- /**
2627
- * @inheritDoc
2628
- */
3197
+ /** @inheritDoc */
2629
3198
  clone(): Matrix2D;
2630
- /**
2631
- * @inheritDoc
2632
- */
3199
+ /** @inheritDoc */
2633
3200
  toString(): string;
2634
3201
  /**
2635
3202
  * Multiplier for converting degrees to radians. Used internally by Matrix2D.
@@ -2641,13 +3208,17 @@ declare class Matrix2D implements IMatrix2D {
2641
3208
  static readonly identity: Matrix2D;
2642
3209
  }
2643
3210
 
2644
- export declare const NativeCheckWidget: FC<NativeCheckWidgetProps>;
3211
+ export declare function msToString(x: number, ja?: boolean): string;
2645
3212
 
2646
- export declare interface NativeCheckWidgetProps {
2647
- widget: ParameterWidget;
2648
- value: any;
2649
- onValueChange?(value: boolean): void;
2650
- withoutName?: boolean;
3213
+ export declare const NumericSlider: FC<NumericSliderProps>;
3214
+
3215
+ export declare interface NumericSliderProps {
3216
+ disabled?: boolean;
3217
+ min: number;
3218
+ max: number;
3219
+ value: number | string;
3220
+ onValueChange?(value: number): void;
3221
+ withTextInput?: boolean;
2651
3222
  }
2652
3223
 
2653
3224
  export declare const Overlay: FC<OverlayProps>;
@@ -2657,9 +3228,9 @@ export declare interface OverlayProps extends DetailedHTMLProps<HTMLAttributes<H
2657
3228
  }
2658
3229
 
2659
3230
  /**
2660
- * TextAlive アプリ、スタイル、テンプレートで調整可能なパラメタ値の型情報
3231
+ * リリックアプリ、スタイル、テンプレートで調整可能なパラメタ値の型情報
2661
3232
  *
2662
- * Type definition for parameter values that can be customized in TextAlive App, styles, and templates
3233
+ * Type definition for parameter values that can be customized in lyric apps, styles, and templates
2663
3234
  * @public
2664
3235
  */
2665
3236
  declare type ParameterValue = IColor | string | number | boolean;
@@ -2672,9 +3243,9 @@ declare interface ParameterValues {
2672
3243
  }
2673
3244
 
2674
3245
  /**
2675
- * TextAlive アプリ、スタイル、テンプレートで調整可能なパラメタ
3246
+ * リリックアプリ、スタイル、テンプレートで調整可能なパラメタ
2676
3247
  *
2677
- * Parameters that can be customized in TextAlive App, styles, and templates
3248
+ * Parameters that can be customized in lyric apps, styles, and templates
2678
3249
  * @public
2679
3250
  */
2680
3251
  declare interface ParameterWidget {
@@ -2702,99 +3273,49 @@ declare interface ParameterWidget {
2702
3273
  *
2703
3274
  * Type of this variable (e.g. `Slider`)
2704
3275
  */
2705
- className?: string;
2706
- /**
2707
- * パラメタのオプション(例: {@link ParameterWidget.className} が `Slider` のとき `[0, 100]` で値域 `0` から `100` のスライダーウィジェットが出現)
2708
- *
2709
- * Options for constructing a parameter widget parsed from description e.g. `[0, 100]`
2710
- */
2711
- params?: (boolean | number | string | [boolean | number | string, string?] | {
2712
- [value: string]: string;
2713
- })[];
2714
- /**
2715
- * User-Generated Variable の場合、その説明
2716
- *
2717
- * Explanation for user-generated variable
2718
- * @internal
2719
- */
2720
- comment?: string | RegionalText;
2721
- /**
2722
- * User-Generated Variable の場合、その提案状況
2723
- *
2724
- * Flag for user-generated variable
2725
- * @internal
2726
- */
2727
- proposed?: boolean;
2728
- /**
2729
- * パラメタの初期値
2730
- *
2731
- * Initial value for this parameter variable
2732
- */
2733
- initialValue?: ParameterValue;
2734
- }
2735
-
2736
- export declare interface PartialPlayerOptions {
2737
- /**
2738
- * TextAlive App Framework usage option. When this flag is set, the player parses query string to gain initial media information and tries communicating with the app host.
2739
- */
2740
- app?: PlayerAppOptions | boolean;
2741
- /**
2742
- * Unsafe acceleration. When this flag is set, JavaScript code is executed natively.
2743
- */
2744
- unsafeAcceleration?: boolean;
2745
- /**
2746
- * A timer instance that controls the player status.
2747
- */
2748
- timer?: Timer;
2749
- /**
2750
- * A graphics driver that renders the video.
2751
- */
2752
- graphics?: GraphicsDriver;
2753
- /**
2754
- * A HTML div element to host media elements.
2755
- */
2756
- mediaElement?: HTMLElement;
2757
- /**
2758
- * TextAlive manager instances.
2759
- */
2760
- managers?: IPlayerManagers;
2761
- /**
2762
- * An interval for emitting throttled events [ms].
2763
- */
2764
- throttleInterval?: number;
2765
- /**
2766
- * Timeout for fetching lyrics text [ms].
2767
- */
2768
- lyricsFetchTimeout?: number;
3276
+ className?: string;
2769
3277
  /**
2770
- * A list of font families to load.
2771
- * When a video is loaded, fonts used in the video override the list.
3278
+ * パラメタのオプション(例: {@link ParameterWidget.className} が `Slider` のとき `[0, 100]` で値域 `0` から `100` のスライダーウィジェットが出現)
3279
+ *
3280
+ * Options for constructing a parameter widget parsed from description e.g. `[0, 100]`
2772
3281
  */
2773
- fontFamilies?: string[];
3282
+ params?: (boolean | number | string | [boolean | number | string, string?] | {
3283
+ [value: string]: string;
3284
+ })[];
2774
3285
  /**
2775
- * Default video size
3286
+ * User-Generated Variable の場合、その説明
3287
+ *
3288
+ * Explanation for user-generated variable
3289
+ * @internal
2776
3290
  */
2777
- defaultVideoSize?: VideoSizeConfig;
3291
+ comment?: string | RegionalText;
2778
3292
  /**
2779
- * Whether to load vocal amplitude data or not
3293
+ * User-Generated Variable の場合、その提案状況
3294
+ *
3295
+ * Flag for user-generated variable
3296
+ * @internal
2780
3297
  */
2781
- vocalAmplitudeEnabled?: boolean;
3298
+ proposed?: boolean;
2782
3299
  /**
2783
- * Whether to load valence arousal data or not
3300
+ * パラメタの初期値
3301
+ *
3302
+ * Initial value for this parameter variable
2784
3303
  */
2785
- valenceArousalEnabled?: boolean;
3304
+ initialValue?: ParameterValue;
2786
3305
  }
2787
3306
 
3307
+ export declare type PartialPlayerOptions = Omit<PlayerOptions, "stageElement">;
3308
+
2788
3309
  /**
2789
3310
  * TextAlive の動画データを上書きする情報
2790
3311
  *
2791
3312
  * Optional data to overwrite TextAlive video data
2792
- * @see {@link VideoEntry}
2793
3313
  * @public
2794
3314
  */
2795
3315
  declare interface PartialVideoEntry {
2796
3316
  /**
2797
3317
  * 楽曲コード(ID) / Songle song code
3318
+ * @internal
2798
3319
  */
2799
3320
  songleCode?: string;
2800
3321
  /**
@@ -2867,29 +3388,35 @@ declare interface PlayerAppHost {
2867
3388
  }
2868
3389
 
2869
3390
  /**
2870
- * TextAlive アプリ関連のイベント
3391
+ * リリックアプリ関連のイベント
2871
3392
  *
2872
- * TextAlive app-related events
3393
+ * Lyric app-related events
2873
3394
  * @public
2874
3395
  */
2875
3396
  declare interface PlayerAppListener {
2876
3397
  /**
2877
- * TextAlive ホストとの接続時に呼ばれる
3398
+ * TextAlive App API サーバとの接続時に呼ばれる
3399
+ * @param app - TextAlive App API サーバに関する情報 / TextAlive app API server info
3400
+ * @param error - エラーメッセージ / Error message
3401
+ */
3402
+ onAppLoad?(app: IPlayerApp, error?: string): void;
3403
+ /**
3404
+ * リリックアプリ ホストとの接続時に呼ばれる
2878
3405
  *
2879
- * Called when connection to a TextAlive host is established
2880
- * @param app - TextAlive アプリのホストに関する情報 / TextAlive app host info
3406
+ * Called when connection to a lyric app host is established
3407
+ * @param app - リリックアプリのホストに関する情報 / Lyric app host info
2881
3408
  */
2882
3409
  onAppReady?(app: IPlayerApp): void;
2883
3410
  /**
2884
- * TextAlive アプリのパラメタが更新されたときに呼ばれる
3411
+ * リリックアプリのパラメタが更新されたときに呼ばれる
2885
3412
  *
2886
- * Called when a parameter value of TextAlive app is updated
3413
+ * Called when a parameter value of this lyric app is updated
2887
3414
  * @param name - パラメタ名 / Parameter name
2888
3415
  * @param value - パラメタ値 / Parameter value
2889
3416
  */
2890
3417
  onAppParameterUpdate?(name: string, value: ParameterValue): void;
2891
3418
  /**
2892
- * TextAlive アプリの再生すべき楽曲URLが変更されたときに呼ばれる
3419
+ * リリックアプリの再生すべき楽曲URLが変更されたときに呼ばれる
2893
3420
  *
2894
3421
  * Called when a media URL to play is updated
2895
3422
  * @param songUrl - 楽曲URL / Song URL
@@ -2899,22 +3426,30 @@ declare interface PlayerAppListener {
2899
3426
  }
2900
3427
 
2901
3428
  /**
2902
- * TextAlive アプリのオプション
3429
+ * リリックアプリのオプション
2903
3430
  *
2904
- * TextAlive app options
3431
+ * Lyric app options
2905
3432
  * @public
2906
3433
  */
2907
3434
  declare interface PlayerAppOptions {
3435
+ /**
3436
+ * アプリの開発者用トークン
3437
+ *
3438
+ * Application token
3439
+ */
3440
+ token: string;
2908
3441
  /**
2909
3442
  * アプリの名前
2910
3443
  *
2911
3444
  * Name of this application
3445
+ * @deprecated This value will be automatically retrieved from TextAlive API server.
2912
3446
  */
2913
3447
  appName?: string;
2914
3448
  /**
2915
3449
  * アプリ作者の名前
2916
3450
  *
2917
3451
  * Name of the author of this application
3452
+ * @deprecated This value will be automatically retrieved from TextAlive API server.
2918
3453
  */
2919
3454
  appAuthor?: string;
2920
3455
  /**
@@ -2926,9 +3461,28 @@ declare interface PlayerAppOptions {
2926
3461
  }
2927
3462
 
2928
3463
  /**
2929
- * TextAlive アプリ向けの楽曲データ読み込みオプション
3464
+ * TextAlive App APIサーバに関する情報
3465
+ * @public
3466
+ */
3467
+ declare interface PlayerAppServer {
3468
+ /**
3469
+ * バージョン番号
3470
+ */
3471
+ version?: string;
3472
+ /**
3473
+ * メッセージ
3474
+ */
3475
+ message?: string;
3476
+ /**
3477
+ * エラーメッセージ
3478
+ */
3479
+ error?: string;
3480
+ }
3481
+
3482
+ /**
3483
+ * リリックアプリ向けの楽曲データ読み込みオプション
2930
3484
  *
2931
- * Options to load song data in TextAlive app
3485
+ * Options to load song data in a lyric app
2932
3486
  * @see {@link PlayerVideoOptions}, {@link PartialVideoEntry}
2933
3487
  * @public
2934
3488
  */
@@ -2984,9 +3538,9 @@ export declare interface PlayerControlProps {
2984
3538
  }
2985
3539
 
2986
3540
  /**
2987
- * TextAlive Player のイベント
3541
+ * Player のイベント
2988
3542
  *
2989
- * TextAlive Player events
3543
+ * Player events
2990
3544
  * @public
2991
3545
  */
2992
3546
  declare interface PlayerEventListener {
@@ -3024,6 +3578,7 @@ declare interface PlayerEventListener {
3024
3578
  *
3025
3579
  * Called when the stage size is updated
3026
3580
  * @param size - ステージのサイズ / Stage size
3581
+ * @internal
3027
3582
  */
3028
3583
  onResize?(size: PlayerSize): void;
3029
3584
  /**
@@ -3098,6 +3653,13 @@ declare interface PlayerEventListener {
3098
3653
  * @param position - 再生位置 [ms]
3099
3654
  */
3100
3655
  onSeek?(position: number): void;
3656
+ /**
3657
+ * 楽曲の再生位置変更が完了したときに呼ばれる
3658
+ *
3659
+ * Called when the media playback position is successfully updated after {@link onSeek}
3660
+ * @param position - 再生位置 [ms]
3661
+ */
3662
+ onSeekComplete?(position: number): void;
3101
3663
  /**
3102
3664
  * プレイヤーが破棄されるときに呼ばれる
3103
3665
  *
@@ -3113,9 +3675,9 @@ declare interface PlayerEventListener {
3113
3675
  declare type PlayerFindOptions = FindTimedObjectOptions;
3114
3676
 
3115
3677
  /**
3116
- * TextAlive Player に関するさまざまなイベントのリスナ
3678
+ * Player に関するさまざまなイベントのリスナ
3117
3679
  *
3118
- * Event listener for TextAlive Player
3680
+ * Event listener for Player
3119
3681
  * @public
3120
3682
  */
3121
3683
  declare type PlayerListener = PlayerEventListener & PlayerAppListener & LoaderListener;
@@ -3136,26 +3698,28 @@ export declare enum PlayerLoaderStatus {
3136
3698
  declare type PlayerMediaPositionUpdateFunction = (position: number) => Promise<number>;
3137
3699
 
3138
3700
  /**
3139
- * TextAlive Player の初期化オプション
3701
+ * Player の初期化オプション
3702
+ *
3703
+ * Player initialization options
3140
3704
  *
3141
3705
  * @see {@link IPlayer}
3142
3706
  * @public
3143
3707
  */
3144
3708
  declare interface PlayerOptions {
3145
3709
  /**
3146
- * TextAlive アプリの情報; このプロパティがセットされていると、再生メディアをURLのクエリパラメタから取得したり、アプリのホストとの接続を試みたりします。
3710
+ * リリックアプリの情報; このプロパティがセットされていると、再生メディアをURLのクエリパラメタから取得したり、アプリのホストとの接続を試みたりします。
3147
3711
  *
3148
- * TextAlive app options. When this property is set, the player parses query string to gain initial media information and tries communicating with the app host.
3712
+ * Lyric app options. When this property is set, the player parses query string to gain initial media information and tries communicating with the app host.
3149
3713
  */
3150
- app?: PlayerAppOptions | boolean;
3714
+ app?: PlayerAppOptions;
3151
3715
  /**
3152
- * TextAlive Player の音源の再生状態を管理する `Timer` インスタンスです。
3716
+ * Player の音源の再生状態を管理する `Timer` インスタンスです。
3153
3717
  *
3154
3718
  * A timer instance that controls the player status.
3155
3719
  */
3156
3720
  timer?: Timer;
3157
3721
  /**
3158
- * TextAlive のJavaScriptインタプリタを介さず、直接テンプレートのコードを実行することで描画を高速化するオプションです。
3722
+ * TextAlive の JavaScript インタプリタを介さず、直接テンプレートのコードを実行することで描画を高速化するオプションです。
3159
3723
  *
3160
3724
  * Unsafe acceleration. When this flag is set, JavaScript code is executed natively.
3161
3725
  * @internal
@@ -3209,13 +3773,18 @@ declare interface PlayerOptions {
3209
3773
  */
3210
3774
  lyricsFetchTimeout?: number;
3211
3775
  /**
3212
- * 読み込むフォントの一覧を指定できます。 TextAlive 動画が読み込まれると、このオプションに限らず、動画中で利用されているフォントがすべて読み込まれます。 `null` が指定されると、利用可能なすべてのフォントが読み込まれます。
3776
+ * 読み込むフォントの一覧を指定できます。 `null` が指定されると、利用可能なすべてのフォントが読み込まれます。
3213
3777
  *
3214
- * A list of font families to load. When a video is loaded, fonts used in the video override the list. When `null` is set, all available fonts are loaded.
3778
+ * A list of font families to load. When `null` is set, all available fonts are loaded.
3779
+ */
3780
+ fontFamilies?: (FontInfo | string)[] | null;
3781
+ /**
3782
+ * プライベートフォントを読み込むか制御できます。
3215
3783
  *
3216
- * @see {@link IFontLoader.listAvailableFonts}
3784
+ * Whether to load private fonts or not
3785
+ * @internal
3217
3786
  */
3218
- fontFamilies?: (FontInfo | string)[];
3787
+ isPrivateFontEnabled?: boolean;
3219
3788
  /**
3220
3789
  * 明示的に指定されなかった場合に採用されるデフォルトのステージサイズ
3221
3790
  *
@@ -3249,6 +3818,7 @@ export declare const PlayerOverlay: FC<PlayerOverlayProps>;
3249
3818
  export declare interface PlayerOverlayProps {
3250
3819
  showStatus?: boolean;
3251
3820
  svgLogoImage?: string;
3821
+ onError?: (eventType: string, reason: any) => void;
3252
3822
  }
3253
3823
 
3254
3824
  export declare const PlayerSeekbar: FC<PlayerSeekbarProps>;
@@ -3258,15 +3828,13 @@ export declare interface PlayerSeekbarProps {
3258
3828
  disabled?: boolean;
3259
3829
  /** TextAlive player (this is optional because the value can also be passed with `PlayerContext`) */
3260
3830
  player?: IPlayer;
3261
- /** CSS style values for the seekbar */
3262
- styles?: SliderStyles;
3263
3831
  }
3264
3832
 
3265
3833
  /**
3266
- * TextAlive Player のサイズ
3834
+ * Player のサイズ
3267
3835
  *
3268
- * TextAlive Player size
3269
- * @public
3836
+ * Player size
3837
+ * @internal
3270
3838
  */
3271
3839
  declare interface PlayerSize {
3272
3840
  /**
@@ -3279,7 +3847,7 @@ declare interface PlayerSize {
3279
3847
  height: number;
3280
3848
  }
3281
3849
 
3282
- export declare const PlayerStatus: FC;
3850
+ export declare const PlayerStatus: FC<PlayerStatusProps>;
3283
3851
 
3284
3852
  export declare const PlayerStatusItem: FC<PlayerStatusItemProps>;
3285
3853
 
@@ -3288,6 +3856,10 @@ export declare interface PlayerStatusItemProps {
3288
3856
  status: PlayerLoaderStatus;
3289
3857
  }
3290
3858
 
3859
+ export declare interface PlayerStatusProps {
3860
+ onError?: (eventType: string, reason: any) => void;
3861
+ }
3862
+
3291
3863
  /**
3292
3864
  * TextAliveの動画オブジェクトを構築するためのオプション
3293
3865
  *
@@ -3324,6 +3896,7 @@ declare interface PlayerVideoOptions {
3324
3896
  *
3325
3897
  * - URL of lyrics text needs to support CORS access
3326
3898
  * - When failed, the default method is used
3899
+ * @internal
3327
3900
  */
3328
3901
  lyricsDirectAccess?: boolean;
3329
3902
  /**
@@ -3349,6 +3922,7 @@ export declare interface PlayerWrapperProps {
3349
3922
  overlayed?: boolean;
3350
3923
  rounded?: boolean;
3351
3924
  bordered?: boolean;
3925
+ children?: ReactNode;
3352
3926
  }
3353
3927
 
3354
3928
  /**
@@ -3385,34 +3959,22 @@ export declare interface PlayerWrapperProps {
3385
3959
  * @public
3386
3960
  */
3387
3961
  declare class Point implements IPoint {
3388
- /**
3389
- * @inheritDoc
3390
- */
3962
+ /** @inheritDoc */
3391
3963
  x: number;
3392
- /**
3393
- * @inheritDoc
3394
- */
3964
+ /** @inheritDoc */
3395
3965
  y: number;
3396
3966
  /**
3397
3967
  * @param x - X position.
3398
3968
  * @param y - Y position.
3399
3969
  */
3400
3970
  constructor(x?: number, y?: number);
3401
- /**
3402
- * @inheritDoc
3403
- */
3971
+ /** @inheritDoc */
3404
3972
  setValues(x?: number, y?: number): Point;
3405
- /**
3406
- * @inheritDoc
3407
- */
3973
+ /** @inheritDoc */
3408
3974
  copy(point: Point): Point;
3409
- /**
3410
- * @inheritDoc
3411
- */
3975
+ /** @inheritDoc */
3412
3976
  clone(): Point;
3413
- /**
3414
- * @inheritDoc
3415
- */
3977
+ /** @inheritDoc */
3416
3978
  toString(): string;
3417
3979
  }
3418
3980
 
@@ -3422,6 +3984,7 @@ export declare const ProfileProvider: FC<ProfileProviderProps>;
3422
3984
 
3423
3985
  export declare interface ProfileProviderProps {
3424
3986
  manager: IUserManager;
3987
+ children?: ReactNode;
3425
3988
  }
3426
3989
 
3427
3990
  /**
@@ -3448,6 +4011,10 @@ export declare interface ReactPlayerProps extends PartialPlayerOptions {
3448
4011
  * Player callback
3449
4012
  */
3450
4013
  onInit(player: IPlayer): void;
4014
+ /**
4015
+ * Child component if any (intended to be used by PlayerOverlay component)
4016
+ */
4017
+ children?: ReactNode;
3451
4018
  }
3452
4019
 
3453
4020
  /**
@@ -3465,10 +4032,16 @@ declare type RegionalText = {
3465
4032
 
3466
4033
  export declare function regionalText(text?: string | RegionalText, ja?: boolean): string | undefined;
3467
4034
 
4035
+ /**
4036
+ * @internal
4037
+ */
3468
4038
  declare interface RenderingGraphics {
3469
4039
  clear(): void;
3470
4040
  }
3471
4041
 
4042
+ /**
4043
+ * @internal
4044
+ */
3472
4045
  declare interface RenderingParameter {
3473
4046
  alpha: number;
3474
4047
  tx: Matrix2D;
@@ -3478,55 +4051,85 @@ declare interface RenderingParameter {
3478
4051
  }
3479
4052
 
3480
4053
  /**
4054
+ * 定期的に呼び出される描画用関数 / Rendering function that runs periodically
3481
4055
  * @public
3482
4056
  */
3483
- declare type RenderingUnitFunction<U extends IRenderingUnit> = (now: number, u: U) => void;
4057
+ declare type RenderingUnitFunction = (now: number, u: IRenderingUnit) => void;
3484
4058
 
4059
+ /**
4060
+ * @internal
4061
+ */
3485
4062
  declare interface RuntimeVideo {
3486
4063
  rendering: RenderingParameter;
4064
+ addCredit(p: IPhrase): void;
4065
+ removeCredit(p: IPhrase): void;
4066
+ addPhrase(p: IPhrase): void;
4067
+ removePhrase(p: IPhrase): void;
3487
4068
  addGraphic(g: IGraphic): void;
3488
4069
  removeGraphic(g: IGraphic): void;
3489
4070
  }
3490
4071
 
3491
- /**
3492
- * A seekbar allows users to seek for a numerical value in the specified range.
3493
- */
3494
4072
  export declare const Seekbar: FC<SeekbarProps>;
3495
4073
 
3496
- export declare interface SeekbarProps {
3497
- /** whether this seekbar is disabled or not */
3498
- disabled?: boolean;
3499
- /** maximum value of the seekbar slider [ms] */
4074
+ export declare interface SeekbarProps extends SliderProps {
3500
4075
  duration: number;
3501
- /** current value of the seekbar slider [ms] */
3502
4076
  position: number;
3503
- /** called when the current value is updated */
3504
4077
  onSeek?: (position: number) => void;
3505
- /** called when seek starts */
3506
4078
  onSeekStart?: () => void;
3507
- /** called when seek ends */
3508
4079
  onSeekEnd?: () => void;
3509
- /** CSS style values for the seekbar */
3510
- styles?: SliderStyles;
3511
4080
  }
3512
4081
 
3513
4082
  export declare const SelectDropdown: FC<SelectDropdownProps>;
3514
4083
 
3515
4084
  export declare interface SelectDropdownProps {
3516
4085
  label?: ReactNode;
3517
- labelTitle?: string;
3518
- options: Option_2[];
4086
+ description?: ReactNode;
4087
+ options: SelectOption[] | null;
3519
4088
  value: any;
4089
+ disabled?: boolean;
3520
4090
  onValueChange?(value: any): void;
3521
4091
  }
3522
4092
 
4093
+ export declare interface SelectOption {
4094
+ label: ReactNode;
4095
+ value: string | number | boolean | {
4096
+ [value: string]: string;
4097
+ };
4098
+ }
4099
+
3523
4100
  export declare const SelectWidget: FC<SelectWidgetProps>;
3524
4101
 
3525
4102
  export declare interface SelectWidgetProps {
3526
4103
  widget: ParameterWidget;
3527
- value: any;
4104
+ value: ParameterValue;
3528
4105
  onValueChange?(value: ParameterValue): void;
3529
4106
  withoutName?: boolean;
4107
+ description?: string | RegionalText;
4108
+ }
4109
+
4110
+ /**
4111
+ * @internal
4112
+ */
4113
+ declare interface ServerStatus {
4114
+ lang: string;
4115
+ version: string;
4116
+ releaseDate: string;
4117
+ status: {
4118
+ core: "ready" | "maintenance";
4119
+ renderer: "ready" | "maintenance";
4120
+ };
4121
+ app: {
4122
+ success: boolean;
4123
+ data: {
4124
+ name: string;
4125
+ url: string;
4126
+ status?: number;
4127
+ author: string;
4128
+ createdDate: string;
4129
+ };
4130
+ error?: string;
4131
+ message?: string;
4132
+ } | null;
3530
4133
  }
3531
4134
 
3532
4135
  export declare interface Size {
@@ -3534,39 +4137,19 @@ export declare interface Size {
3534
4137
  height: number;
3535
4138
  }
3536
4139
 
3537
- export declare const Slider: FC<SliderProps>;
3538
-
3539
- export declare interface SliderProps {
3540
- label?: ReactNode;
3541
- labelTitle?: string;
3542
- min: number;
3543
- max: number;
3544
- value: number;
3545
- onValueChange?(value: number): void;
3546
- withTextInput?: boolean;
3547
- styles?: SliderStyles;
3548
- }
3549
-
3550
- export declare interface SliderStyles {
3551
- track?: Interpolation;
3552
- active?: Interpolation;
3553
- thumb?: Interpolation;
3554
- disabled?: Interpolation;
3555
- }
3556
-
3557
4140
  export declare const SliderWidget: FC<SliderWidgetProps>;
3558
4141
 
3559
4142
  export declare interface SliderWidgetProps {
3560
4143
  widget: ParameterWidget;
3561
- value: any;
4144
+ value: ParameterValue;
3562
4145
  onValueChange?(value: number): void;
3563
4146
  withTextInput?: boolean;
3564
4147
  withoutName?: boolean;
3565
- styles?: SliderStyles;
4148
+ description?: string | RegionalText;
3566
4149
  }
3567
4150
 
3568
4151
  /**
3569
- * Songle 楽曲情報
4152
+ * 楽曲のメタ情報
3570
4153
  * @public
3571
4154
  */
3572
4155
  declare interface Song {
@@ -3607,12 +4190,12 @@ declare interface Song {
3607
4190
  * 楽曲の再生時間長 [s]
3608
4191
  *
3609
4192
  * - この値は低精度です
3610
- * - 演出に利用する値は必ず TextAlive Player から取得してください
4193
+ * - 演出に利用する値は必ず Player インスタンスから取得してください
3611
4194
  *
3612
4195
  * Song duration [s]
3613
4196
  *
3614
4197
  * - This value is error-prone
3615
- * - Gain more precise value from TextAlive Player instance
4198
+ * - Gain more precise value from Player instance
3616
4199
  */
3617
4200
  length: number;
3618
4201
  /**
@@ -3729,6 +4312,9 @@ declare interface Song {
3729
4312
  commented_at: string | null;
3730
4313
  }
3731
4314
 
4315
+ /**
4316
+ * @internal
4317
+ */
3732
4318
  declare interface SongAnalysis {
3733
4319
  beats: SongBeat[][];
3734
4320
  chords: SongChord[];
@@ -3736,26 +4322,35 @@ declare interface SongAnalysis {
3736
4322
  voice: SongVoice[][];
3737
4323
  }
3738
4324
 
4325
+ /**
4326
+ * @internal
4327
+ */
3739
4328
  declare type SongBeat = [
3740
- /** startTime [s] */ number,
3741
- /** ? */ number,
3742
- /** length */ number,
3743
- /** position */ number,
3744
- /** ? */ number];
4329
+ /** startTime [s] */ number,
4330
+ /** ? */ number,
4331
+ /** length */ number,
4332
+ /** position */ number,
4333
+ /** ? */ number
4334
+ ];
3745
4335
 
4336
+ /**
4337
+ * @internal
4338
+ */
3746
4339
  declare type SongChord = [
3747
- /** startTime [s] */ number,
3748
- /** endTime [s] */ number,
3749
- /** name */ string,
3750
- /** ? */ any[]];
4340
+ /** startTime [s] */ number,
4341
+ /** endTime [s] */ number,
4342
+ /** name */ string,
4343
+ /** ? */ any[]
4344
+ ];
3751
4345
 
3752
4346
  /**
3753
- * Detailed song information
3754
- * e.g. http://songle.jp/songs/1227536/info?format=json&min=1
4347
+ * 楽曲の詳細な情報 / Detailed song information
3755
4348
  * @internal
3756
4349
  */
3757
4350
  declare interface SongInfo {
4351
+ /** @internal */
3758
4352
  analysis: SongAnalysis;
4353
+ /** @internal */
3759
4354
  info: SongMeta;
3760
4355
  }
3761
4356
 
@@ -3773,12 +4368,12 @@ declare interface SongleLyrics {
3773
4368
  }
3774
4369
 
3775
4370
  /**
3776
- * Song information
3777
- * e.g. http://songle.jp/songs/www.youtube.com%2Fwatch%3Fv%3DKdNHFKTKX2s?format=json
3778
- * @internal
4371
+ * Songle 楽曲情報
4372
+ * @public
3779
4373
  */
3780
4374
  declare interface SongleSong {
3781
4375
  song: Song;
4376
+ /** @internal */
3782
4377
  status: SongStatus;
3783
4378
  }
3784
4379
 
@@ -3808,36 +4403,51 @@ declare interface SongLoaderListener {
3808
4403
  * Called when detailed song info is loaded
3809
4404
  * @param songInfo - 楽曲の詳細情報 / Detailed song info
3810
4405
  * @param reason - 失敗したときの理由 / Reason for failures (if any)
4406
+ * @internal
3811
4407
  * @deprecated Use {@link SongLoaderListener.onSongMapLoad} instead
3812
4408
  */
3813
4409
  onSongInfoLoad?(songInfo: SongInfo, reason?: Error): void;
3814
4410
  /**
3815
4411
  * 声量の情報が読み込まれたときに呼ばれる
3816
4412
  *
4413
+ * - 実際の声量情報は {@link ISongExplorer.getVocalAmplitude} を使って取得してください
4414
+ *
3817
4415
  * Called when vocal amplitude is loaded
3818
- * @param vocalAmplitude - 声量の情報
4416
+ *
4417
+ * - To retrieve vocal amplitude information, call {@link ISongExplorer.getVocalAmplitude}
4418
+ * @param vocalAmplitude - 声量の情報(未整形のデータ)
3819
4419
  * @param reason - 失敗したときの理由 / Reason for failures (if any)
3820
4420
  */
3821
4421
  onVocalAmplitudeLoad?(vocalAmplitude: VocalAmplitude, reason?: Error): void;
3822
4422
  /**
3823
4423
  * V/A空間の情報が読み込まれたときに呼ばれる
3824
4424
  *
4425
+ * - 実際のV/A空間の座標情報は {@link ISongExplorer.getValenceArousal} を使って取得してください
4426
+ *
3825
4427
  * Called when valence arousal info is loaded
3826
- * @param valenceArousal - V/A空間の情報
4428
+ *
4429
+ * - To retrieve valence/arousal metrics, call {@link ISongExplorer.getValenceArousal}
4430
+ * @param valenceArousal - V/A空間の情報(未整形のデータ)
3827
4431
  * @param reason - 失敗したときの理由 / Reason for failures (if any)
3828
4432
  */
3829
4433
  onValenceArousalLoad?(valenceArousal: ValenceArousal, reason?: Error): void;
3830
4434
  }
3831
4435
 
4436
+ /**
4437
+ * @internal
4438
+ */
3832
4439
  declare interface SongMapRevisions {
3833
4440
  chord?: number;
3834
4441
  beat?: number;
3835
4442
  chorus?: number;
3836
4443
  }
3837
4444
 
4445
+ /**
4446
+ * @internal
4447
+ */
3838
4448
  declare interface SongMeta {
3839
4449
  /**
3840
- * @deprecated
4450
+ * @deprecated Use {@link code} to identify a Songle song
3841
4451
  */
3842
4452
  songId: number;
3843
4453
  offset: number;
@@ -3853,6 +4463,9 @@ declare interface SongMeta {
3853
4463
  code: string;
3854
4464
  }
3855
4465
 
4466
+ /**
4467
+ * @internal
4468
+ */
3856
4469
  declare interface SongRepetitiveSegment {
3857
4470
  index: number;
3858
4471
  chorus: boolean;
@@ -3864,7 +4477,7 @@ declare interface SongRepetitiveSegment {
3864
4477
  * Songle での解析状況
3865
4478
  *
3866
4479
  * Songle analysis status
3867
- * @public
4480
+ * @internal
3868
4481
  */
3869
4482
  declare interface SongStatus {
3870
4483
  /**
@@ -3905,17 +4518,38 @@ declare interface SongStatus {
3905
4518
  * Lyrics
3906
4519
  */
3907
4520
  lyrics: boolean;
4521
+ /**
4522
+ * 実データにアクセス権のあるプライベート楽曲
4523
+ *
4524
+ * Private song with owner permission
4525
+ * @internal
4526
+ */
4527
+ owner?: boolean;
3908
4528
  }
3909
4529
 
3910
- declare type SongVoice = [[/** current f0 */ number, /** initially recognized f0 */ number],
3911
- /** number of frames (10 [ms] per each frame) */ number];
4530
+ /**
4531
+ * @internal
4532
+ */
4533
+ declare type SongVoice = [
4534
+ [ /** current f0 */
4535
+ number, /** initially recognized f0 */
4536
+ number
4537
+ ],
4538
+ /** number of frames (10 [ms] per each frame) */ number
4539
+ ];
3912
4540
 
4541
+ /**
4542
+ * @internal
4543
+ */
3913
4544
  declare interface TemplateCreateRequest {
3914
4545
  sourceId?: number;
3915
4546
  script: string;
3916
4547
  log?: string;
3917
4548
  }
3918
4549
 
4550
+ /**
4551
+ * @internal
4552
+ */
3919
4553
  declare interface TemplateCreateResponse {
3920
4554
  success: boolean;
3921
4555
  /** Template ID (when succeeded) */
@@ -3943,6 +4577,9 @@ declare interface TemplateData {
3943
4577
  };
3944
4578
  }
3945
4579
 
4580
+ /**
4581
+ * @internal
4582
+ */
3946
4583
  declare interface TemplateEntry {
3947
4584
  id: number;
3948
4585
  type: number;
@@ -3956,15 +4593,11 @@ declare interface TemplateEntry {
3956
4593
  createdDate: string;
3957
4594
  }
3958
4595
 
3959
- declare interface TemplateList {
3960
- list: TemplateEntry[];
3961
- }
3962
-
3963
4596
  /**
3964
4597
  * テンプレートプログラミングに関するイベントのリスナ
3965
4598
  *
3966
4599
  * Event listener for template editing
3967
- * @public
4600
+ * @internal
3968
4601
  */
3969
4602
  declare interface TemplateListener {
3970
4603
  /**
@@ -3981,14 +4614,28 @@ declare interface TemplateListener {
3981
4614
  onTemplatesLoad?(templates: string[], reason?: Error): void;
3982
4615
  }
3983
4616
 
3984
- declare interface TemplateListRequest extends ListSimpleRequest {
3985
- maxResults?: number;
4617
+ /**
4618
+ * @internal
4619
+ */
4620
+ declare interface TemplateListForVideoRequest extends ListRequest {
4621
+ script?: boolean;
4622
+ withoutAuthors?: boolean;
4623
+ }
4624
+
4625
+ /**
4626
+ * @internal
4627
+ */
4628
+ declare interface TemplateListRequest extends ListRequest {
3986
4629
  className?: string;
3987
4630
  script?: boolean;
3988
4631
  withoutAuthors?: boolean;
3989
4632
  withoutOriginalAuthors?: boolean;
4633
+ templateType?: "text" | "graphic" | "utility";
3990
4634
  }
3991
4635
 
4636
+ /**
4637
+ * @internal
4638
+ */
3992
4639
  declare type TemplateListResponse = ListSimpleResponse<TemplateEntry>;
3993
4640
 
3994
4641
  /**
@@ -4013,6 +4660,9 @@ declare interface TextLoaderListener {
4013
4660
  onTextLoad?(lyricsBody: LyricsBody, reason?: Error): void;
4014
4661
  }
4015
4662
 
4663
+ /**
4664
+ * @internal
4665
+ */
4016
4666
  declare interface TextParsingResponse {
4017
4667
  status: "success" | "error";
4018
4668
  result?: WordParsingResponse[][];
@@ -4023,21 +4673,54 @@ declare interface TextParsingResponse {
4023
4673
  * 時刻付きオブジェクト
4024
4674
  *
4025
4675
  * Timed object
4676
+ *
4677
+ * @see {@link TimedUnit}
4026
4678
  * @public
4027
4679
  */
4028
4680
  declare interface TimedObject {
4029
4681
  startTime: number;
4030
4682
  endTime: number;
4683
+ /**
4684
+ * Returns whether this time range contains the specified time (start and end inclusive).
4685
+ * @param time - 時刻 [ms] / Time [ms]
4686
+ */
4031
4687
  contains(time: number): boolean;
4688
+ /**
4689
+ * Returns whether the specified range overlaps with this time range (start and end inclusive).
4690
+ * @param obj - 時刻付きオブジェクト / Timed object
4691
+ */
4692
+ overlaps(obj: TimedObject): boolean;
4693
+ /**
4694
+ * Returns whether the specified range overlaps with this time range (start and end inclusive).
4695
+ * @param startTime - 開始時刻 [ms] / Start time [ms]
4696
+ * @param endTime - 終了時刻 [ms] / End time [ms]
4697
+ */
4032
4698
  overlaps(startTime: number, endTime: number): boolean;
4033
4699
  }
4034
4700
 
4701
+ /**
4702
+ * 時区間駆動型APIの問い合わせ結果 / Query results for time-range-driven API
4703
+ * @public
4704
+ */
4705
+ declare interface TimedObjectsInRange<T extends TimedObject> {
4706
+ /** 指定区間の終了時にかぶっているオブジェクト / Timed object overlapping with the end time of the specified time range */
4707
+ current: T | null;
4708
+ /** 指定区間内で開始したオブジェクト / Timed objects that started within the specified time range */
4709
+ entered: T[];
4710
+ /** 指定区間内で終了したオブジェクト / Timed objects that ended within the specified time range */
4711
+ left: T[];
4712
+ /** 指定区間の直前にあるオブジェクト / The last timed object before the specified time range */
4713
+ previous: T | null;
4714
+ /** 指定区間の直後にあるオブジェクト / The first timed object after the specified time range */
4715
+ next: T | null;
4716
+ }
4717
+
4035
4718
  /**
4036
4719
  * **Timer**
4037
4720
  *
4038
- * TextAlive Player の音源の再生状態を管理するクラスが実装するインタフェースです。
4721
+ * Player の音源の再生状態を管理するクラスが実装するインタフェースです。
4039
4722
  *
4040
- * Classes that manage music playback for TextAlive Player should implement this interface.
4723
+ * Classes that manage music playback for Player should implement this interface.
4041
4724
  * @public
4042
4725
  */
4043
4726
  declare interface Timer {
@@ -4051,20 +4734,20 @@ declare interface Timer {
4051
4734
  * **現在の再生位置 [ms]**
4052
4735
  *
4053
4736
  * `Timer` 実装クラスはこの値をリアルタイムに計算して返さなくてはなりません。
4054
- * TextAlive には他にも再生位置を返すAPIが以下の2種類用意されていますが、実装手法の違いにより、このAPIが常に最も精確な値を返します。
4737
+ * 他にも再生位置を返す API が以下の2種類用意されていますが、実装手法の違いにより、この API が常に最も精確な値を返します。
4055
4738
  *
4056
4739
  * - {@link IPlayer.mediaPosition} は `Timer` 実装クラスによって定期的に更新されます
4057
- * - {@link IPlayer.videoPosition} は TextAlive Player が定期的に呼び出す {@link IRenderingUnit.animate} が成功してから更新されます
4740
+ * - {@link IPlayer.videoPosition} は Player が定期的に呼び出す {@link IRenderingUnit.animate} が成功してから更新されます
4058
4741
  *
4059
- * このAPIを利用するアプリでは、動画のシーク操作に対応するために {@link PlayerEventListener.onVideoSeekStart} {@link PlayerEventListener.onVideoSeek} {@link PlayerEventListener.onVideoSeekEnd} イベントを適切にハンドルする必要があります。
4742
+ * この API を利用するアプリでは、動画のシーク操作に対応するために {@link PlayerEventListener.onVideoSeekStart} {@link PlayerEventListener.onVideoSeek} {@link PlayerEventListener.onVideoSeekEnd} イベントを適切にハンドルする必要があります。
4060
4743
  *
4061
4744
  * **Current playback position [ms]**
4062
4745
  *
4063
4746
  * `Timer` implementations need to calculate this property value in real time.
4064
- * While TextAlive also has the following APIs to retrieve the current playback position, this one returns the most precise value at any time.
4747
+ * While there are two other APIs to retrieve the current playback position as follows, this one returns the most precise value.
4065
4748
  *
4066
4749
  * - {@link IPlayer.mediaPosition} is updated by `Timer` implementations periodically
4067
- * - {@link IPlayer.videoPosition} is updated by TextAlive Player after the periodic call to {@link IRenderingUnit.animate}
4750
+ * - {@link IPlayer.videoPosition} is updated by Player after the periodic call to {@link IRenderingUnit.animate}
4068
4751
  *
4069
4752
  * Applications utilizing this API need to handle {@link PlayerEventListener.onVideoSeekStart} {@link PlayerEventListener.onVideoSeek} {@link PlayerEventListener.onVideoSeekEnd} events appropriately so that the applications respond to the video seeking operation.
4070
4753
  */
@@ -4124,9 +4807,9 @@ declare interface Timer {
4124
4807
  */
4125
4808
  declare interface TimerInitOptions {
4126
4809
  /**
4127
- * TextAlive Player インスタンス
4810
+ * Player インスタンス
4128
4811
  *
4129
- * TextAlive Player instance
4812
+ * Player instance
4130
4813
  */
4131
4814
  player: IPlayer;
4132
4815
  /**
@@ -4159,13 +4842,14 @@ declare interface UnitData {
4159
4842
 
4160
4843
  /**
4161
4844
  * TextAlive user information
4845
+ *
4846
+ * @internal
4162
4847
  */
4163
4848
  declare interface UserEntry {
4164
4849
  id?: number;
4165
4850
  name?: string;
4166
4851
  displayName?: string;
4167
4852
  photoUrl?: string;
4168
- language?: string;
4169
4853
  twitterId?: number;
4170
4854
  twitterName?: string;
4171
4855
  twitterDisplayName?: string;
@@ -4188,12 +4872,20 @@ declare interface UserEntry {
4188
4872
  songleUserName?: string;
4189
4873
  songleAccessToken?: string;
4190
4874
  songleRefreshToken?: string;
4875
+ language?: string;
4876
+ isDeveloper?: boolean;
4191
4877
  createdDate?: string;
4192
4878
  updatedDate?: string;
4193
4879
  }
4194
4880
 
4195
- export declare function useResize<T extends HTMLElement>(): [Size, RefObject<T>];
4881
+ export declare function useResize<T extends HTMLElement>(): [
4882
+ Size,
4883
+ RefObject<T | null>
4884
+ ];
4196
4885
 
4886
+ /**
4887
+ * @internal
4888
+ */
4197
4889
  declare interface UserListener {
4198
4890
  onUserProfileUpdated?: (user: UserProfile) => void;
4199
4891
  onUserMergeRequired?: (user: UserEntry, mergeWith: UserEntry) => void;
@@ -4204,6 +4896,8 @@ declare interface UserListener {
4204
4896
 
4205
4897
  /**
4206
4898
  * TextAlive user profile
4899
+ *
4900
+ * @internal
4207
4901
  */
4208
4902
  declare interface UserProfile {
4209
4903
  user: UserEntry;
@@ -4215,8 +4909,15 @@ declare interface UserProfile {
4215
4909
  }
4216
4910
 
4217
4911
  /**
4218
- * Valence and arousal model information
4219
- * e.g. https://songle.jp/songs/ad3e5f353/av.json
4912
+ * @internal
4913
+ */
4914
+ declare interface UserUpdateRequest {
4915
+ language?: string;
4916
+ isDeveloper?: boolean;
4917
+ }
4918
+
4919
+ /**
4920
+ * V/A空間の情報 / Valence and arousal model information
4220
4921
  * @internal
4221
4922
  */
4222
4923
  declare interface ValenceArousal {
@@ -4226,6 +4927,9 @@ declare interface ValenceArousal {
4226
4927
  seq: ValenceArousalUnit[];
4227
4928
  }
4228
4929
 
4930
+ /**
4931
+ * @internal
4932
+ */
4229
4933
  declare interface ValenceArousalUnit extends ValenceArousalValue {
4230
4934
  /** Time */
4231
4935
  t: [number, number];
@@ -4234,20 +4938,26 @@ declare interface ValenceArousalUnit extends ValenceArousalValue {
4234
4938
  /**
4235
4939
  * V/A空間の座標値
4236
4940
  *
4941
+ * - 感情価、覚醒度とも `[-1, 1]` の範囲に正規化された値
4942
+ * - 曲内の相対的な変化 **ではなく** 曲間で比較可能な絶対値
4943
+ *
4237
4944
  * Valence arousal data
4945
+ *
4946
+ * - Both valence and arousal values range from -1 to 1
4947
+ * - The values do NOT represent relative changes within a song but absolute values comparable with values in other songs
4238
4948
  * @public
4239
4949
  */
4240
4950
  declare interface ValenceArousalValue {
4241
4951
  /**
4242
- * 感情価
4952
+ * 感情価 [-1, 1]
4243
4953
  *
4244
- * Valence
4954
+ * Valence [-1, 1]
4245
4955
  */
4246
4956
  v: number;
4247
4957
  /**
4248
- * 覚醒度
4958
+ * 覚醒度 [-1, 1]
4249
4959
  *
4250
- * Arousal
4960
+ * Arousal [-1, 1]
4251
4961
  */
4252
4962
  a: number;
4253
4963
  }
@@ -4259,7 +4969,14 @@ declare interface VideoData {
4259
4969
  startTime?: number;
4260
4970
  endTime?: number;
4261
4971
  duration?: number;
4972
+ /**
4973
+ * @internal
4974
+ */
4975
+ credits?: PhraseData[];
4262
4976
  phrases?: PhraseData[];
4977
+ /**
4978
+ * @internal
4979
+ */
4263
4980
  graphics?: GraphicData[];
4264
4981
  /**
4265
4982
  * @internal
@@ -4271,7 +4988,7 @@ declare interface VideoData {
4271
4988
 
4272
4989
  /**
4273
4990
  * TextAlive の動画データ
4274
- * @public
4991
+ * @internal
4275
4992
  */
4276
4993
  declare interface VideoEntry {
4277
4994
  /**
@@ -4287,7 +5004,7 @@ declare interface VideoEntry {
4287
5004
  */
4288
5005
  sourceOriginId: number;
4289
5006
  /**
4290
- * @deprecated
5007
+ * @deprecated {@link songleCode} で楽曲を特定してください / Use {@link songleCode} to identify a Songle song
4291
5008
  * @internal
4292
5009
  */
4293
5010
  songleId: number;
@@ -4366,7 +5083,7 @@ declare interface VideoEntry {
4366
5083
  }
4367
5084
 
4368
5085
  /**
4369
- * @public
5086
+ * @internal
4370
5087
  */
4371
5088
  declare interface VideoEntryConfig extends VideoSizeConfig {
4372
5089
  /**
@@ -4377,6 +5094,7 @@ declare interface VideoEntryConfig extends VideoSizeConfig {
4377
5094
 
4378
5095
  /**
4379
5096
  * Options for exporting video object
5097
+ * @internal
4380
5098
  */
4381
5099
  declare interface VideoExportOptions {
4382
5100
  /**
@@ -4386,7 +5104,30 @@ declare interface VideoExportOptions {
4386
5104
  }
4387
5105
 
4388
5106
  /**
4389
- * @public
5107
+ * @internal
5108
+ */
5109
+ declare interface VideoListRequest extends ListRequest {
5110
+ /**
5111
+ * @deprecated Use {@link VideoListRequest.songCode} instead
5112
+ */
5113
+ songId?: number;
5114
+ songCode?: string;
5115
+ authorId?: number;
5116
+ mine?: boolean;
5117
+ sort?: "latest" | "popularity";
5118
+ uniqueSource?: boolean;
5119
+ uniqueAuthor?: boolean;
5120
+ uniqueSong?: boolean;
5121
+ template?: string;
5122
+ }
5123
+
5124
+ /**
5125
+ * @internal
5126
+ */
5127
+ declare type VideoListResponse = ListResponse<VideoEntry>;
5128
+
5129
+ /**
5130
+ * @internal
4390
5131
  */
4391
5132
  declare interface VideoLoaderListener {
4392
5133
  /**
@@ -4400,7 +5141,7 @@ declare interface VideoLoaderListener {
4400
5141
  }
4401
5142
 
4402
5143
  /**
4403
- * @public
5144
+ * @internal
4404
5145
  */
4405
5146
  declare interface VideoSizeConfig {
4406
5147
  /**
@@ -4424,29 +5165,45 @@ declare interface VideoSizeConfig {
4424
5165
  }
4425
5166
 
4426
5167
  /**
4427
- * Vocal amplitude information
4428
- * e.g. https://songle.jp/songs/ad3e5f353/vamplitude.json
5168
+ * 楽曲の声量の情報 / Vocal amplitude information
4429
5169
  * @internal
4430
5170
  */
4431
5171
  declare type VocalAmplitude = Array<number>;
4432
5172
 
4433
5173
  export declare const Widget: FC<WidgetProps>;
4434
5174
 
5175
+ export declare const WidgetLabel: FC<WidgetLabelProps>;
5176
+
5177
+ declare interface WidgetLabelProps extends TextProps {
5178
+ children?: ReactNode;
5179
+ }
5180
+
5181
+ export declare type WidgetPosition = "leftAligned" | "rightAligned";
5182
+
4435
5183
  export declare interface WidgetProps {
5184
+ position?: WidgetPosition;
4436
5185
  widget: ParameterWidget;
4437
5186
  value: ParameterValue;
4438
5187
  colorFactory(hexString: string): IColor;
4439
5188
  onValueChange(name: string, value: ParameterValue): void;
5189
+ withPrivate?: boolean;
4440
5190
  withoutName?: boolean;
5191
+ description?: string | RegionalText;
4441
5192
  }
4442
5193
 
4443
- export declare const Widgets: FC<WidgetsProps>;
5194
+ export declare const Widgets: ForwardRefExoticComponent<WidgetsProps & RefAttributes<WidgetsIface>>;
5195
+
5196
+ export declare interface WidgetsIface {
5197
+ values: ParameterValues;
5198
+ setValues(values: ParameterValues): void;
5199
+ }
4444
5200
 
4445
5201
  export declare interface WidgetsProps {
4446
5202
  widgets: ParameterWidget[];
4447
5203
  initialValues?: ParameterValues;
4448
5204
  colorFactory(hexString: string): IColor;
4449
5205
  onValueChange?(name: string, value: ParameterValue): void;
5206
+ withPrivate?: boolean;
4450
5207
  withoutName?: boolean;
4451
5208
  }
4452
5209
 
@@ -4458,8 +5215,17 @@ declare interface WordData extends UnitData {
4458
5215
  pos?: string;
4459
5216
  rawPoS?: string;
4460
5217
  language?: string;
5218
+ /** @internal */
5219
+ countDown?: number;
5220
+ /** @internal */
5221
+ countUp?: number;
5222
+ /** @internal */
5223
+ initialCount?: number;
4461
5224
  }
4462
5225
 
5226
+ /**
5227
+ * @internal
5228
+ */
4463
5229
  declare interface WordParsingResponse {
4464
5230
  PoS: string;
4465
5231
  rawPoS: string;
@@ -4469,6 +5235,9 @@ declare interface WordParsingResponse {
4469
5235
  language: "ja" | "en";
4470
5236
  }
4471
5237
 
5238
+ /**
5239
+ * @internal
5240
+ */
4472
5241
  declare type WrapperTable = {
4473
5242
  [className: string]: new (...params: any[]) => any;
4474
5243
  };