X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frenderer.cpp;h=a506e4ef39cb815d950f7dcbfbe523823508a9d9;hb=04ddba2662bcac95f7dca733becc2d4bac6e5235;hp=26d64fe5ecfe6dce3e1b6451f0d67afbe77f17d4;hpb=7209bf667d2970c55ee0669ea562dd2f6e87a2ba;p=kdenlive diff --git a/src/renderer.cpp b/src/renderer.cpp index 26d64fe5..a506e4ef 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -1886,12 +1886,12 @@ int Render::mltInsertClip(ItemInfo info, QDomElement element, Mlt::Producer *pro } -void Render::mltCutClip(int track, GenTime position) +bool Render::mltCutClip(int track, GenTime position) { Mlt::Service service(m_mltProducer->parent().get_service()); if (service.type() != tractor_type) { kWarning() << "// TRACTOR PROBLEM"; - return; + return false; } Mlt::Tractor tractor(service); @@ -1914,7 +1914,7 @@ void Render::mltCutClip(int track, GenTime position) int clipIndex = trackPlaylist.get_clip_index_at(cutPos); if (trackPlaylist.is_blank(clipIndex)) { kDebug() << "// WARNING, TRYING TO CUT A BLANK"; - return; + return false; } service.lock(); int clipStart = trackPlaylist.clip_start(clipIndex); @@ -1924,21 +1924,15 @@ void Render::mltCutClip(int track, GenTime position) // duplicate effects Mlt::Producer *original = trackPlaylist.get_clip_at(clipStart); Mlt::Producer *clip = trackPlaylist.get_clip_at(cutPos); + + if (original == NULL || clip == NULL) { + kDebug() << "// ERROR GRABBING CLIP AFTER SPLIT"; + return false; + } - Mlt::Service clipService; - Mlt::Service dupService; - if (original) - clipService = Mlt::Service(original->get_service()); - else - clipService = Mlt::Service(); - - if (clip) - dupService = Mlt::Service(clip->get_service()); - else - dupService = Mlt::Service(); + Mlt::Service clipService(original->get_service()); + Mlt::Service dupService(clip->get_service()); - if (original == NULL || clip == NULL) - kDebug() << "// ERROR GRABBING CLIP AFTER SPLIT"; delete original; delete clip; @@ -1961,7 +1955,7 @@ void Render::mltCutClip(int track, GenTime position) ct++; filter = clipService.filter(ct); } - + return true; /* // Display playlist info kDebug()<<"//////////// AFTER"; for (int i = 0; i < trackPlaylist.count(); i++) { @@ -4469,5 +4463,7 @@ bool Render::getBlackMagicOutputDeviceList(KComboBox *devicelist) return true; } + + #include "renderer.moc"