MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / restartTask

Method restartTask

Gui/ProgressTaskInfo.cpp:287–332  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

285} // ProgressTaskInfo::cancelTask
286
287void
288ProgressTaskInfo::restartTask()
289{
290 {
291 QMutexLocker k(&_imp->canceledMutex);
292 _imp->canceled = false;
293 }
294 _imp->updatedProgressOnce = false;
295 _imp->timer.reset(new TimeLapse);
296 _imp->refreshLabelTimer->start(NATRON_PROGRESS_DIALOG_ETA_REFRESH_MS);
297
298 _imp->pauseTasksButton->setEnabled(true);
299 _imp->restartTasksButton->setEnabled(false);
300
301
302 NodePtr node = _imp->getNode();
303 if (!node) {
304 return;
305 }
306 EffectInstancePtr effect = node->getEffectInstance();
307 if (!effect) {
308 return;
309 }
310 if ( effect->isOutput() ) {
311 int firstFrame;
312 if ( (_imp->lastRenderedFrame == _imp->lastFrame) || (_imp->lastRenderedFrame == -1) ) {
313 firstFrame = _imp->firstFrame;
314 _imp->nFramesRendered = 0;
315 } else {
316 firstFrame = _imp->lastRenderedFrame;
317 }
318 AppInstance::RenderWork w( dynamic_cast<OutputEffectInstance*>( node->getEffectInstance().get() ),
319 firstFrame,
320 _imp->lastFrame,
321 _imp->frameStep,
322 node->getApp()->isRenderStatsActionChecked() );
323 w.isRestart = true;
324 _imp->statusItem->setTextColor(Qt::yellow);
325 _imp->status = eProgressTaskStatusQueued;
326 _imp->statusItem->setText( tr("Queued") );
327 _imp->refreshButtons();
328 std::list<AppInstance::RenderWork> works;
329 works.push_back(w);
330 node->getApp()->startWritersRendering(false, works);
331 }
332}
333
334void
335ProgressTaskInfo::onRenderEngineFrameComputed(int frame,

Callers

nothing calls this directly

Calls 13

startMethod · 0.80
getEffectInstanceMethod · 0.80
refreshButtonsMethod · 0.80
startWritersRenderingMethod · 0.80
resetMethod · 0.45
setEnabledMethod · 0.45
getNodeMethod · 0.45
isOutputMethod · 0.45
getMethod · 0.45
getAppMethod · 0.45
setTextMethod · 0.45

Tested by

no test coverage detected