Процесс создания коллекции для CDI

Коллекция с точки зрения программы

Для интерфейса (CDI) коллекция - текстовый файл, в котором хранится информация о составляющих коллекции (например, об альбомах), принципах работы (например, можно заменять имя файла значением ID3 тэгом) и некоторая другая информация. Информация, содержащаяся в этом параграфе, будет интересна опытным пользователям и не является основополагающей для понимания. Если Вы не желаете ознакомиться со структурой коллекции, то можно сразу перейти к следующему параграфу.
Основным в процессе создания коллекции является сопоставление одних элементов другим. Так, необходимо указать какому альбому соответствует так или иная обложка. Кроме того, в некоторых случаях можно указать содержимое альбома. Разработчики интерфейса старались упростить и максимально автоматизировать создание такого файла (он имеет расширение *.ini).

[Main]

В этой секции содержится информация о внешнем виде интерфейса, об основных параметрах коллекции.
Так, строка, содержащаяся после слова Title, является названием коллекции. Оно будет отображаться в самом верху главного окна интерфейса и при выборе коллекции и в некоторых других случаях. В принципе, можно эту строку не указывать.
Параметр CDROMLetter обязателен - в нем хранится буква диска, на котором находится коллекция. Для первого дисковода для CD дисков (или DVD - различий CDI не делает) предусмотрена замена - строка %CD% заставит программу саму определить имя устройства (строка, заключенная между двумя символами процента "%" называется ТЭГ и рассматривается интерфейсом как нечто, что нужно на что-то заменить. Подробнее о тэгах читайте здесь.).
SoundPath - путь к составляющим коллекции. Имя устройства указывать не нужно.
TextPath - путь к файлам-текстам песен (также без имени диска).
Параметр DiskID хранит идентификатор диска коллекции. Если он равен 0, это означает, что коллекция содержится на жестком диске. В этом параметре можно указать тэг %CDID% - идентификатор диска, на котором находится интерфейс. Если в каталоге, в котором интерфейс ищет описание коллекции найдено несколько файлов с одинаковыми Id, то Вам будет предложено выбрать тот, который необходимо загрузить в данный момент. Окно выбора выглядит следующим образом:

По этому поводу следующие комментарии: если не хотите, чтобы это окно появлялось, установите флажок Don't show this dialog again - use the first got file, который означает, что CDI долго мучаться не будет, а загрузит первый попавшийся из претендентов файл. Флажок Show when choice between "equivalent" collections - выбор будет предлагаться только в том случае, если среди претендентов есть коллекции одинакового типа. Т.е. есть две коллекции у которых поля DiskId совпадают. Если этот флажок не установлен, то может быть предложен выбор между коллекцией на жестком диске (DiskId=0) и коллекцией на Cd. При установленном флажке такой выбор не предлагается - приоритет за коллекцией на внешнем носителе.
TextColor & SelectedTextColor хранят цвет текста и выделенного текста (имеется в виду текста надписей, а не цвет текста песен). Это числовые значения в промежутке от 0 (черный) до 16777215 (белый) в десятичной системе, поэтому не стоит указывать значения типа #0080C0 или &HFFFFFF.
ShellString - путь к внешнему проигрывателю, например, к NullSoft WinAmp.
ShellAddString - команда добавления в список воспроизведения. Так, чтобы добавить в список воспроизведения WinAmp'а и при этом не прерывать воспроизведение, необходимо перед именем списка указать строку /ADD. К примеру, следующая строка добавляет список myplaylist.m3u: "c:\program files\winamp\winamp /ADD c:\temp\myplaylist.m3u".
EnableAutoScale - может принимать значения 0 или 1, которые означают может ли CDI сам масштабировать обложки (1) или нет (0).
AutoScaleAt - коэффициент, на который будут умножаться измерения обложки при масштабировании. Если он =1, то обложка не будет масштабироваться.
Theme - путь к теме.
StartupAction - номер действия от 1 (Play All) до 4 (To Idle), совершаемого при загрузке коллекции.

