À propos du projet
Tracktion Engine est un module JUCE qui offre un modèle de données de haut niveau et un ensemble de classes pour créer des applications audio basées sur des séquences. Selon le README, il peut servir à construire tout, d'un simple lecteur de fichiers ou séquenceur jusqu'à un DAW complet. Un document distinct FEATURES.md répertorie l'ensemble des fonctionnalités.
Les plateformes prises en charge sont macOS, Windows, Linux, Raspberry Pi, iOS et Android. Le projet nécessite C++20.
Pour commencer : le code du module se trouve sous modules/tracktion_engine, et JUCE est inclus comme sous-module Git pour compiler les exemples. Le README suggère de cloner avec --recurse-submodules.
Les exemples se trouvent dans /examples, avec deux projets principaux : DemoRunner, qui présente diverses fonctionnalités du Engine, et EngineInPluginDemo, qui construit un plugin contenant Tracktion Engine et synchronise la timeline de l'hôte avec la timeline de l'Edit. Il existe aussi des applications Benchmark et TestRunner utilisées par la CI pour tester les fonctionnalités et les performances. Des scripts Bash dans /tests (generate_examples et build) peuvent générer les fichiers de projet IDE ou compiler les exemples ; CMake peut également être exécuté dans le répertoire racine pour créer les cibles DemoRunner, EngineInPluginDemo, TestRunner et Benchmark.
Des tutoriels sont fournis dans /tutorials sous forme de Markdown rendu. La documentation générée par Doxygen est disponible sur tracktion.github.io/tracktion_engine/modules.html, et les benchmarks sur tracktion.github.io/tracktion_engine/benchmarks.html.
Contribution : les rapports de bugs et demandes de fonctionnalités sont dirigés vers la catégorie Tracktion Engine du JUCE Forum. Le README indique que les pull requests GitHub de tiers ne sont pas acceptées directement en raison de restrictions de droits d'auteur, mais que les contributeurs intéressés sont invités à prendre contact.
Licence : Tracktion Engine est couvert par une licence GPL/Commerciale, avec plusieurs niveaux commerciaux. Le README précise que bien qu'il utilise JUCE, il ne fait pas partie de JUCE ni n'appartient à la même société, qu'il est sous licence séparée, et qu'une licence JUCE est également requise lors de la distribution de produits basés sur celui-ci. Il répertorie aussi les bibliothèques tierces intégrées et leurs licences, notamment rpmalloc, moodycamel::ConcurrentQueue, choc, crill, expected, libsamplerate, rigtorp/MPMCQueue, magic_enum, farbot, doctest et signalsmith-stretch.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.