====== Справка по функциям и полям, используемым в скриптах Foobar2000 (TAGZ) ======
Данный документ является переводом [[hydrogenaudio>Foobar2000:Titleformat_Reference|Foobar2000:Titleformat Reference]].
//Ревизия 1.1//
===== Предопределённые поля =====
Некоторые поля, доступные как //%имя%//, предопределены другими значениями, чтобы сделать написание скриптов форматирования заголовка более удобным.
==== Метаданные ====
=== %album artist% ===
Определёно как //$if3($meta(album artist),$meta(artist),$meta(composer),$meta(performer)).//.
=== %album% ===
Определёно как //$if3($meta(album),$meta(venue))//.
=== %artist% ===
Определёно как //$if3($meta(artist),$meta(album artist),$meta(composer),$meta(performer))//.
=== %disc% ===
Возвращает номер диска. Номер берётся из тега discnumber; если этот тег не существует, номер берётся из тега disc. Если оба тега не прописаны, поле не определено.
Эквивалентно предопределённому полю %discnumber%.
=== %discnumber% ===
Возвращает номер диска. Номер берётся из тега discnumber; если этот тег не существует, номер берётся из тега disc. Если оба тега не прописаны, поле не определено.
Эквивалентно предопределённому полю %disc%.
=== %track artist% ===
Определёно как //$meta(artist)//, если //$meta(album artist)// отлично от //$meta(artist)//, иначе это поле пусто.
=== %title% ===
Определёно как //$if2($meta(title),%_filename%)//. Возвращает тэг //title //, если он присутствует, иначе возвращает имя файла, без расширения.
=== %track% ===
Возвращает номер трека, дополненный слева нулями до двух цифр. Номер трека берётся из тега tracknumber; если этот тег не существует, номер берётся из тега track. Если оба тега не прописаны, поле не определено.
Эквивалентно предопределённому полю %tracknumber%.
=== %tracknumber% ===
Возвращает номер трека, дополненный слева нулями до двух цифр. Номер трека берётся из тега tracknumber; если этот тег не существует, номер берётся из тега track. Если оба тега не прописаны, поле не определено.
Эквивалентно предопределённому полю %track%.
==== Техническая информация ====
=== %bitrate% ===
Определёно как //$if2($info(bitrate_dynamic),$info(bitrate))//. Возвращает текущий битрейт, если это возможно, иначе - средний битрейт. Если ни то, ни другое не определено, ничего не возвращается.
=== %channels% ===
Определёно как //$channels()//. Возвращает число каналов в виде текста; возвращает "mono" и "stereo" вместо "1" и "2".
=== %filesize% ===
Определёно как //%_filesize%//. Возвращает размер файла в байтах.
=== %samplerate% ===
Определёно как //$info(samplerate)//. Возвращает частоту дискретизации в Гц.
=== %codec% ===
Определёно как //$codec()//.
==== Специальные поля ====
=== %playlist_number% ===
Определёно как //$num(%_playlist_number%,$len(%_playlist_total%))//. Возвращает позицию трека (индекс) в плейлисте. Первый трек имеет индекс 1. Индекс дополняется слева нулями до такого же числа цифр, как и у индекса последнего трека.
===== Управление потоком выполнения =====
Функции в этом разделе могут быть использованы для зависимого от условий выполнения выражений.
=== [...] (условный раздел) ===
Вычисляет выражение между //[// и //]//. Если оно истинно, возвращаются его строковое значение и логическое значение //истина//. Иначе возвращаются пустая строка и //ложь//.
Пример: //[%artist%]// возвратит значение тэга artist, если оно существует. Иначе ничего не возвратится, в то время, как //%artist%// возвратил бы "?".
=== $if(условие,тогда) ===
Если //условие// вычисляется как //истина//, возвращается значение вычисленной части //тогда//. Иначе возвращается //ложь//.
=== $if(условие,тогда,иначе) ===
Если //условие// вычисляется как //истина//, возвращается значение вычисленной части //тогда//. В ином случае возвращается значение вычисленной части //иначе//.
=== $if2(a,иначе) ===
Подобно //$if(a,a,иначе)// за исключением того, что //a// вычисляется однократно.
=== $if3(a1,a2,...,aN,иначе) ===
Вычисляет аргументы //a1...aN//, пока не будет найден первый, вычисляемый как //истина//. Если это произошло, возвращается значение этого аргумента. В иных случаях возвращается значение вычисленной части //иначе//.
=== $ifequal(n1,n2,тогда,иначе) ===
Сравнивает целые числа //n1// и //n2//, если //n1// равно //n2//, возвращается значение вычисленной части //тогда//. В иных случаях возвращается значение вычисленной части //иначе//.
=== $ifgreater(n1,n2,тогда,иначе) ===
Сравнивает целые числа //n1// и //n2//, если //n1// больше, чем //n2//, возвращается значение вычисленной части //тогда//. В иных случаях возвращается значение вычисленной части //иначе//.
=== $iflonger(s1,s2,тогда,иначе) ===
Сравнивает длины строк //s1// и //s2//, если //s1// длиннее, чем //s2//, возвращается значение вычисленной части //тогда//. В иных случаях возвращается значение вычисленной части //иначе//.
=== $select(n,a1,...,aN) ===
Если значение //n// находится между 1 и N, возвращается вычисленное значение //an//. Иначе возвращается //ложь//.
===== Арифметические функции =====
Функции в этом разделе могут быть использованы для арифметических операций над целыми числами. Строка будет автоматически преобразована в число и наоборот. Преобразуется наиболее длинная начальная часть строки, которая может быть интерпретирована как число. Ведущие пробелы игнорируются.
Пример: "c3po" -> 0, " -12" -> -12, но "- 12" -> 0.
=== $add(a,b) ===
Складывает //a// и //b//.
Можно использовать с произвольным количеством аргументов. //$add(a,b,...)// аналогично //$add($add(a,b),...)//.
=== $div(a,b) ===
Делит //a// на //b//. Если //b// вычисляется как ноль, возвращается //a//.
Можно использовать с произвольным количеством аргументов. //$div(a,b,...)// аналогично //$div($div(a,b),...)//.
=== $greater(a,b) ===
Возвращает //истина//, если //a// больше, чем //b//, иначе возвращает //ложь//.
=== $max(a,b) ===
Возвращает максимальное из //a// и //b//.
Можно использовать с произвольным количеством аргументов. //$max(a,b,...)// аналогично //$max($max(a,b),...)//.
=== $min(a,b) ===
Возвращает минимальное из //a// и //b//.
Можно использовать с произвольным количеством аргументов. //$min(a,b,...)// аналогично //$min($min(a,b),...)//.
=== $mod(a,b) ===
Вычисляет остаток от деления //a// на //b//. Результат имеет тот же знак, что и //a//. Если //b// вычисляется как ноль, возвращается //a//.
Можно использовать с произвольным количеством аргументов. //$mod(a,b,...)// аналогично //$mod($mod(a,b),...)//.
=== $mul(a,b) ===
Умножает //a// на //b//.
Можно использовать с произвольным количеством аргументов. //$mul(a,b,...)// аналогично //$mul($mul(a,b),...)//.
=== $muldiv(a,b,c) ===
Умножает //a// на //b//, затем делит на //c//. Результат округляется до ближайшего целого.
=== $rand() ===
Генерирует случайное число в диапазоне от 0 до 232-1.
=== $sub(a,b) ===
Вычитает //b// из //a//.
Можно использовать с произвольным количеством аргументов. //$sub(a,b,...)// аналогично //$sub($sub(a,b),...)//.
===== Логические функции =====
Функции в этом разделе могут быть использованы для работы с логическими значениями (//истина// и //ложь//), не имеющих явного представления в скриптах форматирования заголовка. Эти функции не возвращают строку или числовое значение. Их можно использовать для задания более сложных условий в //$if// и подобных ей функциях.
=== $and(...) ===
Логическое И произвольного числа элементов. Возвращает //истина// тогда и только тогда, когда все аргументы вычисляются как //истина//.
Пример: //$and(x,y)// равно //истина//, если как //x//, так и //y// равны //истина//. В иных случаях функция возвратит //ложь//.
=== $or(...) ===
Логическое ИЛИ произвольного числа элементов. Возвращает //истина//, когда хотя бы один аргумент вычисляется как //истина//.
Пример: //$or(x,y)// равно //истина//, если //x// или //y//, или одновременно //x// и //y// равны //истина//. В иных случаях функция возвратит //ложь//.
=== $not(x) ===
Логическое НЕ. Возвращает //ложь//, если //x// равно //истина//, иначе возвращает //истина//.
=== $xor(...) ===
Логическое ИСКЛЮЧАЮЩЕЕ ИЛИ произвольного числа элементов. Возвращает //истина//, когда нечётное количество аргументов вычисляется как //истина//.
Пример: //$xor(x,y)// равно //истина//, если //x// или //y//, но не одновременно //x// и //y//, равны //истина//. В иных случаях функция возвратит //ложь//.
===== Функции работы с цветом =====
=== $blend(цвет1,цвет2,часть,всего) ===
Возвращает цвет, являющийся переходным между //цвет1// и //цвет2//. Если //часть// меньше или равно нулю, возвращается //цвет1//. Если //часть// больше или равно //всего//, возвращается //цвет2//. В иных случаях возвращается смешанный цвет, являющийся на //часть// //цвет1// и на //всего-часть// //цвет2//. Смешивание производится в цветовом пространстве RGB.
=== $rgb() ===
Сбрасывает цвет текста к принятому по умолчанию.
=== $rgb(r,g,b) ===
Устанавливает цвет текста. //r//, //g// и //b// - соответственно красная, зелёная и синяя составляющие цвета невыделенного текста. Цвет выделенного текста устанавливается инверсным.
=== $rgb(r1,g1,b1,r2,g2,b2) ===
Устанавливает цвет текста. //r1//, //g1// и //b1// - соответственно красная, зелёная и синяя составляющие цвета невыделенного текста. //r2//, //g2// и //b2// - соответственно красная, зелёная и синяя составляющие цвета выделенного текста.
=== $transition(строка,цвет1,цвет2) ===
Вставляет цветовые коды в //строка// так, что первый символ имеет //цвет1//, последний - //цвет2//, и промежуточные символы имеют переходные цвета. Смешивание производится в цветовом пространстве RGB. Обратите внимание, что цветовые коды являются дополнительными символами, которые также будут обработаны строковыми функциями. Например, если вам нужно усечь строку, это необходимо сделать до применения //$transition()//.
===== Информация о проигрываемой композиции =====
Следующие функции и поля применимы в скриптах, используемых для текущей проигрываемой композиции, например в скриптах для строки статуса строки, заголовка окна и команды копирования.
==== Специальные поля ====
=== %playback_time% ===
Возвращает время, прошедшее с начала проигрывания в формате [ЧЧ:]ММ:СС.
=== %playback_time_seconds% ===
Возвращает время, прошедшее с начала проигрывания (в секундах). Прошлое название: ''%_time_elapsed_seconds%''
=== %playback_time_remaining% ===
Возвращает время, оставшееся до конца проигрывания песни, в фомате [ЧЧ:]ММ:СС. Прошлое название: ''%_time_remaining%''
=== %playback_time_remaining_seconds% ===
Возвращает время, оставшееся до конца проигрывания, в секундах. Прошлое название: ''%_time_remaining_seconds%''
=== %length% ===
Возвращает длительность песни в виде часов, минут, секунд. Прошлое название: ''%_time_total%''
=== %length_ex% ===
Возвращает длительность песни в виде часов, минут, секунд, миллисекунд.
=== %length_seconds% ===
Возвращает длительность песни в секундах. Прошлое название: ''%_time_total_seconds%''
=== %length_seconds_fp% ===
Возвращает длительность песни в секундах в виде числа с плавающей точкой.
=== %length_samples% ===
Возвращает длительность песни в сэмплах.
===== Информация о плейлисте =====
Следующие функции и поля применимы в скриптах для плейлиста.
==== Специальные поля ====
=== %isplaying% ===
Возвращает "1", если файл в текущий момент проигрывается и пустую строку в ином случае.
Старая версия ''%_isplaying%'' остаётся допустимой.
=== %ispaused% ===
Возвращает "1", если проигрывание приостановлено (на паузе) и пустую строку в ином случае.
Старая версия ''%_ispaused%'' остаётся допустимой.
=== %list_index% ===
Возвращает дополненный нулями индекс элемента в плейлисте. Первый элемент имеет индекс 1.
Смотрите также [[foobar2000:tittleformatting#%playlist_number%|%playlist_number%]].
Старая версия ''%_playlist_number%'' остаётся допустимой.
=== %list_total% ===
Возвращает количество элементов в плейлисте.
Старая версия ''%_playlist_total%'' остаётся допустимой.
=== %playlist_name% ===
Возвращает имя плейлиста, в котором содержится элемент.
Старая версия ''%_playlist_name%'' остаётся допустимой.
===== Строковые функции =====
Функции из этого раздела используются для операций над символьными строками.
=== $abbr(x) ===
Возвращает аббревиатуру //x//.
=== $abbr(x,длина) ===
Возвращает аббревиатуру //x//, если //x// длиннее, чем //длина// символов, в ином случае возвращает //x//.
=== $ansi(x) ===
Приводит //x// к системной кодовой странице и возвращает получившееся значение. Символы, не присутствующие в системной кодовой странице будут удалены/заменены. Полезно при массовом переименования файлов для обеспечения совместимости с программами, не понимающими юникод.
=== $caps(x) ===
Делает первую букву каждого слова в //x// прописной, остальные буквы - строчными.
=== $caps2(x) ===
Делает первую букву каждого слова в //x// прописной, остальные буквы оставляет в неизменном виде.
=== $char(x) ===
Вставляет юникодный символ с кодом //x//.
=== $crc32(a) ===
Вычисляет численное значение CRC32 строки //a//. Предназначена для использования при задании цветов в скриптах.
=== $crlf() ===
Вставляет маркер конца строки (возврат каретки, перевод строки). Может использоваться для вывода нескольких строк, например, во всплывающей подсказке иконки в системном трее.
=== $cut(a,длина) ===
Возвращает первые //длина// символов, начиная слева //a//.
=== $directory(x) ===
Извлекает имя каталога из файлового пути //x//.
=== $directory(x,n) ===
Извлекает имя каталога уровня n (отсчитывая с последнего) из файлового пути //x//.
=== $ext(x) ===
Извлекает расширение файла из //x// (который должен быть именем файла или путём).
=== $filename(x) ===
Извлекает имя файла из полного пути.
=== $fix_eol(x) ===
Если //x// содержит маркер конца строки (CR-LF), этот маркер и весь текст после него заменяется строкой "(...)". В ином случае //x// возвращается неизменённым.
=== $fix_eol(x,индикатор) ===
Если //x// содержит маркер конца строки (CR-LF), этот маркер и весь текст после него заменяется строкой //индикатор//. В ином случае //x// возвращается неизменённым.
=== $hex(n) ===
Приводит целое число //n// к шестнадцатиричной системе счисления.
=== $hex(n,длина) ===
Приводит целое число //n// к шестнадцатиричной системе счисления с //длина// цифрами, дополняет слева нулями при необходимости.
=== $insert(a,b,n) ===
Вставляет //b// в //a// после символа, находящегося в позиции //n//.
=== $left(a,длина) ===
Возвращает первые //длина// символов, считая слева //a//.
=== $len(a) ===
Возвращает длину строки //a// в символах.
=== $len2(a) ===
Возвращает длину строки //a// в символах, учитывая правила обработки двухбайтовых (double-width) символов (двухбайтовый символ считается за два).
=== $longer(a,b) ===
Возвращает //истина//, если строка //a// длиннее строки //b//, в ином случае возвращает //ложь//.
=== $lower(a) ===
Приводит //a// к нижнему регистру.
=== $longest(a,...) ===
Возвращает длиннейший из аргументов. Можно использовать с произвольным количеством строк.
=== $num(n,длина) ===
Дополняет (при необходимости) нулями слева до //длина// цифр число //n// в десятичной системе счисления.
=== $pad(x,длина) ===
Дополняет //x// слева пробелами до //длина// символов.
=== $pad_right(x,длина) ===
Дополняет //x// справа пробелами до //длина// символов.
=== $pad(x,длина,символ) ===
Дополняет //x// слева символом //символ// до //длина// символов.
=== $pad_right(x,длина,символ) ===
Дополняет //x// справа символом //символ// до //длина// символов.
=== $padcut(x,длина) ===
Возвращает первые //длина// сиволов с начала //x//, если //x// длиннее //длина// символов. В ином случае дополняет //x// справа пробелами до //длина// символов.
=== $padcut_right(x,длина) ===
Возвращает первые //длина// сиволов с начала //x//, если //x// длиннее //длина// символов. В ином случае дополняет //x// слева пробелами до //длина// символов.
=== $progress(позиция,диапазон,длина,a,b) ===
Создаёт полоску прогресса (progress bar): //позиция// определяет текущую позицию, //диапазон// - граничное значение, //длина// - длину полоски прогресса в символах, //a// и //b// определяют символы, из которых строится полоска прогресса.
Пример: //$progress(%_time_elapsed_seconds%, %_time_total_seconds%, 20,'#','=')// выдаст "====#===============", где символ # движется в соответствии со временем проигрывания песни.
=== $progress2(позиция,диапазон,длина,a,b) ===
Создаёт полоску прогресса (progress bar): //позиция// определяет текущую позицию, //диапазон// - граничное значение, //длина// - длину полоски прогресса в символах, //a// и //b// определяют символы, из которых строится полоска прогресса. Отличается от //$progress// видом результирующей полоски.
=== $repeat(a,n) ===
Возвращает //n// копий //a//. Обратите внимание, что //a// вычисляется однажды перед использованием значения, так что //$repeat// не может быть использовано в роли цикла.
=== $replace(a,b,c) ===
Заменяет все вхождения строки //b// в строке //a// строкой //c//.
Можно использовать с произвольным количеством аргументов. Обратите внимание, что //$replace(a,b1,c1,b2,c2)// возвращает значение, отличное от //$replace($replace(a,b1,c1),b2,c2)//.
Пример: //$replace(ab,a,b,b,c)// -> "bc", //$replace($replace(ab,a,b),b,c)// -> "cc"
=== $right(a,длина) ===
Возвращает первые //длина// символов с конца //a//.
=== $roman(n) ===
Приводит целое число //n// к записи римскими цифрами.
=== $rot13(a) ===
Производит [[http://en.wikipedia.org/wiki/ROT13|ROT13]] преобразование строки //a//.
Пример: //$rot13('foobar2000')// -> "sbbone2000".
=== $shortest() ===
Возвращает самый короткий из своих аргументов. Можно использовать с произвольным количеством аргументов.
=== $strchr(s,c) ===
Ищет первое вхождение символа //c// строке //s//.
Пример: //$strchr(abca,a)// -> 1
=== $strrchr(s,c) ===
Ищет последнее вхождение символа //c// в строке //s//.
Пример: //$strrchr(abca,a)// -> 4
=== $strstr(s1,s2) ===
Ищет первое вхождение строки //s2// в строке //s1//.
=== $strcmp(s1,s2) ===
Выполняет регистрозависимое сравнение строк //s1// и //s2//.
=== $stricmp(s1,s2) ===
Выполняет регистронезависимое сравнение строк //s1// и //s2//.
=== $substr(s,m,n) ===
Возвращает подстроку строки //s//, начиная с //m//-го символа т заканчивая //n//-ым символом.
=== $trim(s) ===
Удаляет ведущие и завершающие пробелы из строки //s//.
=== $tab() ===
Вставляет один символ табуляции.
=== $tab(n) ===
Вставляет //n// символов табуляции.
=== $upper(s) ===
Приводит строку //s// к верхнему регистру.
===== Информация о треке =====
==== Метаданные ====
=== $meta(имя) ===
Возвращает значение тега с именем //имя//. Если существуют несколько тегов с этим именем, они объединяются с использованием "," в качестве разделителя.
Пример: //$meta(artist)// -> "He, She, It"
=== $meta(имя,n) ===
Возвращает значение //n//-го тега с именем //имя// (для первого тега //n//=0).
Пример: //$meta(artist,1)// -> "She"
=== $meta_sep(имя,разделитель) ===
Возвращает значение тега с именем //имя//. Если существуют несколько тегов с этим именем, они объединяются с использованием //разделитель// в качестве разделителя.
Пример: //$meta_sep(artist,' + ')// -> "He + She + It"
=== $meta_sep(имя,разделитель,последний_разделитель) ===
Возвращает значение тега с именем //имя//. Если существуют несколько тегов с этим именем, они объединяются с использованием //разделитель// в качестве разделителя между ними, исключая последние два значения, которые разделяются //последний_разделитель//.
Пример: //$meta_sep(artist,', ',' and ')// -> "He, She and It"
=== $meta_test(...) ===
Возвращает //1//, если все теги, имена которых были переданы в качестве параметров, существуют. В противном случае, ничего не возвращает.
Пример: //$meta_test(artist,title)// -> 1
=== $meta_num(имя) ===
Возвращает количество тегов с именем //имя//.
Пример: //$meta_num(artist)// -> 3
=== $tracknumber() ===
Возвращает номер трека, дополненный нулями до 2 цифр.
=== $tracknumber(n) ===
Возвращает номер трека, дополненный нулями до //n// цифр.
==== Техническая информация ====
=== $info(имя) ===
Возвращает значение поля технической информации с именем //имя//.
Для удобства доступен еще и псевдоним **%%%__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 отсутствует, используется расширение файла.
Пример: //$codec()// -> "WavPack"
=== $channels() ===
Возвращает число каналов в виде текста.
Пример: //$channels()// -> "stereo"
=== %__replaygain_album_gain% ===
Возвращает значение ReplayGain gain альбома.
=== %__replaygain_album_peak% ===
Возвращает значение ReplayGain peak альбома.
=== %__replaygain_track_gain% ===
Возвращает значение ReplayGain gain трека.
=== %__replaygain_track_peak% ===
Возвращает значение ReplayGain peak трека.
==== Специальные поля ====
=== $extra(имя) ===
Возвращает значение специального поля с именем //name//. Эти поля также доступны посредством //%_имя%//; обратите внимание на дополнительный знак подчёркивания. Такой синтаксис использовался в старой версии Foobar2000 0.8x. Теперь можно просто использовать следующие имена полей:
== %filename% ==
Возвращает имя файла без имени каталога и расширения.
== %filename_ext% ==
Возвращает имя файла c расширением, но без имени каталога.
== %directoryname% ==
Возвращает только имя родительского каталога, но не полный путь.
== %path% ==
Возвращает путь.
== %path_raw% ==
Возвращает путь как URL, включая тип протокола.
== %subsong% ==
Возвращает номер подкомпозиции. Номер подкомпозиции используется для отличия множества треков в одном файле, например, в cue sheet, трекерных модулях и различных форматах контейнеров.
== $extra(foobar2000_version) ==
Возвращает строку, сообщающую версию foobar2000.
===== Операции с переменными =====
Переменные используются для хранения строк и чисел. Они не могут хранить логические значения. Переменные отлично подходят для сохранения промежуточных результатов, которые потребуются несколько раз. Имена переменных регистронезависимы.
Пример:
| **код** | **результат** |
| $put(foo,bar)$char(10)
$get(foo)$char(10)
$get(Foo)$char(10)
$puts(foo,2000)$char(10)
$get(foo)$char(10)
| bar
bar
bar
2000 |
=== $get(имя) ===
Возвращает значение, которое было последним сохранено в переменной //имя//. Если переменная не определена, ничего не возвращается. Логическое значение, возвращаемое //$get// показывает, существует ли переменная с именем //имя//.
=== $put(имя,значение) ===
Сохраняет //значение// в переменной с именем //имя// и возвращает //значение// неизменённым.
=== $puts(имя,значение) ===
Сохраняет //значение// в переменной с именем //имя//, ничего не возвращая.
===== Поля и функции, предоставляемые компонентами для треков =====
В этом разделе перечисляются компоненты, которые предоставляют поля и функции, доступные в контексте любого трека.
==== Статистика проигрывания (playback statistics) ====
----
* [[http://www.foobar2000.org/beta/components.html|Домашняя страничка статистики проигрывания]]
* [[ha>Foobar2000:Titleformat_Playback_Statistics|Описание форматирования заголовков статистики проигрывания]]
===== Поля и функции, специфичные для компонентов =====
В этом разделе перечисляются компоненты, предоставляющие поля и функции, доступные только в контексте самого компонента
==== Список альбомов (album list) ====
----
Официальный компонент списка альбомов поддерживает создание различных элементов дерева с использованием специальных команд.
* [[foobar2000:plugins_for_0.9.x:album_list_panel_foo_uie_albumlist]]
* [[hydrogenaudio>Foobar2000:Titleformat_Album_List|Описание форматирования заголовков списка альбомов]] FIXME
==== Columns UI ====
----
* [[foobar2000:plugins_for_0.9.x:columns_ui]]
* [[music>columns_ui:config:global_variables|Описание работы с глобальными переменными]] FIXME
* [[music>columns_ui:config:colour_string|Описание определения цветов плейлиста]] FIXME
* [[music>columns_ui:config:playlist_switcher_titleformatting|Описание форматирования заголовков панели переключения плейлистов]] FIXME
~~DISCUSSION~~