[AlbumsData]

В этой секции хранится список альбомов. Альбомы нумеруются от 0 до n-1, где n -количество альбомов. Если нумерация сбита, то CDI корректно не загрузит коллекцию. В этом случае, если Вы хотите восстановить индексы альбомов, запустите интерфейс с ключом /reenum файл_коллекции.ini. Все альбомы будут перенумерованы с учетом их первоначального порядка. Функция Reenumerate находится в библиотеке utils.dll, поэтому, если эта библиотека не найдена, то программа "грохнется".

[CoversData]

В этой секции хранится список обложек к альбомам. Они тоже нумеруются от 0 до n-1, где n - количество обложек, которое должно совпадать с количеством альбомов. Если нумерация сбита, то запуск с ключом /reenum файл_коллекции.ini не поможет, в отличие от случая с альбомами. Чтобы восстановить индексы, можно временно переименовать секцию [AlbumsData] в какую-нибудь другую, а [CoversData] в [AlbumsData] и запустить интерфейс с указанным выше ключом. После этого необходимо восстановить имена секций.

[SomeInformation]

Это не обязательная секция. Содержит некоторую информацию об альбоме, например, год и студию звукозаписи. Слишком длинные строки вводить здесь не рекомендуется, поскольку они будут выводиться сверху блока элементов при выделении соответствующего элемента. Синтаксически эта секция выглядит так:

i=Информация для альбома с номером i в секции [AlbumsData]
Заметим, что информация в этой секции редактируется пока только вручную (позор на нашу седую голову).

[ReplaceList]

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

ИМЯ_ФАЙЛА_БЕЗ_РАСШИРЕНИЯ=ОДИН_ИЗ_ТЭГОВ|СТРОКА
где параметр ОДИН_ИЗ_ТЭГОВ принимает одно из значений {%NAME%,%ARTIST%,%YEAR%,%GENRE%},знак "|" означает выбор "или A или B",СТРОКА - любая строка. Чтобы добавить в эту секцию элемент, откройте какой-нибудь альбом в CDI, выделите песню и нажмите <Ctrl+1>, в появившемся окне появится усеченное имя выделенной песни. Оставьте его неизменным - только добавьте после знака равенства необходимый тэг или любую строку.

[GlobalReplace]

Необязательная секция. Содержит параметры глобальной замены. Так, если ключу G Вы присвоите один из тэгов, то абсолютно все песни коллекции будут заменяться в соответствии с этим тэгом. Если же тэг присвоить номеру альбому, соответственно секции [AlbumsData], то заменяться будут песни только этого альбома. Для облегчения замены используйте диалог Replace Options. Чтобы его вызвать, во вкладке Collection нажмите кнопку Replacing.

В этом окне представлены все виды замен, соответствующих секции [GlobalReplace]. В разделе Global Replace устанавливается тэг, значением которого будут заменяться все песни коллекции (ключ "G" в файле). Раздел Replacement of albums содержит все доступные альбомы, а справа от каждого список доступных тэгов, значением которых будут заменены песни альбома. Для сохранения всего этого раздела (и только этого) в файл, используйте клавишу Save.


Что требуется сделать Вам или как создать коллекцию

Чего Вы хотите?

Несомненно, это главный вопрос. Давайте пофантазируем и попробуем угадать Ваши желания. Сразу возникает несколько вариантов.

Вариант 1 для любителей заполненных жестких дисков

