} else if (m_operationMode == RESIZESTART && move) {
double snappedPos = getSnapPointForPos(mappedXPos);
+ m_document->renderer()->pause();
m_dragItem->resizeStart((int)(snappedPos));
} else if (m_operationMode == RESIZEEND && move) {
double snappedPos = getSnapPointForPos(mappedXPos);
+ m_document->renderer()->pause();
m_dragItem->resizeEnd((int)(snappedPos));
} else if (m_operationMode == FADEIN && move) {
((ClipItem*) m_dragItem)->setFadeIn((int)(mappedXPos - m_dragItem->startPos().frames(m_document->fps())));
}
AbstractClipItem *clip = static_cast <AbstractClipItem *>(m_dragItem);
RazorClipCommand* command = new RazorClipCommand(this, clip->info(), GenTime((int)(mapToScene(event->pos()).x()), m_document->fps()), true);
+ m_document->renderer()->pause();
m_commandStack->push(command);
m_document->setModified(true);
m_dragItem = NULL;
}
info.track = m_document->tracksCount() - item->track();
int endPos = m_document->renderer()->mltChangeClipSpeed(info, speed, oldspeed, baseclip->producer());
- kDebug() << "//CH CLIP SPEED: " << speed << "x" << oldspeed << ", END POS: " << endPos;
- item->setSpeed(speed);
- item->updateRectGeometry();
- if (item->cropDuration().frames(m_document->fps()) > endPos)
- item->AbstractClipItem::resizeEnd(info.startPos.frames(m_document->fps()) + endPos, speed);
- m_document->setModified(true);
+ if (endPos >= 0) {
+ item->setSpeed(speed);
+ item->updateRectGeometry();
+ if (item->cropDuration().frames(m_document->fps()) > endPos)
+ item->AbstractClipItem::resizeEnd(info.startPos.frames(m_document->fps()) + endPos, speed);
+ m_document->setModified(true);
+ } else emit displayMessage(i18n("Invalid clip"), ErrorMessage);
}
void CustomTrackView::cutSelectedClips() {