コード例 #1
0
ファイル: GuiAppInstance.cpp プロジェクト: Kthulhu/Natron
void
GuiAppInstance::goToNextKeyframe()
{
    ///runs only in the main thread
    assert( QThread::currentThread() == qApp->thread() );

    _imp->timelineKeyframes.sort();
    TimeLinePtr timeline = getProject()->getTimeLine();
    SequenceTime currentFrame = timeline->currentFrame();
    std::list<SequenceTime>::iterator upperBound = std::upper_bound(_imp->timelineKeyframes.begin(), _imp->timelineKeyframes.end(), currentFrame);
    if ( upperBound != _imp->timelineKeyframes.end() ) {
        timeline->seekFrame(*upperBound, true, OutputEffectInstancePtr(), eTimelineChangeReasonPlaybackSeek);
    }
}
コード例 #2
0
ファイル: ViewerNode.cpp プロジェクト: ebrayton/Natron
TimeValue
ViewerNode::getTimelineCurrentTime() const
{
    TimeLinePtr timeline = getTimeline();
    return TimeValue(timeline->currentFrame());
}