Tracktion Engine and thread safety

Is there high level strategy about which tracktion engine classes are designed to be accessed from multiple threads?

It looks like te::Edit methods and members are generally not thread safe. What about te::Engine and its methods? Should all calls to the various Engine members’ methods be done from the thread that owns the engine instance?

I’m writing an application that will load and process multiple Edits simultaneously, and want to make sure I’m structuring my app in a sensible way.

1 Like

I guess a good starting point would be to assume that almost everything you write in your app should be on the message thread.

The way it’s all designed to work is that the engine does all the hard work of threading behind the scenes, and your app controls it by doing non-blocking operations to modify the state model, and the vast majority of the classes which do that are not thread safe.

1 Like