X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frenderer.cpp;h=f4075c16c0a966a8311ee5b7a770828bcb82869e;hb=b01ec0dcade4544f2ced655c373619c96ab163ec;hp=0f457483ca8d78c9e8ef3fbb34701e28b5053079;hpb=f56fce7c963e6641c13b62dd636baeb34a57bd86;p=kdenlive diff --git a/src/renderer.cpp b/src/renderer.cpp index 0f457483..f4075c16 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -2871,7 +2871,7 @@ bool Render::mltEditEffect(int track, GenTime position, EffectsParameterList par } for (int j = 0; j < params.count(); j++) { - filter->set((params.at(j).name()).toUtf8().constData(), params.at(j).value().toUtf8().constData()); + filter->set(params.at(j).name().toUtf8().constData(), params.at(j).value().toUtf8().constData()); } for (int j = 0; j < filtersList.count(); j++) { @@ -3289,10 +3289,10 @@ void Render::fixAudioMixing(Mlt::Tractor tractor) mlt_service_unlock(serv); } -bool Render::mltResizeClipCrop(ItemInfo info, GenTime diff) +bool Render::mltResizeClipCrop(ItemInfo info, GenTime newCropStart) { Mlt::Service service(m_mltProducer->parent().get_service()); - int frameOffset = (int) diff.frames(m_fps); + int newCropFrame = (int) newCropStart.frames(m_fps); Mlt::Tractor tractor(service); Mlt::Producer trackProducer(tractor.track(info.track)); Mlt::Playlist trackPlaylist((mlt_playlist) trackProducer.get_service()); @@ -3311,7 +3311,13 @@ bool Render::mltResizeClipCrop(ItemInfo info, GenTime diff) int previousStart = clip->get_in(); int previousOut = clip->get_out(); delete clip; - trackPlaylist.resize_clip(clipIndex, previousStart + frameOffset, previousOut + frameOffset); + if (previousStart == newCropFrame) { + kDebug() << "//////// No ReSIZING Required"; + service.unlock(); + return true; + } + int frameOffset = newCropFrame - previousStart; + trackPlaylist.resize_clip(clipIndex, newCropFrame, previousOut + frameOffset); service.unlock(); m_mltConsumer->set("refresh", 1); return true;