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

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


foobar2000:tags:encouraged_tag_standards

Различия

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

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

Следующая версия
Предыдущая версия
foobar2000:tags:encouraged_tag_standards [2006/06/10 19:28]
127.0.0.1 (старая ревизия восстановлена)
foobar2000:tags:encouraged_tag_standards [2006/06/16 13:57]
Mishail
Строка 1: Строка 1:
-====== Рекомендуемые стандарты тегов ====== 
  
-===== Предупреждение ===== 
-Рекомендации,​ описанные в этом документе,​ были выработаны и согласованы группой пользователей foobar2000 и авторами скриптов titleformatting. Применение этих рекомендаций не обязательно для использования в foobar2000, хотя некоторые компоненты или готовые скрипты могут потребовать для своей работы различные специфические теги. 
- 
-===== Примеры кода и версии foobar2000 ===== 
-Примеры кода приведены для версии Foobar2000 v0.9., потому что обновленная [[foobar2000:​tagz:​tutorial:​tagz_intro#​podstanovki_polej|подстановка полей]] начиная с версии 0.9 не совместима со старыми версиями foobar2000. 
- 
-===== Общая конструкция тега ===== 
- 
-  * Используйте легко понятое название поля в английском написании. 
-  * Префикс альбомозависимой информации должен быть "ALBUM ", например. "ALBUM ARTIST",​ "ALBUM SUBTITLE"​. 
-  * Избегайте использовать в названиях символы вне английского алфавита. Для последовательных полей (не самый удачный пример:​ FIELD1, FIELD2, и т.д.), вводите их в такои порядке,​ в каком он должны читаться. 
-  * Постарайтесь избегать использование символов подчеркивания. Пробелы легче в написании,​ более понятны и их легче использовать в [[foobar2000:​tagz|TAGZ]]. Пробелы предпочтительней других символов. 
- 
-===== Краткий обзор текущих рекомендаций ===== 
- 
-ИМЯ ПОЛЯ [формат] (компонент) 
- 
-  * ALBUM ARTIST [например,​ Various Artists, The Foobar Collective] 
-//​Примечание//:​ имя поля ALBUM ARTIST без ''​символов подчеркивания''​. Тег должен существовать если и только если альбом является V.A.-альбомом (V.A. Various Artists --- различные исполнители),​ т.е. сборником,​ где присутствуют разные исполнителм,​ и в таком случае этот тег должен быть прописан в каждом треке. Исполнители должны быть прописаны в теге ARTIST, но не в коем случае не в теге TITLE. ​ 
- 
-[[Encouraged_Tag_Standards#​ALBUM_ARTIST|(узнать больше об этом стандарте)]] 
- 
-  * FIRST_PLAYED и LAST_PLAYED [2005-03-22 19:​00:​00...] (компонент foo_playcount) 
-//​Примечание//:​ эти два тега **используют** символы подчеркивания --- причиной для этого послужила своместимость с уже существующими тегом PLAY_COUNTER. После времени можно прописать любой тип данных и другую информацию. Скрипты TAGZ при извлечении строк из этого поля должны использовать ''​$substr()''​ вместо ''​$right()''​. 
- 
-''​Смотрите также'':​ [[ha>​Foobar2000:​Tips_%26_Tricks#​Standardize_my_PLAY_DATE_and_PLAY_TIME_fields|Standardize my PLAY_DATE and PLAY_TIME fields]] 
- 
- 
-[[ha>​Foobar2000:​Encouraged_Tag_Standards#​FIRST_PLAYED_and_LAST_PLAYED|(узнать больше об этом стандарте)]] 
- 
- 
-==== ALBUM ARTIST === 
-=== Основы === 
-  * тег используется для объявления и описания альбомов/​разных-EP или синглов,​ которые содержат разных исполнителей в "ALBUM ARTIST"​ (разделение пробелами,​ не символами подчеркивания) 
-  * тег должен существовать только если в альбоме есть разные исполнители (в сборниках,​ компиляциях и др.). Тег **не должен** быть создан в любом другом случае. 
-  * этот тег содержит общее название всех исполнителей (как например,​ "the foo-bar collective"​),​ различных исполнителей или если для сборника нет чистого списка и присутствуют компиляции --- просто прописывайте "​Various Artists"​. Проще говоря,​ вы свободны прописывать все что угодно если речь идет об указании информации про исполнителей в альбоме. 
-  * каждый трек сборника разных исполнителей должен содержать этот тег с прописанным значением (списком) всех исполнителей или значением V.A. (Various Artists --- различные исполнители) 
-  * исполнитель конкретного трека должен быть прописан в соответсвующем теге ARTIST 
-  * тег TITLE должен содержать только название трека 
- 
-=== Причины для применения такого стандарта === 
-  * такой подход решает решает все проблемы с альбомами,​ в которых существуют разные исполнители только с одним тегом 
-  * стандарт уже широко используется 
-  * осуществлятся сортировка и поиск 
-  * сохранение тега ARTIST специфичным позволяет искать треки в V.A.-альбомах точно также, как и обычного исполнителя (только DB-friendly) 
-  * сохранение тега TITLE специфичным позволяет сортировать и искать треки в  V.A.-альбомах по заголовку (DB-friendly) 
-  * позволяет определять и отобращать V.A.-альбомы при миниальном объеме кода 
-  * предотвращает большую загрузку ресурсов и небезопасного "​угадывания"​ в V.A.-альбомах через путь файла 
-  * стандарт прост для запоминания и для использования 
-  * не нарушает существующую систему,​ когда теги ARTIST и TITLE уже специфичны для каждого трека (легко перевести) 
-  * может дополнительно использоваться вместе с сортировкой по каталогу и маркировкой 
-  * может быть использован для разделенных-EP и синглов 
-  * стандарт поддержан в [[foobar2000:​tagz:​tutorial:​tagz_intro#​podstanovki_polej|подстановке полей]] foobar2000 0.9 
- 
-=== Примеры кода === 
-<code php> 
- // проверка,​ является ли альбом V.A.-альбомом 
- ​$if($meta_test(album artist),​$puts(album_is_va,​1)) 
-</​code>​ 
-<code php> 
- // Для сортировки в контексте альбома,​ заменяем %artist% - %album% на: 
- ​%album artist% - %album% 
-</​code>​ 
-<code php> 
- // режим singlemode без поддержки %album artist% 
- ​[%artist% - ][%album% - ][%title%] 
-</​code>​ 
-<code php> 
- // режим singlemode с поддержкой %album artist% 
- // примечание:​ если у вас поддерживается показ обоих режимов --- albummode и singlemode, ​ 
- // то вы можете использовать код выше, оставляем на ваш вкус 
- ​[%album artist% - ][%album% - ][%track artist% - ][%title%] 
-</​code>​ 
-<code php> 
- // Как легко интегрировать %album artist% в режим albummode: 
- // в колонке albummode-column замените %artist% на: 
- ​[%album artist%] 
- // В колонке заголовка,​ замените %title% на: 
- ​[%track artist% - ][%title%] 
-</​code>​ 
- 
-==== FIRST_PLAYED и LAST_PLAYED === 
-=== Основы === 
-  * "​FIRST_PLAYED"​ --- тег используется для хранения информации о том, когда трек был впервые проигран ​ 
-  * "​LAST_PLAYED"​ --- тег используется для хранения информации о том, когда трек был проигран в последний раз 
-  * теги содержат дату и время в вначале в следующем формате:​ "​YYYY-MM-DD HH:​MM:​SS"​ (24-часовой формат) 
-  * дополнительная информация может быть добавлена в конец после вышеупомянутой информации 
- 
-=== Причины для применения такого стандарта === 
-  * [[http://​www.hydrogenaudio.org/​musepack/​klemm/​www.personal.uni-jena.de/​~pfk/​mpp/​sv8/​time.html APE-формат даты и времени]] (взят из ISO) является интернациональным 
-  * стандарт может быть подвергнутым сортировке 
-  * стандарт легко читаемый и распознаваемый 
-  * формат может быть проверен в TAGZ 
-  * может быть включен в строки форматирования без их реформатирования (про для начинающих кодеров tagz) 
-  * choosing a new fieldname avoids confusion with the existing ambigious play_date tag 
-  * имя поля понятно,​ признано,​ легко запоминающееся и коротко для написания в коде 
- 
-=== Примеры кода === 
-<code php> 
- // verify tag-format (we check the pos. of the first dash and ":"​) 
- // using $len for verification is strongly unrecommended! 
- $if( 
- ​$and($strcmp($strstr(%last_played%,​-),​5),​$strcmp($strstr(%last_played%,:​),​14)) 
- ,​$puts(last_played_is_valid,​1) 
- ) 
-<code php> 
- // disassemble the timestamp for later reformatting or calcuations 
- ​$puts(last_played_year,​$substr(%last_played%,​1,​4)) 
- ​$puts(last_played_month,​$substr(%last_played%,​6,​7)) 
- ​$puts(last_played_day,​$substr(%last_played%,​9,​10)) 
- ​$puts(last_played_hour,​$substr(%last_played%,​12,​13)) 
- ​$puts(last_played_min,​$substr(%last_played%,​15,​16)) 
- ​$puts(last_played_sec,​$substr(%last_played%,​18,​19)) 
-</​code>​ 
-<code php> 
- // показ только даты last_played (без реформатирования) 
- ​$left(%last_played%,​10) 
-</​code>​ 
-<code php> 
- // показ только времени last_played (без реформатирования) 
- // использование $right строго не рекомендуется! 
- ​$substr(%last_played%,​12,​19) 
-</​code>​ 
-Приведенные выше примеры кода могут быть использованы также и для FIRST_PLAYED (достаточно заменить last_played на first_played). 
- 
-=== Устаревшие и осуждаемые стандарты ==== 
- 
-== PLAY_DATE и PLAY_TIME == 
- 
-Осуждаемые теги --- это теги записанные старой версией foo_playcount. Принятые в той версии форматы даты и времени ​ DDMMYY для PLAY_DATE и HHMMSS (24-часовой) для PLAY_TIME. ​ 
- 
-''​Смотрите'': ​ [[ha>​Foobar2000:​Encouraged_Tag_Standards#​FIRST_PLAYED_and_LAST_PLAYED|FIRST_PLAYED and LAST_PLAYED]]. 
- 
-~~DISCUSSION~~