Инструменты пользователя

Инструменты сайта


foobar2000:tagz:tutorial:tagz_intro

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
foobar2000:tagz:tutorial:tagz_intro [2006/05/18 14:17]
Mishail
foobar2000:tagz:tutorial:tagz_intro [2007/02/15 10:54] (текущий)
Строка 2: Строка 2:
  
 Tagz это скриптовый язык используемый в foobar2000 не только для конфигурации внешнего вида плэйлистов,​ но и вообще для реализации любой функциональности уровня продвинутых пользователей. После изучения этого пособия Вы сможете легко использовать этот язык в любых ситуациях. Но начнем мы все же с азов. Tagz это скриптовый язык используемый в foobar2000 не только для конфигурации внешнего вида плэйлистов,​ но и вообще для реализации любой функциональности уровня продвинутых пользователей. После изучения этого пособия Вы сможете легко использовать этот язык в любых ситуациях. Но начнем мы все же с азов.
 +
  
 ===== Доступ к тэгам и полям===== ===== Доступ к тэгам и полям=====
Строка 10: Строка 11:
  
 Foobar2000 ищет тэг artist в песне и возвращает имя испонителя. В случае если этот тэг отутсвует в файле Вы получите в качестве результата вопросительный знак (''?''​). Все что заключено между знаками ''​%''​ рассматривается как тэг, не смотря на имя. Если Вы используете тэг с именем //my field// в Ваших файлах,​ то просто используйте ''​%my field%''​ для того чтобы получить информацию из этого тэга. \\ Foobar2000 ищет тэг artist в песне и возвращает имя испонителя. В случае если этот тэг отутсвует в файле Вы получите в качестве результата вопросительный знак (''?''​). Все что заключено между знаками ''​%''​ рассматривается как тэг, не смотря на имя. Если Вы используете тэг с именем //my field// в Ваших файлах,​ то просто используйте ''​%my field%''​ для того чтобы получить информацию из этого тэга. \\
-Кроме того, точно такой же синтаксис используется для доступа к технической информации,​ например ''​%bitrate%''​ возвращает битрэйт файла, а ''​%_ispaused%''​ покажет Вам сотсояние текущей песни (пауза/​проигрывание). Для того чтобы получить более полное описание функциональности Tagz прочтите [[foobar2000:​описание_синтаксиса|Справку по функциям и полям, используемым в скриптах Foobar2000]]+Кроме того, точно такой же синтаксис используется для доступа к технической информации,​ например ''​%bitrate%''​ возвращает битрэйт файла, а ''​%_ispaused%''​ покажет Вам сотсояние текущей песни (пауза/​проигрывание). Для того чтобы получить более полное описание функциональности Tagz прочтите ​[[[foobar2000:​tittleformatting]]
  
 ===== Подстановки полей ===== ===== Подстановки полей =====
Строка 20: Строка 22:
 Не надо пугаться сложности этого выражения. На самом деле оно говорит:​ //​Найти тэг artist. Если его нет, использовать тэг album artist. Если же и его нет, то попытаться использовать тэг composer, а затем performer.//​ Не надо пугаться сложности этого выражения. На самом деле оно говорит:​ //​Найти тэг artist. Если его нет, использовать тэг album artist. Если же и его нет, то попытаться использовать тэг composer, а затем performer.//​
  
-Это на самом деле очень важно знать, что за большинством из наиболее используемых тэгов скрываются подстановки подобные этой. Для полного их перечня обратитесь к уже упомянутой [[foobar2000:​описание_синтаксиса|справке по функциям и полям]]. Эти подстановки введены для того чтобы облегчить жизнь создателей скриптов.+Это на самом деле очень важно знать, что за большинством из наиболее используемых тэгов скрываются подстановки подобные этой. Для полного их перечня обратитесь к уже упомянутой [[foobar2000:​tittleformatting]]. Эти подстановки введены для того чтобы облегчить жизнь создателей скриптов.
  
 Несомненно,​ использование подстановок делает процесс создания скриптов более удобным,​ но бывают случаи когда нам нужно получит доступ к не измененному,​ "​чистому"​ значению поля, тому, которое на самом деле хранится в файле. И мы уже видели как это делается. Для того чтобы прочитать такое (неизмененное подстановкой) значение тэга artist, следует использовать:​ Несомненно,​ использование подстановок делает процесс создания скриптов более удобным,​ но бывают случаи когда нам нужно получит доступ к не измененному,​ "​чистому"​ значению поля, тому, которое на самом деле хранится в файле. И мы уже видели как это делается. Для того чтобы прочитать такое (неизмененное подстановкой) значение тэга artist, следует использовать:​
Строка 77: Строка 79:
 ===== Комментирование кода ===== ===== Комментирование кода =====
  
-В Tagz любая строка,​ начинающаяся с ''​\\''​, является комментарием и полностью игнорируется в ходе выполнения скрипта. Эта строка может содержать все что Вам захочется,​ но обычно комментарии используются для объяснения работы сложных фрагментов кода, в которых с первого взгляда непонятно что именно делает ​+В Tagz любая строка,​ начинающаяся с <​html>//</​html>​, является комментарием и полностью игнорируется в ходе выполнения скрипта. Эта строка может содержать все что Вам захочется,​ но обычно комментарии используются для объяснения работы сложных фрагментов кода, в которых с первого взгляда непонятно что именно делает ​
 скрипт. И, конечно же, они являются большим подспорьем если Вы заглядываете в Ваш скрипт раз в полгода :-) скрипт. И, конечно же, они являются большим подспорьем если Вы заглядываете в Ваш скрипт раз в полгода :-)
  
