dBpoweramp Naming

Naming creates filenames dynamically, for example a filename might be created from the author & title name.

Naming is constructed by adding Elements, for example this naming:

    [author]\[title]

Creates one folder2, author name, then the title for the filename

Common values are:

[author]
[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:\
[bitrate]                 Overall bitrate 
[frame rate]
[frame count]
[aspect ratio]
[pixel format]
[color space]
[video bitrate]
[width]
[height]
[sample rate]            Audio samples per second
[channels]
[sample size]
[audio bitrate]

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]



Programmable Naming

Naming can be manipulated programmatically [requires dBpoweramp Reference]:

[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[].

[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[]


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

    [GRAB]1,1,[author][]\

  Main Index