dBpoweramp Naming

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:

[artist]
[album]
[title]
[genre]
[year]
[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.


Naming Examples

Preserving Source Path and Filename:

    [origpath]\[origfilename]

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

    [TRIMFIRSTFOLDER][origpath][]\[origfilename]

Preserving Source Path and Filename (remove first two folders):

    [TRIMFIRSTFOLDER][TRIMFIRSTFOLDER][origpath][][]\[origfilename]

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.


Programmable Naming

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:

    [UPPER][GRAB]1,1,[artist][][][LOWER][GRAB]2,,[artist][][] 

To use the values ',' and '[' in a programmable action, for example to replace ',' with _ you can use: [REPLACE]<comma_>,_,[artist][]


Common Requests:

To create a folder name using the first character from Artist:

    [GRAB]1,1,[artist][]\

To pad disc number to 2 characters:

    [SETLEN]2,48,,[disc][]

  Main Index