Строка 101: Строка 103:
   '​Hello,​ world!'​   '​Hello,​ world!'​
  
-Выводимый текст от этого не изменится.+Выводимый текст от этого не изменится. ​При определенных обстоятельствах использование кавычек является обязательным,​ и, по моему мнению,​ ясное обозначение строк делает код ясней. Поэтому я заключаю все строки в кавычки,​ не смотря на то, нужны они в этой ситуации или нет. ​  
 + 
 +С первого взгляда использование кавычек выглядит весьма удобными,​ но оно создает очень серьезную помеху - Вы не сможете использовать отступы для структуризации Вашего кода. Взгляните на эти два скрипта:​ 
 + 
 +  $if(%album tracks%, 
 +    $select(%tracknumber%,​ 
 +      %artist%, 
 +      %album%, 
 +      %date% 
 +    ), 
 +    $if2(%artist%,​%filename%) 
 +  ) 
 + 
 +  $if(%album tracks%, 
 +  $select(%tracknumber%,​ 
 +  %artist%, 
 +  %album%, 
 +  %date% 
 +  ), 
 +  $if2(%artist%,​%filename%) 
 +  ) 
 + 
 +Сразу видно какой из них легче читать. Мне сложно представить что кто-нибудь выберет второй вариант :-) Но к сожалению Вы не сможете использовать такие красивые отступы как в 1-м скрипте в Tagz, всему виной то что Foobar2000 расценивает пробелы не как отступы,​ но как обычные символы. Для первого трэка (tracknumber = 1) версия с отступами выдаст не просто имя исполнителя (''​%artist%''​),​ но имя исполнителя с шестью пробелами в начале. Не совсем то что мы ожидали,​ правда?​ А теперь подумайте откуда взялись эти лишние шесть пробелов. 
 + 
 +Из этого мы должны сделать такой вывод: никогда не используйте отступы в скриптах Tagz, хотя это и выглядит некрасиво. И это на самом деле последний урок из введения. Сейчас все становится серьезно. 
 ~~DISCUSSION~~ ~~DISCUSSION~~
foobar2000/tagz/tutorial/tagz_intro.1147947441.txt.gz · Последние изменения: 2006/05/18 13:27 (внешнее изменение)