NAME

 

mp3list - Создание html описания mp3 файлов.


DESCRIPTION

 

Сканирует директории на наличие MP3 файлов, и создает HTML лист этих файлов... Хотя вот щас уже и не только HTML, т.к. в шаблонах прописать можно чего угодно.


SYNOPSIS

 

mp3list [ аргументы ]

-f

Использовать для идентификации MP3 файлов программу file. По умолчанию проверяется на расширение 'mp[123]?'

-tt

Для разбора шаблонов использовать модуль Template. По умолчанию Template::EasyTT.

-d %CP%

Кодировка в которой вывести MP3 теги ( KOI8-R, CP1251, IBM866, ISO-8859-5 ). Если не определено то кодировка определяется в зависимости от используемой OS.

-s %CP%

Кодировка в которой находятся MP3 теги ( KOI8-R, CP1251, IBM866, ISO-8859-5 ). Если не определено то кодировка определяется ( пытается определится ) автоматически.

-g %SIGN%

Группировать файлы по заданному признаку. По умолчанию '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, в остальных случаях группировку получится несколько нелогичной...

-t %FILE%

Файл шаблона, по умолчанию tmpl/mp3list.tmpl

-dir %DIR%

Директория в которой производится поиск MP файлов. Если не определено то ищутся в текущей.

-cut %STRING%

Подстрока которая вырезается из начала переданного пути ( опция -dir ). Используется для синхронизации путей при генерации для последующего выкладывания в WEB...

-max %FILE_CNT%

Максимальное число MP файлов подлежащих обработке. По умолчанию 5000.

-pref %PREF%

Префикс URL. если установлено то к каждому контейнеру URL добавляется в начало этот префикс.

-title %TITLE%

Содержимое контейнера TITLE

-token %KEY=VAL%

Дополнительные контейнеры передающиеся в шаблон как ANY_TOKENS.KEY

-help

Вывести краткую справку.

Аргументы `-g' `-dir' `-token' могут быть использованы несколько раз...


TMPL files

 

Синтаксис файлов шаблонов смотрите в pod документации на модуль Tempalte или Template::EasyTT в зависимости от того, что вы используете.

В шаблонах используются следующие контейнеры:

DATE

Дата создания документа.

TMPL_MODULE

Наименование используемого модуля для разбора шаблонов.

TMPL_FILE

Наименование используемого файла шаблонов.

TITLE

Ну вобщем title и в африке... По умолчанию 'MP3 list'

ANY_TOKENS

Ссылка на хеш значений переданных из командной строки с помощью -token KEY=VAL

ALBUMS

Перечень ( массив ) песен сгруппированных по признаку заданному опцией командной строки -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.

Как этим пользоваться также можно посмотреть в готовых файлах шаблонов...


SEE ALSO

 

perl, Template, Tempalte::EasyTT, MP3::Info pod documentation.


AUTHOR

 
 Okunev Igor V.  mailto:igor@prv.mts-nn.ru
                 http://www.mts-nn.ru/~gosha