dave96
June 17, 2022, 12:32pm
#1
As discussed previously I’ve now merged the Tracktion Engine 2.0 feature branch to develop.
We’re building Waveform on this so it should be stable enough but the API might be tweaked a little bit until we’re happy to move it to the main branch.
It’s probably a good time to start exploring the new structure, types and features if you’re using it for development. I hope to get it in a finished state in the next month or two.
Please check the transition document for all the details: tracktion_engine/Engine_2.0_Transition.md at feature/engine_2_0 · Tracktion/tracktion_engine · GitHub
9 Likes
jules
June 17, 2022, 12:44pm
#2
Yay! Only took 22 years to get some strongly-typed time and beat position classes into the codebase!
Well done Dave on getting this over the line!
4 Likes
sudara
June 17, 2022, 12:53pm
#3
Congrats! What a huge job!
Just checking on this now… Looks like the link is dead. Is 2.0 still available somewhere? Back in development?
Checkout the develop branch
And the transition document is here:
# Transitioning to Tracktion Engine 2.0
## New Module Division
Tracktion Engine has been split up in to three modules. The idea behind this is that developers can use the primitive base types (**core**) in the framework or the audio playback engine (**graph**) without having to use the engine model. Most applications will still use `tracktion::engine` but if you’re making a lower level app the other modules may be of use to you. N.B. a Tracktion Engine license is required for use of **any** of these modules.
Although these are separate modules, they are contained within nested namespaces so you can access them all with the `tracktion::` specifier. This is the recommended method incase classes/functions move between modules.
### tracktion::core
Contains primitive types that do low level operations like define a time or beat position/duration and convert between them. This library aims to be header only so is simple to include. It is used extensively throughout the rest of the framework.
### tracktion::graph
Contains the low level audio processing library which powers playback inside tracktion::engine. This provides base classes for processing nodes and graph construction, then playing these back using multiple threads in a lock-free way.
### tracktion::engine
Contains the bulk of the framework and the higher level classes required to build an application quickly. This defines the Edit model and the various classes used to interact with the model.
This file has been truncated. show original
1 Like
dave96
October 3, 2022, 12:53pm
#6
It looks like I can’t edit that post now but here’s an updated link for anyone reading this thread in the future:
Please check the transition document for all the details: tracktion_engine/Engine_2.0_Transition.md at develop · Tracktion/tracktion_engine · GitHub