Sobre o projeto
O Tracktion Engine é um módulo JUCE que oferece um modelo de dados de alto nível e um conjunto de classes para criar aplicações de áudio baseadas em sequências. Segundo o README, pode ser usado para criar desde um simples reprodutor de ficheiros ou sequenciador até uma DAW completa. Um documento separado FEATURES.md lista a gama completa de funcionalidades.
As plataformas suportadas são macOS, Windows, Linux, Raspberry Pi, iOS e Android. O projeto requer C++20.
Primeiros passos: o código do módulo encontra-se em modules/tracktion_engine, e o JUCE é incluído como submódulo Git para compilar os exemplos. O README sugere clonar com --recurse-submodules.
Os exemplos estão em /examples, com dois projetos principais: DemoRunner, que demonstra várias funcionalidades do Engine, e EngineInPluginDemo, que compila um plugin contendo o Tracktion Engine e sincroniza a linha temporal do anfitrião com a linha temporal do Edit. Existem também as aplicações Benchmark e TestRunner usadas pela CI para testar funcionalidades e desempenho. Scripts Bash em /tests (generate_examples e build) podem gerar ficheiros de projeto de IDE ou compilar os exemplos; também é possível executar CMake no diretório raiz para criar alvos para DemoRunner, EngineInPluginDemo, TestRunner e Benchmark.
Os tutoriais são fornecidos em /tutorials como Markdown renderizado. A documentação gerada pelo Doxygen está disponível em tracktion.github.io/tracktion_engine/modules.html, e os benchmarks em tracktion.github.io/tracktion_engine/benchmarks.html.
Contribuições: relatórios de erros e pedidos de funcionalidades são encaminhados para a categoria Tracktion Engine do JUCE Forum. O README afirma que os pull requests de terceiros no GitHub não são aceites diretamente devido a restrições de direitos de autor, mas os contribuidores interessados são convidados a entrar em contacto.
Licenciamento: o Tracktion Engine está abrangido por uma licença GPL/Comercial, com vários níveis comerciais. O README observa que, embora utilize o JUCE, não faz parte do JUCE nem pertence à mesma empresa, é licenciado separadamente, e que também é necessária uma licença JUCE ao distribuir produtos baseados nele. Lista também bibliotecas de terceiros incluídas e as respetivas licenças, incluindo rpmalloc, moodycamel::ConcurrentQueue, choc, crill, expected, libsamplerate, rigtorp/MPMCQueue, magic_enum, farbot, doctest e signalsmith-stretch.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.