From: <j-...@us...> - 2009-04-28 20:57:52
|
Revision: 3331 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=3331&view=rev Author: j-b-m Date: 2009-04-28 20:57:32 +0000 (Tue, 28 Apr 2009) Log Message: ----------- When cutting a clip, don't duplicate unwanted effects (fade in) to second part of clip Modified Paths: -------------- trunk/kdenlive/src/customtrackview.cpp trunk/kdenlive/src/renderer.cpp Modified: trunk/kdenlive/src/customtrackview.cpp =================================================================== --- trunk/kdenlive/src/customtrackview.cpp 2009-04-28 20:33:10 UTC (rev 3330) +++ trunk/kdenlive/src/customtrackview.cpp 2009-04-28 20:57:32 UTC (rev 3331) @@ -1326,7 +1326,6 @@ int pos = effectParams.paramValue("out").toInt() - effectParams.paramValue("in").toInt(); clip->setFadeOut(pos); } - } } m_document->setModified(true); @@ -1396,6 +1395,17 @@ else newPos.cropStart = item->info().cropStart + (cutTime - info.startPos) * speed; newPos.track = info.track; ClipItem *dup = item->clone(newPos); + // remove unwanted effects (fade in) from 2nd part of cutted clip + int ix = dup->hasEffect(QString(), "fadein"); + if (ix != -1) { + QDomElement oldeffect = item->effectAt(ix); + dup->deleteEffect(oldeffect.attribute("kdenlive_ix")); + } + ix = dup->hasEffect(QString(), "fade_from_black"); + if (ix != -1) { + QDomElement oldeffect = item->effectAt(ix); + dup->deleteEffect(oldeffect.attribute("kdenlive_ix")); + } item->resizeEnd(cutPos, false); scene()->addItem(dup); if (item->checkKeyFrames()) slotRefreshEffects(item); Modified: trunk/kdenlive/src/renderer.cpp =================================================================== --- trunk/kdenlive/src/renderer.cpp 2009-04-28 20:33:10 UTC (rev 3330) +++ trunk/kdenlive/src/renderer.cpp 2009-04-28 20:57:32 UTC (rev 3331) @@ -1455,7 +1455,8 @@ int ct = 0; Mlt::Filter *filter = clipService.filter(ct); while (filter) { - if (filter->is_valid() && strcmp(filter->get("kdenlive_id"), "")) { + // Only duplicate Kdenlive filters, and skip the fade in effects + if (filter->is_valid() && strcmp(filter->get("kdenlive_id"), "") && strcmp(filter->get("kdenlive_id"), "fadein") && strcmp(filter->get("kdenlive_id"), "fade_from_black")) { // looks like there is no easy way to duplicate a filter, // so we will create a new one and duplicate its properties Mlt::Filter *dup = new Mlt::Filter(*m_mltProfile, filter->get("mlt_service")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |