WebHelp:Configuring Directory and File Formats/4.0: Difference between revisions

From MediaMonkey Wiki
Jump to navigation Jump to search
(Created page with "Please see: Configuring_Directory_and_File_Formats")
 
No edit summary
Line 1: Line 1:
Please see:
  {{WebHelpHeader|Configuring Directory and Filename Formats}}
When [Ripping Tracks from CDs.htm ripping], [[Converting Formats|converting]], [[Exploring Tracks|synchronizing tracks to a portable device]], [[Ripping Tracks from CDs|saving tracks to the virtual CD]], [[Burning an Audio CD|burning Tracks to a CD]], or [[Changing Filenames|auto-organizing tracks]], you can select the format in which the directories and filenames will be created. When [[Auto-Tag from Filename|auto-tagging from filenames]], you can select what tags will be written based on the Directory/Filename format. This section describes Directory and File masks that allow you to define these formats.


[[Configuring_Directory_and_File_Formats]]
== Concepts  ==
 
Generally, there are 3 elements to configure when choosing a destination format:
 
#Directory: This is chosen using the directory browser button (e.g. C:\My Music), though in some cases (e.g. for burning a CD) there's no need to choose a directory.
#Directory format: This is chosen using the 'masks' such as \&lt;Artist&gt;\&lt;Album&gt;\ . e.g.<br>C:\My Music\&lt;Artist&gt;\&lt;Album&gt;\ would result in <br>C:\My Music\U2\The Joshua Tree\
#Filename format: This is chosen using the 'masks' such as \&lt;Track #&gt; - &lt;Title&gt; . e.g.<br>C:\My Music\&lt;Artist&gt;\&lt;Album&gt;\&lt;Track #&gt; - &lt;Title&gt; would result in<br>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. \&lt;Artist&gt;\&lt;Album&gt;\ 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. \&lt;Artist&gt; - &lt;Title&gt; 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.
 
