Tracktion Engine Update: Engine in plugin

Over the last few weeks @dave96 and I have made some changes to the Tracktion Engine so it is now usable from a plugin.

  • All singletons were removed so multiple instances can be created without issues
  • Added support or MIDI out
  • Sync engine playhead to DAW playhead
  • One input can now be assigned to multiple tracks
  • EngineInPlugin demo updated. It now has two tracks, with the MIDI input assigned to both. Track was has a 4OSC synth routed to audio out. Track 2 passes the input MIDI directly to the output.

The only thing I’m aware of that isn’t supported is using control surfaces to control a plugin. I don’t currently have plans to support it, but if you have a use case for it, please let me know and we can discuss how it should be implemented.

9 Likes

Thank you for adding and maintaining examples. They help a lot to understand how engine works.

Thanks for updating this. Very helpful.

If you’ve been asking for this feature, I’m curious what your use-case is. I know its been a popular request, so there must be something I’m missing…

Tracktion Engine sessions/edits are built around a sequencable timeline. Most audio plugins don’t manage their own content timelines, and with VSTs I didn’t think it was even feasible to sync events to the host timeline (like you can with ARA).

When you are building a plugin that is designed to run in a host, what do you get from the Tracktion Engine that’s not available in JUCE?

Hope this doesn’t sound rude, as a I know that a lot of people want this feature. I’m just curious!

I think a lot of people use the sequencer elements for playing back MIDI or step clips through some custom sound generator or even the internal sampler.

Syncing an internal plugin timeline to a DAW timeline is a surprisingly tricky thing to do and with Tracktion Engine this is as simple as adding/removing clips to a timeline.

If there are other use cases I’d be interested to hear them.

3 Likes