+ ClipItem *transitionClip = NULL;
+ const int transitiontrack = getPreviousVideoTrack(info.track);
+ GenTime pos = GenTime((int)(mapToScene(m_menuPosition).x()), m_document->fps());
+ if (pos < item->startPos() + item->duration() / 2) {
+ info.startPos = item->startPos();
+ if (transitiontrack != 0) transitionClip = getClipItemAt((int) info.startPos.frames(m_document->fps()), m_scene->m_tracksList.count() - transitiontrack);
+ if (transitionClip && transitionClip->endPos() < item->endPos()) {
+ info.endPos = transitionClip->endPos();
+ } else info.endPos = info.startPos + GenTime(2.5);
+ } else {
+ info.endPos = item->endPos();
+ if (transitiontrack != 0) transitionClip = getClipItemAt((int) info.endPos.frames(m_document->fps()), m_scene->m_tracksList.count() - transitiontrack);
+ if (transitionClip && transitionClip->startPos() > item->startPos()) {
+ info.startPos = transitionClip->startPos();
+ } else info.startPos = info.endPos - GenTime(2.5);
+ }