#contents

*Manage Scripts ([[Masstagger>General#l775542c]]) [#l430eb2f]

[[Masstagger>General#l775542c]]というcomponentを使い、複数ファイルのタグ・ファイル名を一度に編集できる。(Mass=大量の, 多数の)
foobarの強力な [[TitleFormatting]] を利用できるため、大概のことはMasstaggerで作業できる。
なお、field の情報は [[Properties>#c2a564e8]] や [[File info>#sf7ac3fc]] などで確認できる。

#imgr(./snaps/up293.png);

**Action Type 一覧 [#lf7dc49b]

#imgr(./snaps/Masstaggeraction.png);
(この画像は0.8系のものです。)

***Add value [#gaae378a]

field を追加する
-上の "Field name" はタグ名、下の 'Field Value" はタグの内容
-なお、"Field name" のドロップダウンリスト(表示されるタグ名一覧)は消せない。"[[set value>#zd631a30]]"との違いに注意

***Auto track number [#rd62d277]

-"Files to process" に並んでいる順番にトラック番号をセット
-"%TRACKNUMBER%" に個々のトラック番号、"%TOTALTRACKS%" に総トラック数が記録される

***Copy value [#u2267592]

-指定した field の value を別の field にコピー
-"Source field name" にコピー元、"Destination field name" にコピー先の field を入力する
-コピー先にあった value は上書きされる

コピー元の value が空だと、コピー先も空になってしまう。これを防いでコピーするには、"[[Format value from other fields>#f635c9ff]]" の具体例3を参照。

***Format value from other fields [#f635c9ff]

-他の field の value や [[TitleFormatting]] を組み合わせ field を作成、変更
-"Destination field name" に作成する field 、"Formatting Pattern" に構文を入力

-具体例1
--"%album%" に含まれる
 〜
という文字列を "~" に置換する。
--''Destination field name''
 ALBUM
--''Formatting Pattern''
 $replace(%album%,〜,~)
-具体例2
--"%rate%" の値を 1 増やす("%rate%" が無かった場合は 1 を入力する)。
--''Destination field name''
 RATE
--''Formatting Pattern''
 $if(%rate%,$add(%rate%,1),1)
-具体例3
--"%lyrics%" の value が空でないものを "%lyric%" にコピーする。
--''Destination field name''
 LYRIC
--''Formatting Pattern''
 $if2(%lyrics%,%lyric%)

***Guess values from filename [#qe9ac0bf]

-ファイル名から value を推測
-"scheme" に構文(推測パターン)を入力する

-具体例1
 (SUPER DANCE POP imp@ct)_16_DEAD MY HEART - F.T.K.ogg 
上のようなファイル名からタグ情報を推測する場合にこのアクションを使用する。
この場合の構文は次のようになる
 (%album%)_%tracknumber%_%title% - %artist% 
これを実行するとこのようになる
 ARTIST = F.T.K
 ALBUM = SUPER DANCE POP imp@ct
 TRACKNUMBER = 16
 TITLE = DEAD MY HEART
-具体例2
 D:\Music\F.T.K\SUPER DANCE POP imp@ct\16 DEAD MY HEART.ogg 
というように、ディレクトリ+ファイルネームで情報が推測できる場合にもタグをつけることができる。
この場合の構文は
 %artist%\%album%\%tracknumber% %title%
※iTunesのディレクトリ/ファイルネーム構造書式と同じ(ディスクが一枚のアルバムの場合)

***Guess value from other fields [#bfecc1a1]

-他のfieldからvalueを推測。[[Guess values from filename>#qe9ac0bf]]を高級にしたもの。
-"Source format" に推測元の文字列(ここで "%filename%" と入力すると [[Guess values from filename>#qe9ac0bf]] と同じようになる)、"Guessing pattern" に推測パターンを入力

-具体例1
--オムニバスのCDでfreedb情報を取得した場合、
 TITLE = GIVE ME UP / MICHAEL FORTUNATI 
このようにtitleフィールドにタイトル/アーティストとつなげて書かれている場合がよくある。
これを分割するときにこのアクションを使う。
--''Source format''
 %title% 
--''Guessing pattern''
 %title% / %artist% 
これを実行すると次のように分割される。
 TITLE = GIVE ME UP
 ARTIST = MICHAEL FORTUNATI 
-具体例2
--"%album%" に含まれる 
 〜
という文字列を "~" に置換する。
処理することは [[Format value from other fields>#f635c9ff]] の具体例1と同じ。
--''Source format''
 $replace(%album%,〜,~)
--''Guessing pattern''
 %album% 

***Input data (one line per track) [#p3a13756]

-入力した文字列から field を推測する (一行が一曲に対応している)
-"Scheme" に推測パターン、 "Input data" に文字列を入力
-"Files to process" の順番がズレているとうまくいかない

-具体例
--''Scheme''
 %tracknumber%. %artist% - %title% 
--''Input data''
 01. アーティスト甲 - タイトルα
 02. アーティスト乙 - タイトルβ
 03. アーティスト丙 - タイトルγ
 ...
自動的にタグが入力される。

-応用編
--Amazonの曲目リストを使ってタグを一発入力してみる
--[[これ:http://www.amazon.co.jp/%E3%83%95%E3%82%A1%E3%83%B3%E3%82%AD%E3%83%BC%E3%83%BB%E3%83%A2%E3%83%A2%E3%83%BB%E3%83%80%E3%83%B3%E3%82%B9-%E3%82%AA%E3%83%A0%E3%83%8B%E3%83%90%E3%82%B9/dp/B0000BHZKJ]]
を例に設定してみる。曲目リストが
 1.プレイ・ザット・ファンキー・ミュージック(ワイルド・チェリー)
 2.レディ・マーマレード(パティ・ラベル)
 3.今夜はブギーナイト(ジャクソンズ)
 4.ダンス・トゥ・ザ・ミュージック(スライ&ザ・ファミリーストーン)
 ...
となっているので
--''Scheme''
 %tracknumber%.%title%(%artist%)
--''Input data'' (コピペしたもの)
 1.プレイ・ザット・ファンキー・ミュージック(ワイルド・チェリー)
 2.レディ・マーマレード(パティ・ラベル)
 3.今夜はブギーナイト(ジャクソンズ)
 4.ダンス・トゥ・ザ・ミュージック(スライ&ザ・ファミリーストーン)
 ...

とすればOK。このように、推測パターンを入力して曲目リストをコピペするだけでタグ入力が完了する。

***Remove all except for... [#oe9fc0e1]

指定したfield ''以外''を削除。複数指定する場合は、間に;(セミコロン)を。

***Remove all fields [#d8ed9285]

全てのfieldを削除。ReplayGainの情報((実際に確認しただけです。ReplayGainの他にあるかもしれません。))は消えない。

***Remove field... [#d4a9da4f]

指定したfieldを削除

***Set value [#zd631a30]

-valueを指定
-同名のfieldは置換
-"[[Add value>#gaae378a]]" との違いに注意

***Split field by separator [#p898a092]

value を複数に分割する。

例えばこのような field があるとする。
 ARTIST = artist1&artist2&artist3
これに、"separator" を "&" としてアクションを実行すると、"ARTIST" に artist1、artist2、artist3 の3つの value が入る。

***Split mulitiple artist fields [#j75e26c0]

[[Split field by separator>#p898a092]] の低級版。
"%artist%" を自動的に複数の value に分ける。
-例
 ARTIST = artist1,artist2,artist3
や
 ARTIST = artist1&artist2&artist3
などとなっている場合、自動で分割してくれる。

**設定したActionの保存、読み込み [#u66bdf0a]

Scriptsという名前の、枠の中の入力欄に好きな名前を入力してSaveを押すと保存される。
保存したActionは、保存名を選び、Loadで読み込み(読み込む前のActions to Perfromに入力されていたActionは消える)、Addで追加(入力されていたActionは消えない)、Removeで削除できる。

**Masstagger以外でのタグ編集について [#q8f1e47c]

[[foobar2000とタグについて (v0.9x)>foobar2000とタグについて (v0.9x)#rd840180]]

//Masstagger以外にもタグ編集の手段が用意されている。
//Masstaggerと同じくコンテキストメニューから機能を呼び出す。

//***Properties [#c2a564e8]

//#imgr(./snaps/up311.png);

//Metadata側(画像では左)で選択したファイルのタグをまとめて編集することができる。
//Masstaggerでの"Add value"・"Set value"・"Remove field"・"Auto track number"・//"Guess values from filenameの機能と同じことが可能。
//Masstaggerに比べ直感的に編集できる。
////(multiple values) はそのfieldのvalueが全て同一ではないことを示している。この状態のfieldは個別に編集できない。個別に編集したい場合は、[[foo_infobox>Tagging#sf7ac3fc]]が便利。
////そうでないfieldはそのfieldのvalueが全て同一であることを示している。
////例えばこの画像のアルバムのジャンル(Genre)は"Pop"で、選択したどのファイルも Genre = Pop なのでこのように表示される。

////Properties側(画像では右)ではファイルの情報を見ることができる。

//[[Properties 解説]]

//***Show file info (special) [#sf7ac3fc]
//#imgr(./snaps/up320.png);

//[[foo_infobox>General#h1cbe895]]を導入すると見慣れた編集画面でタグ編集できる。

//Previous/Nextボタンで前後の曲に移動などの便利な機能があり、個別にタグを編集する場合に非常におすすめ。
//なお、複数のファイルを選択していた場合には、Propertiesが起動する。

*Scripts [#v7812ec5]

[[保存したAction>Tagging#u66bdf0a]]を直接実行できる。'[last used]'は、最後に''実行''されたActionを実行する。Masstaggerで、設定しただけで実行していないActionは'[last used]'によって実行されない。

//**Move, rename or copy files [#v80f83f4]
//メタデータをもとにファイルを移動・リネーム・コピーする。
//
//&ref(rename.png);
//
//Output File Names
//
//-nn
//$num(%tracknumber%,2)
//
//
//-nn title
//$num(%tracknumber%,2) %title%
//v0.9ではデフォルトでFile Operationsにあります。

*Copy info between files [#p08ac1fc]

まず、下の画像のようにプレイリストの上半分にタグのコピー元ファイル、下半分にタグのコピー先ファイルを並べる。

#imgr(./snaps/masstagger_copytags1.png);

それを全選択して右クリックから Tagging->Copy info between files を選択する。すると"Copy info"のウィンドウが現れる。
コピーしたくないfieldはチェックを外し、"Run"ボタンを押すとタグがコピーされる。

>注意:現在のバージョンでは、このコマンドは削除されているが、次の方法で同じことができる。
+コピー元ファイルを全て選択し、Properties dialogを開き、コピーしたいfieldを選択。( Ctrl+A で全て選択可)
+右クリックメニューでCopy、または、Ctrl+C。 
+コピー元ファイルを全て選択し、Properties dialogを開く。
+Toolsメニューまたは右クリックメニューでPaste Fields、または、Ctrl+Shift+V。(全てのFieldが上書きされる)
ここで、Paste、または、Ctrl+Vを実行した場合、選択したFieldが上から順番に上書きされるので、たいてい上手くいかない。

*Get Tags from Freedb [#hee94488]

[[freedb Tagger>General#i51e6c0f]]というcomponentが必要。freedbからアルバムのタグを取得する。
:解説|
[[freedb Tagger つかいかた]]

*Reload info From Files [#md56769a]

タグ情報をmetadataに書き込む。

*Reload info From Files if changed [#xfee0442]

タグ情報とmetadataが違うとfoobar2000が判断した場合、タグ情報をmetadataに書き込む。Reload info From Filesより軽いが、他のソフトでタグ情報を変更した場合などでは書き込まれない。

*Rewrite file tags [#u5d81cf8]

metadataの情報をタグに書き込む。

*Remove tags from file(s) [#bc4b3924]

ファイルのタグを、ReplayGain((同上。))の値も含めて全て削除する。

*解説 [#u5e81d44]

**field name と field value について [#g5c95d2f]

#imgr(./snaps/fileinfo.png);

field name とはARTIST/TITLE/ALBUM etc...のこと、field value とはGET IT ON/CHASE/1971 etc...のことを示す。
field name = field value の形式で表記されることが多い。

vorbiscomment、apetag、MP4タグ、(foobar2000の)ID3v2タグ、データベースでは一つのファイルに同名のfield name が複数存在することを許可している。
また一般的なfield name((artist/title/album/comment/date/tracknumber/genreなど))以外にも自分で自由な名前のfield nameを作成することができる。

上の例のように同名のfield nameを存在させる場合はfoobar2000以外でのタグの扱いに注意する必要がある。ほとんどのアプリでは一つのfieldにつき一つのfield nameしか扱えない。
field nameは英数字であることが推奨されている。