Difference between revisions of "Foobar2000:Components/Masstagger (foo masstag)"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
 
m (Added "abbr" tag to opening of article.)
(52 intermediate revisions by 17 users not shown)
Line 1: Line 1:
==picmixer's "The Unofficial Guide to FB's Masstagger" ==
+
{{DISPLAYTITLE:foobar2000:Components/Masstagger (foo_masstag)}}
 +
{{Foobar Component Infobox
 +
| name                = Masstagger
 +
| screenshot          = [[Image:Foobar2000-Masstagger.png|256px]]
 +
| caption              =
 +
| module_name          = foo_masstag
 +
| developer            = Peter Pawlowski
 +
| stable_release      = 1.8.4
 +
| stable_release_date  = 2009-09-18
 +
| foobar2000_version  = 1.1
 +
| use                  = Tagging
 +
}}
  
 +
'''Masstagger''' is an advanced tool for editing the information of tags in multiple files.
  
FB's masstagger tends to be quite a convenient tool when editing the information of tags in multiple files. I will first briefly list the options you have using it. Basically you can choose to either use it to edit tags or to rename files from the FB2K context menu. Here I will go into details of the first option. Although the second option should become quite self explanatory after reading this.
+
Masstagger's main limitation is lack of <abbr title="What You See Is What You Get">WYSIWYG</abbr> editing of tags, making it inefficient for typical tag editing scenarios. You should use the [[Foobar2000:Properties|Properties dialog]] instead unless you want to be able to quickly run predefined complex tagging tasks on your files.
  
Basically there are several actions you can choose from to perform.
+
{{panel|'''Note:''' Masstagger is not available as part of foobar2000 0.9.5 or newer installers.|color=yellow}}
  
 +
== Basic usage ==
 +
[[Image:Foobar2000-Masstagger-howtoactivate.png|thumb|Accessing the main Masstagger dialog]]
 +
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.
  
=== Actions to perform: ===
+
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.
  
'''Set value'''
+
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.
Sets desired tag field (artist, album,custom,etc) to whatever you enter in the masstagger input window.
+
'''
+
Add value'''
+
Adds desired tag field and sets it to whatever you enter in the masstagger input window.
+
'''
+
Remove value'''
+
Removes desired tag field.
+
  
