Цель Tracktion Engine — предоставить модель данных высокого уровня и набор классов для создания аудиоприложений на основе последовательностей. Вы можете создать что угодно: от простого файлового проигрывателя или секвенсора до полноценной DAW.
Ознакомьтесь с документом о функциях, чтобы увидеть полный спектр функций.
NB Tracktion Engine требует C++20
Tracktion Engine поставляется в виде JUCE module
, поэтому его можно легко встроить в существующее приложение JUCE. Вы найдете код модуля в modules/tracktion_engine
. Кроме того, здесь добавлен JUCE в качестве подмодуля Git для создания примеров.
Для начала клонируйте репозиторий и рекурсивно подмодули:
$ git clone --recurse-submodules https://github.com/Tracktion/tracktion_engine.git
Примеры проектов находятся в каталоге /examples
. Есть два основных примера проекта: DemoRunner
и EngineInPluginDemo
. В каждой из этих папок находится файл CMakeLists.txt, который вы можете использовать для их создания (или запустить сценарий build
упомянутый ниже).
DemoRunner
содержит ряд примеров приложений, демонстрирующих различные функции Engine. EngineInPluginDemo
создает плагин, содержащий Tracktion Engine, и синхронизирует временную шкалу хоста с временной шкалой Edit.
Кроме того, существуют приложения Benchmark
и TestRunner
используемые CI для тестирования функциональности и производительности Engine.
Чтобы сгенерировать все примеры для работающей платформы, используйте сценарий в /tests
. Это сценарии bash, поэтому, если вы работаете в Windows, вы можете использовать оболочку Git Bash
, поставляемую с Git, для запуска следующего.
$ cd tests
$ ./generate_examples
generate_examples
сгенерирует для вас файлы проекта IDE. В качестве альтернативы вы также можете запустить сценарий build
, чтобы собрать примеры, готовые к запуску.
После того как примеры проектов будут созданы или собраны, вы сможете найти их в examples/example_name/build
.
Альтернативно вы можете запустить cmake в корневом каталоге, который создаст проект с целями DemoRunner
, EngineInPluginDemo
, TestRunner
и Benchmark
. Например
cmake -G < generator_name > -B build
Когда вы будете готовы погрузиться в код, откройте файлы IDE и прочитайте руководства в /tutorials
. Вы можете просмотреть их на GitHub здесь, чтобы увидеть отрисованный Markdown.
Мы все еще находимся в процессе доработки комментариев в формате Doxygen, но документацию, созданную Doxygen, можно найти здесь: https://tracktion.github.io/tracktion_engine/modules.html.
Тесты на самом деле предназначены для нашего внутреннего использования, но могут быть интересны некоторым людям: https://tracktion.github.io/tracktion_engine/benchmarks.html
Tracktion Engine предоставляется в формате модуля JUCE. Для отчетов об ошибках и запросов на добавление функций посетите форум JUCE и разместите сообщение в категории Tracktion Engine — разработчики Tracktion Engine активны там, будут читать каждое сообщение и отвечать соответствующим образом. Мы не принимаем запросы на включение GitHub от третьих лиц напрямую из-за ограничений авторских прав, но если вы хотите внести какие-либо изменения, свяжитесь с нами.
Tracktion Engine защищен лицензией GPL/коммерческой лицензией.
Для Tracktion Engine существует несколько уровней коммерческого лицензирования с разными условиями для каждого. Цены можно найти на странице разработчиков Tracktion.
NB. Хотя Tracktion Engine использует JUCE, он не является частью JUCE и не принадлежит той же компании. Таким образом, он лицензируется отдельно, и вы должны убедиться, что у вас есть соответствующая лицензия JUCE от juce.com при распространении продуктов на основе Tracktion Engine. Аналогично, Tracktion Engine не включен в лицензию JUCE, и для распространения продуктов вам необходимо получить вышеупомянутую лицензию Tracktion Engine.
Tracktion Engine использует и содержит копии следующих библиотек. При необходимости убедитесь, что вы соблюдаете условия лицензии: