Masstagger is an advanced tool for editing the information of tags in multiple files.

Masstagger's main limitation is lack of WYSIWYG editing of tags, making it inefficient for typical tag editing scenarios. You should use the Properties dialog instead unless you want to be able to quickly run predefined complex tagging tasks on your files.

Note: Masstagger is not available as part of foobar2000 0.9.5 or newer installers.

To open the main Masstagger dialog, select the tracks you want to work with and choose the "Manage Scripts" command from the context menu, under the "Tagging" submenu.

The left box displays a list of actions that are about to be performed on your tags. The actions are performed in descending order - actions placed lower on the list will operate on tags already altered by actions placed higher on the list.

The "scripts" box contains commands that allow you to save the current chain of actions or restore a chain of actions that was saved earlier.

There are two ways to store Masstagger scripts:

In foobar2000 configuration - by using the "Save" / "Load" etc buttons - you can quickly load those scripts later, as well as access them directly from the "Tagging" / "Scripts" submenu of the context menu, as well as access them with keyboard shortcuts.

In external files - by using the "Export to file..." and "Import from file..." buttons - such scripts can be easily interchanged between users or between different foobar2000 installations.

Adds a new value to the specified metadata field. If the field already exists, a new value is added to its values; if it does not, it's created with a single value.

This is particularly useful when working with fields that often have more than one value, such as "ARTIST" or "GENRE".

For an example: an Add "GENRE" = "Rock" action will add "Rock" to the list of genres on affected tracks - if any of these tracks don't have a "GENRE" field yet, such field will be created, with one value equal to "Rock".

The guessing pattern syntax is NOT based on title formatting - functions or field remappings do not apply here.

You can put slash characters in the guessing pattern to also retrieve data from names of folders containing your files.

For an example, if your directory structure is formatted as "Artist\(Date) Album\N. Title.ext" - eg. "Muse\(2006) Black Holes & Revelations\01. Take A Bow.mpc", you can transfer all relevant information from file paths to tags using the following pattern: "%artist%\(%date%) %album%\%tracknumber%. %title%".

Enter the data for each song with the pattern indicated, line by line, (one line per song as it is said). Don't worry about the length, the lines could be very long (only adds a vertical scroll bar if it is too long).

Replaces matching values of the specified field with the specified value. Useful for mass-fixing inconsistent tagging, especially when dealing with multi-value fields such as artist or genre, since only the matching value gets altered.

Splits values of the specified field according to the specified separator string. For an example, if your tags have ARTIST fields formatted as "person1 & person2" instead of correct multiple values, you can use this action to split generate multiple values, by specifying "&" as the separator string.

Masstagger provides extra command line switches for tag modifications. Version 1.8.4 of the component shows this information:

Usage:
/tag:help - displays this message
/tag:<command1>[;<command2>;<command3>...] <file1> [<file2> <file3>...]
Commands:
<NAME>=<VALUE>
Sets <NAME> field to <VALUE>, e.g. "/tag:title=test <file>".
You can erase particular field by specifying empty value, e.g. "/tag:comment= <file>".
You can also specify multiple values by separating them with \ character, e.g. "/tag:artist=name1\name2 <file>".
AUTOTRACKNUMBER
Sets TRACKNUMBER field of multiple files according to their order in commandline.
E.g. "/tag:AUTOTRACKNUMBER <file1> <file2> <file3>" will assign TRACKNUMBER=1 to <file1>, 2 to <file2> and 3 to <file3>.
FORMAT:<FIELD>:<SPEC>
Formats <FIELD> using <SPEC>; see title formatting manual for more info how to use it.
E.g. "/tag:FORMAT:COMMENT:"%ARTIST% - %TITLE%" <file>".
GUESS:<PATTERN>:<SPEC>
Guesses field values using <PATTERN>, according to <SPEC>.
To perform "guess values from filename" action, use "/tag:GUESS:<PATTERN>:%_FILENAME% <file>".
E.g. "/tag:GUESS:"%TRACKNUMBER%. %TITLE%":%_FILENAME% <file>".