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.
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 no search string, for example: [REPLACE],@,[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],[artist],3
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: