Содержание

Рекомендуемые стандарты тегов

Предупреждение

Рекомендации, описанные в этом документе, были выработаны и согласованы группой пользователей foobar2000 и авторами скриптов titleformatting. Использование этих рекомендованных стандартов не обязательно для применения в foobar2000, но некоторые компоненты и скрипты для своей работы могут требовать различные специфические теги.

Примеры кода и версии foobar2000

Примеры кода в этом документе приведены для версии Foobar2000 v0.9, они не будут работать с предыдущими версиями, из-за новых подстановок полей, появившихся в версии 0.9.

Общая конструкция тега

Краткий обзор рекомендаций

ИМЯ ПОЛЯ [формат] (компонент)

Примечание: имя поля ALBUM ARTIST — без символов подчеркивания. Тег должен существовать если, и только если, альбом является V.A.-альбомом (V.A. Various Artists — различные исполнители), т.е. сборником, где присутствуют разные исполнителм, и в таком случае, этот тег должен быть прописан в каждом треке. Исполнители должны быть прописаны в теге ARTIST, но ни в коем случае не в теге TITLE.

(узнать больше об этом стандарте)

Примечание: эти два тега используют символы подчеркивания, причиной для этого послужила совместимость с уже существующим тегом PLAY_COUNTER. После указания времени можно прописать любой тип данных и любую другую информацию. Скрипты TAGZ при извлечении строк из этого поля должны использовать $substr() вместо $right().

Смотрите также: Стандартизация поля PLAY_DATE и PLAY_TIME

ALBUM ARTIST

Главное

Причины для применения такого стандарта

Примеры кода

 // проверка, является ли альбом V.A.-альбомом
 $if($meta_test(album artist),$puts(album_is_va,1))
 // Для сортировки в контексте альбома, заменяем %artist% - %album% на:
 %album artist% - %album%
 // режим singlemode без поддержки %album artist%
 [%artist% - ][%album% - ][%title%]
 // режим singlemode с поддержкой %album artist%
 // примечание: если у вас поддерживается показ обоих режимов --- albummode и singlemode, 
 // то вы можете использовать код выше, оставляем право выбора на ваш вкус
 [%album artist% - ][%album% - ][%track artist% - ][%title%]
 // Как легко интегрировать %album artist% в режим albummode:
 // в колонке albummode-column замените %artist% на:
 [%album artist%]
 // В колонке title, замените %title% на:
 [%track artist% - ][%title%]

FIRST_PLAYED и LAST_PLAYED

Основы

Причины для применения такого стандарта

Примеры кода

 // проверка формата тега (проверяем позицию первой черточки и двоеточия)
 // использование $len для проверки строго не рекомендуется!
 $if(
 $and($strcmp($strstr(%last_played%,-),5),$strcmp($strstr(%last_played%,:),14))
 ,$puts(last_played_is_valid,1)
 )
 // разбираем метку даты/времени для дальнейшего форматирования или расчета
 $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))
 // показ только даты last_played (без форматирования)
 $left(%last_played%,10)
 // показ только времени last_played (без форматирования)
 // использование $right строго не рекомендуется!
 $substr(%last_played%,12,19)

Приведенные выше примеры кода могут быть использованы также и для FIRST_PLAYED (достаточно заменить last_played на first_played).

Устаревшие и осуждаемые стандарты

PLAY_DATE и PLAY_TIME

Осуждаемые теги — это теги, записанные старой версией foo_playcount. Принятые в той версии форматы даты и времени — DDMMYY для PLAY_DATE и HHMMSS (24х часовой) для PLAY_TIME.

~~DISCUSSION~~