Об этом проекте

Tracktion Engine — это модуль JUCE, который предлагает высокоуровневую модель данных и набор классов для создания аудиоприложений, основанных на последовательностях. Согласно README, его можно использовать для создания чего угодно: от простого файлового плеера или секвенсора до полноценной DAW. Отдельный документ FEATURES.md перечисляет полный спектр функций. Поддерживаемые платформы: macOS, Windows, Linux, Raspberry Pi, iOS и Android. Проект требует C++20. Начало работы: код модуля находится в modules/tracktion_engine, а JUCE включен как Git-подмодуль для сборки примеров. README рекомендует клонировать с флагом --recurse-submodules. Примеры находятся в /examples, с двумя основными проектами: DemoRunner, который демонстрирует различные функции Engine, и EngineInPluginDemo, который создает плагин, содержащий Tracktion Engine, и синхронизирует таймлайн хоста с таймлайном Edit. Также есть приложения Benchmark и TestRunner, используемые CI для тестирования функциональности и производительности. Bash-скрипты в /tests (generate_examples и build) могут генерировать файлы проектов IDE или собирать примеры; CMake также можно запустить в корневом каталоге для создания целей для DemoRunner, EngineInPluginDemo, TestRunner и Benchmark. Учебные пособия предоставлены в /tutorials в виде отрендеренного Markdown. Документация, сгенерированная Doxygen, доступна на tracktion.github.io/tracktion_engine/modules.html, а бенчмарки — на tracktion.github.io/tracktion_engine/benchmarks.html. Вклад: сообщения об ошибках и запросы функций направляются в категорию Tracktion Engine на форуме JUCE. В README указано, что сторонние pull request на GitHub не принимаются напрямую из-за ограничений авторского права, но заинтересованным участникам предлагается связаться. Лицензирование: Tracktion Engine покрывается лицензией GPL/коммерческой, с несколькими коммерческими уровнями. README отмечает, что, хотя он использует JUCE, он не является частью JUCE и не принадлежит той же компании, лицензируется отдельно, и что лицензия JUCE также требуется при распространении продуктов на его основе. Также перечислены сторонние библиотеки и их лицензии, включая rpmalloc, moodycamel::ConcurrentQueue, choc, crill, expected, libsamplerate, rigtorp/MPMCQueue, magic_enum, farbot, doctest и signalsmith-stretch.