Об этом проекте
Anklang — приложение цифрового синтеза аудио, предназначенное для создания и композиции музыки в реальном времени, а также другого аудиоматериала. Это переработка нескольких прежних аудиопроектов двух основных авторов, направленная на создание целостного, надёжного объединения для композиции и интерактивного создания синтезированной музыки.
Проект можно собрать на Linux, клонировав репозиторий и выполнив `make`. Однако проще загрузить один из автономных релизных сборок AppImage, сделать его исполняемым и запустить.
## Разработка
### Дорожная карта
По мере роста проекта дорожная карта была перенесена в [ROADMAP.md](ROADMAP.md).
### Структура проекта
- `ase/` — исходники бэкенда C++23 (`*.c`, `*.h`, `*.cc`, `*.hh`)
- `ase/api.hh` — публичный API для IPC между бэкендом и фронтендом
- `trkn/` — исходники вендоров (tracktion_engine, JUCE)
- `ui/` — веб-интерфейс (Vite, Tailwind, SolidJS)
- `jsonipc/` — IPC для JSON-сообщений между бэкендом и браузером
### Сборка и тестирование
- Сборка: `make`
- Запуск всех тестов: `make check`
- Запуск конкретного теста: `make check-<test_name>` (например, `make check-string_funcs`)
- Прямой запуск теста: `out/lib/AnklangSynthEngine --test <test_name>`
- Список доступных тестов: `out/lib/AnklangSynthEngine --list-tests`
### Рекомендации по тестированию
- Для нового кода требуются соответствующие тесты
- Избегайте тестов того, что уже гарантирует система типов
- Используйте только методы, доступные в интерфейсе (расширяйте файлы `*.hh` при необходимости)
## Лицензия
Это приложение, включая аудиодвижок, лицензировано под [MPL-2.0](https://github.com/tim-janik/anklang/blob/trunk/LICENSE).
Однако плагины, которые могут использоваться с этим приложением или загружаться через пакеты расширений, могут подпадать под другие условия лицензирования, такие как GPLv3 или проприетарные лицензии.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.