{| cellpadding="1" border="1" align="Default" width="100%"
|-
| width="15%" | ' ' (space)
| width="80%" | 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.
|-
| width="15%" | '-'
| width="80%" | A dash in a mask appears as a dash in the path/filename that is written.
|-
| width="15%" | '\'
| width="80%" | A slash following a mask element causes a directory to be created.
|-
| width="15%" | '.\'
| width="80%" | 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\&lt;Artist&gt; - &lt;Title&gt; would write tracks to C:\My Music, but a mask of .\&lt;Artist&gt; - &lt;Title&gt; would write the new filenames into the directories from which the source files originate.
|-
| width="15%" |
| width="80%" |
|-
| width="15%" | &lt;Artist&gt;
| width="80%" | Writes the Artist field to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" | &lt;Album&gt;
| width="80%" | Writes the Album field to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" | &lt;Title&gt;
| width="80%" | Writes the Title field to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" | &lt;Genre&gt;
| width="80%" | Writes the Genre field to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" | &lt;Disc#&gt;
| width="80%" | Writes the Disc Number field to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" | &lt;Track#&gt;
| width="80%" | Writes the Track Number field to a filename (assuming it is not followed by a '\')
|-
| width="15%" | &lt;Year&gt;
| width="80%" | Writes the Year field to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" | &lt;Bitrate&gt;
| width="80%" | Writes the Bitrate field to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" | &lt;Album Artist&gt;
| width="80%" | Writes the Album Artist field to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" | &lt;BPM&gt;
| width="80%" | Writes the Beats Per Minute field to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" | &lt;Composer&gt;
| width="80%" | Writes the Composer field to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" | &lt;Custom x&gt;
| width="80%" | Writes 1 of the 5 Custom fields to a directory or filename (depending on whether it is followed by a '\')
|-
| width="15%" |
| width="80%" |
|-
| width="15%" | &lt;Skip:x&gt;
| width="80%" | Ignores x characters in the path. Used only for Auto-tag from Filename.
|-
| width="15%" |
| width="80%" |
|-
| width="15%" | $First(&lt;'Field'&gt;,count,skip)
| width="80%" | Limits the number of values for multiple definition fields to count, optionally skipping skip values. For instance:<br> &lt;Genre&gt; would yield: Rock;Pop;Acoustic<br> $First(&lt;Genre&gt;) would yield: Rock<br> $First(&lt;Genre&gt;,2) would yield: Rock;Pop<br> $First(&lt;Genre&gt;,1,1) would yield: Pop
|-
| width="15%" | &lt;'Field':n&gt;
| width="80%" | 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:<br> C:\My Music\&lt;Artist:1&gt;\&lt;Artist&gt;\&lt;Album&gt; - &lt;Track #&gt; - &lt;Title&gt; which would yield C:\My Music\A\Abba\Gold - 2 - Fernando.mp3 , useful for creating alphabetized directories. <br> &lt;Track#:2&gt; would yield 07 (for Track=7), and would yield 153 (for Track 153) <br> &lt;Year:3&gt; would yield 1940 (for 1940); &lt;Year:2&gt; would yield 40 (this latter example is an exception--numeric fields are not otherwise truncated) <br> Note: For text fields, the resultant characters start from the left. For numeric fields, the resultant digits start from the right. If n &gt; 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.
|-
| width="15%" | &lt;'Field':-n&gt;
| width="80%" | Same as above except that if n &gt; 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.
|-
| width="15%" |
&lt;'Field'@n&gt;
 
| width="80%" |
Creates alphabetical directories grouped in sets of x letters. For example: C:\My Music\&lt;Artist@3&gt;\&lt;Title&gt; would create directories with all Artists beginning with ABC, DEF, GHI, etc.
 
|-
| $RemovePrefix(string)
| Removes a prefix from a string. e.g. $RemovePrefix(&lt;Artist&gt;) changes 'The Beatles' -&gt; 'Beatles' . Prefixes are configured in Tools &gt; Options &gt; Library &gt; Appearance &gt; Ignore prefixes.
|-
| $MovePrefix(string)
| Moves a prefix to the end of a string. e.g. $RemovePrefix(&lt;Artist&gt;) changes 'The Beatles' -&gt; 'Beatles, The'. Prefixes are configured in Tools &gt; Options &gt; Library &gt; Appearance &gt; 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(&lt;Artist&gt;,2) for 'U2' would yield \UV (similar to &lt;Artist@2&gt;.
|-
| $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
|-
| $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
|-
| width="15%" |
| width="80%" |
|-
| width="15%" | &lt;Folder:n&gt;
| width="80%" | This will recreate all folders in a source path except for the first 'n' directories. For example: C:\My Music\&lt;Folder:2&gt;\&lt;Title&gt; would create the source directory structure (without the first 2 directories in the source paths), followed by track title.
|-
| width="15%" | &lt;Folder:-n&gt;
| width="80%" | 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.
|-
| width="15%" | &lt;Playlist&gt;
| width="80%" | 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 CD Burning and Exporting tracks.
|-
| width="15%" |
| width="80%" |
|-
| width="15%" | &lt;Filename&gt;<br>&lt;Filename:n&gt;
| width="80%" | This recreates the current filename, and can be used with modifiers to force the resultant text to a set length.
|-
| &lt;Type&gt;
| Writes the file type to a directory \My Music\MP3\U2... or \My Music\M4A\U2....
|-
| width="15%" | &lt;Auto Number&gt;<br>&lt;Auto Number:n&gt;
| width="80%" | 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.
|-
| width="15%" | &lt;Random&gt;<br>&lt;Random:n&gt;
| width="80%" | 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.
|-
| width="15%" | &lt;Path&gt;
| width="80%" | This recreates the same path and filename as the original source file(s).
|-
| width="15%" | &lt;Path:n&gt;
| width="80%" | This recreates the same path and filename as the original source file(s), without the first n folders of the source path.
|-
| width="15%" | &lt;Path:-n&gt;
| width="80%" | This recreates the same path and filename as the original source file(s), without the last n elements of the source path.
|-
| width="15%" |
| width="80%" |
|-
| width="15%" | $if(string criteria,truevalue,falsevalue)
| width="80%" |
This allows masks to be used conditionally. Several examples follow:<br> To use a mask if 2 fields or a field and a string are equal, use '=' . For example, in the case of an Album Artist differing from the Artist, you may want both to appear in the path:<br> --- \&lt;Album Artist&gt; - &lt;Album&gt;\&lt;Track#&gt; $If(&lt;Artist&gt;=&lt;Album Artist&gt;,,&lt;Artist&gt; - )&lt;Title&gt;
 
Similarly, other operators such as &lt;,&lt;=,&gt;,&gt;= and &lt;&gt; can be used. For instance, to return 80's for year 1984:<br> --- $If(&lt;Year&gt;&lt;1990,80's,$If(&lt;Year&gt;&lt;2000,90's,2000's))
 
To use a mask if a field isn't empty, just enter a string without any criteria'. For example:<br> --- D:\My Music\$If(&lt;Artist&gt;,&lt;Artist:1&gt;,None)\&lt;Artist&gt;$If(&lt;Album&gt;, - &lt;Album&gt;\,)&lt;Title&gt;<br> --- \$If(&lt;Artist&gt;,&lt;Artist&gt; - ,)$If(&lt;Album&gt;,&lt;Album&gt; - ,)$If(&lt;Track#&gt;,&lt;Track#&gt; ,)&lt;Title&gt;
 
Note: Make sure to precede all control characters such as ')' or ',' with '$' if you wish them to appear as normal characters. For example:<br> --- \My Music\$if(&lt;artist&gt;,&lt;artist&gt; (&lt;year&gt;$),Unknown)\&lt;track&gt;<br>
 
|-
| $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.
|}
  {{WebHelpFooter}}

Revision as of 17:46, 9 May 2011

When [Ripping Tracks from CDs.htm ripping], converting, synchronizing tracks to a portable device, saving tracks to the virtual CD, burning Tracks to a CD, or auto-organizing tracks, you can select the format in which the directories and filenames will be created. When auto-tagging from filenames, you can select what tags will be written based on the Directory/Filename format. This section describes Directory and File masks that allow you to define these formats.

Concepts

Generally, there are 3 elements to configure when choosing a destination format:

  1. Directory: This is chosen using the directory browser button (e.g. C:\My Music), though in some cases (e.g. for burning a CD) there's no need to choose a directory.
  2. 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\
  3. 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:

  1. 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'
  2. 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.
<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> Writes the Year field 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> Writes 1 of the 5 Custom fields to a directory or filename (depending on whether it is followed by a '\')
<Skip: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)
<Year:3> would yield 1940 (for 1940); <Year:2> would yield 40 (this latter example is an exception--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. $RemovePrefix(<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
$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 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....
<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).
<Path:n> This recreates the same path and filename as the original source file(s), without 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 last n elements of the source path.
$if(string criteria,truevalue,falsevalue)

This allows masks to be used conditionally. Several examples follow:
To use a mask if 2 fields or a field and a string are equal, use '=' . For example, in the case of an Album Artist differing from the Artist, you may want both to appear in the path:
--- \<Album Artist> - <Album>\<Track#> $If(<Artist>=<Album Artist>,,<Artist> - )<Title>

Similarly, other operators such as <,<=,>,>= and <> can be used. For instance, to return 80's for year 1984:
--- $If(<Year><1990,80's,$If(<Year><2000,90's,2000's))

To use a mask if a field isn't empty, just enter a string without any criteria'. For example:
--- D:\My Music\$If(<Artist>,<Artist:1>,None)\<Artist>$If(<Album>, - <Album>\,)<Title>
--- \$If(<Artist>,<Artist> - ,)$If(<Album>,<Album> - ,)$If(<Track#>,<Track#> ,)<Title>

Note: Make sure to precede all control characters such as ')' or ',' with '$' if you wish them to appear as normal characters. For example:
--- \My Music\$if(<artist>,<artist> (<year>$),Unknown)\<track>

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


English  • Deutsch • español • français


Additional Help: Knowledge Base | Forum | MediaMonkey Support | MediaMonkey for Android Help | MediaMonkey 5 Help | MediaMonkey 4 Help