The aim of Tracktion Engine is to provide a high level data model and set of classes for building sequence based audio applications. You can build anything from a simple file-player or sequencer to a full blown DAW.
- macOS
- Windows
- Linux
- Raspberry PI
- iOS
- Android
Tracktion Engine is supplied as a JUCE module
so it can easily fit in to an existing JUCE application. You'll find the module code under modules/tracktion_engine
. Additionally, JUCE is added as a Git Submodule here in order to build the examples.
To start with, clone the repo and recurse the submodules:
$ git clone --recurse-submodules https://github.com/Tracktion/tracktion_engine.git
Example projects are located in /examples
. Because these are provided as JUCE PIPs, the Projucer
needs to be built to generate the projects. This can be easily done with the scripts contained in /tests
.
$ cd tests/mac
$ ./generate_examples
generate_examples
will build the Projucer and generate the project files for you. Alternatively you can run the build_examples
script to build the examples as well, ready to run.
Once the example projects have been generated or built you can find them in examples/projects
.
Start with the PitchAndTimeDemo
or StepSequencerDemo
to see some basic apps in action.
Once you're ready to dive in to the code, open the IDE files and have a read through the tutorials in /tutorials
. You can view these on GitHub here to see the rendered Markdown.
Tracktion Engine is provided in JUCE module format, for bug reports and features requests, please visit the JUCE Forum - the Tracktion Engine developers are active there and will read every post and respond accordingly. We don't accept third party GitHub pull requests directly due to copyright restrictions but if you would like to contribute any changes please contact us.
Tracktion Engine is covered by a GPL/Commercial license.
There are multiple commercial licensing tiers for Tracktion Engine, with different terms for each. For prices, see the Tracktion Developers Page.