# No sound if Engine run as plugin with Juce 7

**URL:** <https://forum.juce.com/t/no-sound-if-engine-run-as-plugin-with-juce-7/52790>\
**Category:** Tracktion Engine\
**Created:** [August 28, 2022, 2:33pm UTC](https://forum.juce.com/t/no-sound-if-engine-run-as-plugin-with-juce-7/52790 "2022-08-28T14:33:46Z")\
**Posts on this page:** 5\
**Page:** 1

<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:** [August 28, 2022, 2:33pm UTC](https://forum.juce.com/t/no-sound-if-engine-run-as-plugin-with-juce-7/52790/1 "2022-08-28T14:33:46Z")

</div>

@dave96 Engine is not outputting any sound if build as Plugin (AU, VST, Auv3/ios ) with Juce 7.  
Issue can be reproduced by building EngineInPluginDemo with Juce 7 `develop` or `juce7` branches and specifying TRACKTION\_JUCE7=1

Don’t see any errors in the log. Playhead seems to work with juce 7 and shows correct bpm and position for the host.

Issue is not present with commit `b0a8bc0ce2a9241c05f47c3a2b9b6b37e8f70513` (same as latest on tracktion\_engine `develop`). Standalone app works without any issues as well.

Thanks!

---

<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:** [September 1, 2022, 6:49pm UTC](https://forum.juce.com/t/no-sound-if-engine-run-as-plugin-with-juce-7/52790/2 "2022-09-01T18:49:06Z")

</div>

Hi @dave96,

Can you please shine some light when are you planning to migrate `tracktion_engine` to use Juce 7 by default. Not just supporting Juce 7 by setting flag TRACKTION\_JUCE7=1.

Can you also point me what can I do to troubleshoot this issue? Where to look in tracktion codebase. Which classes to debug?  
Thanks!

---

<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:** [September 7, 2022, 1:33pm UTC](https://forum.juce.com/t/no-sound-if-engine-run-as-plugin-with-juce-7/52790/3 "2022-09-07T13:33:15Z")

</div>

Ok, it’s taken me a whole day with `git bisect` to track this down but I’ve finally found a fix here:

> **[GitHub - Tracktion/tracktion\_engine at develop](https://github.com/Tracktion/tracktion_engine/tree/develop)**
>
> develop

It might be worth pointing out to @reuk and maybe others that this break was introduced by this juce commit:

> <https://github.com/juce-framework/JUCE/commit/cfa289d943fb235d1d1fa6a087c4cded5bab1b41>

The problem is that we were calling audioDeviceIOCallback which has been fine up until this point but now silently does nothing as the base class implementation is empty. I’ve had to switch to using `audioDeviceIOCallbackWithContext` with a default context to get the callbacks to be called.  
I’m not sure if this is the intended behaviour though, I would have thought this would be a louder breaking change or at least something in the `Breaking-Changes` doc about it.

I imagine anyone else with custom `juce::AudioIODevice`s will also come across this problem.

* * *

As to your question about when JUCE 7 will be the default in the Engine, it really depends how quickly I can migrate the ~0.5m lines of our Waveform codebase to it. It’s a big job and there are all sorts of subtle changes I need to look in to such as the changes to threading, particularly on macOS, repainting on macOS and Windows and a bunch of other things that could potentially be problematic for our users.

Since we released Waveform Free last week, I’ve been trying to get to the backlog of forum posts about Tracktion Engine but it’s slow going as some issues (like this) can take several days.

TL;DR as quickly as I can with high confidence nothing is broken.

---

<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:** [September 7, 2022, 1:39pm UTC](https://forum.juce.com/t/no-sound-if-engine-run-as-plugin-with-juce-7/52790/4 "2022-09-07T13:39:28Z")

</div>

Thank you @dave96!  
I will switch back to Juce 7.

---

<div class="post-metadata">

**Author:** ![reuk](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/reuk/32/21494_2.png) [@reuk](https://forum.juce.com/u/reuk)\
**Post date:** [September 22, 2022, 5:05pm UTC](https://forum.juce.com/t/no-sound-if-engine-run-as-plugin-with-juce-7/52790/5 "2022-09-22T17:05:18Z")

</div>

This issue has confused a few people - sorry about that!

We’ve now removed the old callback function:

> <https://github.com/juce-framework/JUCE/commit/c97864d7f34f8d4ea4caa794d818318073e751a2>

Although this is a breaking change, hopefully this will make it easier to update to JUCE 7 without introducing new bugs.
