Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга о KOL.doc
Скачиваний:
29
Добавлен:
30.04.2019
Размер:
1.77 Mб
Скачать

6.8.4. Прочие средства для работы со звуком

Кроме выше перечисленного, имеется еще несколько пакетов для создания более серьезных приложений, работающих со звуком. Перечислю только некоторые:

FFTrealKOL – адаптация для KOL одной из самых быстрых реализаций быстрого преобразования Фурье, автор Thaddy de Koning (Нидерланды);

Kol32Audio – пакет для профессиональной работы со звуком, включая создание спецэффектов. Наверняка пригодится, если вы захотите создать редактор звуковых файлов. Автор тот же;

MultiWave – содержит объект для воспроизведения одновременно нескольких десятков звуковых потоков в формате WAV. Микширование происходит программно, звук воспроизводится средствами DirectSound.

KOLMidi – пакет для работы с MIDI, автор Thaddy de Koning. Имеется демонстрация KOLMidiTest (в отдельном архиве).

6.9. Работа с архивами

6.9.1. TCabFile

Поддержка кабинетных файлов фирмы Microsoft имеется в самом KOL. В модуле KOLadd определен объектный тип TCabFile. Он нужен для того, чтобы выполнять распаковку из архивов этого типа. Интерфейс его достаточно невелик, чтобы разобраться своими силами, так что не буду тратить на его описание много места.

6.9.2. KOLZLib

Этот пакет содержит функции для сжатия и распаковки потоков данных и основан на широко известной библиотеке zlib. В данной реализации обработка ошибок выполнена не через возбуждение исключительных состояний, а через возврат из функций кодов ошибок, что делает приложение несколько «легче». Авторы адаптации: Алексей Шувалов, позже обновление до версии zlib 1.1.4 выполнял Dimaxx.

Модуль KOLZlib успешно используется, по крайней мере, в пакете KOLPng (см. раздел, посвященный графическим расширениям KOL).

6.9.3. KOL_UnZip

Адаптацию для KOL этого пакета так же выполнил Dimaxx. Он предназначен только для распаковки Zip-архивов, причем не запароленных. Но важный плюс: не требуется никаких внешних библиотек dll, что очень важно для тех, кто придерживается принципа «все мое ношу с собой».

6.9.4. KOLZip

Это – адаптированная для KOL бесплатная версия компонента TZip (автор Angus Johnson). Адаптацию выполнил Богуслав Брандыс (Польша). Недостатки этого пакета: требуется внешняя dll (ее нужно скачать отдельно), не поддерживается паролирование, есть другие ограничения. Зато можно создавать ZIP-архивы.

6.9.5. DIUCL

Этот пакет для сжатия и распаковки данных использует алгоритмы известного упаковщика исполнимых файлов UPX. Для использования в приложениях, написанных с применением KOL, в опции проекта достаточно добавить символ условной компиляции KOL. При достаточно хорошем коэффициенте сжатия, распаковщик очень компактный, и если использовать только распаковку, приложение увеличивается совсем не намного. Автор Ralf Junker (Германия).

Если речь идет только об упаковке ресурсов, то имеет смысл воспользоваться самим упаковщиком приложений UPX. Если же ваше приложение работает со своими внешними файлами большого размера, то этот пакет незаменим для того, чтобы обеспечивать хранение таких файлов на внешних носителях в сжатом виде. Упаковка данных перед передачей их по сети так же может иметь смысл.

5.9.6. KOLmdvLZH

Пакет для поддержки алгоритма сжатия и распаковки LZH, автор Дмитрий Матвеев.