foobar2000 - Title formatting help
foobar2000

Syntax reference for title formatting for version 0.7

Поля

%fieldname% вставляет поле метаданных с именем <fieldname> %artist%
%__fieldname% вставляет поле технической информации с именем <fieldname> %__bitrate%
%_path% вставляет полное имя файла с путём
%_path_raw% вставляет полное имя файла, включая путь и протокол
%_filename% вставляет имя файла без расширения
%_filename_ext% вставляет имя файла с расширением
%_directoryname% вставляет имя каталога
%_subsong% вставляет номер подкомпозиции
%_foobar2000_version% вставляет строку с версией foobar2000
%_length% вставляет длительность песни в форматированном виде
%_length_seconds% вставляет длительность песни в секундах

Специальные поля (плейлист)

%_isplaying% Возвращает '1', если файл в текущее время проигрывается и пустую строку в ином случае.
%_ispaused% Возвращает '1', если проигрывание приостановлено (на паузе) и пустую строку в ином случае.
%_playlist_number% Возвращает индекс данного элемента в плейлисте.
%_playlist_total% Возвращает количество файлов в плейлисте.
%_playlist_name% Возвращает имя плейлиста, содержащего данный элемент.

Специальные поля (строка статуса, заголовок окна и команда копирования)

%_time_elapsed% возвращает время, прошедшее с начала проигрывания
%_time_remaining% возвращает время, оставшееся до конца проигрывания песни
%_time_total% возвращает общую длительность песни
%_time_elapsed_seconds% возвращает время, прошедшее с начала проигрывания, в секундах
%_time_remaining_seconds% возвращает время, оставшееся до конца проигрывания, в секундах
%_time_total_seconds% возвращает общую длительность песни в секундах
%_ispaused% возвращает '1', если проигрывание приостановлено (на паузе) и пустую строку в ином случае

Цвета (только для плейлиста и строки статуса)

XXXXXX устанавливает цвет текста равным XXXXXX, где XXXXXX - число в шестнадцатеричной системе счисления; при выделении текста данный цвет инвертируется
XXXXXX|YYYYYY устанавливает цвет текста равным XXXXXX для невыделенных полей и равным YYYYYY для выделенных полей
 сброс цвета на установленный по умолчанию

Текст, выровненный по правому краю (только для плейлиста и строки статуса)

Функции

