GenTime timeOffset = GenTime(m_selectionGroup->scenePos().x(), m_document->fps()) - m_selectionGroupInfo.startPos;
const int trackOffset = m_selectionGroup->track() - m_selectionGroupInfo.track;
- kDebug() << "&DROPPED GRPOUP:" << timeOffset.frames(25) << "TRK OFF: " << trackOffset;
+ // kDebug() << "&DROPPED GRPOUP:" << timeOffset.frames(25) << "TRK OFF: " << trackOffset;
if (timeOffset != GenTime() || trackOffset != 0) {
QUndoCommand *moveClips = new QUndoCommand();
moveClips->setText("Move clips");
}
void CustomTrackView::doChangeClipSpeed(ItemInfo info, const double speed, const double oldspeed, const QString &id) {
-
DocClipBase *baseclip = m_document->clipManager()->getClipById(id);
ClipItem *item = getClipItemAt((int) info.startPos.frames(m_document->fps()) + 1, info.track);
info.track = m_scene->m_tracksList.count() - item->track();
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);
}
void CustomTrackView::cutSelectedClips() {
Mlt::Producer clipProducer(trackPlaylist.replace_with_blank(clipIndex));
trackPlaylist.consolidate_blanks(0);
destTrackPlaylist.consolidate_blanks(1);
- Mlt::Producer *clip = prod->cut(clipProducer.get_in(), clipProducer.get_out());
+ Mlt::Producer *clip;
+ // check if we are moving a slowmotion producer
+ QString serv = clipProducer.parent().get("mlt_service");
+ if (serv == "framebuffer") {
+ clip = &clipProducer;
+ } else clip = prod->cut(clipProducer.get_in(), clipProducer.get_out());
// move all effects to the correct producer
Mlt::Service clipService(clipProducer.get_service());