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?

Properties画面でタグに複数値を設定したのに$metaで参照できないとき

Last updated at Posted at 2024-09-19

発生したトラブル

foobar2000のProperties画面でタグに複数値を入力したのに、TitleFormatingの$meta_num(タグ)で1が返ってくる……

原因

原因は2つ。

  1. タグに入力した複数値が、1種類の複数のタグに分割されてflacファイルに書き込まれておらず、分割されずに1つのタグにそのまま書き込まれていること
  2. タグの書き込まれ方によって、$metaの挙動が異なること

例えば、ARTISTタグにAとBの2人のアーティストを入力したとき、ARTISTタグへの書き込まれ方によって、以下のように$metaの挙動が異なる。

ARTISTタグへの書き込まれ方と$metaの挙動
ARTIST=A
ARITST=B
// $meta_num(ARTIST)=2

ARTIST=A,B
// $meta_num(ARTIST)=1

ARTIST=A;B
// $meta_num(ARTIST)=1

Properties画面で入力した複数値が、なぜ分割されて書き込まれないのか

原因は以下のどちらか。

  1. 複数値を入力する際、区切り文字がセミコロンではない
  2. 既存タグではない自作タグに入力している

原因1:複数値を入力する際の区切り文字がセミコロンではない

Properties画面でタグに複数値を入力する時は、セミコロン区切りでないと分割して書き込まれない。

  • 例えば、Properties画面でARTISTタグにA,Bと入力すると、flacファイルのARTISTタグにはそのままARTIST=A,Bと書き込まれる。
  • ARTIST=A ARTIST=Bと書き込みたいのならば、Properties画面でARTISTタグにA;Bと入力しなければならない。

原因2:既存タグではない自作タグに入力している

自作タグの場合、Properties画面上でセミコロン区切りで複数値を入力しても、分割してタグに書き込まれない。

  • 例えば、Properties画面で自作タグArrangerにA;Bとセミコロン区切りで入力すると、flacファイルにはそのままARRANGER=A;Bと書き込まれる。
  • Properties画面での編集のみでは不可能かと思う。Masstaggerを用いることで可能。
    foobar2000 Compornent Repository - Masstagger
    • 一旦セミコロン区切りで自作タグに複数値を入力しておき、Masstagerの"Split by separator"(separatorにセミコロンを指定)で、入力済みの複数値を分割してflacファイルに書き込むことが出来る。

感想

  • まさか「自作タグの場合、Properties画面でセミコロン区切りで入力しても分割されてflacファイルに書き込まれない」なんて・・・
  • 試しにmetaflacでタグ情報を確認してみたところ原因が判明。公式がツール出してくれてるのありがたい。

参考

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?