Зачем занимать дисковод для компакт-дисков, когда можно создать коллекцию на винчестере? При этом можно слушать чарующие звуки Heavy Metal, устанавливая какой-нибудь программный продукт.
Итак, у Вас огромная коллекция музыкальных файлов, они аккуратно расположены в папочке C:\Music\ (они разбросаны по всему диску, и иногда Вы натыкаетесь на запись, скажем, старины Элвиса с криком: "... вот он!!! Да, зря я раскроил(а) голову топором (сковородкой) своей жене (мужу)"). В этом случае сделаем следующее. Для начала нужно добраться до диалога Options (некоторым, правда, придется еще извиниться перед окровавленными родными). Запустите интерфейс (иногда мы будем называть его CDI) и, если не появился мастер коллекций, нажмите <Ctrl+o> или нажмите клавишей мыши на самую нижнюю кнопку дополнительного блока. Если мастер все-таки загрузился, то о том как его использовать читайте ниже. Запомните, что у всех жестких дисков поле ID of CD вкладки Main должно быть равно нулю. Для того, чтобы изменить значение этого поля, нажмите правой кнопкой мыши над полем ввода и из ниспадающего меню выберите Set to Null.

После этого (это, вообще говоря, можно сделать в любой момент, но лучше именно сейчас) ОБЯЗАТЕЛЬНО укажите имя файла коллекции в поле File Name. Значение поля CD Letter должно принимать значения имени любого жесткого диска. Теперь решите, насколько аккуратно расположены у Вас мультимедийные файлы. Если прямо вообще аккуратно, т.е. вся коллекция в отдельном каталоге, а каждый альбом является отдельной папкой внутри этого каталога, то укажите путь к этому каталогу в поле Song path, причем без имени диска. Т.е. С:\MyCollection\ - Ваш каталог, то Вы вводите следующую информацию:
CD Letter -> "C:"
Song Path ->"\MyCollection\"
Если все было сделано правильно, то теперь в списке Albums (вкладка Collection) должны красоваться Ваши альбомы (они автоматически заполняют этот список). Далее, нужно сопоставить каждому альбому обложку. Это можно сделать с помощью диалога Album Editor. Чтобы вызвать его нажмите кнопку Compare To вкладки Collection. Дальнейшие технические детали читайте здесь. Другие параметры настраивайте по своему усмотрению.
Если файлы расположены "не очень" аккуратно, то лучше воспользоваться услугами AutoComposer.

Вариант 2 для любителей использовать CD

Зачем тратить кучу места на жестком диске, когда можно прекрасно слушать коллекцию и на CD? Результат - свободный диск и крепкие нервы.
Итак, у Вас куча серебристых, переливающихся всеми цветами радуги, дисков. Надо бы их как-то систематизировать, т.е. создать для каждого файл коллекции. Загрузите CDI и, если еще не появился мастер создания коллекции, вызовите окно диалога Options, нажав <Ctrl+o> или нажмите клавишей мыши на самую нижнюю кнопку дополнительного блока. Если же окно мастера коллекций появилось, то укажите ему, каким образом Вы хотите создать коллекцию. Выбор, вообще-то, невелик.

Итак, начнем "автоматически" создавать. Во-первых, укажем каталог поиска. Для этого нажмем кнопку слева от поля ввода в разделе Search In. Кстати будет заметить, что все кнопки выбора каталога или файла имеют надпись "..." (три точки). Указав папку, необходимо указать, нужно ли просматривать подкаталоги. Если да, то установите флажок Recurse subfolders, если нет - догадайтесь сами. Если же коллекция создается на основе списка файлов, то если он еще не выбран, то выберите его, щелкнув по флажку Load from the M3U file . Далее, нужно указать по какому критерию будут создаваться альбомы. В разделе Sort by укажите ID3 тэг, по которому будут дифференцироваться файлы. (Для замученных мат.анализом студентов: Определение: Пусть F - множество всех найденных файлов. Отношение R определим следующим образом: a R b <=> f(a,t)=f(b,t), где a,b принадлежат M, t- данный тэг, а f - отображение ставящее в соответствие паре (a,t) значение тэга t файла a. Тогда R - называется дифференциацией.) Так, если Вы хотите, чтобы каждый альбом отличался от другого годом выхода, выберите из списка значение Year. AutoComposer может в процессе дифференциации подбирать обложки и ставить им в соответствие альбом. Чтобы заставить его это делать, установите флажок в разделе Search for same covers in, укажите каталог и выражение в поле Use this expression. Теперь несколько подробнее об этих выражениях. Чтобы найти обложку CDI требуется имя. Можно, конечно, сделать для всех альбомов одинаковые обложки, но это не всегда эстетично. Поэтому когда обнаружен новый альбом по заданному условию, ищется обложка согласно выражению для файла, тэг которого породил новый альбом. Различаются следующие тэги:

