# Tracktion Engine Update: Engine in plugin

**URL:** <https://forum.juce.com/t/tracktion-engine-update-engine-in-plugin/38914>\
**Category:** Tracktion Engine\
**Created:** [April 21, 2020, 6:22pm UTC](https://forum.juce.com/t/tracktion-engine-update-engine-in-plugin/38914 "2020-04-21T18:22:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![RolandMR](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/rolandmr/32/641_2.png) [@RolandMR](https://forum.juce.com/u/RolandMR)\
**Post date:** [April 21, 2020, 6:22pm UTC](https://forum.juce.com/t/tracktion-engine-update-engine-in-plugin/38914/1 "2020-04-21T18:22:27Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![dikadk13](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/dikadk13/32/17750_2.png) [@dikadk13](https://forum.juce.com/u/dikadk13)\
**Post date:** [April 22, 2020, 2:05am UTC](https://forum.juce.com/t/tracktion-engine-update-engine-in-plugin/38914/2 "2020-04-22T02:05:26Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![rschramm](https://avatars.discourse-cdn.com/v4/letter/r/a183cd/32.png) [@rschramm](https://forum.juce.com/u/rschramm)\
**Post date:** [May 22, 2020, 6:27pm UTC](https://forum.juce.com/t/tracktion-engine-update-engine-in-plugin/38914/3 "2020-05-22T18:27:01Z")

</div>

Thanks for updating this. Very helpful.

---

<div class="post-metadata">

**Author:** ![audioishi](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/audioishi/32/6374_2.png) [@audioishi](https://forum.juce.com/u/audioishi)\
**Post date:** [May 26, 2020, 8:21pm UTC](https://forum.juce.com/t/tracktion-engine-update-engine-in-plugin/38914/5 "2020-05-26T20:21:10Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![dave96](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/dave96/32/8487_2.png) [@dave96](https://forum.juce.com/u/dave96)\
**Post date:** [May 26, 2020, 10:14pm UTC](https://forum.juce.com/t/tracktion-engine-update-engine-in-plugin/38914/6 "2020-05-26T22:14:59Z")

</div>

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.
