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

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


foobar2000:tags:encouraged_tag_standards

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
foobar2000:tags:encouraged_tag_standards [2006/06/11 21:21]
Spike улучшил восприятие и исправил ошибки
— (текущий)
Строка 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()''​. 
- 
-''​Смотрите также'':​ [[foobar2000:​секреты_и_трюки|Стандартизация поля PLAY_DATE и PLAY_TIME]] 
- 
-==== ALBUM ARTIST === 
-=== Главное === 
-  * Тег используется для объявления и описания альбомов (разных EP, разных синглов,​ сборников),​ которые содержат разных исполнителей (разделять пробелами,​ не символами подчеркивания). 
-  * Тег должен существовать только если в альбоме есть разные исполнители (в сборниках,​ компиляциях и др.). Тег **не должен** быть создан в любом другом случае. 
-  * Этот тег содержит общее название всех исполнителей (как например,​ "the foo-bar collective"​),​ различных исполнителей (или если для сборника нет чистого списка и присутствуют компиляции --- просто прописывайте значение "​Various Artists"​). Проще говоря,​ вы свободны прописывать все что угодно,​ если речь идет об указании информации про исполнителей в альбоме. 
-  * Каждый трек сборника разных исполнителей должен содержать этот тег с прописанным значением (списком) всех исполнителей или значением V.A. (Various Artists --- различные исполнители). 
-  * Исполнитель конкретного трека должен быть прописан в соответсвующем теге ARTIST. 
-  * Тег TITLE должен содержать только название трека. 
- 
-=== Причины для применения такого стандарта === 
-  * Такой подход решает все проблемы с альбомами,​ в которых существуют разные исполнители,​ только при помощи одного тега ALBUM ARTIST. 
-  * Cтандарт уже широко используется. 
-  * Осуществлятся сортировка и поиск. 
-  * Сохранение тега ARTIST специфичным позволяет делать поиск треков в V.A.-альбомах точно также, как и обычного исполнителя (и более гуманней по отношению к базе данных). 
-  * Сохранение тега TITLE специфичным позволяет сортировать и искать треки в V.A.-альбомах по заголовку (и более гуманней по отношению к базе данных). 
-  * Стандарт позволяет определять и отображать V.A.-альбомы при миниальном объеме кода. 
-  * Стандарт предотвращает большую загрузку ресурсов процессора и памяти,​ небезопасного "​угадывания"​ в V.A.-альбомах через путь файла 
-  * Стандарт прост для запоминания и легок для использования. 
-  * Стандарт не нарушает существующую систему,​ когда теги ARTIST и TITLE уже специфичны для каждого трека (информацию легко перевести в новый стандарт). 
-  * Стандарт может дополнительно использоваться вместе с сортировкой по каталогу,​ маркировкой. 
-  * Стандарт может быть использован для разделенных EP/​синглов. 
-  * Стандарт имеет поддержку в [[foobar2000:​tagz:​tutorial:​tagz_intro#​podstanovki_polej|подстановке полей]] foobar2000 0.9. 
- 
-=== Примеры кода === 
-<code tagz> 
- // проверка,​ является ли альбом V.A.-альбомом 
- ​$if($meta_test(album artist),​$puts(album_is_va,​1)) 
-</​code>​ 
-<code tagz> 
- // Для сортировки в контексте альбома,​ заменяем %artist% - %album% на: 
- ​%album artist% - %album% 
-</​code>​ 
-<code tagz> 
- // режим singlemode без поддержки %album artist% 
- ​[%artist% - ][%album% - ][%title%] 
-</​code>​ 
-<code tagz> 
- // режим singlemode с поддержкой %album artist% 
- // примечание:​ если у вас поддерживается показ обоих режимов --- albummode и singlemode, ​ 
- // то вы можете использовать код выше, оставляем право выбора на ваш вкус 
- ​[%album artist% - ][%album% - ][%track artist% - ][%title%] 
-</​code>​ 
-<code tagz> 
- // Как легко интегрировать %album artist% в режим albummode: 
- // в колонке albummode-column замените %artist% на: 
- ​[%album artist%] 
- // В колонке title, замените %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 
-  * Стандарт может быть включен в строки форматирования без их реформатирования. 
-  * Выбор нового имени поля исключает конфликт с уже существующим двусмысленным тегом play_date. 
-  * Имя поля понятно,​ признано,​ легко запоминается,​ быстро пишется в коде. 
- 
-=== Примеры кода === 
-<code tagz> 
- // проверка формата тега (проверяем позицию первой черточки и двоеточия) 
- // использование $len для проверки строго не рекомендуется! 
- $if( 
- ​$and($strcmp($strstr(%last_played%,​-),​5),​$strcmp($strstr(%last_played%,:​),​14)) 
- ,​$puts(last_played_is_valid,​1) 
- ) 
-<code tagz> 
- // разбираем метку даты/​времени для дальнейшего форматирования или расчета 
- ​$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 tagz> 
- // показ только даты last_played (без форматирования) 
- ​$left(%last_played%,​10) 
-</​code>​ 
-<code tagz> 
- // показ только времени 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. ​ 
- 
-~~DISCUSSION~~ 
foobar2000/tags/encouraged_tag_standards.1150046475.txt.gz · Последние изменения: 2006/06/11 20:25 (внешнее изменение)