Все остальные символы остаются без изменений. Кроме того, можно использовать маски: Для указания диапазона для списка в скобках используйте знак "-". Например, [!a-f] - любой символ, но не из списка {a,b,c,d,e,f}. Теперь, если все готово, нажмите кнопку Compose!. Снизу лениво будет ползти полоса состояния процесса, а Вы расслабьтесь, выпейте чего-нибудь, перечитайте "Войну и Мир" (шутка). Если результат Вас устраивает, то нажмите кнопку View для того, чтобы все результаты перенести в окно AlbumEditor с последующим редактированием и сохранением.
Замечание: В новых версиях (>2.5.4) применяется интеллектуальная система поиска подходящей обложки, которая ищет наиболее похожую на заданную подстроку обложку. Тем не менее, она не обрабатывает маски. Точнее, сначала происходит поиск по маске, если он не дал результатов, то начинается так называемый "взвешенный поиск", воспринимающий символы маски как необходимые символы для сравнения.

В версии 2.6.0 появился новый элемент списка Sort By:---Folder is a name of an album---. Его действия несколько отличаются от других элементов списка. Это действительно единственный способ просто создавать альбомы, которые не будут Hand Made, т.е. в коллекции не будет указан список песен, которые входят в этот альбом. Иными словами, этот пункт можно использовать, когда коллекция на носителе имеет правильную структуру, т.е. каждый альбом представляет собой отдельную папочку. Конечно, скажете, Вы, это все хорошо, но зачаем? Ведь для таких коллекций не нужно каких-то специальных приспособлений, достаточно указать корневой каталог коллекции в поле Song Path диалога Options, как все альбомы автоматически заполнят список Albums во вкладке Collection! Так-то оно так, но тогда придется вручную сопоставлять обложки, а при помощи Auto Composer и этого элемента списка, CDI сможет попытаться сам найти обложки, а если не найдет, то создаст их сам.

После того как поиск завершился, будут отображены результаты. В большом текстовом поле указывается, какие найдены альбомы и, если было необходимо, обложки к ним. Ниже, под этим полем, находятся текстовые поля поменьше, а именно: CD Letter и Song path, функции которых аналогичны одноименным полям диалога Options, за тем исключением, что AutoComposer заполняет их сам в процессе генерации коллекции.

Начиная с версии 2.6, у CDI появилась возможность самому создавать обложки, правда, при помощи внешних модулей, которые мы называем дополнениями. Подробнее об этих дополнениях можно прочитать здесь. Если необходимо, чтобы интерфейс использовал эту возможность, то установите флажок Generate covers. Заметим, однако, что в том случае, если установлен флажок Search for same covers in одновременно с Generate covers, то интерейес расценивает это так: искать подходящие обложки, в случае неуспеха создать их самому. Иными словами, CDI сначала ищет обложку согласно указанным условиям и потом, только для тех альбомов, у которых после этой процедуры обложка так и не нашлась, создает обложку сам. Настоятельно рекомендуем ознакомиться со списком доступных дополнений на сайте Nick Software. Этот список находится по адресу http://nsftsupp.h10.ru/cgi-bin/plugins.pl


На этом давайте закончим. Вся информация для создания альбома вручную - в основном файле. Было очень приятно пообщаться. Если это не взаимно, то вылейте свой гнев нам на голову по адресу: NickSoft@Netscape.net. Конструктивная критика приветствуется.


Nick Software © 2003

Hosted by uCoz