В этой документации приведены сведения по форматированию заголовков композиций. С помощью форматирования можно настроить как Winamp должен отображать метаданные в списке воспроизведения и главном окне.
Синтаксис форматирования настраивается в разделе «Заголовки композиций» окна настроек Winamp.
Значение по умолчанию:
[%artist% - ]$if2(%title%,$filepart(%filename%)
В этом случае метаданные будут отображаться в виде «Исполнитель — Название песни»
(но если исполнитель и название не указаны в метаданных, будет отображено имя файла).
%поле% — поле метаданных.
$функция() — вызов функции.
[%поле%] — содержимое квадратных скобок не будет отображено, если тег поля отсутствует в метаданных. Например, в случае с «%artist% - [%album% / ]%title%» все пробелы и косая черта не будут показаны, если название альбома не указано в метаданных.
‘текст’ — текст, заключенный в одинарные кавычки, будет отображен в исходном виде (то есть без синтаксического разбора). Например, в случае с «‘слово$слово%слово[]’» все слова и специальные символы ($ % [ ]) будут проигнорированы синтаксическим анализатором.
Примечание. Набор доступных полей зависит от установленных компонентов Winamp. Некоторые поля задаются библиотекой (%rating%, %playcount%), в то время как другие самим Winamp (%filename%, %folder%). Более того, у многих подключаемых модулей ввода есть свои собственные поля (стоит отметить, что у некоторых подключаемых модулей их больше, чем у других). Например, у подключаемого модуля Windows Media (in_wm, Winamp 5.12 и более новые версии) поля задаются в виде %WM/*% (чтобы посмотреть список атрибутов у файлов WMA, WMV и ASF, см. вкладку «Дополнительно» в окне «Сведения о файле»).
Возвращает полный путь к файлу. Чтобы отобразить только имя файла, воспользуйтесь функцией $filepart.
Возвращает имя содержащей папки.
Для Winamp 5.2 и более новых версий.
Возвращает оценку (если есть) в виде целого числа от 1 до 5. Чтобы отобразить оценку в виде звездочек (*) или других символов, воспользуйтесь функцией $repeat.
Для Winamp 5.2 и более новых версий.
Возвращает количество прослушиваний, если файл присутствует в базе данных библиотеки.
Для Winamp 5.2 и более новых версий.
Информация для этих полей берется из библиотеки только в том случае, если файл присутствует в базе данных библиотеки и когда установлен следующий
флажок:
Настройки (Ctrl+P) > Библиотека > Домашняя библиотека > «Загружать сведения из библиотеки для элементов
в списке воспроизведения»
В остальных случаях информация предоставляется подключаемым модулем ввода (если он поддерживает конечное поле).
Обратите внимание, что информация для большинства полей берется из стандартных тегов метаданных, поэтому вводить какие-либо префиксы перед нижеследующими полями не требуется.
Возвращает имя исполнителя.
Возвращает название композиции.
Возвращает название альбома.
Возвращает год.
Возвращает жанр.
Возвращает примечание.
Возвращает номер дорожки без нуля. Например, для первой дорожки будет отображено «1».
Чтобы отображать номера с нулями (01, 02 и т. д.), воспользуйтесь функцией $num или $lpad.
См. %tracknumber%.
Возвращает имя исполнителя альбома.
Для Winamp 5.3 и более новых версий.
Возвращает номер диска (если указан). Например, «1/2» (набор из двух дисков).
Возвращает имя композитора.
Возвращает имя издателя (лейбл).
Для Winamp 5.3 и более новых версий.
Возвращает название потока (если есть) при потоковом воспроизведении.
Возвращает битрейт (при переменном битрейте будет показан средний).
Возвращает продолжительность дорожки (в миллисекундах). Чтобы вывести значение в минутах и секундах,
воспользуйтесь функцией
$div(%length%,60000):$num($div($mod(%length%,60000),1000),2)
Возвращает «1» — для видео, «0» — для аудио.
Для Winamp 5.2 и более новых версий.
Возвращает «1» — для VBR (переменный битрейт), «0» — для CBR (постоянный битрейт).
Возвращает категорию.
Для Winamp 5.55 и более новых версий.
Возвращает имя продюсера (для музыки и кинофильмов).
Для Winamp 5.57 и более новых версий.
Возвращает имя режиссера (для кинофильмов); в основном используется для файлов видео.
Для Winamp 5.57 и более новых версий.
Следующие поля поддерживаются не для всех типов файлов.
Возвращает имя исполнителя дорожки (эквивалентно исполнителю), если оно отличается от имени исполнителя альбома.
Для Winamp 5.3 и более новых версий.
Возвращает тип настроения.
Для Winamp 5.3 и более новых версий.
Возвращает значение BPM (ударов в минуту), если есть.
Для Winamp 5.3 и более новых версий.
Возвращает ключевой знак (если указан). Например, «Ми минор».
Для Winamp 5.3 и более новых версий.
Возвращает имя поэта-песенника.
Для Winamp 5.3 и более новых версий.
Возвращает имя дирижера.
Для Winamp 5.3 и более новых версий.
Возвращает название программы, с помощью которой была закодирована дорожка (например, с компакт-диска). Например, «Winamp 5.34».
Для Winamp 5.3 и более новых версий.
Возвращает описание типа файла. Например, у файла с расширением M4A будет возвращено «MPEG-4 Audio File Format».
Для Winamp 5.5 и более новых версий.
Возвращает название кодировщика. Например, «LAME 3.97».
Для Winamp 5.3 и более новых версий.
Возвращает международный стандартный код записи (ISO 3901). [Подробнее]
Для Winamp 5.3 и более новых версий.
Возвращает уровень усиления громкости дорожки (если есть). Например, «-3,16 дБ».
Для Winamp 5.3 и более новых версий.
Возвращает уровень усиления громкости альбома (если есть).
Для Winamp 5.3 и более новых версий.
Возвращает пиковый уровень громкости дорожки (если есть).
Для Winamp 5.3 и более новых версий.
Возвращает пиковый уровень громкости альбома (если есть).
Для Winamp 5.3 и более новых версий.
Возвращает уровень усиления громкости (если есть).
Для Winamp 5.3 и более новых версий.
Примечание. Будьте внимательны к пробелам после запятых. В случае с «$if(%title%, Есть название,
Нет названия)» результат будет таким:
« Есть название»
(обратите внимание на лишний пробел) вместо «Есть название».
Следовательно, пробелы не следует ставить после запятых:
«$if(%title%,Есть название,Нет названия)».
Параметры: (a, then,
else)
Возвращает: Если параметр a содержит хотя бы одно
допустимое и непустое поле, возвращается значение then, иначе — значение
else. Обратите внимание, что функция $if(A,A,B) эквивалентна
$if2(A,B).
Пример: $if(%artist%,Исполнитель указан,Исполнитель
не указан)
Параметры: (a, else)
Возвращает:
Если параметр a содержит допустимое и непустое поле, возвращается значение a,
иначе — значение else.
Пример:
$if2(%album%,Без альбома)
Параметры: (a1, ..., aN,
else)
Возвращает: Если один из параметров a1—aN
содержит допустимое и непустое поле, возвращается значение,
иначе — значение else.
Пример:
$if3(%artist%,%filename%,%album%,Поле не заполнено)
Параметры: (a, b1, c1, ..., bN, cN,
else)
Возвращает: cN или else.
Определяет, какое значение из параметров b1—bN равно a, а затем
возвращает подходящее значение cN. Если ни одно
значение не подходит, возвращается значение последнего параметра —
else.
Пример:
$decode($fileext(%filename%),MP3,MPEG-1 Layer 3,MP4,MPEG-4 Container,Другой тип файла)
Для Winamp 5.2 и более новых версий.
Параметры: (x1, x2, then,
else)
Возвращает: Сравнивает целые числа x1 и x2.
Если x1 больше x2, возвращается значение then.
Иначе будет возвращено значение else.
Пример: $ifgreater(%rating%,2,Песня с высокой
оценкой,Песня с низкой оценкой)
Для Winamp 5.2 и более новых версий.
Параметры: (a1, x1, then,
else)
Возвращает: Сравнивает количество символов значения
a1 с числом x1. Если количество символов превышает число,
возвращается значение then. Иначе будет возвращено значение else.
Пример: $iflonger(%title%,15,Длинное
название,Короткое название)
Для Winamp 5.2 и более новых версий.
Параметры: (A, B, then,
else)
Возвращает: Если значение A равно B,
возвращается значение then. Иначе будет возвращено значение else.
Пример: $IfStrEqual2(%year%,2011,Новинка:,Старье:)
— будет выведено «Новинка», если композиция была издана в 2011 году,
в противном случае — «Старье».
Пример: $IfStrEqual2(%type%,1,'(Видео)','(Аудио)')
Для Winamp 5.2 и более новых версий.
Параметры: (A, B,
then)
Возвращает: Если значение A равно B,
возвращается значение then, иначе — ничего.
Пример: $IfStrEqual(%year%,2011,Новинка:)
— будет выведено «Новинка», если композиция была издана в 2011 году.
Для Winamp 5.2 и более новых версий.
– Упразднена –
Параметры: (%a%, %b%) — проверка
на заполненность полей метаданных.
Возвращает: Если поля %a%
и %b% заполнены, возвращается «Оба поля заполнены», иначе «Одно
из полей не заполнено».
Пример:
$if($and(%artist%,%title%),Оба поля заполнены,Одно из полей
не заполнено)
Для Winamp 5.2 и более новых версий.
Параметры: (x1, x2)
Возвращает:
Остаток от деления x1 на
x2.
Пример: $mod(21,8) возвращает «5».
Для Winamp 5.2 и более новых версий.
Параметры: (x1, x2)
Возвращает:
Частное от деления x1 на x2.
Пример:
$div(60,10)
Для Winamp 5.2 и более новых версий.
Параметры: (x1,x2,...,xn) — числа для
умножения.
Возвращает: Произведение x1 * x2 * ... * xn.
Пример: $mul(7,8,3,4)
Для Winamp 5.2 и более новых версий.
Параметры: (x1, x2,
x3)
Возвращает: x1 * x2 / x3. x1 умноженное на
x2 и деленное на x3. Возвращаемый результат округляется до ближайшего
целого.
Пример: $muldiv(10,6,3) возвращает «20».
Для Winamp 5.2 и более новых версий.
Параметры: (x1,x2,...,xn) — числа для
вычитания.
Возвращает: Разность x1 - x2 - ... - xn.
Пример: $sub(25,1,3,2,3)
Для Winamp 5.2 и более новых версий.
Параметры: (x1,x2,...,xn) — числа для
сложения.
Возвращает: Сумма x1 + x2 + ... + xn.
Пример:
$add(2,3,%playcount%,%rating%)
Для Winamp 5.2 и более новых версий.
Параметры: (x1, x2) — два числа для
сравнения.
Возвращает: Если x1 больше
x2, возвращается x1, иначе — ничего. Схожа с функцией
$ifgreater().
Пример: $greater(3,2) — обратите внимание, что
данная функция не будет работать в пределах функции $if().
Для Winamp 5.2 и более новых версий.
Параметры: (x1,...,xn) — числа для
сравнения.
Возвращает: Наибольшее число.
Пример: $max(7,8,3,4)
Для Winamp 5.2 и более новых версий.
Параметры: (x1,...,xn) — числа для
сравнения.
Возвращает: Наименьшее число.
Пример: $min(7,8,3,4)
Для Winamp 5.2 и более новых версий.
Параметры: (a1)
Возвращает: Значение
a1 с нижним регистром.
Пример: $lower(%title%)
Параметры: (a1)
Возвращает: Значение
a1 с верхним регистром.
Пример: $upper(%title%)
Параметры: (a1, a2,
a3)
Возвращает: Значение a1, в котором
все вхождения a2 заменены на a3.
Пример:
$replace(дым,ы,о) возвращает «дом».
Для Winamp 5.2 и более новых версий.
Параметры: (a1, N)
Возвращает:
Первые x1 символов значения a1.
Пример:
$left(%title%,5)
Для Winamp 5.2 и более новых версий.
Параметры: (a1, x1)
Возвращает:
Последние x1 символов значения a1.
Пример:
$right(%title%,5)
Для Winamp 5.2 и более новых версий.
Параметры: (a1)
Возвращает:
Количество символов значения a1.
Пример:
$len(%artist%)
Для Winamp 5.2 и более новых версий.
Параметры: (a1,a2) [TODO]
Возвращает: a1 [TODO]
Пример:
$substr() [TODO]
Для Winamp 5.2 и более новых версий.
Параметры: (a1, a2)
Возвращает:
Первое вхождение подстроки a2 в
строку a1.
Пример: $strstr(aacbbabb,ab) возвращает
«6».
Для Winamp 5.2 и более новых версий.
Параметры: (a1, a2)
Возвращает:
Последнее вхождение подстроки a2 в строку
a1.
Пример: $strrchr(aacbbabb,a) возвращает
«6».
Для Winamp 5.2 и более новых версий.
Параметры: (a1, a2)
Возвращает:
Последнее вхождение символа a2 в
строку a1.
Пример: $strlchr(aacbbabb,a) возвращает
«1».
Для Winamp 5.2 и более новых версий.
Параметры: (a1, a2)
Возвращает:
Первое вхождение символа a2 в
строку a1.
Пример: $strchr(aacbbabb,a) возвращает
«1» (эквивалентно функции $strlchr()).
Для Winamp 5.2 и более новых версий.
Параметры: (a1, a2)
Возвращает:
Если значение a1 содержит меньше символов, чем значение a2, возвращается
значение a1, иначе — a2.
Пример: $shortest(%album%,%folder%)
Параметры: (a1, a2)
Возвращает:
Если значение a1 содержит больше символов, чем значение a2, возвращается
значение a1, иначе — a2.
Пример: $longest(%album%,%folder%)
Параметры: (a1, x1)
Возвращает: Аббревиатура от значения a1.
Примеры: $abbr(%album%) возвращает название альбома в виде аббревиатуры (например, «FFVI» от «Final Fantasy VI»).
$abbr(Союз Советских Социалистических Республик,10) — «СССР».
$abbr(%album%,10) — название альбома будет показано в виде аббревиатуры, если оно больше десяти символов.
Параметр x1 является необязательным. Он лишь определяет количество символов, при превышении которого значение a1 будет преобразовано в аббревиатуру.
Параметры: (a1, x2)
Возвращает:
Дополняет пробелами значение a1 (либо убирает лишние символы), чтобы
длина строки стала равна x2 символам.
Пример: $padcut(%artist%,15)
Параметры: (a1, x2)
Возвращает:
Убирает лишние символы, если количество символов значения a1 превышает число x2.
Пример: $cut(%comment%,15) возвращает поле «Примечание», и если текст большой, он обрезается до 15 символов.
Параметры: (string, num,
padstr)
Возвращает: Дополняет значение string таким
количеством пробелов, чтобы длина строки стала равна num символам.
Обратите внимание, что вместо пробелов можно использовать любой
другой символ (либо даже слово), который можно указать в параметре padstr.
Пример:
$pad(%artist%,40); с добавлением точек — $pad(%artist%,40,.)
Параметры: (string, num,
padstr)
Возвращает: Дополняет слева значение string таким
количеством пробелов, чтобы длина строки была равна num символам.
Обратите внимание, что вместо пробелов можно использовать любой
другой символ (либо даже слово), который можно указать в параметре padstr.
Пример:
$lpad(%tracknumber%,3); с добавлением точек спереди — $pad(%artist%,40,.)
Для Winamp 5.2 и более новых версий.
Параметры: (a1)
Возвращает:
Значение a1 без начальных и конечных пробелов.
Пример:
$trim(%artist%)
Для Winamp 5.2 и более новых версий.
Параметры: (a1, x1)
Возвращает:
Значение a1, дублированное x1 раз.
Пример:
$repeat(*,%rating%)
Примечание. В Winamp 5.2 задачу данной функции выполняла $fill(), но в версиях после 5.21 функция $fill() упразднена.
Параметры: (a1)
Возвращает: Значение
a1, в котором первая буква каждого слова будет прописной, а остальные буквы
— строчными.
Пример: $caps(%artist%)
Параметры: (a1)
Возвращает: Значение
a1, в котором первая буква каждого слова будет прописной.
Пример: $caps2(%artist%)
Параметры: (a1)
Возвращает: Расширение
файла a1.
Пример:
$fileext(%filename%)
Параметры: (a1)
Возвращает:
Имя файла a1 (без полного пути).
Пример: $filepart(%filename%)
Параметры: (a1)
Возвращает:
Имя файла a1 (без полного пути).
Пример: $filename(%filename%)
Параметры: (a1, x1)
Возвращает:
Имя каталога a1 уровня x1.
Пример: $directory(%filename%,2)
В примере указан каталог второго уровня. Таким образом,
если файл расположен в «C:\Музыка\Исполнитель - Альбом\Песня.mp3»,
отобразится имя каталога «Музыка».
Параметр x1 является необязательным (если он не указан, будет отображено имя каталога первого уровня).
Для Winamp 5.2 и более новых версий.
Параметры: (a, token, which)
Возвращает: Разделение номера диска и/или номера дорожки. Например, чтобы вместо номера «4/11» был показан номер «4».
Пример: [$num(%track%,2)$IfStrNotEqual($split(%track%,/,1),,/$num($split(%track%,/,1),2))]
Для Winamp 5.5 и более новых версий.
Параметры: (a1)
Возвращает: Расширение
файла a1.
Пример: $ext(%filename%)
Для Winamp 5.2 и более новых версий.
Параметры: (x1, x2)
Возвращает:
Значение x1 в виде шестнадцатеричного числа с количеством цифр x2 (с дополнением
нулями слева).
Пример: $hex(%tracknumber%,4)
Для Winamp 5.2 и более новых версий.
Параметры: (x1, x2)
Возвращает:
Значение x1 с количеством цифр x2 (с дополнением
нулями слева).
Пример: $dec(%tracknumber%,5)
Для Winamp 5.2 и более новых версий.
Параметры: (x1, x2)
Возвращает:
Значение x1 с количеством цифр x2 (с дополнением
нулями слева).
Пример: $num(%tracknumber%,5)
Для Winamp 5.2 и более новых версий.
Параметры: Любое количество
параметров.
Возвращает: Ничего.
Пример:
$null()
Абсолютно ничего не делает. Данная функция пригодится только в том случае,
если требуется указать пустой параметр.
Для Winamp 5.2 и более новых версий.
Параметры: (a1, x1)
Возвращает:
Значение a1 с первыми x1 уровнями.
Пример:
$PathLPart(%filename%,2)
В примере указано два уровня. Таким образом,
если файл расположен в «C:\Музыка\Исполнитель - Альбом\Песня.mp3», отобразится
«C:\Музыка».
Для Winamp 5.3 и более новых версий.
Параметры: (a1, x1)
Возвращает:
Значение a1 с последними x1 уровнями.
Пример:
$PathRPart(%filename%,2)
В примере указано два уровня. Таким образом,
если файл расположен в «C:\Музыка\Исполнитель - Альбом\Песня.mp3», отобразится
«Исполнитель - Альбом\Песня.mp3».
Для Winamp 5.3 и более новых версий.
Параметры: (a1, x1)
Возвращает:
Значение a1 с усечением первых x1 уровней.
Пример:
$PathLTrim(%filename%,1)
В примере указано усечение на один уровень. Таким образом,
если файл расположен в «C:\Музыка\Исполнитель - Альбом\Песня.mp3», отобразится
«Музыка\Исполнитель - Альбом\Песня.mp3».
Для Winamp 5.3 и более новых версий.
Параметры: (a1, x1)
Возвращает:
Значение a1 с усечением последних x1 уровней.
Пример:
$PathRTrim(%filename%,1)
В примере указано усечение на один уровень. Таким образом,
если файл расположен в «C:\Музыка\Исполнитель - Альбом\Песня.mp3», отобразится
«C:\Музыка\Исполнитель - Альбом».
Для Winamp 5.3 и более новых версий.
Параметры: (имя,
значение)
Возвращает: Присваивает значение переменной
имя. Значение переменной можно получить с помощью функции $get(имя).
Для присвоения и возврата значения используйте функцию
$put().
Пример: $puts(исполнитель_название,%artist% -
%title%)
Для Winamp 5.2 и более новых версий.
Параметры: (имя,
значение)
Возвращает: значение. Присваивает значение
переменной имя. Значение переменной можно получить с помощью функции
$get(имя). Для присвоения значения без возврата используйте функцию
$puts().
Пример: $put(исполнитель_название,%artist% - %title%)
Для Winamp 5.2 и более новых версий.
Параметры: (имя)
Возвращает:
Значение переменной имя из функции $put() или
$puts().
Пример: $get(исполнитель_название)
Для Winamp 5.2 и более новых версий.
Параметры: (a1,a2) [TODO]
Возвращает:
a1 [TODO]
Пример: $systime_second() [TODO]
Для Winamp 5.2 и более новых версий.
Параметры: (a1,a2) [TODO]
Возвращает:
a1 [TODO]
Пример: $systime_minute() [TODO]
Для Winamp 5.2 и более новых версий.
Параметры: (a1,a2) [TODO]
Возвращает:
a1 [TODO]
Пример: $systime_hour() [TODO]
Для Winamp 5.2 и более новых версий.
Параметры: (a1,a2) [TODO]
Возвращает:
a1 [TODO]
Пример: $systime_day() [TODO]
Для Winamp 5.2 и более новых версий.
Параметры: (a1,a2) [TODO]
Возвращает:
a1 [TODO]
Пример: $systime_month() [TODO]
Для Winamp 5.2 и более новых версий.
Параметры: (a1,a2) [TODO]
Возвращает:
a1 [TODO]
Пример: $systime_year() [TODO]
Для Winamp 5.2 и более новых версий.
[ .... ] — содержимое квадратных скобок отобразится только в том случае, если хотя бы одно из полей найдено в метаданных. Например, в случае с [%artist% - ] содержимое скобок будет отображено, если тег исполнителя присутствует в метаданных композиции, и результат будет таким: «Исполнитель - ». В противном случае содержимое квадратных скобок не отобразится (включая тире и все пробелы).
Синтаксис: [%artist% - ][%album% - ][$num(%track%,2) - ]$if2(%title%,$filepart(%filename%))
Пример: Сектор газа - Газовая атака - 04 - 30 лет
Синтаксис: [$if2(%albumartist%,%artist%) - ][%album% - ][$num(%track%,2) - ]
$IfStrNotEqual(%artist%,$if2(%albumartist%,%artist%),[%artist% - ])
[$if2(%title%,$filepart(%filename%))][$if($fileext(%filename%),' [ ',)]
[%year% | ][$fileext(%filename%) ][$if(%bitrate%, '|' ,)][%bitrate% 'кбит/с' ]
[$if($fileext(%filename%),']',)][ $repeat(*,%rating%) ]
Возвращает: Исполнитель альбома - Альбом - №№ - Исполнитель - Название [ Год | Расширение | Скорость потока ] Оценка
Примечание: имя исполнителя альбома будет отображено лишь в том случае, если оно отличается от имени исполнителя дорожки.
Пример: Различные исполнители - Газовая атака - 04 - Сектор газа - 30 лет [ 1996 | mp3 | 205 кбит/с ] *****