Item detailsとは
- Columns UI で標準で用意されているパネルの1つ。
- TitleFormatingにより、再生中の曲に設定されているタグ情報を取得してパネルに出力できる。
- 例えば、曲名・作曲・編曲を取得してパネルに出力できる。
TitleFormating
// Title用フォント設定
$set_font(%default_font_face%,$add(%default_font_size%,4),bold)
// Titleを出力
%title%$crlf()$crlf()
// その他情報用フォント設定
$set_font(%default_font_face%,$add(%default_font_size%,3),)
// Composer, Arrangerを出力
' Composer - '%composer%$crlf()
' Arranger - '%arranger%
やりたいこと
Artistが3人以上の場合、2人ずつ改行しながら出力したい!
動機
- Item detailsの仕様として、TitleFormatingで参照したタグ情報がパネルの横幅に収まりきらないと、適当なところで改行して表示される。
- これによりArtistが3人以上の場合など、Artist名の途中で改行して表示されるので見栄えが悪い
- 例えば、"想いよひとつになれ" のArtistのタグ情報をそのまま"%artist%"で参照して出力すると・・・
これを2人ずつ改行しながら出力したい・・・!!
目指すべき姿
きれい。
どうしたか
- Artistのタグ情報を1要素ずつ取得する。
- 1人ずつ出力して2人出力したら改行する。
1. Artistのタグ情報を1要素ずつ取得する
- 指定したタグ情報のn個目の要素を取得できる"$meta(name,n)"構文を使用する。
- $meta(name,n) の詳細はリンク先へ。
Title Formatting Reference (日本語訳)
TitleFormating
// Artistのタグ情報を1つずつ、変数ArtistNに代入する
$puts(Artist1,$meta(artist,0))
$puts(Artist2,$meta(artist,1))
$puts(Artist3,$meta(artist,2))
$puts(Artist4,$meta(artist,3))
$puts(Artist5,$meta(artist,4))
$puts(Artist6,$meta(artist,5))
$puts(Artist7,$meta(artist,6))
$puts(Artist8,$meta(artist,7))
2. 1人ずつ出力して2人出力したら改行する。
- "[...]"構文で変数ArtistNを囲っている理由は、例えばArtistが3人だけのとき、Artist4以降の余計な改行を出力させないようにするため。
- Artistが3人だけのとき、変数Artist4には値が入っていないので[$get(Artist4)]の評価値は空文字列となる。そのためArtist4以降は表示されない。
TitleFormating
// 出力用の文字列生成
$puts(outArtistStr,
' Artist - '[$get(Artist1)][', '$get(Artist2)]
[$crlf()' '$get(Artist3)][', '$get(Artist4)]
[$crlf()' '$get(Artist5)][', '$get(Artist6)]
[$crlf()' '$get(Artist7)][', '$get(Artist8)])
// 出力
$get(outArtistStr))
感想
- TitleFormatingに配列変数とfor文が無いからさぁ・・・
- あったら教えて欲しいです。