クマーなひとときv2

雑多なメモ。twitterで書ききれないもの等。

久し振りにボカロ曲を集めたので、mp3tagでタグ一括登録しようとしたら、ボカロ用のアクション消えてた(´・ω・`)
というわけでアクション追加したけど、久し振りで結構忘れてたのでメモ。

条件

  • ファイル名は以下の規則に合わせる。
    【%albumartist%】%title%[%artist%].%_extension%
  • 音楽ファイル、カバーアート、歌詞はフォルダ毎に分けておく。

    vocaloid
    |
    +- music
    |
    +- coverart
    |
    +- lyrics
    

設定1つめ。

  • 「値の規則性を~」を選択。
    • 参照先: %_filename%
    • 規則性の推測パターン: 【%albumartist%】%title%[%artist%]

設定2つめ。

  • 「カバーファイルを入力」を選択。
    • 文字列規則: '<任意のパス>'%_filename%.jpg
    • カバーの種類: Front Cover
    • 既存のカバーを削除: チェックする

設定3つめ。

  • 「テキストファイルを入力」を選択。
    • フィールド: UNSYNCEDLYRICS
    • 文字列規則: '<任意のパス>'%_filename%.jpg

設定したら適当なアクション名を付けて保存し、タグ付けしたいファイルを選択して、アクション実行すればおk。

ハマったのが、%_filename% の扱い。というか、 %<各種タグ>% 全般。 これ、使い方によって、戻り値が変化する模様。
最初、$regexp で部分的にパス書き換えて読みこませよう、とか思ってたら、思い通りにいかず???ってなった。

例えば、パスが C:/hoge/foo/bar.mp3 の場合、以下パターンは、フォルダパスを含めた値が返ってくる。

$regexp(%_filename%, foo, fuga)  
→ C:/hoge/fuga/bar

%_filename%
→ C:/hoge/foo/bar

対して、設定例で書いたやり方だと、ファイル名のみ返ってくる。

'C:/hoge/fuga'%_filename%
→ C:/hoge/fuga/bar

何でこんな違いが起きるのか分からんけど、とりあえずこれで動くので良しとしよう。