Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
foobar2000:tittleformatting [2006/10/18 02:24] Spike |
foobar2000:tittleformatting [2007/03/14 11:06] (текущий) Spike |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Справка по функциям и полям, используемым в скриптах Foobar2000 ====== | + | ====== Справка по функциям и полям, используемым в скриптах Foobar2000 (TAGZ) ====== |
+ | Данный документ является переводом [[hydrogenaudio>Foobar2000:Titleformat_Reference|Foobar2000:Titleformat Reference]]. | ||
+ | |||
+ | //Ревизия 1.1// | ||
===== Предопределённые поля ===== | ===== Предопределённые поля ===== | ||
Строка 214: | Строка 217: | ||
===== Информация о плейлисте ===== | ===== Информация о плейлисте ===== | ||
Следующие функции и поля применимы в скриптах для плейлиста. | Следующие функции и поля применимы в скриптах для плейлиста. | ||
+ | |||
Строка 231: | Строка 235: | ||
Возвращает дополненный нулями индекс элемента в плейлисте. Первый элемент имеет индекс 1. | Возвращает дополненный нулями индекс элемента в плейлисте. Первый элемент имеет индекс 1. | ||
- | Смотрите также [[foobar2000:описание_синтаксиса#%playlist_number%|%playlist_number%]]. | + | Смотрите также [[foobar2000:tittleformatting#%playlist_number%|%playlist_number%]]. |
Старая версия ''%_playlist_number%'' остаётся допустимой. | Старая версия ''%_playlist_number%'' остаётся допустимой. | ||
Строка 248: | Строка 252: | ||
Функции из этого раздела используются для операций над символьными строками. | Функции из этого раздела используются для операций над символьными строками. | ||
- | ==== $abbr(x) ==== | + | === $abbr(x) === |
Возвращает аббревиатуру //x//. | Возвращает аббревиатуру //x//. | ||
- | ==== $abbr(x,длина) ==== | + | === $abbr(x,длина) === |
Возвращает аббревиатуру //x//, если //x// длиннее, чем //длина// символов, в ином случае возвращает //x//. | Возвращает аббревиатуру //x//, если //x// длиннее, чем //длина// символов, в ином случае возвращает //x//. | ||
- | ==== $ansi(x) ==== | + | === $ansi(x) === |
Приводит //x// к системной кодовой странице и возвращает получившееся значение. Символы, не присутствующие в системной кодовой странице будут удалены/заменены. Полезно при массовом переименования файлов для обеспечения совместимости с программами, не понимающими юникод. | Приводит //x// к системной кодовой странице и возвращает получившееся значение. Символы, не присутствующие в системной кодовой странице будут удалены/заменены. Полезно при массовом переименования файлов для обеспечения совместимости с программами, не понимающими юникод. | ||
- | ==== $caps(x) ==== | + | === $caps(x) === |
Делает первую букву каждого слова в //x// прописной, остальные буквы - строчными. | Делает первую букву каждого слова в //x// прописной, остальные буквы - строчными. | ||
- | ==== $caps2(x) ==== | + | === $caps2(x) === |
Делает первую букву каждого слова в //x// прописной, остальные буквы оставляет в неизменном виде. | Делает первую букву каждого слова в //x// прописной, остальные буквы оставляет в неизменном виде. | ||
- | ==== $char(x) ==== | + | === $char(x) === |
Вставляет юникодный символ с кодом //x//. | Вставляет юникодный символ с кодом //x//. | ||
- | ==== $crc32(a) ==== | + | === $crc32(a) === |
Вычисляет численное значение CRC32 строки //a//. Предназначена для использования при задании цветов в скриптах. | Вычисляет численное значение CRC32 строки //a//. Предназначена для использования при задании цветов в скриптах. | ||
- | ==== $crlf() ==== | + | === $crlf() === |
Вставляет маркер конца строки (возврат каретки, перевод строки). Может использоваться для вывода нескольких строк, например, во всплывающей подсказке иконки в системном трее. | Вставляет маркер конца строки (возврат каретки, перевод строки). Может использоваться для вывода нескольких строк, например, во всплывающей подсказке иконки в системном трее. | ||
- | ==== $cut(a,длина) ==== | + | === $cut(a,длина) === |
Возвращает первые //длина// символов, начиная слева //a//. | Возвращает первые //длина// символов, начиная слева //a//. | ||
- | ==== $directory(x) ==== | + | === $directory(x) === |
Извлекает имя каталога из файлового пути //x//. | Извлекает имя каталога из файлового пути //x//. | ||
- | ==== $directory(x,n) ==== | + | === $directory(x,n) === |
Извлекает имя каталога уровня n (отсчитывая с последнего) из файлового пути //x//. | Извлекает имя каталога уровня n (отсчитывая с последнего) из файлового пути //x//. | ||
- | ==== $ext(x) ==== | + | === $ext(x) === |
Извлекает расширение файла из //x// (который должен быть именем файла или путём). | Извлекает расширение файла из //x// (который должен быть именем файла или путём). | ||
- | ==== $filename(x) ==== | + | === $filename(x) === |
Извлекает имя файла из полного пути. | Извлекает имя файла из полного пути. | ||
- | ==== $fix_eol(x) ==== | + | === $fix_eol(x) === |
Если //x// содержит маркер конца строки (CR-LF), этот маркер и весь текст после него заменяется строкой "(...)". В ином случае //x// возвращается неизменённым. | Если //x// содержит маркер конца строки (CR-LF), этот маркер и весь текст после него заменяется строкой "(...)". В ином случае //x// возвращается неизменённым. | ||
- | ==== $fix_eol(x,индикатор) ==== | + | === $fix_eol(x,индикатор) === |
Если //x// содержит маркер конца строки (CR-LF), этот маркер и весь текст после него заменяется строкой //индикатор//. В ином случае //x// возвращается неизменённым. | Если //x// содержит маркер конца строки (CR-LF), этот маркер и весь текст после него заменяется строкой //индикатор//. В ином случае //x// возвращается неизменённым. | ||
- | ==== $hex(n) ==== | + | === $hex(n) === |
Приводит целое число //n// к шестнадцатиричной системе счисления. | Приводит целое число //n// к шестнадцатиричной системе счисления. | ||
- | ==== $hex(n,длина) ==== | + | === $hex(n,длина) === |
Приводит целое число //n// к шестнадцатиричной системе счисления с //длина// цифрами, дополняет слева нулями при необходимости. | Приводит целое число //n// к шестнадцатиричной системе счисления с //длина// цифрами, дополняет слева нулями при необходимости. | ||
- | ==== $insert(a,b,n) ==== | + | === $insert(a,b,n) === |
Вставляет //b// в //a// после символа, находящегося в позиции //n//. | Вставляет //b// в //a// после символа, находящегося в позиции //n//. | ||
- | ==== $left(a,длина) ==== | + | === $left(a,длина) === |
Возвращает первые //длина// символов, считая слева //a//. | Возвращает первые //длина// символов, считая слева //a//. | ||
- | ==== $len(a) ==== | + | === $len(a) === |
Возвращает длину строки //a// в символах. | Возвращает длину строки //a// в символах. | ||
- | ==== $len2(a) ==== | + | === $len2(a) === |
Возвращает длину строки //a// в символах, учитывая правила обработки двухбайтовых (double-width) символов (двухбайтовый символ считается за два). | Возвращает длину строки //a// в символах, учитывая правила обработки двухбайтовых (double-width) символов (двухбайтовый символ считается за два). | ||
- | ==== $longer(a,b) ==== | + | === $longer(a,b) === |
Возвращает //истина//, если строка //a// длиннее строки //b//, в ином случае возвращает //ложь//. | Возвращает //истина//, если строка //a// длиннее строки //b//, в ином случае возвращает //ложь//. | ||
- | ==== $lower(a) ==== | + | === $lower(a) === |
Приводит //a// к нижнему регистру. | Приводит //a// к нижнему регистру. | ||
- | ==== $longest(a,...) ==== | + | === $longest(a,...) === |
Возвращает длиннейший из аргументов. Можно использовать с произвольным количеством строк. | Возвращает длиннейший из аргументов. Можно использовать с произвольным количеством строк. | ||
- | ==== $num(n,длина) ==== | + | === $num(n,длина) === |
Дополняет (при необходимости) нулями слева до //длина// цифр число //n// в десятичной системе счисления. | Дополняет (при необходимости) нулями слева до //длина// цифр число //n// в десятичной системе счисления. | ||
- | ==== $pad(x,длина) ==== | + | === $pad(x,длина) === |
Дополняет //x// слева пробелами до //длина// символов. | Дополняет //x// слева пробелами до //длина// символов. | ||
- | ==== $pad_right(x,длина) ==== | + | === $pad_right(x,длина) === |
Дополняет //x// справа пробелами до //длина// символов. | Дополняет //x// справа пробелами до //длина// символов. | ||
- | ==== $pad(x,длина,символ) ==== | + | === $pad(x,длина,символ) === |
Дополняет //x// слева символом //символ// до //длина// символов. | Дополняет //x// слева символом //символ// до //длина// символов. | ||
- | ==== $pad_right(x,длина,символ) ==== | + | === $pad_right(x,длина,символ) === |
Дополняет //x// справа символом //символ// до //длина// символов. | Дополняет //x// справа символом //символ// до //длина// символов. | ||
- | ==== $padcut(x,длина) ==== | + | === $padcut(x,длина) === |
Возвращает первые //длина// сиволов с начала //x//, если //x// длиннее //длина// символов. В ином случае дополняет //x// справа пробелами до //длина// символов. | Возвращает первые //длина// сиволов с начала //x//, если //x// длиннее //длина// символов. В ином случае дополняет //x// справа пробелами до //длина// символов. | ||
- | ==== $padcut_right(x,длина) ==== | + | === $padcut_right(x,длина) === |
Возвращает первые //длина// сиволов с начала //x//, если //x// длиннее //длина// символов. В ином случае дополняет //x// слева пробелами до //длина// символов. | Возвращает первые //длина// сиволов с начала //x//, если //x// длиннее //длина// символов. В ином случае дополняет //x// слева пробелами до //длина// символов. | ||
- | ==== $progress(позиция,диапазон,длина,a,b) ==== | + | === $progress(позиция,диапазон,длина,a,b) === |
Создаёт полоску прогресса (progress bar): //позиция// определяет текущую позицию, //диапазон// - граничное значение, //длина// - длину полоски прогресса в символах, //a// и //b// определяют символы, из которых строится полоска прогресса. | Создаёт полоску прогресса (progress bar): //позиция// определяет текущую позицию, //диапазон// - граничное значение, //длина// - длину полоски прогресса в символах, //a// и //b// определяют символы, из которых строится полоска прогресса. | ||
Пример: //$progress(%_time_elapsed_seconds%, %_time_total_seconds%, 20,'#','=')// выдаст "====#===============", где символ # движется в соответствии со временем проигрывания песни. | Пример: //$progress(%_time_elapsed_seconds%, %_time_total_seconds%, 20,'#','=')// выдаст "====#===============", где символ # движется в соответствии со временем проигрывания песни. | ||
- | ==== $progress2(позиция,диапазон,длина,a,b) ==== | + | === $progress2(позиция,диапазон,длина,a,b) === |
Создаёт полоску прогресса (progress bar): //позиция// определяет текущую позицию, //диапазон// - граничное значение, //длина// - длину полоски прогресса в символах, //a// и //b// определяют символы, из которых строится полоска прогресса. Отличается от //$progress// видом результирующей полоски. | Создаёт полоску прогресса (progress bar): //позиция// определяет текущую позицию, //диапазон// - граничное значение, //длина// - длину полоски прогресса в символах, //a// и //b// определяют символы, из которых строится полоска прогресса. Отличается от //$progress// видом результирующей полоски. | ||
- | ==== $repeat(a,n) ==== | + | === $repeat(a,n) === |
Возвращает //n// копий //a//. Обратите внимание, что //a// вычисляется однажды перед использованием значения, так что //$repeat// не может быть использовано в роли цикла. | Возвращает //n// копий //a//. Обратите внимание, что //a// вычисляется однажды перед использованием значения, так что //$repeat// не может быть использовано в роли цикла. | ||
- | ==== $replace(a,b,c) ==== | + | === $replace(a,b,c) === |
Заменяет все вхождения строки //b// в строке //a// строкой //c//. | Заменяет все вхождения строки //b// в строке //a// строкой //c//. | ||
Строка 359: | Строка 363: | ||
Пример: //$replace(ab,a,b,b,c)// -> "bc", //$replace($replace(ab,a,b),b,c)// -> "cc" | Пример: //$replace(ab,a,b,b,c)// -> "bc", //$replace($replace(ab,a,b),b,c)// -> "cc" | ||
- | ==== $right(a,длина) ==== | + | === $right(a,длина) === |
Возвращает первые //длина// символов с конца //a//. | Возвращает первые //длина// символов с конца //a//. | ||
- | ==== $roman(n) ==== | + | === $roman(n) === |
Приводит целое число //n// к записи римскими цифрами. | Приводит целое число //n// к записи римскими цифрами. | ||
- | ==== $rot13(a) ==== | + | === $rot13(a) === |
Производит [[http://en.wikipedia.org/wiki/ROT13|ROT13]] преобразование строки //a//. | Производит [[http://en.wikipedia.org/wiki/ROT13|ROT13]] преобразование строки //a//. | ||
Пример: //$rot13('foobar2000')// -> "sbbone2000". | Пример: //$rot13('foobar2000')// -> "sbbone2000". | ||
- | ==== $shortest() ==== | + | === $shortest() === |
Возвращает самый короткий из своих аргументов. Можно использовать с произвольным количеством аргументов. | Возвращает самый короткий из своих аргументов. Можно использовать с произвольным количеством аргументов. | ||
- | ==== $strchr(s,c) ==== | + | === $strchr(s,c) === |
Ищет первое вхождение символа //c// строке //s//. | Ищет первое вхождение символа //c// строке //s//. | ||
Пример: //$strchr(abca,a)// -> 1 | Пример: //$strchr(abca,a)// -> 1 | ||
- | ==== $strrchr(s,c) ==== | + | === $strrchr(s,c) === |
Ищет последнее вхождение символа //c// в строке //s//. | Ищет последнее вхождение символа //c// в строке //s//. | ||
Пример: //$strrchr(abca,a)// -> 4 | Пример: //$strrchr(abca,a)// -> 4 | ||
- | ==== $strstr(s1,s2) ==== | + | === $strstr(s1,s2) === |
Ищет первое вхождение строки //s2// в строке //s1//. | Ищет первое вхождение строки //s2// в строке //s1//. | ||
- | ==== $strcmp(s1,s2) ==== | + | === $strcmp(s1,s2) === |
Выполняет регистрозависимое сравнение строк //s1// и //s2//. | Выполняет регистрозависимое сравнение строк //s1// и //s2//. | ||
- | ==== $stricmp(s1,s2) ==== | + | === $stricmp(s1,s2) === |
Выполняет регистронезависимое сравнение строк //s1// и //s2//. | Выполняет регистронезависимое сравнение строк //s1// и //s2//. | ||
- | ==== $substr(s,m,n) ==== | + | === $substr(s,m,n) === |
Возвращает подстроку строки //s//, начиная с //m//-го символа т заканчивая //n//-ым символом. | Возвращает подстроку строки //s//, начиная с //m//-го символа т заканчивая //n//-ым символом. | ||
- | ==== $trim(s) ==== | + | === $trim(s) === |
Удаляет ведущие и завершающие пробелы из строки //s//. | Удаляет ведущие и завершающие пробелы из строки //s//. | ||
- | ==== $tab() ==== | + | === $tab() === |
Вставляет один символ табуляции. | Вставляет один символ табуляции. | ||
- | ==== $tab(n) ==== | + | === $tab(n) === |
Вставляет //n// символов табуляции. | Вставляет //n// символов табуляции. | ||
- | ==== $upper(s) ==== | + | === $upper(s) === |
Приводит строку //s// к верхнему регистру. | Приводит строку //s// к верхнему регистру. | ||
Строка 445: | Строка 449: | ||
=== $tracknumber(n) === | === $tracknumber(n) === | ||
Возвращает номер трека, дополненный нулями до //n// цифр. | Возвращает номер трека, дополненный нулями до //n// цифр. | ||
+ | |||
==== Техническая информация ==== | ==== Техническая информация ==== | ||
Строка 450: | Строка 455: | ||
Возвращает значение поля технической информации с именем //имя//. | Возвращает значение поля технической информации с именем //имя//. | ||
- | Пример: //$info(channels)// -> 2 | + | Для удобства доступен еще и псевдоним **%%%__name%%%**. |
+ | |||
+ | //Пример: $info(channels) → 2// | ||
+ | |||
+ | Информационный список полей. Некоторые из них зависят от запрашиваемого типа медиа файла. | ||
+ | |||
+ | **Общие** | ||
+ | |||
+ | ^Поле ^Описание ^ | ||
+ | |codec|**Кодек** (например, MP3)| | ||
+ | |codec_profile|**Профиль** (например, CBR) | | ||
+ | |samplerate|**Частота дискредитации**, в герцах (например, 44100) | | ||
+ | |bitrate|**Битрейт**, в килобитах в секунду (например, 320) | | ||
+ | |tool|**Утилита**, с помощью которой создан файл (например, LAME3.97) | | ||
+ | |encoding|**Тип кодирования** (например, lossy) | | ||
+ | |channels|**Количество каналов** (например, 2 [для стерео]) | | ||
+ | |bitspersample|**Битов на семпл** (например, 16) | | ||
+ | |tagtype|**Тип тегов**, разделенный список тегов (например, id3v2%%|%%apev2) | | ||
+ | |cue_embedded|**Наличие внедренного Cuesheet** (например, нет [может быть пустым!]) | | ||
+ | |md5|**MD5-хэш файла**, если определяется контейнером (например, 1E24A910D91EF09A8CF403C9B6963961)| | ||
+ | |||
+ | **Другие** | ||
+ | |||
+ | ^Поле ^Описание ^ | ||
+ | |ENC_DELAY|LAME MP3 значение **enc_delay** (например, 576) | | ||
+ | |ENC_PADDING|LAME MP3 значение **enc_padding** (например, 1536) | | ||
+ | |MP3_ACCURATE_LENGTH|**mp3_accurate_length** (частный заголовок LAME)? (например, да) | | ||
+ | |MP3_STEREO_MODE|**Стерео режим** в MP3 (например: mono, stereo, joint stereo) | | ||
+ | |VERSION|**Версия утилиты** (например, 3.99) | | ||
+ | |FLAGS|**Флаги утилиты** (например, 22)| | ||
=== $codec() === | === $codec() === | ||
Строка 538: | Строка 572: | ||
---- | ---- | ||
Официальный компонент списка альбомов поддерживает создание различных элементов дерева с использованием специальных команд. | Официальный компонент списка альбомов поддерживает создание различных элементов дерева с использованием специальных команд. | ||
- | * [[http://www.foobar2000.org/|Домашняя страничка списка альбомов]] | + | * [[foobar2000:plugins_for_0.9.x:album_list_panel_foo_uie_albumlist]] |
- | * [[hydrogenaudio>Foobar2000:Titleformat_Album_List|Описание форматирования заголовков списка альбомов]] | + | * [[hydrogenaudio>Foobar2000:Titleformat_Album_List|Описание форматирования заголовков списка альбомов]] FIXME |
==== Columns UI ==== | ==== Columns UI ==== | ||
---- | ---- | ||
- | * [[music>columns_ui:manual|Домашняя страничка Columns UI]] | + | * [[foobar2000:plugins_for_0.9.x:columns_ui]] |
- | * [[music>columns_ui:config:global_variables|Описание работы с глобальными переменными]] | + | * [[music>columns_ui:config:global_variables|Описание работы с глобальными переменными]] FIXME |
- | * [[music>columns_ui:config:colour_string|Описание определения цветов плейлиста]] | + | * [[music>columns_ui:config:colour_string|Описание определения цветов плейлиста]] FIXME |
- | * [[music>columns_ui:config:playlist_switcher_titleformatting|Описание форматирования заголовков панели переключения плейлистов]] | + | * [[music>columns_ui:config:playlist_switcher_titleformatting|Описание форматирования заголовков панели переключения плейлистов]] FIXME |
- | + | ||
- | ===== Оригинал описания ===== | + | |
- | Данный документ является переводом [[hydrogenaudio>Foobar2000:Titleformat_Reference|Foobar2000:Titleformat Reference]]. | + | |
~~DISCUSSION~~ | ~~DISCUSSION~~ |