I downloaded the latest Tracktion Engine sources from Github. I created an ‘Audio’ project using Projucer and added the Tracktion Engine module (Projucer then added a couple of other modules including Tracktion Graph). I did nothing to the project except change the C++ version from 14 to 17 since there are various C++ 17 things in the Tracktion Engine which produce many warnings in Xcode.
When I try to build it I get two errors:
-
In the MelodyneNode::MelodynePlayhead class, Xcode complains about getCurrentPosition(): “Only virtual member functions can be marked ‘override’”. I know I can turn off such errors, but I think it’s related to the second error. If I remove the ‘override’ keyword I just get the second error.
-
Xcode errors with "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:728:32: Allocating an object of abstract class type ‘tracktion_engine::MelodyneNode::MelodynePlayhead’.
I noticed that juce::AudioPlayhead::getCurrentPosition() is deprecated. The header says to use getPosition() which is a virtual method. So I wondered if that’s causing the abstract class error above. But if I try to modify the MelodynePlayhead class and add getPosition() with an override it also complains.
Any help would be appreciated!