Kicooya UserFace では、face.json で再生画面を作成することができます。
face.json のみで UserFace を作成できますが、より詳細な描画を行いたい場合は Kicooya UserFace API を利用してください。
+- face
|
+- title
|
+- author
|
+- debug
|
+- lua
|
+- fonts
| |
| +- [font ...]
|
+- patterns
| |
| +- [pattern ...]
|
+- textStyles
| |
| +- [textStyle ...]
|
+- background
| |
| +- texts
| | |
| | +- [text ...]
| |
| +- images
| |
| +- [image ...]
|
+- foreground
|
+- texts
| |
| +- [text ...]
|
+- images
| |
| +- [image ...]
|
+- playerButtons
|
+- seekBar
|
+- audioSpectrum
face のルートオブジェクトです。
プロパティ名 | 型 | 説明 |
---|---|---|
title | 文字列 | Face のタイトル。 |
author | 文字列 | Face の作者名。 |
debug | 真偽値 | デバッグモード。true: テキストの描画領域の矩形が描画されます。 |
lua | lua オブジェクト | ユーザー定義 の Lua Script で Face を描画します。 |
fonts | fonts オブジェクト | テキスト描画で利用するフォントを読み込みます。 |
patterns | patterns オブジェクト | 塗りつぶし用のパターンを画像から読み込みます。 |
textStyles | textStyles オブジェクト | テキストの描画スタイルを定義します。 |
background | background オブジェクト | 再生中の曲が変わったタイミングで一度だけ描画されます。 |
foreground | foreground オブジェクト | 曲の再生中、フレーム毎に描画されます。 |
ユーザー定義 の Lua Script で Face を描画します。
プロパティ名 | 型 | 説明 |
---|---|---|
path | 文字列 | Lua Script のファイルパス(拡張子無し)。 |
arg | 文字列 | 引数。Lua Script の初期化時(initializeFace )に引数として設定されます。 |
zOrder | zOrder オブジェクト | 描画の重なり順序を指定します。 |
ユーザー定義 の Lua Script による描画の重なり順序を指定します。
プロパティ名 | 型 | 説明 |
---|---|---|
background | 数値 | background の重なり順序を指定します。値が大きいものが、より上に描画されます。 |
foreground | 数値 | foreground の重なり順序を指定します。値が大きいものが、より上に描画されます。 |
audioVisualizer | 数値 | audioVisualizer の重なり順序を指定します。値が大きいものが、より上に描画されます。audioVisualizer は foreground の重なり順序に含まれ、描画されます。 |
テキスト描画で利用するフォントを読み込みます。
プロパティ名 | 型 | 説明 |
---|---|---|
id | 文字列 | フォント識別子。 |
path | 文字列 | フォントのファイルパス。 |
塗りつぶし用のパターンを画像から読み込みます。
プロパティ名 | 型 | 説明 |
---|---|---|
path | 文字列 | パターン画像のファイルパス(拡張子無し)。ファイル名がパターン識別子として利用されます。 |
テキストの描画スタイルを定義します。
プロパティ名 | 型 | 説明 |
---|---|---|
id | 文字列 | テキストスタイル識別子。 |
font | 文字列 | フォント識別子 (fonts オブジェクト / Kicooya 組み込みのフォント) |
drawMode | 列挙型 | 描画モード。 copy whiteTransparent blackTransparent fillWhite fillBlack xor nxor inverted ※ 詳細は playdate.graphics.setImageDrawMode のドキュメントを参照してください。 |
hAlign | 列挙型 | 水平位置。 left : 左揃え center : 中央揃え right : 右揃え |
vAlign | 列挙型 | 垂直位置。 top : 上揃え middle : 中央揃え bottom : 下揃え |
再生中の曲が変わったタイミングで一度だけ描画されます。
プロパティ名 | 型 | 説明 |
---|---|---|
texts | texts オブジェクト | テキストを描画します。 |
images | images オブジェクト | 画像を描画します。 |
曲の再生中、フレーム毎に描画されます。
プロパティ名 | 型 | 説明 |
---|---|---|
texts | texts オブジェクト | テキストを描画します。 |
images | images オブジェクト | 画像を描画します。 |
playerButtons | playerButtons オブジェクト | プレーヤー操作用のボタンを画像から読み込みます。 |
seekBar | seekBar オブジェクト | シークバーを描画します。 |
audioSpectrum | audioSpectrum オブジェクト | オーディオスペクトラムを描画します。 |
※ Lua Script 関数: drawAudioVisualizer() は foreground オブジェクトと同じタイミングで呼び出されます。
テキストを描画します。
プロパティ名 | 型 | 説明 |
---|---|---|
style | 文字列 | テキストスタイル識別子。 |
rect | 矩形 | テキストを描画する矩形。 |
text | 文字列 | 描画するテキストの内容。 プレースホルダ を利用して、再生中のメディアなどの情報を描画できます。 |
zOrder | 数値 | 描画の重なり順序を指定します。値が大きいものが、より上に描画されます。 |
画像を描画します。 pos、rect のどちらかを指定して、描画位置を決定します。
プロパティ名 | 型 | 説明 |
---|---|---|
path | ファイルパス or 列挙型 |
パターン画像のファイルパス、または 再生中メディアのアートイメージを指定します。 song.artImageSmall : アートイメージ小 (最大 80 x 80) song.artImageLarge : アートイメージ大 (最大 180 x 180) |
pos | 点 | 画像を表示する左上の点。 |
rect | 矩形 | 画像を描画する矩形。画像は矩形の中央に描画されます。 |
border | border オブジェクト | 画像のボーダー。 |
zOrder | 数値 | 描画の重なり順序を指定します。値が大きいものが、より上に描画されます。 |
プレーヤー操作用のボタンを画像で定義します。
プロパティ名 | 型 | 説明 |
---|---|---|
path | 文字列 | プレーヤー操作用ボタン画像のファイルパス |
pos | 点 | ボタンを表示する左端の点。 |
zOrder | 数値 | 描画の重なり順序を指定します。値が大きいものが、より上に描画されます。 |
7x2 のマトリクス画像テーブルでボタンを定義してください。 マトリクス画像テーブルについては Playdate のドキュメント Image table > Matrix image tables を参照してください。
上段: 非選択状態の画像
下段: 選択状態の画像
- 再生
- 停止
- リピート OFF
- リピート ON
- リピート 1
- シャッフル OFF
- シャッフル ON
シークバーを描画します。
プロパティ名 | 型 | 説明 |
---|---|---|
rect | 矩形 | シークバーを描画する矩形。 |
radius | 数値 | 角丸の半径。 |
foreground | 文字列 | シークバーを塗りつぶす為のパターン識別子(patterns オブジェクト / 組み込み Patterns)。 |
background | 文字列 | 背景を塗りつぶす為のパターン識別子(patterns オブジェクト / 組み込み Patterns)。 |
border | border オブジェクト | seekBar のボーダー。 |
zOrder | 数値 | 描画の重なり順序を指定します。値が大きいものが、より上に描画されます。 |
オーディオスペクトラムを描画します。 audioSpectrum.type の値毎に、指定できるプロパティが異なります。
プロパティ名 | 型 | 説明 |
---|---|---|
type | 列挙型 | オーディオスペクトラムの種類。 stereo : ステレオ mono : モノラル wave : 波形 |
rect | 矩形 | オーディオスペクトラムを描画する矩形。 |
zOrder | 数値 | 描画の重なり順序を指定します。値が大きいものが、より上に描画されます。 |
プロパティ名 | 型 | 説明 |
---|---|---|
foreground | 文字列 | アイテムを塗りつぶす為のパターン識別子(patterns オブジェクト / 組み込み Patterns)。 |
background | 文字列 | 背景を塗りつぶす為のパターン識別子(patterns オブジェクト / 組み込み Patterns)。 |
peek | 文字列 | ピークを描画する為のパターン識別子(patterns オブジェクト / 組み込み Patterns)。 |
blockMarginWidth | 数値 | スペクトラム左右ブロックのマージン幅 |
itemWidth | 数値 | アイテムの幅 |
itemHeight | 数値 | アイテムの高さ |
itemMarginWidth | 数値 | アイテム間のマージン幅 |
peekHeight | 数値 | ピークの高さ |
プロパティ名 | 型 | 説明 |
---|---|---|
foreground | 文字列 | オーディオスペクトラムを塗りつぶす為のパターン識別子(patterns オブジェクト / 組み込み Patterns)。 |
background | 文字列 | 背景を塗りつぶす為のパターン識別子(patterns オブジェクト / 組み込み Patterns)。 |
border | border オブジェクト | オーディオスペクトラムのボーダー。 |
プロパティ名 | 型 | 説明 |
---|---|---|
foreground | 文字列 | オーディオスペクトラムを塗りつぶす為のパターン識別子(patterns オブジェクト / 組み込み Patterns)。 |
background | 文字列 | 背景を塗りつぶす為のパターン識別子(patterns オブジェクト / 組み込み Patterns)。 |
border | border オブジェクト | オーディオスペクトラムのボーダー。 |
ボーダーを描画します。
プロパティ名 | 型 | 説明 |
---|---|---|
size | 整数(1 - 255) | ボーダーのサイズ。 |
pattern | 文字列 | ボーダーを塗りつぶす為のパターン識別子(patterns オブジェクト / 組み込み Patterns)。 |
texts オブジェクトの text プロパティでは、プレースホルダを利用して、再生中のメディアなどの情報を描画できます。
Key | Description |
---|---|
${song.title} | タイトル |
${song.album} | アルバム |
${song.artist} | アーティスト |
${song.composer} | 作曲者 |
${song.genre} | ジャンル |
${song.year} | 年 |
${song.track} | トラック |
${song.trackNumber} | トラック数 |
${song.numberOfTracks} | トラック番号 |
${song.disc} | ディスク |
${song.discNumber} | ディスク数 |
${song.numberOfDiscs} | ディスク番号 |
${song.fileFormat} | ファイル種別 |
${song.fileSize} | ファイルサイズ |
${song.fileSizeReadable} | 読みやすく整形されたファイルサイズ |
${song.bitrate} | ビットレート |
${song.samplingRate} | サンプリングレート |
${song.encodedBy} | コンテンツをエンコードした人物またはグループ |
${song.lastModified} | 最終更新 |
Key | Description |
---|---|
${player.currentPlaybackPosition} | 現在の再生位置 |
${player.currentPlaybackTimeRemaining} | 再生中の曲の残り時間 |
${player.currentPlaybackDuration} | 再生中の曲の長さ |
Key | Description |
---|---|
${playlist.currentIndex} | プレイリストの再生位置 |
${playlist.length} | プレイリストの曲数 |
Kicooya のアセットとして組み込まれているリソースの識別子の一覧です。
Font Unique ID | Font Path |
---|---|
AshevilleSans14Light | assets/fonts/Asheville/Asheville Sans 14 Light/Asheville-Sans-14-Light |
AshevilleSans14Bold | assets/fonts/Asheville/Asheville Sans 14 Bold/Asheville-Sans-14-Bold |
CuberickBold | assets/fonts/Cuberick/font-Cuberick-Bold |
FullCircle | assets/fonts/Full Circle/font-full-circle |
NontendoLight | assets/fonts/Nontendo/Nontendo-Light |
NontendoBold | assets/fonts/Nontendo/Nontendo-Bold |
Roobert10Bold | assets/fonts/Roobert/Roobert-10-Bold |
Roobert11Medium | assets/fonts/Roobert/Roobert-11-Medium |
Roobert20Medium | assets/fonts/Roobert/Roobert-20-Medium |
NotoSansJP16Medium | assets/fonts/NotoSansJP/NotoSansJP-Medium16 |
NotoSansJP20Medium | assets/fonts/NotoSansJP/NotoSansJP-Medium20 |
font.title | タイトル描画用のフォントを OPTION -> FONTS の設定に従って返す |
font.description | 説明描画用のフォントを OPTION -> FONTS の設定に従って返す |