These functions offer advanced display and converting options and are to be used in combination with Format Strings and Available Placeholders.
General Functions
Replace
$replace(string,from,to) or $replace(string,from1,to1,from2,to2,...)
Example:
$replace(%title%,_,-)This example replaces all underscores with dashes. You can provide additional pairs of from/to as parameters.
Case Conversion Normal
$caps(string,...)
Example:
$caps(%artist%)
This example converts the given string to normal case. The second parameter is optional and specifies additional characters that trigger upper case.
Case conversion Normal (without changing uppercase characters)
$caps2(string)
Example:
$caps2(%artist%)
This example converts the given string to normal case without changing uppercase characters. The second parameter is optional and specifies the characters that trigger upper case.
Case conversion Sentence
$caps3(string)
Example:
$caps3(%artist%)
This example converts the given string to first-letter upper case. The second parameter is optional and specifies additional characters that trigger upper case.
Case conversion UPPER
$upper(string)
Example:
$upper(%artist%)
This example converts the given string to upper case.
Case conversion lower
$lower(string)
Example:
$lower(%artist%)
This example converts the given string to lower case.
Pad integer number with leading zeros
$num(x,y)
Example:
$num(%track%,3)
This example returns the track number with three digits.
String Functions
| Function | Description |
|---|---|
$char(x) |
returns the Unicode character for decimal code point x. |
$cutLeft(x,n) |
removes n characters from the left side of string x and returns the remaining string. |
$cutRight(x,n) |
removes n characters from the right side of string x and returns the remaining string. |
$dedup(x,y,c) |
removes duplicated strings from x, separated by y, optionally using case-insensitive comparison if c is set to 1. |
$fmtDate(fmt,x) |
formats the raw timestamp x as a human-readable date using the format string fmt. See Date and Time Formatting for details and supported placeholders. |
$fmtDuration(x,y,h,ms) |
formats number x as a duration string. The optional parameter y decides how the number is intepreted, where m is minutes, s is seconds (default), and ms is milliseconds. Optional parameters h and ms set to 1 enable the display of hours and milliseconds respectively in the formatted duration string. |
$fmtNum(x) |
formats number x with separator for thousands according to current locale settings. |
$left(x,n) |
returns the leftmost n characters of string x. |
$len(x) |
returns the length of string x. |
$mid(x,i,n) |
returns the first n characters of text x, starting at character i. If n is ommited, the character at position i is returned. |
$ord(x) |
returns the decimal Unicode code point of the first character of string x. Currently supports characters up to U+FFFF. |
$repeat(x,n) |
returns the string x n times. |
$regexp(x,expr,repl) |
replaces the pattern specified by the regular expression expr in the string x by repl. The fourth optional parameter enables ignore case (1) or disables the ignore case setting (0). Please note that you have to escape comma and other special characters in expr. |
$reverse(x) |
reverses the order of the characters in string x. |
$right(x,n) |
returns the rightmost n characters of text x. |
$sort(x,y) |
sorts segments of a string x based on a specified delimiter y. |
$strcmp(x,y) |
compares strings x and y case-sensitively. |
$stricmp(x,y) |
compares strings x and y case-insensitively. |
$strchr(x,y) |
finds the first occurrence of character y in string x. |
$strrchr(x,y) |
finds the last occurrence of character y in string x. |
$strstr(x,y) |
finds the first occurrence of string y in string x. |
$strrstr(x,y) |
finds the last occurrence of string y in string x. |
$trim(x) |
trims all leading and trailing whitespace from the string x. The optional second parameter specifies the character to trim. |
$trimLeft(x) |
trims all leading whitespace from the string x. The optional second parameter specifies the character to trim. |
$trimRight(x) |
trims all trailing whitespace from the string x. The optional second parameter specifies the character to trim. |
Boolean Functions
| Function | Description |
|---|---|
$and(x,y) |
returns true if x and y are true. |
$eql(x,y) |
returns true if x equals y. If x and y are strings, they're compare case-insensitively. |
$geql(x,y) |
returns true if x is greater than or equal to y. |
$gt(x,y) |
returns true if x is greater than y. |
$if(x,y,z) |
if x is true, y is returned, otherwise z. |
$if2(x,y) |
if x is true, x is returned, otherwise y. |
$ifgreater(a,b,x,y) |
if number a is greater than number b, x is returned, otherwise y. |
$iflonger(a,b,x,y) |
if string a is longer than number b, x is returned, otherwise y. |
$isdigit(x) |
returns true if the first character in x is a decimal digit (0-9). |
$leql(x,y) |
returns true if x is less than or equal to y. |
$lt(x,y) |
returns true if x is less than y. |
$neql(x,y) |
returns true if x not equal to y. |
$not(x) |
returns true if x is false. |
$odd(x) |
returns true if x is odd. |
$or(x,y) |
returns true if x or y (or any additional argument given) is true. |
Arithmetic functions
| Function | Description |
|---|---|
$add(x,y) |
adds y to x. |
$div(x,y) |
divides x by y. |
$mod(x,y) |
returns the remainder of x divided by y. |
$mul(x,y) |
multiplies x by y. |
$rand() |
returns a pseudorandom number. |
$sub(x,y) |
subtracts y from x. |
$uuid() |
creates a 128-bit universally unique identifier (UUID) |
Metadata (including multiple tag fields)
| Function | Description |
|---|---|
$columnNames(x,y) |
returns all names from File List columns. The names are prefixed by x, where y is used as a suffix. |
$columnValues(x,y) |
returns all values from File List columns. The values are prefixed by x, where y is used as a suffix. |
$list(x,y,z,v) |
returns a list of all read tag fields and their values that are stored in the file. The fields are prefixed by x, y is used as separator between field and value, and z is used as suffix after the tag field's value. Multiple values of a field are separated by the optional parameter v or , if omitted. |
$meta(x) |
returns all values of field x (e.g. $meta(artist)). Multiple values of a field are separated by ", ". |
$meta(x,n) |
returns the nth value of field x (where n starts at 0, e.g. $meta(artist,1)). |
$metasep(x,sep) |
returns all values of field x (e.g. $metasep(artist,; )). Multiple values of a field are separated by sep. |
Date and Time Formatting
The scripting function $fmtDate(fmt,x) formats the raw timestamp x (e.g., %_file_mod_datetime_raw%) as a human-readable date using the format string fmt. If x is omitted, the current timestamp is used.
For example, the date 2001-02-03 04:05:06 can be created using yyyy-MM-dd HH:mm:ss.
This table describes supported placeholders for fmt:
| Format | Output | Field |
|---|---|---|
yyyy |
2001 |
year |
yy |
01 |
year, short |
MMMM |
February |
month name, long |
MMM |
Feb |
month name, short |
MM |
02 |
month, zero-padded |
M |
2 |
month |
dddd |
Saturday |
weekday, long |
EEEE |
Saturday |
weekday, long |
ddd |
Sat |
weekday, short |
EE |
Sat |
weekday, short |
dd |
03 |
day, zero-padded |
d |
3 |
day |
HH |
04 |
24-hour, zero-padded |
H |
4 |
24-hour |
hh |
04 |
12-hour, zero-padded |
h |
4 |
12-hour |
mm |
05 |
minute, zero-padded |
m |
5 |
minute |
ss |
06 |
second, zero-padded |
s |
6 |
second |