Форум.ДуДу2

Форум.ДуДу2 (http://forum.dudu2.ru/index.php)
-   ПО для Windows (http://forum.dudu2.ru/forumdisplay.php?f=123)
-   -   Консольный кроссплатформенный аудиодвижок OpenDSE (http://forum.dudu2.ru/showthread.php?t=319)

tretdm 24.05.2026 14:23

Консольный кроссплатформенный аудиодвижок OpenDSE
 
Вложений: 2
Сейчас конец мая, я выпускаюсь из своего колледжа и уже почти закончил работу над своим дипломным проектом.

Тема тут такая: "Разработка модульного кроссплатформенного аудиодвижка на C и C++".

Долбился я над этим месяц и все-таки сделал минимально работоспобный проект.

На скриншотах вот так выглядит его практическая сторона. Основной демонстрационной программой является плеер OpenDSS (да, это отсылка к оригинальному Digital Sound System от Сергея Сапелина), который в свою очередь использует OpenDSE в качестве аудиодвижка.

Аудиодвижок OpenDSE использует две технологии:
  • WaveOut/WaveIn для Windows NT и 9x;
  • WASAPI для Windows Vista и выше.
Пока что OpenDSE поддерживает только несжатые WAV-файлы в PCM, при этом поддержка параметров кодирования зависит от установленных драйверов в системе. К счастью, в подавляющем большинстве звуковых карт OpenDSE способен прочитать звук качества CD Audio (но не сами компакт-диски, так как это требует конвертации).

Удивительно, но даже тяжелые WAV-файлы этот аудиодвижок читает без проблем. Потребление оперативной памяти и нагрузка на процессор остаются на самом низком уровне - до 2 МБ ОЗУ в среднем и до 5% нагрузки.

Поддерживаются все версии Windows, начиная с Windows NT 3.1 и Windows 95.

На данный момент проект все ещё сырой, но вполне работоспособный, поэтому обо всем по порядку я расскажу позже, а пока предлагаю любителям ретро поделиться впечатлениями об этом проекте.

Кстати, публичная версия документа будет выложена на моем сервере после защиты.

tretdm 27.05.2026 09:28

Проект выйдет в свет 1 июня 2026 г.

В этот день будут выложены в открытый доступ:
  • исходный код программы OpenDSS и двух ключевых библиотек CroconTUI и OpenDSE
  • бинарные файлы: исполняемые файлы и файлы библиотек для Windows и Linux
Теперь показываю дорожную карту всех трех подпроектов:

июнь 2026
  • выход публичной версии документа
OpenDSE 0.1.x
  • поддержка компакт-дисков CD-DA (CD Audio)
  • поддержка аудиоформатов FLAC и MP3
  • поддержка внешних источников звука (например, линейный вход)
  • реализация для DirectSound
  • исправление известных ошибок
CroconTUI 0.1.0
  • реализация оконного режима псевдографического интерфейса
OpenDSS 0.1.0
  • появится перемотка файла
OpenDSS будет опубликован под лицензией GPLv3 и выше, а OpenDSE и CroconTUI - под трехпунктной лицензией BSD.

tretdm 01.06.2026 14:59

Все готово к первому запуску

Исходный код программы и библиотек были выложены в открытый доступ. Вместе с этим я собрал бинарники под любые операционки (почти).

Библиотеки
CroconTUI: https://github.com/CroconTUI (BSD-3)
OpenDSE: https://github.com/tinelix/OpenDSE (BSD-3)

Аудиоплеер OpenDSS
OpenDSS: https://github.com/tinelix/OpenDSS (GPLv3+)

Как работать с исходниками и собрать из них?

Клонируйте репозитории CroconTUI из манифеста через Repo Launcher и запускайте скрипт в репозитории build. Для остальных проектов достаточно просто воспользоваться Git.

Пробуйте и делитесь впечатлениями!

nsfrolov 01.06.2026 15:48

Удачи в разработке, будет интересно взглянуть на готовый продукт

tretdm 09.06.2026 16:03

Вложений: 2
Следующий релиз всех основных программ OpenDSS, библиотек OpenDSE и CroconTUI под номером 0.0.2 выйдет уже завтра.

Вот список нововведений, сделанные за 8 дней после старта:
  • добавлена поддержка формата a.out для библиотек;
  • добавлены полноценные фронтенд-реализации для OSS и PulseAudio;
  • реализован автопоиск подходящих аудиоинтерфейсов для Windows и Linux, включая устаревшие;
  • немного улучшен вывод текста в старых версиях Linux.

Часть нововведений перенесена из ветви 0.1.x.

tretdm 10.06.2026 18:38

Как я и обещал, этот предрелиз под номером 0.0.2 я все же выкатил.

Скачать готовую версию можно по этой ссылке.

Прошу обратить внимание: для работы приложения необходимо доустановить библиотеки, это можно сделать при помощи скрипта ./install.sh. Вызывайте прямо в терминале.

Обновленная Windows-версия будет, но чуть позже. Там изменений совсем немного, в основном я постарался исправить ситуацию в Linux.


Текущее время: 05:11. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc. Перевод: zCarot