O objetivo do Tracktion Engine é fornecer um modelo de dados de alto nível e um conjunto de classes para a construção de aplicativos de áudio baseados em sequência. Você pode construir qualquer coisa, desde um simples reprodutor de arquivos ou sequenciador até um DAW completo.
Dê uma olhada no documento de recursos para ver toda a gama de recursos.
NB Tracktion Engine requer C++20
O Tracktion Engine é fornecido como um JUCE module
para que possa ser facilmente integrado a um aplicativo JUCE existente. Você encontrará o código do módulo em modules/tracktion_engine
. Além disso, JUCE é adicionado como um submódulo Git aqui para construir os exemplos.
Para começar, clone o repositório e recurse os submódulos:
$ git clone --recurse-submodules https://github.com/Tracktion/tracktion_engine.git
Projetos de exemplo estão localizados em /examples
. Existem dois projetos de exemplo principais, DemoRunner
e EngineInPluginDemo
. Em cada uma dessas pastas há um arquivo CMakeLists.txt que você pode usar para construí-los (ou executar o script build
mencionado abaixo).
DemoRunner
contém vários exemplos de aplicativos que mostram diversas funcionalidades do Engine. EngineInPluginDemo
cria um plugin que contém Tracktion Engine e sincroniza a linha do tempo do host com a linha do tempo da edição.
Além disso, existem aplicativos Benchmark
e TestRunner
usados pelo CI para testar a funcionalidade e o desempenho do mecanismo.
Para gerar todos os exemplos para a plataforma em execução use o script em /tests
. Esses são scripts bash, portanto, se você estiver no Windows, poderá usar o shell Git Bash
que vem com o Git para executar o seguinte.
$ cd tests
$ ./generate_examples
generate_examples
irá gerar os arquivos do projeto IDE para você. Alternativamente, você pode executar o script build
para construir os exemplos também, prontos para execução.
Depois que os projetos de exemplo forem gerados ou construídos, você poderá encontrá-los em examples/example_name/build
.
Alternativamente, você pode executar cmake no diretório raiz que criará um projeto com os alvos DemoRunner
, EngineInPluginDemo
, TestRunner
e Benchmark
. Por exemplo
cmake -G < generator_name > -B build
Quando estiver pronto para mergulhar no código, abra os arquivos IDE e leia os tutoriais em /tutorials
. Você pode visualizá-los no GitHub aqui para ver o Markdown renderizado.
Ainda estamos no processo de desenvolver comentários formatados no Doxygen, mas a documentação gerada pelo Doxygen pode ser encontrada aqui: https://tracktion.github.io/tracktion_engine/modules.html
Os benchmarks são, na verdade, para nosso uso interno, mas podem ser do interesse de algumas pessoas: https://tracktion.github.io/tracktion_engine/benchmarks.html
O Tracktion Engine é fornecido no formato de módulo JUCE. Para relatórios de bugs e solicitações de recursos, visite o Fórum JUCE e poste usando a categoria Tracktion Engine - os desenvolvedores do Tracktion Engine estão ativos lá e lerão todas as postagens e responderão de acordo. Não aceitamos solicitações pull de GitHub de terceiros diretamente devido a restrições de direitos autorais, mas se você quiser contribuir com quaisquer alterações, entre em contato conosco.
Tracktion Engine é coberto por uma licença GPL/Comercial.
Existem vários níveis de licenciamento comercial para Tracktion Engine, com termos diferentes para cada um. Para preços, consulte a página de desenvolvedores do Tracktion.
NB Embora o Tracktion Engine utilize JUCE, ele não faz parte da JUCE nem é propriedade da mesma empresa. Como tal, ele é licenciado separadamente e você deve certificar-se de ter uma licença JUCE apropriada de juce.com ao distribuir produtos baseados no Tracktion Engine. Da mesma forma, o Tracktion Engine não está incluído em uma licença JUCE e você deve obter a licença do Tracktion Engine mencionada acima para distribuir produtos.
Tracktion Engine utiliza e contém cópias das seguintes bibliotecas. Certifique-se de seguir os termos da licença quando necessário: