Hi All !
I’ve got the following code in my Engine wrapper module:
class SkyEngineBehaviour : public te::EngineBehaviour
{
public:
bool autoInitialiseDeviceManager() override
{
return true;
}
};
class SkyUIBehaviour : public te::UIBehaviour
{
public:
SkyUIBehaviour() = default;
void runTaskWithProgressBar(tracktion_engine::ThreadPoolJobWithProgress &t) override
{
TaskRunner runner(t);
while (runner.isThreadRunning())
MessageManager::getInstance()->runDispatchLoop();
}
private:
struct TaskRunner : public Thread
{
TaskRunner(tracktion_engine::ThreadPoolJobWithProgress &t) : Thread(t.getJobName()), task(t)
{
startThread();
}
~TaskRunner()
{
task.signalJobShouldExit();
waitForThreadToExit(10000);
}
void run() override
{
while (!threadShouldExit())
if (task.runJob() == ThreadPoolJob::jobHasFinished)
break;
}
tracktion_engine::ThreadPoolJobWithProgress &task;
};
};
EngineWrapper::EngineWrapper()
: engine(ProjectInfo::projectName, std::make_unique<tSkyBehaviour>(), std::make_unique<SkyEngineBehaviour>())
I’m getting all sorts of issues when rendering.
What would be a proper code example ?
Best,
Jacques