$abbr(x) Создаёт аббревиатуру из x. "$abbr(%album%)" - выполнит преобразование названия альбома с "Final Fantasy VI" в "FFVI"
$abbr(x,y) Создаёт аббревиатуру из x, если x состоит из более чем y символов; в ином случае вставляет неизменённое значение x. $abbr(%album%,10)
$add(x,y...) Складывает указанные целые числа (x+y+...). Принимает любое количество параметров. $add(%TRACKNUMBER%,$mul(%DISC%,100))
$and(x,y...) Выполняет над параметрами логическую операцию И. Для использования с функциями, подобными $if(), и другими логическими операторами.
$ansi(x) Преобразует x к системной кодовой странице. Любые символы, не присутствующие в системной кодовой странице будут удалены / заменены. Полезно для массового переименовывания файлов, чтобы гарантировать совместимость с программами, не поддерживающими unicode.
$blend(a,b,c,d) Генерирует цвет, находящийся между цветами a и b на расстоянии отношения c/d. $blend($rgb(0,0,0),$rgb(255,255,255),%_time_elapsed%,%_time_total%)
$caps(x) Приводит первую букву каждого слова в x к верхнему регистру, все остальные буквы приводит к нижнему регистру. "$caps(blah BLAH)" -> "Blah Blah"
$caps2(x) Схожа по действию с $caps, но изменяет только первые буквы каждого слова. "$caps2(blah BLAH)" -> "Blah BLAH"
$char(x) Вставляет юникодный символ с номером x. "$char(3)" вставляет символ, управляющий цветом в плейлисте
$crlf() Вставляет код конца строки (возврат каретки / перевод строки). Полезна для отображения многострочных данных (к примеру, во всплывающей подсказке системного трея). $crlf()
$cut(a,b) Возвращает b первых слева символов из a. $cut(%title%,5)
$directory(x), $directory(x,n) Извлекает имя каталога из файлового пути x, при указании второго параметра возвращает имя n-ного родительского каталога. $directory(%_path%,2)
$div(x,y) Делит целое число x на целое число y. $div(%TRACKNUMBER%,100)
$ext(x) Извлекает расширение файла из его пути / имени $ext(%_path%)
$filename(x) Извлекает имя файла из полного пути. $filename(%_path%)
$fix_eol(x) Сканирует x на наличие маркера конца строки (CR/LF), при нахождении - усекает строку и добавляет " (...)".
$fix_eol(x,y) Сканирует x на наличие маркера конца строки (CR/LF), при нахождении - усекает строку и добавляет y.
$greater(x,y) Сравнивает два целых числа, проверяя условие x>y. Для использования с функциями, подобными $if(), и другими логическими операторами. $if($greater(%TRACKNUMBER%,100),$div(%TRACKNUMBER%,100),%DISC%)
$hex(x) Преобразует целое число x из десятичной системы счисления в шестнадцатеричную. $hex(%_playlist_number%)
$hex(x,y) Преобразует целое число x из десятичной системы счисления в шестнадцатеричную, дополняя его нулями до y цифр. $hex(%_playlist_number%,3)
$if(a,b,c) Если a содержит по меньшей мере один правильный тэг, выполняется / отображается b, в ином случае выполняется / отображается c. "$if(%artist%,%artist%,неизвестный исполнитель)" возвратит имя исполнителя, если оно определено; в ином случае возвратит "неизвестный исполнитель"; имейте в виду, что запись "$if(a,a,)" эквивалентна "[a]" (см. ниже)
$if2(a,b) То же, что и $if(a,a,b). $if2(%title%,%_filename%)
$if3(a,b,c,..) Возвращает первый из аргументов, который является истинным/не пустым.
$ifgreater(a,b,c,d) Если число a больше числа b, возвращает/выполняет c, в ином случае возвращает/выполняет d.
$iflonger(a,b,c,d) Если строка a длиннее b символов, возвращает/выполняет c, в ином случае возвращает/выполняет d.
$info(x) Возвращает поле технической информации с именем x. Не усекает многострочные данные (%__field% усекает вторую и последующие строки текста). "$info(bitrate)" возвращает то же, что и "%__bitrate%"
$insert(a,b,n) Вставляет строку b в строку a после n символов.
$left(a,b) Возвращает b первых слева символов из a. $left(%title%,5)
$len(x) Возвращает длину строки x в символах.
$len2(x) Возвращает длину строки x в символах, учитывая правила обработки двухбайтовых (double-width) символов (двухбайтовый символ считается за два).
$longer(x,y) Сравнивает две строки, проверяя длиннее ли x, чем y. Для использования с функциями, подобными $if(), и другими логическими операторами.
$lower(x) Приводит x к нижнему регистру. $lower(%title%)
$longest(a,b,c,....) Сравнивает параметры: a,b,c... и возвращает наиболее длинный из них. $longest(%title%,%comment%)
$mod(x,y) Вычисляет остаток от деления x на y. $mod($rand(),10)
$mul(x,y...) Перемножает целые числа (x*y*...). Принимает любое количество параметров. $add(%TRACKNUMBER%,$mul(%DISC%,100))
$muldiv(x,y,z) Перемножает целые числа x и y, затем делит результат на целое число z.
$min(x,y...) Выполняет сравнение целых чисел и возвращает наименьшее из x, y... . Принимает любое количество параметров.
$max(x,y...) Выполняет сравнение целых чисел и возвращает наибольшее из x, y... . Принимает любое количество параметров.
$meta(x) Вставляет значение поля метаданных с именем x. Не усекает многострочные данные (%field% усекает вторую и последующие строки текста). "$meta(artist)" возвращает то же, что и "%artist%"
$meta(x,y) Возвращает y-ое поле метаданных с именем x, используется в случае нескольких полей с одним именем. Не усекает многострочные данные (%field% усекает вторую и последующие строки текста). "несколько исполнителей - $meta(artist,1), $meta(artist,2)"
$meta_sep(x,y), $meta_sep(x,y,z) Возвращает поле метаданных с именем x, с указанными разделителями для нескольких значений. "$meta(artist,', ',' and ')" для трёх исполнителей с именами A, B, C возвратит следующую строку - "A, B and C"
$meta_num(x) Возвращает число полей метаданных с именем x.
$num(x,y) Возвращает x как десятичное число и дополняет его нулями до y символов (полезно для отображения номеров песен). $num(%tracknumber%,2)
$not(x) Выполняет операцию логического НЕ над параметром. Для использования с функциями, подобными $if(), и другими логическими операторами.
$or(x,y...) Выполняет операцию логического ИЛИ над параметрами. Для использования с функциями, подобными $if(), и другими логическими операторами.
$pad(x,y), $pad_right(x,y) Дополняет x пробелами до y символов.
$pad(x,y,z), $pad_right(x,y,z) Дополняет x символом z до y символов.
$padcut(x,y), $padcut_right(x,y) Дополняет x до y символов или усекает до y, если исходная строка длиннее.
$progress(a,b,c,d,e), $progress2(a,b,c,d,e) Создаёт полоску прогресса (progress bar): a определяет текущую позицию, b - диапазон изменений, c - длину полоски прогресса в символах, d и e - символы, которыми рисуется полоска. $progress2() отличается лишь видом результирующей полоски. "$progress(%_time_elapsed_seconds%, %_time_total_seconds%, 20,'#','=')" выдаст "====#===============", где символ # движется в соответствии со временем проигрывания песни
$rand() генерирует случайное число в диапазоне от 0 до 232-1 $mod($rand(),10)
$repeat(x,y) Повторяет x y раз.
$replace(a,b,c) Заменяет все включения строки b в строке a строкой c. Можно передать больше параметров: $replace(a,b1,c1,b2,c2,b3,c3....), и все bX будут заменены соответствующими cX.
$right(a,b) Возвращает b первых справа символов из a. $right(%title%,5)
$roman(x) Преобразует число x из десятичной записи в римскую. $roman(%tracknumber%)
$rgb(a,b,c), $rgb(a,b,c,d,e,f) Преобразует десятичные значения цветов в цветовой код (смотрите цвета выше).
$shortest(a,b,c,....) Сравнивает параметры: a,b,c... и возвращает самый короткий из них. $shortest(%title%,%comment%)
$strchr(x,y) Находит положение первого включения символа y в строке x.
$strrchr(x,y) Находит положение последнего включения символа y в строке x.
$strstr(x,y) Находит положение первого включения строки y в строке x.
$sub(x,y) Вычитает целое число y из целого числа x.
$strcmp(x,y) Сравнивает две строки, учитывая регистр символов. Для использования с функциями, подобными $if(), и другими логическими операторами.
$stricmp(x,y) Сравнивает две строки без учёта регистра символов. Для использования с функциями, подобными $if(), и другими логическими операторами.
$substr(a,b,c) Возвращает подстроку строки a, начиная с b-ого символа и заканчивая c-ым. $substr('blah',1,2) возвращает 'bl'
$select(n,a,b,c,....) Возвращает n-ый из a,b,c... параметров.
$trim(a) Удаляет ведущие/конечные пробелы из a. $trim(%comment%)
$tab(), $tab(n) Генерирует один ($tab()) или n ($tab(n)) символов табуляции, полезно для разделения колонок в плейлисте. $tab()
$transition(a,b,c) Генерирует для символов строки a цвета, плавно переходящие от b к c. $transition(%TITLE%,$rgb(0,0,0),$rgb(255,255,255))
$upper(x) Приводит x к верхнему регистру. $upper(%title%)
$xor(x,y) Выполняет операцию логического ИСКЛЮЧАЮЩЕГО ИЛИ над параметрами. Для использования с функциями, подобными $if(), и другими логическими операторами.

