Naming creates filenames dynamically, for example a filename might be created from the artist & title name. Naming is used by both CD Ripper and Music Converter (with Dynamic Naming).
Naming is constructed by adding Elements, for example this naming:
[artist]\[album]\[artist] - [title]
Creates 2 folders, artist name, then album and the filename comprises artist and title.
Common values are:
[origpath] the source file path (used when converting, not CD Ripping]
[origfilename] the source filename (minus extension, again used when converting)
[origdrive] drive source files are on, example C:\
When creating naming an example is shown, experiment until the desired filename has been achieved.
If a tag value is non-common, you can specify it with [tag]you_unique_tag_name.
Normally the first item of a multi-artist is used for [album artist] or [artist], however if the list of all the artists are needed then can use [multitag], for example [multitag]album artist and it would return Artist1; Artist2
Preserving Source Path and Filename:
Setting the Output to Folder to a different drive, or folder, it is possible to create a 2nd library, such as lossless to mp3
Preserving Source Path and Filename (remove first folder):
Preserving Source Path and Filename (remove first two folders):
CD Ripper Default Naming:
[IFVALUE]album artist,[album artist],[IFCOMP]Various Artists[IF!COMP][artist]\[album]\[track] [artist] - [title]
The first folder is the album artist if present, for no album artist, if a compilation Various Artists is the folder name, otherwise the artist is used.
The next folder is album name. The filename is track number, artist name - title.
Naming can be manipulated programmatically [requires dBpoweramp Reference]:
[IFCOMP]string string is included if the Compilation tag is set.
[IF!COMP]string string is included if the Compilation tag is not set.
[IFMULTI]string string is included if part of a multi CD set (ie disc number > 1)
[IF!MULTI]string string is included if not part of a multi CD set (ie disc number <= 1)
[UPPER]string uppercases string
[LOWER]string lowercases string
[RIGHT]count,string uses last x characters from a string, ie [RIGHT]3,abcdefg gives 'efg'
[GRAB]from,to,string extracts a portion of string. If to is omitted then the string is grabbed to the end, ie [GRAB]2,4,abcdefg gives 'bcd'
[TRIM]string trims spaces from beginning or end of string
[DEL]from,to,string removes a portion of string. If to is omitted then the string is deleted from 'from', ie [DEL]2,4,abcdefg gives 'aefg'
[SETLEN]count,pre,post,string sets a string length, if count is more the string length then string is extended, if less than then string is shortened. When extending a string if pre (a character ascii code) is present, the string is extended by inserting characters to the front of the string, otherwise to the end. Examples:
[SETLEN]4,,,abcdefg gives 'abcd'
[SETLEN]14,65,,abcdefg gives 'AAAAAAAabcdefg'
[SETLEN]14,,66,abcdefg gives 'abcdefgBBBBBBB'
[IFEQUALS]tag,equals,string tests the tag value, if the same as equals then string is included, example: [IFEQUALS]genre,pop,The Genre Is Pop,
[IF!EQUALS] as above except string is included if tag value does not match,
[IF]tag,condition,match,stringmatch,stringnomatch allows condition checking, condition can be =, len<, len>, len=. For example: [if][artist],=,blur,maches,nomatch the string matches will be inserted if the artist is blur. Another example: [if][artist],len<,5,lessthanfivechars,fivecharsormore will insert lessthanfivechars if the arist length is less than 5 characters.
[IFVALUE]tag,strifvalue,strnovalue if tag has a value (ie not "") then strifvalue is used, otherwise strnovalue is used, example [IFVALUE]artist,Artist Has a Value,Artist Has no Value
[TRIMFIRSTFOLDER]string removes the first folder, example [TRIMFIRSTFOLDER]f1\f2\f3 returns 'f2\f3'
[TRIMLASTFOLDER]string removes the last folder, example [TRIMLASTFOLDER]f1\f2\f3 returns 'f1\f2'
[FRONTFOLDER]position returns just the folder in position X from the source path
[BACKFOLDER]position returns just the folder in position Count-X from the source path, where 1 is last folder, 2 is last but one.
[MAXLENGTH]len,string shortens string if it is over len number of characters
[REPLACE]search,replacement,string string is searched for the search string and is substituted with the replacement. To use tags write string as [tag]tagname. To replace comma enter <comma_>, for example: [REPLACE]<comma_>,@,[artist] would replace , with @
[WORD]string,wordcount limits string to set word count, for example is string is 'A Quick Brown Fox' and wordcount is 2, then 'A Quick' is returned.
[GROUP]count,string takes the first letter from string and groups in a-d, e-h, ideal for folders, for example [GROUP]4,[artist] gives a-d, e-h and [GROUP]3,[artist] is a-c, d-f.
[SPLIT]letter or string,string,position Splits a string based on a single letter or a string match, for example if Artist was A1/A2/A3/A3 [split]/,[artist],3 would return A3. To split on comma enter no string: [split]<comma_>,[artist],3
[MULTITAG]tag name if have multiple album artists and want the whole list in the filename then can use [multitag]album artist and it would return Artist1; Artist2
It is possible to nest programmable actions (ie working of the output of the other one, for example to take the artist, uppercase the first character and lowercase the rest:
To use the values ',' and '[' in a programmable action, for example to replace ',' with _ you can use: [REPLACE]<comma_>,_,[artist]
To create a folder name using the first character from Artist:
To pad disc number to 2 characters:
Put the source creation date in the filename: