0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Item detailsにArtistを2人ずつ改行しながら出力したーい!

Last updated at Posted at 2024-09-05

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%

1_Item detailsとは_モザイク.png

やりたいこと

Artistが3人以上の場合、2人ずつ改行しながら出力したい!

動機

  • Item detailsの仕様として、TitleFormatingで参照したタグ情報がパネルの横幅に収まりきらないと、適当なところで改行して表示される。
  • これによりArtistが3人以上の場合など、Artist名の途中で改行して表示されるので見栄えが悪い
  • 例えば、"想いよひとつになれ" のArtistのタグ情報をそのまま"%artist%"で参照して出力すると・・・

2_Artist改行無し_モザイク.png

これを2人ずつ改行しながら出力したい・・・!!

目指すべき姿

2_Artist改行_モザイク.png

きれい。

どうしたか

  1. Artistのタグ情報を1要素ずつ取得する。
  2. 1人ずつ出力して2人出力したら改行する。

1. Artistのタグ情報を1要素ずつ取得する

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文が無いからさぁ・・・
  • あったら教えて欲しいです。

参考文献

Title Formatting Reference (日本語訳)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?