Операции над переменными

$put(name,text) Присваивает переменной с именем <name> значение <text> и возвращает <text>. "$put(x,blah)" присваивает переменной x значение 'blah' и возвращает 'blah'
$puts(name,text) То же, что и $put(name,text), но возвращает пустую строку.
$get(name) Возвращает значение переменной <name>. "$puts(x,blah)$get(x)$get(x)" возвратит 'blahblah'

Разное

[ .... ] отображает содержимое скобок лишь в том случае, если найдено хотя бы одно из указанных внутри полей "%artist% - [%album% / ]%title%" спрячет блок [], если поле album (название альбома) пусто; учтите, что применение скобок с $функциями может дать непредсказуемые результаты и этого следует избегать (используйте $if())
' (знак одинарной кавычки) выводит необработанный текст, не выполняя его парсинг 'blah$blah%blah[][]' выведет строку как она есть, игнорируя все служебные символы (%,$,[,]), содержащиеся в ней; это можно использовать, к примеру, для вставки в текст квадратных скобок
// знак комментария, может находиться только в начале новой строки, предотвращает вывод и обработку символов, следующих за ним до конца строки
символы конца строки игнорируются; при необходимости используйте $char() для составления необычных последовательностей символов; вы можете безопасно разбивать ваши строки на несколько - это не повлияет на их вывод
Hosted by uCoz