Including/linking Tracktion Engine's SoundTouch

Hello,

I’m having trouble attempting to use the SoundTouch library in my project. My understanding is that SoundTouch is already packed in to Tracktion Engine, as seen in tracktion_TimeStretch.h and friends. By using this include (#include <tracktion_engine/3rd_party/soundtouch/include/SoundTouch.h>) I can get my DLL to build, but it fails in the linking step as seen in the image below. The 5 unresolved externals match the soundtouch::SoundTouch constructor and the 4 member functions I’m calling in my code.

Presently TRACKTION_ENABLE_TIMESTRETCH_SOUNDTOUCH is enabled in my project. I have tried adding soundtouch as an external library in Projucer as well, but my hunch is that I shouldn’t have to do this if the library is already packed in to tracktion.

What do I need to do to get the soundtouch library to link? Is there a tracktion-y/juce-y way to do this?

Thanks!

Is it possible that within my code I don’t have the ability to create an object of type SoundTouch, but rather have to go through Tracktion Engine’s TimeStretcher?

Yes, it’s internal to Tracktion Engine and not really intended for external use. It’s in our namespace so shouldn’t conflict with you including it in your own project as well.

1 Like