| 1845 | } |
| 1846 | |
| 1847 | void |
| 1848 | OutputSchedulerThread::renderFromCurrentFrame(bool enableRenderStats, |
| 1849 | const std::vector<ViewIdx>& viewsToRender, |
| 1850 | RenderDirectionEnum timelineDirection) |
| 1851 | { |
| 1852 | { |
| 1853 | QMutexLocker k(&_imp->lastRunArgsMutex); |
| 1854 | _imp->lastPlaybackRenderDirection = timelineDirection; |
| 1855 | _imp->lastPlaybackViewsToRender = viewsToRender; |
| 1856 | } |
| 1857 | int firstFrame, lastFrame; |
| 1858 | |
| 1859 | getFrameRangeToRender(firstFrame, lastFrame); |
| 1860 | |
| 1861 | ///Make sure current frame is in the frame range |
| 1862 | int currentTime = timelineGetTime(); |
| 1863 | OutputSchedulerThreadPrivate::getNearestInSequence(timelineDirection, currentTime, firstFrame, lastFrame, ¤tTime); |
| 1864 | OutputSchedulerThreadStartArgsPtr args = std::make_shared<OutputSchedulerThreadStartArgs>(false, enableRenderStats, firstFrame, lastFrame, 1, viewsToRender, timelineDirection); |
| 1865 | startTask(args); |
| 1866 | } |
| 1867 | |
| 1868 | void |
| 1869 | OutputSchedulerThread::notifyRenderFailure(const std::string& errorMessage) |
no test coverage detected