// special case: the affine effect needs in / out points
if (effectId == "pan_zoom") {
- int start = cropStart().frames(m_fps);
- int end = (cropStart() + cropDuration()).frames(m_fps);
- if (start < 0) {
- end -= start;
- start = 0;
- }
- parameters.addParam("in", QString::number(start));
- parameters.addParam("out", QString::number(end));
+ parameters.addParam("in", QString::number(cropStart().frames(m_fps)));
+ parameters.addParam("out", QString::number((cropStart() + cropDuration()).frames(m_fps)));
}
QDomNodeList params = effect.elementsByTagName("parameter");
int in = cropStart().frames(fps());
int out = in + cropDuration().frames(fps());
- if (in < 0) {
- out -= in;
- in = 0;
- }
int dur = out - in - 1;
effect.setAttribute("in", in);
int newDuration = (int) clipDuration.frames(m_fps) - 1;
int diff = newDuration - (trackPlaylist.clip_length(clipIndex) - 1);
- int currentOut;
- if (info.cropStart < GenTime())
- currentOut = newDuration - info.cropStart.frames(m_fps);
- else
- currentOut = newDuration + previousStart;
+ int currentOut = newDuration + previousStart;
if (currentOut > clip->get_length()) {
clip->parent().set("length", currentOut + 1);
clip->parent().set("out", currentOut);
m_isBlocked = true;
previousStart += moveFrame;
- if (previousStart < 0) {
- // special case, in point becoming negative (resizing images)
- previousOut -= previousStart;
- previousStart = 0;
- }
int length = previousOut + 1;
if (length > clip->get_length()) {
if (! trackPlaylist.is_blank(blankIndex)) {
kDebug() << "WARNING, CLIP TO RESIZE IS NOT BLANK";
}
- if (blankLength + moveFrame == 0) trackPlaylist.remove(blankIndex);
- else trackPlaylist.resize_clip(blankIndex, 0, blankLength + moveFrame - 1);
+ if (blankLength + moveFrame == 0)
+ trackPlaylist.remove(blankIndex);
+ else
+ trackPlaylist.resize_clip(blankIndex, 0, blankLength + moveFrame - 1);
}
trackPlaylist.consolidate_blanks(0);
/*if (QString(clip->parent().get("transparency")).toInt() == 1) {