曲のリストを階層上に作る。Album List の機能上位版のようなもの。 bazquux からダウンロードできる。
@database
date EQUAL 2007
%codec% IS MP3
%album artist%|%album%|%title%
PT関数は本来の Title formatting の関数と違い、特殊な書き方をしないと動作しないものが多い。 "$" または "%_" で始まるPT関数は、Label 欄では
@format<(PT関数を含んだスクリプト)>
Criteria 欄では
"@format<(PT関数を含んだスクリプト)>"
Format 欄では
@quote<@format<(PT関数を含んだスクリプト)>>
の形で記入する必要がある*1。 なお、Label 欄でも(PT関数を含んだスクリプト)の部分は Title formatting のルールが適用されるようになる。
Files (Playing Artist) @format<$ifgreater(%_itemcount%,0,'['%_itemcount%' items]',)>
artist IS "@format<$playing('%artist%')>"
%artist%' ('@quote<@format<%_size_abb%>>')'| @icon<5>%album%| %title%
ノードの名前を返す。自ノードに対して直接使うとフリーズする。
@rgb<255,0,0>aaa|@quote<@format<$parent('%_name%')>>|%title%
ノードの名前を返す。%_name% と違い、ノード名 @icon<> や @rgb<> などがあった場合は無視する。自ノードに対して直接使うとフリーズする。
@rgb<255,0,0>aaa|@quote<@format<$parent('%_displayname%')>>|%title%
自ノード以下にあるリーフの合計ファイルサイズを返す。単位は"○○ GB" や "○○ MB" のように、自動的に調整される。
Total size (abbr) [@format<%_size_abbr%>]
%artist%| $if2(%album%,Unknown Album) '('@quote<@format<%_size_abbr%>>')'| %title%単位を統一したい、ファイルサイズを詳細に表示したいというような場合には %_size% などを使う。
自ノード以下にあるリーフの合計ファイルサイズを返す。単位は"○○ G" や "○○ M" のように、自動的に調整される。
Total size (abb) [@format<%_size_abb%>]
%artist%| $if2(%album%,Unknown Album) '('@quote<@format<%_size_abb%>>')'| %title%単位を統一したい、ファイルサイズを詳細に表示したいというような場合には %_size% などを使う。
自ノード以下にあるリーフの合計ファイルサイズを、バイト数でそのまま返す。ただし、2^31-1(2147483647 ≒ 2GB) を超える場合は正常に取得できない。これより大きいファイルサイズを取得したい場合は %_size_abbr% か %_size_abb% を使う必要がある。
Total size (original) (@format<%_size%> bytes)
%artist%| $if2(%album%,Unknown Album) '('@quote<@format<%_size%>>')'| %title%
自ノード以下にあるリーフの総演奏時間を返す。単位は24時間以内ならば [hh:]mm:ss 、そうでなければ ">4 days" のように日付のみで返す。
play_length [@format<%_play_length%>]
%artist%| %album% '('@quote<@format<%_play_length%>>')'| %title%表示方法が好みに合わない場合は、$sum('%_length_seconds%') を使って、例えば
Total @format<$ifgreater(%_itemcount%,0,'['$replace($cwb_wdhms($sum('%_length_seconds%')),d, days,wk, weeks and)']','('No Item')')>のようにする(上の例では cwb_hooks が必要)。 なお、$sum('%_length_seconds%') の値が 2^31-1(2147483647 ≒ 3310週間) を超える場合は正常に表示できない。
自ノード以下にある全てのリーフの数を返す。
play_length [@format<%_itemcount%>]
%artist%| %album% '('@quote<@format<%_itemcount%>>' items)'| %title%
子ノードの数を返す。%_itemcount%と違って直接の子しかカウントしない。
Folder Count (@format<%_foldercount%> items)
%artist% '('@quote<@format<%_foldercount%>>' items)'| %album% '('@quote<@format<%_foldercount%>>' items)'| %title%
親からみた自分のインデックス番号を返す。最初は 1 から。
Folder Index
@quote<@format<$num(%_folderindex%,2)>> - %artist%| @quote<@format<$num(%_folderindex%,2)>> - %album%| %title%
PlaylistTree全体におけるインデックス番号を返す。最初は 1 から(ルートフォルダは 0 )。
@quote<@format<$num(%_overallindex%,2)>> - %artist%| @quote<@format<$num(%_overallindex%,2)>> - %album%| %title%
階層の深さを返す。@fakelevel で隠れた階層もカウントされる。
クエリなら1を返す。
リーフなら1を返す。
フォルダなら1を返す。
(現在使用できない模様。)
Album List のように、タグに複数の値が入っている場合は個別で判定してくれる。Playlist Tree では、%<tag1,tag2,tag3>% のように複数のタグを記述することもできる。 公式サイトではバグリストに入っている関数なので、使用する際には注意。
"$" または "%_" で始まるPT関数を使用する際にこれで囲む。
ノードのアイコン画像を指定(変更)する。
icon test
@icon<5>a| @icon<10>b| %title%
演奏中トラックの指定したタグ情報を取得する。使用する際には、
$playing('%artist%')
のように ' で囲む必要がある。
Playing Artist's Songs (@format<$playing('%artist%')>)
@database
artist IS "@format<$playing('%artist%')>"
%title%
自ノード以下の全リーフから指定したタグ情報を取得しその平均値を小数点2桁まで返す。使用する際には、
$avg('%_length_seconds%')
のように ' で囲む必要がある。少数部分の数を表示したくない場合は、
$num($avg('%_length_seconds%'),0)
のように $num() を使うと整数部分のみが表示される。
Average Length [@format<$avg('%_length_seconds%')> seconds]
%artist% '['@quote<@format<$avg('%_length_seconds%')>>' seconds]'| %album% '['@quote<@format<$avg('%_length_seconds%')>>' seconds]'| %title%
自ノード以下の全リーフから指定したタグ情報を取得しその合計値を返す。使用する際には、
$sum('%_length_seconds%')
のように ' で囲む必要がある。
Total Length [@format<$sum('%_length_seconds%')> seconds]
%artist% '['@quote<@format<$sum('%_length_seconds%')>>' seconds]'| %album% '['@quote<@format<$sum('%_length_seconds%')>>' seconds]'| %title%
関数内の文字はトークンとして解釈されない。Label 欄で @format<> とともに使う機会が多いと思われる
自分よりn階層上のノードからタグ情報を取得する。使う際には、
$parent('%_foldercount%',2)
のように ' で囲む必要がある。n を省略すると、一個上のノードを参照する。 同一フィールド内で一度でも$parentを使用すると、それ以降は $parent節の外でも祖先ノードを参照するバグ?がある。
そのクエリの子ノードとしてクエリを作成する。フリーズしやすいので使用の際には注意。
@query<Label;Source;Criteria;Format;PopOrder;DisplayOrder>
のように書く。
括弧でかまれた部分を表示しない。おそらくコメントアウト用途的なものだと思われる。
%album%|%artist% @hidden2 |%title%
@quote<@format<$if($greater(%_foldercount%,8),@hidden ,)>>%album%|[$num(%tracknumber%,2)]%title%
その階層だけを隠す。直後に半角スペースを入れないと動作しない。
ノードの文字色を指定する。設定で "Custom selection colors" を ON にしておく必要がある。文字列の途中から色を変えることは出来ない。
子ノードの最大数を指定する。
%album%@limit<5> |[$num(%tracknumber%,2)]%title%
ソースが@drop<>の時、元のディレクトリ構造を再現する。
Source 欄で使える関数。
@database
Media Library のデータベースから入手する。
@drop<(パス名)>
特定のパス内の曲を検索し入手する。"(パス名)"の部分に検索したいパス名を書き込む。
@drop<C:\WINDOWS\Media>
@node<(ノード名)>
特定のノード内の曲を検索し入手する。"(ノード名)"の部分に検索したいノード名を書き込む。
@node<> および @drop<> に対して使える論理演算子。
@node<a> @and @node<b>"a" と "b" 、両方のノードにあるものを対象にする。
@node<a> @or @node<b>"a" と "b" の、少なくとも一方のノードにあるものを対象にする。
@node<a> @not @node<b>"a" というノードにあり、"b" というノードにないものを対象にする。
@playlists
すべてのプレイリストにある曲を対象にする。プレイリストごとにクエリを作る。
@playlist<(プレイリスト名)>
特定のプレイリスト内の曲を対象にする。"(プレイリスト名)"の部分にプレイリスト名を書き込む。
@scheme
"Scheme" というプログラム言語を使ってクエリを作成できるようになる。
選択しているノードの情報を返す。Playlist Tree 外で Title Formatting の関数として使うことができる。arg 部分に入れることができるのは以下の通り。
$treenode(name)
Preferences - Media Library > Playlist Tree Panel から選択可能。
(画像)
編集希望