segrQuote:
Кстати, почему работа со звуком сделана только через драйвер? И микшер каждый раз писать приходится заново? Может имеет смысл выделить функции работы со звуком в отдельную библиотеку в системе, и просто обращаться из приложения, что-то вроде: "создать микшер (столько то каналов)", "проиграть сэмпл (микшер, указатель на сэмпл)" и т.д.
Пока не было особой необходимости в этом.
На счёт либы общего микшера для разных программ есть большие сомнения. Такой нужен в первую очередь играм, обычным достаточно статических буферов и waveout(). А в играх слишком много вариантов обработки звука. В думе учитывается расстояние до источников звука, в бомбере можно сделать позиционирование, в других играх что-то ещё. Универсальное решение "для всех" получится громоздким и скорее всего неудобным.
Quote:
И кодеки сделать системные. Или сделано уже?
Пока нет, всё в основном на С написано и переводить кодеки в асм желающих мало. Я готовлю набор pe dll, но в этом случае потребуется установка дистрибутива на /KolibriOs
функция загружает обычные и сжатые kpack'ом файлы
Code:
======================================================================
========== Function 68, subfunction 27 - load file ===================
======================================================================
Parameters:
* eax = 68 - function number
* ebx = 27 - subfunction number
* ecx = pointer to ASCIIZ-string with the filename
Returned value:
* eax = pointer to the loaded file, or zero
* edx = size of the loaded file, or zero
Remarks:
* function loads file and unpacks, if necessary