L'objectif de Tracktion Engine est de fournir 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. Vous pouvez créer n'importe quoi, depuis un simple lecteur de fichiers ou séquenceur jusqu'à une DAW complète.
Jetez un œil au document sur les fonctionnalités pour connaître la gamme complète des fonctionnalités.
Le moteur NB Tracktion nécessite C++20
Tracktion Engine est fourni sous forme de JUCE module
afin qu'il puisse facilement s'intégrer à une application JUCE existante. Vous trouverez le code du module sous modules/tracktion_engine
. De plus, JUCE est ajouté ici en tant que sous-module Git afin de créer les exemples.
Pour commencer, clonez le dépôt et récurez les sous-modules :
$ git clone --recurse-submodules https://github.com/Tracktion/tracktion_engine.git
Des exemples de projets se trouvent dans /examples
. Il existe deux exemples de projets principaux, DemoRunner
et EngineInPluginDemo
. Dans chacun de ces dossiers se trouve un fichier CMakeLists.txt que vous pouvez utiliser pour les construire (ou exécuter le script build
mentionné ci-dessous).
DemoRunner
contient un certain nombre d'exemples d'applications présentant diverses fonctionnalités du moteur. EngineInPluginDemo
crée un plugin qui contient Tracktion Engine et synchronise la chronologie de l'hôte avec la chronologie de l'édition.
De plus, il existe des applications Benchmark
et TestRunner
utilisées par CI pour tester les fonctionnalités et les performances du moteur.
Pour générer tous les exemples pour la plate-forme en cours d'exécution, utilisez le script dans /tests
. Ce sont des scripts bash, donc si vous êtes sous Windows, vous pouvez utiliser le shell Git Bash
fourni avec Git pour exécuter ce qui suit.
$ cd tests
$ ./generate_examples
generate_examples
générera les fichiers du projet IDE pour vous. Vous pouvez également exécuter le script build
pour créer également les exemples, prêts à être exécutés.
Une fois les exemples de projets générés ou construits, vous pouvez les trouver dans examples/example_name/build
.
Alternativement, vous pouvez exécuter cmake dans le répertoire racine qui créera un projet avec les cibles DemoRunner
, EngineInPluginDemo
, TestRunner
et Benchmark
. Par exemple
cmake -G < generator_name > -B build
Une fois que vous êtes prêt à vous plonger dans le code, ouvrez les fichiers IDE et lisez les didacticiels dans /tutorials
. Vous pouvez les consulter sur GitHub ici pour voir le Markdown rendu.
Nous sommes toujours en train d'étoffer les commentaires au format Doxygen, mais la documentation générée par Doxygen peut être trouvée ici : https://tracktion.github.io/tracktion_engine/modules.html
Les benchmarks sont vraiment destinés à notre propre usage interne mais pourraient intéresser certaines personnes : https://tracktion.github.io/tracktion_engine/benchmarks.html
Tracktion Engine est fourni au format de module JUCE. Pour les rapports de bogues et les demandes de fonctionnalités, veuillez visiter le forum JUCE et publier en utilisant la catégorie Tracktion Engine - les développeurs de Tracktion Engine y sont actifs et liront chaque message et répondront en conséquence. Nous n'acceptons pas directement les demandes d'extraction GitHub de tiers en raison de restrictions de droits d'auteur, mais si vous souhaitez apporter des modifications, veuillez nous contacter.
Tracktion Engine est couvert par une licence GPL/Commercial.
Il existe plusieurs niveaux de licence commerciale pour Tracktion Engine, avec des conditions différentes pour chacun. Pour les prix, consultez la page des développeurs Tracktion.
NB Bien que Tracktion Engine utilise JUCE, il ne fait pas partie de JUCE ni n'appartient à la même société. En tant que tel, il est sous licence séparément et vous devez vous assurer que vous disposez d'une licence JUCE appropriée de juce.com lorsque vous distribuez des produits basés sur Tracktion Engine. De même, Tracktion Engine n'est pas inclus dans une licence JUCE et vous devez obtenir la licence Tracktion Engine mentionnée ci-dessus pour distribuer des produits.
Tracktion Engine utilise et contient des copies des bibliothèques suivantes. Veuillez vous assurer de respecter les termes de la licence si nécessaire :