Masks to Configure Folder and Filename Formats
Wiki Home > MediaMonkey 5 Help > Masks to Configure Folder and Filename Formats
Introduction
When ripping, converting, synchronizing tracks to a portable device, or auto-organizing files, you can select the format in which the folders and filenames will be created. When auto-tagging from filenames, you can select what tags will be updated based on the folder/filename format. This section describes Folder and Filename Masks that allow you to define these formats.
Concepts
Generally, there are 3 elements to configure when choosing a Destination Mask:
- Directory: This is chosen using the directory browser button (e.g. C:\My Music).
- Directory format: This is chosen using the 'masks' such as \<Artist>\<Album>\ . e.g.
C:\My Music\<Artist>\<Album>\ would result in
C:\My Music\U2\The Joshua Tree\ - Filename format: This is chosen using the 'masks' such as \<Track #> - <Title> . e.g.
C:\My Music\<Artist>\<Album>\<Track #> - <Title> would result in
C:\My Music\U2\The Joshua Tree\1 - Where the Streets Have No Name.mp3
Similarly, when using Auto-tag from Filename, 2 elements are configured to read the filename format:
- Directory format: e.g. \<Artist>\<Album>\ would read \My Music\Beatles\White Album\Song.mp3 and set Artist field to 'Beatles', and Album field to 'White Album'
- Filename format: e.g. \<Artist> - <Title> would read \U2 - God and set Artist field to 'U2' and Title field to 'God'
Mask Reference
The table below describes most of the commonly used characters and fields in a mask.
' ' (space) | A space in a mask appears as a space in the path/filename that is written. Note that spaces automatically disappear in case they are in the beginning or end of a filename. |
'-' | A dash in a mask appears as a dash in the path/filename that is written. |
'\' | A slash following a mask element causes a directory to be created. |
'.\' | A .\ at the beginning of a mask causes whatever portions of the mask that follow to be written in the same directory as the source file(s). For example, a mask of C:\My Music\<Artist> - <Title> would write tracks to C:\My Music, but a mask of .\<Artist> - <Title> would write the new filenames into the directories from which the source files originate. |
<Added> | Writes the Library Added field to a directory or filename (depending on whether it is followed by a '\') |
<Artist> | Writes the Artist field to a directory or filename (depending on whether it is followed by a '\') |
<Album> | Writes the Album field to a directory or filename (depending on whether it is followed by a '\') |
<Title> | Writes the Title field to a directory or filename (depending on whether it is followed by a '\') |
<Genre> | Writes the Genre field to a directory or filename (depending on whether it is followed by a '\') |
<Disc#> | Writes the Disc Number field to a directory or filename (depending on whether it is followed by a '\') |
<Track#> | Writes the Track Number field to a filename (assuming it is not followed by a '\') |
<Year>, <Date> | Writes the Year field to a directory or filename (depending on whether it is followed by a '\') |
<Original Date> | Writes the Original Date field (as Year) to a directory or filename (depending on whether it is followed by a '\') |
<Bitrate> | Writes the Bitrate field to a directory or filename (depending on whether it is followed by a '\') |
<Album Artist> | Writes the Album Artist field to a directory or filename (depending on whether it is followed by a '\') |
<BPM> | Writes the Beats Per Minute field to a directory or filename (depending on whether it is followed by a '\') |
<Composer> | Writes the Composer field to a directory or filename (depending on whether it is followed by a '\') |
<Custom X> | X can have a value between 1 to 10. Writes 1 of the 10 Custom fields to a directory or filename (depending on whether it is followed by a '\'). Example: <Custom 2>. |
<Podcast> | Writes the Podcast name to a directory or filename (depending on whether it is followed by a '\') |
<Ignore:X> | Ignores x characters in the path. Used only for Auto-tag from Filename. |
$First(<'Field'>,count,skip) | Limits the number of values for multiple definition fields to count, optionally skipping skip values. For instance: <Genre> would yield: Rock;Pop;Acoustic $First(<Genre>) would yield: Rock $First(<Genre>,2) would yield: Rock;Pop $First(<Genre>,1,1) would yield: Pop |
<'Field':n> | Can be used in conjunction with any of the above mask elements in order to force alphabetic fields to a specified length or to pad alphanumeric fields. For instance: C:\My Music\<Artist:1>\<Artist>\<Album> - <Track #> - <Title> which would yield C:\My Music\A\Abba\Gold - 2 - Fernando.mp3 , useful for creating alphabetized directories. <Track#:2> would yield 07 (for Track=7), and would yield 153 (for Track 153) Numeric fields are not truncated: e.g. <Year:3> would yield 1940 (for 1940); The exception being: <Year:2> would yield 40 (aside from this specific field and value, numeric fields are not otherwise truncated) Note: For text fields, the resultant characters start from the left. For numeric fields, the resultant digits start from the right. If n > the number of characters in the field, then the resultant path is padded with spaces or 0's depending on whether the field is text or numeric. |
<'Field':-n> | Same as above except that if n > the number of characters in the field, then the resultant path is padded with spaces or 0's (depending on whether the field is text or numeric) from the opposite side. |
<'Field'@n> |
Creates alphabetical directories grouped in sets of x letters. For example: C:\My Music\<Artist@3>\<Title> would create directories with all Artists beginning with ABC, DEF, GHI, etc. |
$RemovePrefix(string) | Removes a prefix from a string. e.g. $RemovePrefix(<Artist>) changes 'The Beatles' -> 'Beatles' . Prefixes are configured in Tools > Options > Library > Appearance > Ignore prefixes. |
$MovePrefix(string) | Moves a prefix to the end of a string. e.g. $MovePrefix(<Artist>) changes 'The Beatles' -> 'Beatles, The'. Prefixes are configured in Tools > Options > Library > Appearance > Ignore prefixes. |
$Group(string,integer) | Groups the first letter of the string into sets of letters of length specified by (optional) integer parameter. e.g. \$Group(<Artist>,2) for 'U2' would yield \UV (similar to <Artist@2>. |
$Replace(string,what,by) | Replaces all occurrences in a 'string' of 'what' by 'by'. |
$Left(string,n) | Returns the left n characters of string. |
$Right(string,n) | Returns right n characters of string. |
$Mid(string,i,n) | Returns n characters of string starting with character i |
$RightFrom(string,i) | Returns everything after the occurrence of The character i |
$LeftFrom(string,i) | Returns everything before the occurrence of the character i |
$Pos(string,i) | Returns the position of character i |
$Trim(string) | Returns string with spaces trimmed from the beginning and end of string |
$Upper(string) | Converts string to uppercase |
$Lower(string) | Converts string to lowercase |
<Folder:n> | This will recreate all folders in a source path except for the first 'n' directories. For example: C:\My Music\<Folder:2>\<Title> would create the source directory structure (without the first 2 directories in the source paths), followed by track title. |
<Folder:-n> | This will recreate only the last n folders in a source path. This is very useful when it is known that the source directory is homogeneously structured. |
<Playlist> | Writes the Playlist name for any Playlists that have been selected to a folder (assuming it is followed by a '\'). This mask can only be used for Sync, CD Burning and Exporting tracks. |
<Filename> <Filename:n> |
This recreates the current filename, and can be used with modifiers to force the resultant text to a set length. |
<Type> | Writes the file type to a directory \My Music\MP3\U2... or \My Music\M4A\U2.... |
<Extension> | Writes the file extension (in lower case) to a directory \My Music\mp3\U2... or \My Music\m4a\U2.... |
<Auto Number> <Auto Number:n> |
This creates a sequential number that can be inserted into the path. This is especially useful for inserting into the beginning of a filename when exporting to a device or burning to a CD and you wish for tracks in a playlist to be played in the order of the playlist (rather than alphabetical order). By default, 3 digits are used, though this is configurable. |
<Random> <Random:n> |
This creates a random number that can be inserted in the path. It is most useful for inserting into the beginning of a filename when exporting to a device or burning to a CD and you wish to ensure that the tracks will be played in random (rather than alphabetic) order. By default, 4 digits are used, though this is configurable by setting n. |
<Path> | This recreates the same path and filename as the original source file(s), without the drive letter. |
<Path:n> | This recreates the same path and filename as the original source file(s), without the drive letter or the first n folders of the source path. |
<Path:-n> | This recreates the same path and filename as the original source file(s), without the drive letter or the last n elements of the source path. |
$if(string criteria,truevalue,falsevalue) |
This allows masks to be used conditionally. Several examples follow: Similarly, other operators such as <,<=,>,>= and <> can be used. For instance, to return 80's for year 1984: To use a mask if a field isn't empty, just enter a string without any criteria'. For example: Note: Make sure to precede all control characters such as ')' or ',' with '$' if you wish them to appear as normal characters. For example: |
$Len(string) | Returns the length of string. Useful with $If() function. |
$Assign(variable,value) and $Use(variable) | Allows variables to be used several times in a mask, e.g. '$Assign(V,A)$Use(V)$Use(V)' produces string 'AA'. This is useful when a complex 'value' (i.e. a mask component) needs to be used several times within a mask. |
Related
English |
Additional Help: Knowledge Base | Forum | MediaMonkey Support | MediaMonkey for Android Help | MediaMonkey 5 Help | MediaMonkey 4 Help