// Add track effect
m_document->addTrackEffect(track - 1, effect);
m_document->renderer()->mltAddTrackEffect(track, getEffectArgs(effect));
+ emit updateTrackEffectState(track - 1);
emit showTrackEffects(track, m_document->trackInfoAt(track - 1));
return;
}
// Delete track effect
m_document->removeTrackEffect(track - 1, effect);
m_document->renderer()->mltRemoveTrackEffect(track, index, true);
+ emit updateTrackEffectState(track - 1);
emit showTrackEffects(track, m_document->trackInfoAt(track - 1));
return;
}
if (!m_document->renderer()->mltEditEffect(m_document->tracksCount() - track, pos, effectParams))
emit displayMessage(i18n("Problem editing effect"), ErrorMessage);
m_document->setTrackEffect(m_document->tracksCount() - track - 1, ix, effect);
+ emit updateTrackEffectState(track - 1);
setDocumentModified();
return;
for (int i = 0; i < trackInfos.count(); ++i) {
m_document->setTrackType(i, trackInfos.at(i));
m_document->renderer()->mltChangeTrackState(i + 1, m_document->trackInfoAt(i).isMute, m_document->trackInfoAt(i).isBlind);
+ lockTrack(m_document->tracksCount() - i - 1, m_document->trackInfoAt(i).isLocked, false);
}
QTimer::singleShot(300, this, SIGNAL(trackHeightChanged()));
}
-void CustomTrackView::lockTrack(int ix, bool lock)
+void CustomTrackView::lockTrack(int ix, bool lock, bool requestUpdate)
{
int tracknumber = m_document->tracksCount() - ix - 1;
m_document->switchTrackLock(tracknumber, lock);
- emit doTrackLock(ix, lock);
+ if (requestUpdate)
+ emit doTrackLock(ix, lock);
AbstractClipItem *clip = NULL;
QList<QGraphicsItem *> selection = m_scene->items(0, ix * m_tracksHeight + m_tracksHeight / 2, sceneRect().width(), m_tracksHeight / 2 - 2);
}
}
- int panZoomPos = clip->hasEffect("affine", "pan_zoom");
+ /*int panZoomPos = clip->hasEffect("affine", "pan_zoom");
if (panZoomPos != -1) {
doc.appendChild(doc.importNode(clip->effectAt(panZoomPos), true));
indexes.append(panZoomPos);
- }
+ }*/
- if (clip->checkEffectsKeyframesPos(oldInfo.cropStart.frames(m_document->fps()), clip->cropStart().frames(m_document->fps()), true)) {
+ if (clip->checkEffectsKeyframesPos(oldInfo.cropStart.frames(m_document->fps()), clip->cropStart().frames(m_document->fps()), true, m_document->width(), m_document->height())) {
// Keyframes were modified, updateClip
QDomNodeList effs = doc.elementsByTagName("effect");
// Hack:
}
}
- if (clip->checkEffectsKeyframesPos((oldInfo.cropStart + oldInfo.endPos - oldInfo.startPos).frames(m_document->fps()) - 1, (clip->cropStart() + clip->cropDuration()).frames(m_document->fps()) - 1, false)) {
+ if (clip->checkEffectsKeyframesPos((oldInfo.cropStart + oldInfo.endPos - oldInfo.startPos).frames(m_document->fps()) - 1, (clip->cropStart() + clip->cropDuration()).frames(m_document->fps()) - 1, false, m_document->width(), m_document->height())) {
// Keyframes were modified, updateClip
QDomNodeList effs = doc.elementsByTagName("effect");
// Hack: