e.setAttribute("keyframes", adjusted);
}
}
+
+ if (e.attribute("type") == "geometry" && !e.hasAttribute("fixed")) {
+ // Effects with a geometry parameter need to sync in / out with parent clip
+ effect.setAttribute("in", QString::number(cropStart().frames(m_fps)));
+ effect.setAttribute("out", QString::number((cropStart() + cropDuration()).frames(m_fps) - 1));
+ effect.setAttribute("_sync_in_out", "1");
+ }
}
if (effect.attribute("tag") == "volume" || effect.attribute("tag") == "brightness") {
if (effect.attribute("id") == "fadeout" || effect.attribute("id") == "fade_to_black") {
if (!clip->isSelected()) {
clearSelection(false);
clip->setSelected(true);
+ m_dragItem = clip;
emit clipItemSelected(clip);
}
break;
} else {
// Check if effect has in/out points
if (effect.hasAttribute("in")) {
- EffectsList::setParameter(currenteffect, "in", effect.attribute("in"));
+ currenteffect.setAttribute("in", effect.attribute("in"));
+ currenteffect.setAttribute("_sync_in_out", "1");
}
if (effect.hasAttribute("out")) {
- EffectsList::setParameter(currenteffect, "out", effect.attribute("out"));
+ currenteffect.setAttribute("out", effect.attribute("out"));
}
}