'''Remove all values'''
+
There are two ways to store Masstagger scripts:
Removes all tag fields (who would have guessed)
+
* 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 [[Foobar2000:Preferences:General:Keyboard Shortcuts|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.
Copy value'''
+
 
 +
== Available actions ==
 +
 
 +
=== Add value ===
 +
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".
 +
 
 +
=== Auto track number ===
 +
This gives the track number according to the order of the files in the selection.
 +
 
 +
=== Copy value ===
 
Copies one tag field to another.
 
Copies one tag field to another.
  
'''Guess values from filename'''
+
===Embed cuesheet===
Guesses values from filename and lets you enter a certain fromatting pattern for it. For example if your files are named artist - album_title.
+
This action looks for a cuesheet named %filename%.cue or %filename_ext%.cue in the same folder as the file being processed and embeds it.
  
Enter %artist% - %album%_%title as formatting pattern.
+
=== Format value from other fields ===
 +
This action lets you enter a specific [[Foobar2000:Title Formatting Introduction|title formatting]] pattern for any tag field you wish to edit or create.
  
'''Format value from other fields'''
+
In addition to standard title formatting fields, starting with version 1.8.2 you can use %now% to fetch current system time.
This is where it becomes interesting. This option lets you enter a specific formatting pattern for any tag field you wish to edit or create.
+
 
 +
=== Guess values from filename ===
 +
Automatically fills metadata values according to file paths, according to a guessing pattern that you specify.
 +
 
 +
Note that this is similar to the [[Foobar2000:Properties/Automatically Fill Values|Automatically Fill Values dialog]].
 +
 
 +
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%".
 +
 
 +
=== Guess values from other fields ===
 +
Similar to "Guess values from filename", except it uses other fields - through a [[Foobar2000:Title Formatting Introduction|title formatting string]] - as a source, instead of file names.
 +
 
 +
=== Input data (one line per track) ===
 +
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).
 +
 
 +
=== Remove all fields ===
 +
Removes all tag fields.
 +
 
 +
=== Remove all except for... ===
 +
Removes all fields except for the ones that you specify. For an example, specify "title;album;artist" to remove all fields other than title, album and artist.
 +
 
 +
=== Remove field ===
 +
Removes desired tag field.
  
 +
=== Remove values... ===
 +
Opposite of "Add value". Removes matching values of the specified field. Useful when dealing with multiple genre values for an example.
  
'''Note''' that when using complex formatting patterns I would recommend to first format a temporary %temp% tag with the desired pattern and then copy that one into the value that you wish. Afterwards you can remove the temp value. When processing a large batch of files you could probably just do a test run on one of the files and then do the rest in one go. Think about what you are doing beforehand though. After all I don't want to be held responsible for messing up anyones music collection.
+
=== Replace values... ===
 +
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.
  
''I will explain how to create formatting strings for different situations further down .''
+
=== Set value... ===
 +
Sets desired tag field (artist,album,etc) to the specified value.
  
'''Remove all values except for...'''
+
=== Split field by separator... ===
Does just as it says, removes all values and lets you specify wich ones not to remove in a second field in the following pattern ie.:
+
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.
  
%artist%;%title%;etc
+
=== Split multiple artist fields ===
 +
If the artist field value contains characters such as "," or "&", the value gets split into multiple values accordingly.
  
'''Auto track number'''
+
Note: This is equivalent to having two "Split field by separator..." actions, both with field set to "ARTIST", one with separator set to "," and the other with separator set to "&".
Haven't really tried out this one in depth, guess it does kind of what it says.
+
  
'''Split multiple artist field'''
+
== Notes on upgrading from older (pre-1.7) Masstagger versions ==
Same thing goes for this one. Never really used it yet.
+
Various functionality that is now available through other components has been removed.
 +
* File moving functionality - now available through the [[Foobar2000:File_operations|File Operations component]].
 +
* Copying tags between tracks - see: [[Foobar2000:How to transfer tags between two sets of tracks|How to transfer tags between two sets of tracks]].
  
 +
== Command line interface ==
 +
Masstagger provides extra [[Foobar2000:Commandline_Guide|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>".
  
'''Note''' that it is possible to perform several of these actions at once and in that case the order of those actions can be very important. So removing field A before copying it to field B is probably a bad Idea and should be performed the other way around, etc.
+
==External links==
 +
* {{foobar2000|http://www.foobar2000.org/components/view/foo_masstag|Masstagger}}

Revision as of 17:02, 6 July 2019

Masstagger
Foobar2000-Masstagger.png
Developer(s) Peter Pawlowski
Repository {{{repository}}}
Release information
Initial release {{{released}}}
Stable release 1.8.4 (September 18, 2009)
Preview release N/A
foobar2000 compatibility
Architecture {{{foobar2000_architecture}}}
Minimum version 1.1
Maximum version {{{foobar2000_maximum}}}
UI module(s) N/A
Additional information
Use Tagging
License {{{license}}}
Discussion thread {{{discussion_thread}}}
View all components

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.

Basic usage

Accessing the main Masstagger dialog

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.

Available actions

Add value

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".

Auto track number

This gives the track number according to the order of the files in the selection.

Copy value

Copies one tag field to another.

Embed cuesheet

This action looks for a cuesheet named %filename%.cue or %filename_ext%.cue in the same folder as the file being processed and embeds it.

Format value from other fields

This action lets you enter a specific title formatting pattern for any tag field you wish to edit or create.

In addition to standard title formatting fields, starting with version 1.8.2 you can use %now% to fetch current system time.

Guess values from filename

Automatically fills metadata values according to file paths, according to a guessing pattern that you specify.

Note that this is similar to the Automatically Fill Values dialog.

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%".

Guess values from other fields

Similar to "Guess values from filename", except it uses other fields - through a title formatting string - as a source, instead of file names.

Input data (one line per track)

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).

Remove all fields

Removes all tag fields.

Remove all except for...

Removes all fields except for the ones that you specify. For an example, specify "title;album;artist" to remove all fields other than title, album and artist.

Remove field

Removes desired tag field.

Remove values...

Opposite of "Add value". Removes matching values of the specified field. Useful when dealing with multiple genre values for an example.

Replace values...

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.

Set value...

Sets desired tag field (artist,album,etc) to the specified value.

Split field by separator...

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.

Split multiple artist fields

If the artist field value contains characters such as "," or "&", the value gets split into multiple values accordingly.

Note: This is equivalent to having two "Split field by separator..." actions, both with field set to "ARTIST", one with separator set to "," and the other with separator set to "&".

Notes on upgrading from older (pre-1.7) Masstagger versions

Various functionality that is now available through other components has been removed.

Command line interface

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>".

External links