mp3list - Создание html описания mp3 файлов.
Сканирует директории на наличие MP3 файлов, и создает HTML лист этих файлов... Хотя вот щас уже и не только HTML, т.к. в шаблонах прописать можно чего угодно.
mp3list [ аргументы ]
Использовать для идентификации MP3 файлов программу file. По умолчанию проверяется на расширение 'mp[123]?'
Для разбора шаблонов использовать модуль Template. По умолчанию Template::EasyTT.
Кодировка в которой вывести MP3 теги ( KOI8-R, CP1251, IBM866, ISO-8859-5 ). Если не определено то кодировка определяется в зависимости от используемой OS.
Кодировка в которой находятся MP3 теги ( KOI8-R, CP1251, IBM866, ISO-8859-5 ). Если не определено то кодировка определяется ( пытается определится ) автоматически.
Группировать файлы по заданному признаку. По умолчанию 'ARTIST'. Доступны : TITLE, ARTIST, ALBUM, YEAR, COMMENT, GENRE, TRACKNUM, VERSION, LAYER, STEREO, VBR, BITRATE, FREQUENCY, SIZE, SECS, MM, SS, MS, TIME, COPYRIGHT, PADDING, MODE, FRAMES, FRAME_LENGTH, VBR_SCALE, DIRNAME. Если задан признак который не может быть распознан ( например в mp файле нет тега, и следовательно не определен, заголовок ARTIST ), то признаком группировки служит DIRNAME. Я бы порекомендовал пользовать только : TITLE, ARTIST, ALBUM, YEAR, COMMENT, GENRE, BITRATE, FREQUENCY, DIRNAME, в остальных случаях группировку получится несколько нелогичной...
Файл шаблона, по умолчанию tmpl/mp3list.tmpl
Директория в которой производится поиск MP файлов. Если не определено то ищутся в текущей.
Подстрока которая вырезается из начала переданного пути ( опция -dir ). Используется для синхронизации путей при генерации для последующего выкладывания в WEB...
Максимальное число MP файлов подлежащих обработке. По умолчанию 5000.
Префикс URL. если установлено то к каждому контейнеру URL добавляется в начало этот префикс.
Содержимое контейнера TITLE
Дополнительные контейнеры передающиеся в шаблон как ANY_TOKENS.KEY
Вывести краткую справку.
Аргументы `-g' `-dir' `-token' могут быть использованы несколько раз...
Синтаксис файлов шаблонов смотрите в pod документации на модуль Tempalte или Template::EasyTT в зависимости от того, что вы используете.
В шаблонах используются следующие контейнеры:
Дата создания документа.
Наименование используемого модуля для разбора шаблонов.
Наименование используемого файла шаблонов.
Ну вобщем title и в африке... По умолчанию 'MP3 list'
Ссылка на хеш значений переданных из командной строки с помощью -token KEY=VAL
Перечень ( массив ) песен сгруппированных по признаку заданному опцией командной строки -g '...'. Массив заполнен ссылками на хеш, имеющего следующие ключи:
NUMBER - индекс элемента.
INDEX - Значение признака по которому
группировались данные, на данном уровне
группировки...
FULL_INDEX - Значение по которому группировались данные
предыдущие и текущие.
LEVEL - Уровень вложенности с учетом группировки.
Отсчет ведется с единицы.
DATA_REF - ссылка на массив, указателей на хеш.
Ключами в хеше являются параметры о MP
файле. По наличию данного контейнера следует
проверять конечный или нет это уровень группировки.
Например при:
`mp3list -g ARTIST -g ALBUM -g BITRATE ..'
в ALBUMS появятся три элемента на каждую песню:
[0] - INDEX = $ARTIST$
- FULL_INDEX = $ARTIST$
- LEVEL = 1
- DATA_REF = undef
[1] - INDEX = $ALBUM$
- FULL_INDEX = $ARTIST$ / $ALBUM$
- LEVEL = 2
- DATA_REF = undef
[2] - INDEX = $BITRATE$
- FULL_INDEX = $ARTIST$ / $ALBUM$ / $BITRATE$
- LEVEL = 3
- DATA_REF = [....]
.....
Возможные ключи DATA_REF: TITLE, ARTIST, ALBUM, YEAR, COMMENT, GENRE, TRACKNUM, VERSION, LAYER, STEREO, VBR, BITRATE, FREQUENCY, SIZE, SECS, MM, SS, MS, TIME, COPYRIGHT, PADDING, MODE, FRAMES, FRAME_LENGTH, VBR_SCALE, DIRNAME, FIELNAME, URL, FILE_SIZE. Их подробное описание смотрите в pod документации к модулю MP3::Info.
Как этим пользоваться также можно посмотреть в готовых файлах шаблонов...
perl, Template, Tempalte::EasyTT, MP3::Info pod documentation.
Okunev Igor V. mailto:igor@prv.mts-nn.ru
http://www.mts-nn.ru/~gosha