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.



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