Title Formatting Reference
foobar2000 の Title Formatting Reference の日本語訳です。
Syntax
Title formatting スクリプトはリテラルテキスト、フィールド参照、関数の呼び出し、コメント、改行文字の組み合わせから成ります。常に文字列 (空の文字列もあり得ます) を出力します。
コメントは 2 つのスラッシュで始まる行です。(例 : // これはコメントです。
)
フィールド参照はフィールド名をパーセント記号で括ります。(例 : %artist%
)
関数の呼び出しはドル記号で始まり、関数名とパラメーターリストが続きます。パラメーターリストは空であるか、1 つ以上のパラメーターをコンマで区切ります (例 : $abbr(%artist%)
)。パラメーターになり得るのはリテラルテキスト、フィールド参照、または他の関数の呼び出しです。ドル記号と関数名の間、関数名と開き括弧の間に空白を含めてはいけません。
リテラルテキストにおいて、%、$、[、]、' (アポストロフィー / シングルクォート) は ' で囲んでエスケープしなければなりません。'['
(シングルクォートで囲んだ左ブラケット) は [ (左ブラケット) を出力します。特別なケースとして、''
(2 つのシングルクォート) は 1 つのシングルクォートを出力します。プレイリストにおいて、< と > は特別です。Dimmed and highlighted text を参照してください。
スクリプトが評価されるとき、文字列は関数のパラメーター、関数の呼び出し、フィールド参照を評価することで組み立てられます。コメントと改行文字 (CR と LF) は無視されます。改行を出力するには $crlf() を使用してください。フィールド参照はフィールドの値を文字列として返します。関数は文字列か数値、真偽値を返し、他の関数で使用することができます。
Default UI のプレイリストにおいてカスタムカラムとグルーピングスキームを入力するインターフェースは改行をサポートしていません。スクリプトは一行で書かれなければならず、コメントを含めてはいけません。
Arithmetic functions
このセクションの関数は整数値で計算を行うために使用されます。文字列は自動的に数値に変換されます。数値への変換は、数値と解釈され得る最長のプレフィックスを使用します。先頭の空白は無視されます。小数はサポートされません。
c3po
→ 04.8
→ 4-12
→ -12- 12
→ 0
- $add(a,b)
- a と b を足します。
- 任意の数の引数をとることができます。
$add(a,b,...)
は$add($add(a,b),...)
と同じです。 - $div(a,b)
- a を b で割り、整数に切り捨てます。b が 0 と評価されたときは a を返します。
- 任意の数の引数をとることができます。
$div(a,b,...)
は$div($div(a,b),...)
と同じです。 - $greater(a,b)
- a が b より大きければ true を返し、そうでなければ false を返します。
- $max(a,b)
- a と b における最大値を返します。
- 任意の数の引数をとることができます。
$max(a,b,...)
は$max($max(a,b),...)
と同じです。 - $min(a,b)
- a と b における最小値を返します。
- 任意の数の引数をとることができます。
$min(a,b,...)
は$min($min(a,b),...)
と同じです。 - $mod(a,b)
- a を b で割ったときの余りを返します。結果は a と同じ符号を持ちます。b が 0 になったときは a を返します。
- 任意の数の引数をとることができます。
$mod(a,b,...)
は$mod($mod(a,b),...)
と同じです。 - $mul(a,b)
- a に b を掛けます。
- 任意の数の引数をとることができます。
$mul(a,b,...)
は$mul($mul(a,b),...)
と同じです。 - $muldiv(a,b,c)
- a に b を掛け、それから c で割ります。結果は近似の整数に四捨五入されます。
- $rand()
- 0 から 232-1 (4294967295) までの間で、ランダムな数を生成します。ソートに関連したコンテキストでのみ利用可能です。
- $sub(a,b)
- a から b を引きます。
- 任意の数の引数をとることができます。
$sub(a,b,...)
は$sub($sub(a,b),...)
と同じです。
Boolean functions
このセクションの関数は真偽値 (true と false) を扱うために使用されます。真偽値はスクリプトにおいて明示的な表現はありません。文字列や数値を返しません。$if や関連した関数を用いた、より複雑な条件のために使うことができます。
foobar2000 はプログラミング言語における true や false のコンセプトを持ちませんが、0 や空の文字列は false とみなされ、それ以外は true とみなされます。数値の 0 と文字列の '0' に違いはなく、どちらも値とみなされ、真偽値は false となります。アポストロフィーは特定の文字をエスケープする場合にのみ必要です。$add() のような計算時に、値は数値として扱われます。
- $and(expr,...)
- 任意の数の引数の論理積。すべての expr が true と評価される場合にのみ true を返します。
- $or(expr,...)
- 任意の数の引数の論理和。少なくとも一つの expr が true と評価されれば true を返します。
- $not(expr)
- 論理否定。expr が true であれば false を返し、false であれば true を返します。
- $xor(expr,...)
- 任意の数の引数の排他的論理和。奇数個の引数が true であれば true を返します。
- 例 :
$xor(expr1,expr2)
は expr1 か expr2 の一方が true であれば true を返しますが、両者が true であれば false を返します。
Control flow functions
このセクションの関数は条件文に使用されます。
- [...]
- 括弧内の表現を評価し、真偽値が true となれば、括弧内の文字列と真偽値 true を返します。そうでなければ、空の文字列と真偽値 false を返します。
- 例 :
[%artist%]
は artist タグがあればその値を返します (括弧なしの%artist%
の場合は ? を返します)。 - $if(cond,then)
- cond が true となれば then を評価し、値を返します。そうでなければ false を返します。
- プレーンテキストは false と評価されます。フィールド検索や関数は true と評価され得ます。
-
- False:
$if(0,True,False)
- False:
$if('0',True,False)
- True または False:
[$add(%rating%,1)]
最後の例は %rating% が設定されている場合にのみ、%rating% に 1 を足した値を表示します。
- False:
- %album artist% が "various" を含むならこれを挿入しない場合
- 誤 :
$if([%album artist%=Various],,%artist%-)
- 良い方法 :
$if($stricmp(%album artist%,Various),,%artist%-)
- 誤 :
- $if(cond,then,else)
- cond が true となれば then を評価し、値を返します。そうでなければ else を評価し、値を返します。
- $if2(expr,else)
- expr が一度だけ評価されるという点を除き、
$if(expr,expr,else)
と同様です。expr が true となれば expr を返し、そうでなければ else を評価し、値を返します。 - $if3(a1,a2,...,aN,else)
- true と評価されるものが見つかるまで、引数を a1 から aN まで順に評価します。見つかった時点で値を返します。そうでなければ else を評価し、値を返します。
- $ifequal(int1,int2,then,else)
- 整数値 int1 と int2 を比較し、int1 が int2 と等しければ、then を評価し、値を返します。そうでなければ else を評価し、値を返します。
- $ifgreater(int1,int2,then,else)
- 整数値 int1 と int2 を比較し、int1 が int2 より大きければ、then を評価し、値を返します。そうでなければ else を評価し、値を返します。
- $iflonger(str,n,then,else)
- 文字列 str の長さと 数値 n を比較し、str が n より長ければ、then を評価し、値を返します。そうでなければ else を評価し、値を返します。
- $select(n,a1,...,aN)
- n の値が 1 から N までにあれば、値を返します。そうでなければ、false を返します。
String functions
このセクションの関数は文字列の操作に使用されます。
- $abbr(str)
- 文字列 str の省略形を返します。英数字で始まる単語は最初の文字だけになり、スペースや括弧は取り除かれます。
$abbr('This is a Long Title (12-inch version) [needs tags]')
→ TiaLT1v[needst- $abbr(str,len)
- str の文字数が len より長い場合、省略形を返します。そうでなければ str を返します。
- $ansi(str)
- 文字列 str をシステムのコードページに変換します。システムのコードページの範囲に存在しない文字は削除または置換されます。ファイル名変更時など、ユニコード対応でないソフトとの互換性を持たせます。
- $ascii(str)
- 文字列 str を ASCII に変換します。ASCII の範囲に存在しない文字は削除または置換されます。
- $caps(str)
- 文字列 str にあるすべての単語の 1 文字目を大文字に、それ以外を小文字に変換します。
- $caps2(str)
- 文字列 str にあるすべての単語の 1 文字目を大文字に変換し、それ以外はそのままにします。
- $char(nbr)
- コード番号 nbr のユニコード文字を返します。
- $crc32(str)
- 文字列 str の CRC32 を算出します。文字列のカラーリングでの仕様を意図しています。
- 例 :
$rgb($mod($crc32(%album%),256),128,128)
- $crlf()
- 改行コード (CR-LF) を挿入します。システム通知領域のツールチップなどへの出力を複数行にすることができます。
- $cut(str,len)
- 文字列 str の左から len の数だけ文字を返します。$left(str,len) と同じ関数です。負の数は文字列全体を返します。
$cut('abc123',3)
→ abc$cut('abc123',0)
→ (空の文字列)$cut('abc123',-1)
→ abc123
- $directory(path)
- ファイル path からディレクトリ名を抽出します。
- $directory(path,n)
- ファイル path から n 階層上のディレクトリ名を抽出します。
- $directory_path(path)
- ファイル path からディレクトリパスを抽出します。
- $ext(path)
- 文字列 path (ファイル名またはフルパス) から拡張子を抽出します。
- $filename(path)
- フルパス path からファイル名を抽出します。
- $fix_eol(str)
- str が改行コード (CR-LF) を含んでいれば、改行コードとそれ以降の文字列は " (...)" に置換されます。そうでなければ str をそのまま返します。
- $fix_eol(str,indicator)
- str が改行コード (CR-LF) を含んでいれば、改行コードとそれ以降の文字列は indicator で置き換えられます。そうでなければ str をそのまま返します。
- $hex(int,len)
- 整数 int を len の数だけ桁取りし、16 進法で表記します。必要に応じて左から 0 を詰めます。
- $insert(str,insert,n)
- 文字列 insert を、文字列 str の n 文字目の後に挿入します。
- $left(str,len)
- 文字列 str の左から len の数だけ文字を返します。$cut(str,len) と同じ関数です。負の数は文字列全体を返します。
$left('abc123',3)
→ abc$left('abc123',0)
→ (空の文字列)$left('abc123',-1)
→ abc123
- $len(str)
- 文字列 str の文字数を返します。
- $len2(str)
- 2 バイト文字を考慮して (2 バイト文字を 2 文字として) 文字列 str の文字数を返します。
- $longer(str1,str2)
- 文字列 str1 が文字列 str2 より長ければ true を返します。そうでなければ false を返します。
- $lower(str)
- 文字列 str を小文字に変換します。
- $longest(arg,...)
- 引数の中で文字列が最も長いものを返します。任意の数の引数をとることができます。
- $num(nbr,len)
- 整数 nbr を len の数だけ桁取りし、10 進法で表記します。必要に応じて左から 0 を詰めます。len は負の数の場合にダッシュを含みます。nbr が数字でなければ 0 として扱います。
$num(123,5)
→ 00123$num(-123,5)
→ -0123$num(4.8,5)
→ 00004$num(A1,5)
→ 00000
- $pad(str,len)
- 文字数が len になるよう、文字列 str の右側に空白を挿入します。文字数が len より大きいときはもとの str のままです。
- $pad_right(str,len)
- 文字数が len になるよう、文字列 str の左側に空白を挿入します。文字数が len より大きいときはもとの str のままです。
- $pad(str,len,char)
- 文字数が len になるよう、文字列 str の右側に文字 char を挿入します。文字数が len より大きいときはもとの str のままです。
- $pad_right(str,len,char)
- 文字数が len になるよう、文字列 str の左側に文字 char を挿入します。文字数が len より大きいときはもとの str のままです。
- $padcut(str,len)
- 文字列 str が len より長ければ、str の左から len の数だけ文字を返します。そうでなければ、文字数が len になるよう、文字列 str の右側に空白を挿入します。
- $padcut_right(str,len)
- 文字列 str が len より長ければ、str の左から len の数だけ文字を返します。そうでなければ、文字数が len になるよう、文字列 str の左側に空白を挿入します。
- $padcut(str,len,char)
- 文字列 str が len より長ければ、str の左から len の数だけ文字を返します。そうでなければ、文字数が len になるよう、文字列 str の右側に文字 char を挿入します。
- $padcut_right(str,len,char)
- 文字列 str が len より長ければ、str の左から len の数だけ文字を返します。そうでなければ、文字数が len になるよう、文字列 str の左側に文字 char を挿入します。
- $progress(pos,range,len,char1,char2)
- プログレスバーを作成します。pos : インジケーターの位置。range :プログレスバーの範囲。len : プログレスバーの長さを文字数で指定。char1, char2 : プログレスバーを構成する文字。
- 例 :
$progress(%_time_elapsed_seconds%,%_time_total_seconds%,20,'#','=')
は ====#=============== を作成し、# が再生位置に合わせて移動するように見えます。 - $progress2(pos,range,len,char1,char2)
- プログレスバーを作成します。pos : インジケーターの位置。range :プログレスバーの範囲。len : プログレスバーの長さを文字数で指定。char1, char2 : プログレスバーを構成する文字。$progress とは異なる見た目になります。
- 例 :
$progress2(%_time_elapsed_seconds%,%_time_total_seconds%,20,'#','=')
は ####================ を作成し、# が再生位置に合わせて = を置き換えていくように見えます。 - $repeat(expr,count)
- expr を count 回繰り返します。expr は値を用いる前に評価されるので、$repeat はループには使用できません。
- $replace(str,search,replace)
- 文字列 str に現れるすべての文字列 search を文字列 replace に置換します。任意の数の引数をとることができます。
$replace(str,search1,replace1,search2,replace2)
は$replace($replace(srt,search1,replace1),search2,replace2)
と同じではありません。- 例 :
$replace(ab,a,b,b,c)
→ bc,$replace($replace(ab,a,b),b,c)
→ cc - $right(str,len)
- 文字列 str の右から len の数だけ文字を返します。
- $roman(int)
- 整数 int をローマ数字で表記します。
- $rot13(str)
- 与えられた文字列に対して ROT13 を実行します。
- 例 :
$rot13('foobar2000')
→ sbbone2000 - $shortest(arg,...)
- 引数の中で文字列が最も短いものを返します。任意の数の引数をとることができます。
- $strchr(str,char)
- 文字列 str の中で文字 char が現れる最初の場所を返します。
- 例 :
$strchr(abca,a)
→ 1 - $strrchr(str,char)
- 文字列 str の中で文字 char が現れる最後の場所を返します。
- 例 :
$strrchr(abca,a)
→ 4 - $strstr(str1,str2)
- 文字列 str1 の中で文字列 str2 が現れる最初の場所を返します。この関数は大文字と小文字を区別します。
- $strcmp(str1,str2)
- 文字列 str1 と str2 を、大文字と小文字を区別して比較します。
- $stricmp(str1,str2)
- 文字列 str1 と str2 を、大文字と小文字を区別せず比較します。
- $stripprefix(str)
- 文字列 str から、接頭辞となる A (不定冠詞) と The (定冠詞) を削除します。
- $stripprefix(str,prefix1,prefix2,...)
- 文字列 str から、指定した接頭辞を削除します。
- $substr(str,from,to)
- 文字列 str の from 文字目から to 文字目までの文字列を返します。
- $swapprefix(str)
- 接頭辞となる A (不定冠詞) と The (定冠詞) を文字列 str の後尾に移動します。
- $swapprefix(str,prefix1,prefix2,...)
- 指定した接頭辞を文字列 str の後尾に移動します。
- $trim(str)
- 文字列 str の先頭にある、あるいは連続する空白を削除します。
- $tab()
- タブ文字を 1 つ挿入します。
- $tab(count)
- タブ文字を count の数だけ挿入します。
- $upper(str)
- 文字列 str を大文字に変換します。
Track info fields and functions
このセクションの関数とフィールドはトラック情報のアクセスに使用されます。
Metadata fields and functions
一般に、ファイルのメタデータ (タグやキューシート) は大文字と小文字を区別せず参照され、直接フィールドに対応付けられます。例えば、URL というタグは %url%、コメントタグは %comment% で参照できます。
次の関数もメタデータへのアクセスに利用できます。("He"、"She"、"They" と 3 つの artist タグを持っている場合を例とします)
- $meta(name)
- タグ名 name の値を返します。タグが複数の値を持つ場合は、", " をセパレーターとして結合します。
- 例 :
$meta(artist)
→ He, She, They - $meta(name,n)
- タグ名 name の n 番目 (0, 1, 2, ...) の値を返します。
- 例 :
$meta(artist,1)
→ She - $meta_sep(name,sep)
- タグ名 name の値を返します。タグが複数の値を持つ場合は、文字列 sep をセパレーターとして結合します。
- 例 :
$meta_sep(artist,' + ')
→ He + She + They - $meta_sep(name,sep,lastsep)
- タグ名 name の値を返します。タグが複数の値を持つ場合は、文字列 sep を、最後だけは lastsep をセパレーターとして結合します。
- 例 :
$meta_sep(artist,', ',', and ')
→ He, She, and They - $meta_test(...)
- 括弧内のすべてのタグが存在すれば、1 (true) を返します。そうでなければ未定義値 (false) を返します。
- 例 :
$meta_test(artist,title)
→ true - $meta_num(name)
- タグ名 name の値の数を返します。
- 例 :
$meta_num(artist)
→ 3 - $tracknumber()
- トラック番号を 2 桁にして返します。
- $tracknumber(n)
- トラック番号を n 桁にして返します。
Remapped metadata fields
次のフィールドはスクリプトを簡易に記述するため、特別に再配置される値を持ちます。
- %album artist%
- アーティスト名を返します。値が見つかるまで、album artist、artist、composer、performer の順にフィールドをチェックします。
- %artist% との違いは、トラックごとにアーティスト名が異なるアルバムにおいて、同一の値が必要な場合での使用を意図されているところにあります。
- %album%
- アルバム名を返します。値が見つかるまで、album、venue の順にフィールドをチェックします。
- %artist%
- アーティスト名を返します。値が見つかるまで、artist、album artist、composer、performer の順にフィールドをチェックします。
- %discnumber%
- %disc%
- ディスク番号を返します。discnumber フィールドや disc フィールドが存在する場合にのみ利用可能です。
- %totaldiscs%
- アルバムの総ディスク数を返します。discnumber フィールドや disc フィールドが存在する場合にのみ利用可能です。
- %track artist%
- アーティスト名を返します。%album artist% が %artist% と異なる場合にのみ %artist% を取得します。%album artist% との使用を意図しています。
- 例 :
%album artist% - %title%[ '//' %track artist%]
- %title%
- タイトルを返します。メタフィールドが無ければ、拡張子を除いたファイル名を取得します。
- %tracknumber%
- %track%
- トラック番号を 2 桁にして返します。tracknumber フィールドが存在する場合にのみ利用可能です。1 桁のトラック番号には '0' が前に置かれます (5 は 05 となります)。それ以外はそのまま返されます (以下の値は元のままです : 006, 05, 104, A3, two, -1, -)。
- %track number%
- %tracknumber% と似ていますが、トラック番号を桁取りしません。
- %totaltracks%
- アルバムの総トラック数を返します。tracknumber フィールドや track フィールドが存在する場合にのみ利用可能です。
Technical information fields
- %bitrate%
- ビットレートを kbps (キロビット毎秒) 単位で返します。可変ビットレートのファイルを再生している時には、値を動的に表示します (プレイリストの外で)。
- %channels%
- チャンネル数をテキスト形式で返します。1 チャンネルは mono、2 チャンネルは stereo となります。それ以外は数字の後に "ch" がつきます (6ch など)。
- %codec%
- コーデックの名称を返します (PCM、FLAC、MP3、AAC など)。名称が利用できなければ、ファイルの拡張子を返します。
- Default UI のデフォルトの Codec カラムは同じ情報を表示しますが、詳細を加えることがあります (MP3 / VBR V2、AAC / LC など)。
- %filesize%
- ファイルサイズをバイト単位で返します。(旧バージョン : %_filesize%)
- %filesize_natural%
- ファイルサイズを、メガバイト単位、キロバイト単位など、相応な単位で返します (8.49 MB など)。
- %length%
- トラックの長さを「[時間:]分:秒」の形式で返します。(旧バージョン : %_time_total%)
- %length_ex%
- トラックの長さを「[時間:]分:秒.ミリ秒」の形式で返します。
- %length_seconds%
- トラックの長さを秒単位で返します。(旧バージョン : %_time_total_seconds%)
- %length_seconds_fp%
- トラックの長さを浮動小数点数として返します。
- %length_samples%
- トラックの長さをサンプル数として返します。
- %samplerate%
- サンプルレートをヘルツ単位で返します。
Technical information functions
- $info(name)
- フィールド名 name の値を返します。%__name% でもアクセスできます。
- 例 :
$info(channels)
→ 2 - 以下にフィールドの一例を示します。これらのいくつかはファイル形式に依存します。
-
フィールド名 説明 General codec コーデック (例 : MP3) codec_profile コーデックのプロファイル (例 : CBR) samplerate サンプルレート、ヘルツ単位 (例 : 44100) bitrate ビットレート、kbps (キロビット毎秒) 単位 (例 : 320) tool ファイル作成に使用したツール、推測の場合もあります。(例 : LAME3.97) encoding 圧縮が lossless (可逆) か lossy (非可逆) か (例 : lossy) channels チャンネル数 (例 : 2) channel_mode チャンネルモード、チャンネル数の詳細 (例 : 3 front, 2 rear surround channels + LFE) bitspersample サンプルあたりのビット数 (例 : 16) tagtype タグの形式、コンマ区切りのリスト (例 : id3v2|apev2) cue_embedded 埋め込まれたキューシートの存在 (例 : no) md5 オーディオの MD5 ハッシュ、コンテナが定義している場合のみ (例 : 1E24A910D91EF09A8CF403C9B6963961) Other ENC_DELAY ギャップレス再生のための LAME 独自の MP3 enc_delay の値 (例 : 576) ENC_PADDING ギャップレス再生のための LAME 独自の MP3 enc_padding の値 (例 : 1536) MP3_ACCURATE_LENGTH MP3 の再生時間 (%length% など) が LAME や iTunes のギャップレス再生を考慮しているか (例 : yes) MP3_STEREO_MODE MP3 ファイルで使用されているステレオモード (例 : mono、stereo、joint stereo など) VERSION ツールのバージョン (例 : 3.99) FLAGS ツールのフラグ (例 : 22) - MP3_ACCURATE_LENGTH は LAME の VBR ヘッダーまたは iTunSMPB ID3v2 コメントタグに存在します。ファイルが MP3 でないか、ギャップレス再生の情報がなければ存在しません。ギャップレス再生の情報は M4A ファイルでも考慮されますが、そのような専用のフィールドはありません。
- $channels()
- チャンネル数をテキスト形式で返します。
- 例 :
$channels()
→ stereo - $codec()
- コーデックの名称を返します。名称が利用できなければ、ファイルの拡張子を返します。
- 例 :
$codec()
→ WavPack - %replaygain_album_gain%
- ReplayGain におけるアルバムのゲイン値を返します。
- %replaygain_album_peak%
- ReplayGain におけるアルバムのピーク値を返します。
- %replaygain_album_peak_db%
- ReplayGain におけるアルバムのピーク値をデシベル単位で返します。
- %replaygain_track_gain%
- ReplayGain におけるトラックのゲイン値を返します。
- %replaygain_track_peak%
- ReplayGain におけるトラックのピーク値を返します。
- %replaygain_track_peak_db%
- ReplayGain におけるトラックのピーク値をデシベル単位で返します。
Special fields
- %filename%
- 拡張子を除いたファイル名を返します。
- %_filename% でも機能します。
- %filename_ext%
- 拡張子を含んだファイル名を返します。
- %_filename_ext% でも機能します。
- %directory%
- ディレクトリ名を返します。
- %_directory% では機能しません。
- %directoryname%
- ディレクトリ名を返します。
- %_directoryname% でも機能します。
- %last_modified%
- ファイルを最後に更新した日時を返します。
- 例 : 2005-12-22 00:04:10
- %path%
- ファイル名と拡張子も含め、フルパスを返します。
- %_path% でも機能します。
- %_path_raw%
- プロトコルスキームを含め、フルパスを URL 形式で返します。
- %path_raw% では機能しません。
- %subsong%
- サブソングインデックスを返します。キューシート、トラッカーモジュール (MOD) やコンテナーなど、単一ファイル内の複数のトラックを区別します。
- %_subsong% でも機能します。
- %_foobar2000_version%
- foobar2000 のバージョンを返します。
Time and date functions
このセクションの関数は時刻や日付の文字列の処理に使用されます。
- $year(time)
- 年の部分を 4 桁で返します。
- $month(time)
- 月の部分を 2 桁で返します。
- $day_of_month(time)
- 日の部分を 2 桁で返します。
- $date(time)
- 日付の部分を YYYY-MM-DD の形式で返します。
- $time(time)
- 時刻の部分を HH:MM:SS あるいは HH:MM の形式で返します。
Variable operations
文字列や数値を保存します。真偽値は保存できません。同じ文字列を何度も必要とする場合などに最適です。変数は大文字と小文字を区別しません。
- $get(name)
- 変数 name に最後に保存された値を返します。変数が定義されていなければ何も返しません。$get で返される真偽値は、変数が定義され、空の文字列でないかどうかを示します。
- $put(name,value)
- 変数 name に値 value を保存し、同時に返します。
- $puts(name,value)
- 変数 name に値 value を保存しますが、何も返しません。
コード | アウトプット |
---|---|
$put(foo,bar)$char(10) $get(foo)$char(10) $get(Foo)$char(10) $puts(foo,2000)$char(10) $get(foo)$char(10) |
bar bar bar 2000 |
Component-specific fields and functions
このセクションでは特定のコンポーネントで使用されるフィールドと関数を列挙します。
Now playing info
次のフィールドは再生中の項目に関連し、ステータスバー、ウィンドウタイトル、コピーコマンドスクリプトなど、プレイリストの外でのみ使用できます。
- %playback_time%
- 経過時間を「[時間:]分:秒」の形式で返します。(旧バージョン : %_time_elapsed%)
- %playback_time_seconds%
- 経過時間を秒単位で返します。(旧バージョン : %_time_elapsed_seconds%)
- %playback_time_remaining%
- 残り時間を「[時間:]分:秒」の形式で返します。(旧バージョン : %_time_remaining%)
- %playback_time_remaining_seconds%
- 残り時間を秒単位で返します。(旧バージョン : %_time_remaining_seconds%)
Playlist-only fields
次のフィールドはプレイリストでのみ使用できます。
- %isplaying%
- ファイルが再生中のときは 1 (true) を返し、そうでなければ空の文字列を返します。
- %_isplaying% でも機能します。
- %ispaused%
- ファイルが一時停止中のときは 1 (true) を返し、そうでなければ空の文字列を返します。
- %_ispaused% でも機能します。
- %list_index%
- プレイリストにおけるインデックス番号を、曲数にあわせて桁取りした形で返します。最初の項目は 1 です。
- %playlist_number% でも機能します。
- %list_total%
- プレイリストの項目数を返します。
- %_playlist_total% でも機能します。
- %_playlist_number%
- プレイリストにおけるインデックス番号を返します (桁取りはしません)。最初の項目は 1 です。
- %queue_index%
- プレイバックのキューに指定された項目のインデックスを返します。同じ項目が複数回キューに入れられた場合は、最初のインデックスを返します。
- %queue_indexes%
- プレイバックのキューに指定された項目のインデックスのリストを返します。同じ項目が複数回キューに入れられた場合は、すべてのインデックスを返します。
- %queue_total%
- プレイバックのキューにあるトラック数を返します。キューに指定されたトラックにおいてのみ有効です。
Playlist text color
Dimmed and highlighted text
Default UI プレイリストにおいて、テキストの色は山かっこで囲むことで調整できます。オプションはテキストを暗くする (背景の色と混ぜる) か明るくする (ハイライトの色と混ぜる) かだけです。
<text>
→暗く<<text>>
→より暗く<<<text>>>
→最も暗く>text<
→明るく>>text<<
→より明るく>>>text<<<
→最も明るく
Historical and Columns UI color functions
バージョン 1.0 より前の Default UI プレイリストは次の関数をサポートしていました。Columns UI プレイリストではまだ利用可能です。
- $blend(color1,color2,part,total)
- color1 と color2 を混ぜた色を返します。part (分子) が 0 以下のとき、color1 を返します。part が total (分母) 以上になったとき、color2 を返します。それ以外では混合色を返します。色の混合は RGB 色空間で行われます。
- $hsl()
- テキストの色をデフォルトにリセットします。
- $hsl(h,s,l)
- 選択されていないテキストの色を HSL 空間で設定します。h、s、l は色合い (hue)、鮮やかさ (saturation)、明るさ (lightness) です。選択したときの色は反転したものになります。h、s、l の範囲は 0 から 240 までです。関数は Windows 標準の色の選択ダイアログと同じように値を解釈するように設計されています。
- $hsl(h1,s1,l1,h2,s2,l2)
- テキストの色を HSL 空間で設定します。h1、s1、l1 は選択されていないテキストの、h2、s2、l2 は選択されたテキストの色合い (hue)、鮮やかさ (saturation)、明るさ (lightness) です。
- $rgb()
- テキストの色をデフォルトにリセットします。
- $rgb(r,g,b)
- 選択されていないテキストの色を設定します。r、g、b は赤 (red)、緑 (green)、青 (blue) の色要素です。選択したときの色は反転したものになります。
- $rgb(r1,g1,b1,r2,g2,b2)
- テキストの色を設定します。r1、g1、b1 は選択されていないテキストの、r2、g2、b2 は選択されたテキストの赤 (red)、緑 (green)、青 (blue) の色要素です。
- $transition(string,color1,color2)
- 文字列 string を、最初の文字が color1、最後の文字が color2、間の文字はそれらの混合色となるようにカラーコードを挿入します。色の混合は RGB 色空間で行われます。
- カラーコードは文字列操作関数で文字数にカウントされるため、文字列を切り詰めつつ $transition を適用する場合は、切り詰めを先に行うべきです。
Playback Statistics
再生の統計やレイティングのためのフィールドを追加します。フィールドはトラック情報を表示できる場所ならどこでも使用できます。
- %play_count%
- トラックの再生回数を返します。トラックがまだ再生されていなければ、フィールドは存在しません。
- %first_played%
- トラックを最初に再生した日時を返します。トラックがまだ再生されていなければ、フィールドは存在しません。
- %last_played%
- トラックを最後に再生した日時を返します。トラックがまだ再生されていなければ、フィールドは存在しません。
- %played_per_day%
- トラックを一日に再生した回数の平均を返します。最初に再生した時間、最後に再生した時間、再生した回数に基づきます。トラックがまだ再生されていなければ、フィールドは存在しません。
- %added%
- Media Library に追加された日時を返します。トラックがまだ再生されていなくても、フィールドは論理的に存在します。
- %rating%
- レイティングの値 (整数で 1 から 5 まで) を返します。トラックがまだ評価されていなければ、フィールドは存在しません。
- %rating_stars%
- レイティングの値を 5 つの星までの形式で返します (例 : ★★★)。トラックがまだ評価されていなければ、フィールドは存在しません。
- %rating_stars_fixed%
- レイティングの値を 5 つの星の形式で返します (例 : ★★★☆☆)。トラックがまだ評価されていなければ、フィールドは存在しません。
%first_played% と %last_played% の値の形式は YYYY-MM-DD hh:mm:ss です。
- YYYY : 年 (4 桁)
- MM : 月 (2 桁)
- DD : 日 (2 桁)
- hh : 時 (2 桁)
- mm : 分 (2 桁)
- ss : 秒 (2 桁)