X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fprojectlist.cpp;h=3ca48c99b7d2b5af156a5b6dd3e3d6b9860af396;hb=37ae2ecef6f5c1c2e6643e83aa34213da0f5176b;hp=83c1bcef13bae3d10383b4af44dffa797c25b300;hpb=3615422b79fa06aee62679fbfb091cdc7abb62c7;p=kdenlive diff --git a/src/projectlist.cpp b/src/projectlist.cpp index 83c1bcef..3ca48c99 100644 --- a/src/projectlist.cpp +++ b/src/projectlist.cpp @@ -1295,10 +1295,12 @@ void ProjectList::slotRemoveInvalidClip(const QString &id, bool replace) } } -void ProjectList::slotRemoveInvalidProxy(const QString &id) +void ProjectList::slotRemoveInvalidProxy(const QString &id, bool durationError) { ProjectItem *item = getItemById(id); if (item) { + //TODO: use durationError to display correct message to user after 0.8 release + if (durationError) kDebug() << "Proxy duration is wrong, try changing transcoding parameters."; item->setProxyStatus(PROXYCRASHED); QString path = item->referencedClip()->getProperty("proxy"); KUrl proxyFolder(m_doc->projectFolder().path( KUrl::AddTrailingSlash) + "proxy/"); @@ -1619,6 +1621,8 @@ void ProjectList::slotReplyGetFileProperties(const QString &clipId, Mlt::Produce QString proxydir = m_doc->projectFolder().path( KUrl::AddTrailingSlash) + "proxy/"; QMap newProps; newProps.insert("proxy", proxydir + item->referencedClip()->getClipHash() + "." + m_doc->getDocumentProperty("proxyextension")); + // insert required duration for proxy + newProps.insert("proxy_out", item->referencedClip()->producerProperty("out")); QMap oldProps = clip->properties(); oldProps.insert("proxy", QString()); EditClipCommand *command = new EditClipCommand(this, clipId, oldProps, newProps, true); @@ -2273,6 +2277,8 @@ void ProjectList::updateProxyConfig() QMap newProps; newProps.insert("proxy", QString()); newProps.insert("replace", "1"); + // insert required duration for proxy + newProps.insert("proxy_out", item->referencedClip()->producerProperty("out")); new EditClipCommand(this, item->clipId(), item->referencedClip()->properties(), newProps, true, command); } } @@ -2338,6 +2344,8 @@ void ProjectList::slotProxyCurrentItem(bool doProxy) newProps.clear(); QString path = proxydir + item->referencedClip()->getClipHash() + "." + (t == IMAGE ? "png" : m_doc->getDocumentProperty("proxyextension")); newProps.insert("proxy", path); + // insert required duration for proxy + newProps.insert("proxy_out", item->referencedClip()->producerProperty("out")); // We need to insert empty proxy so that undo will work oldProps.insert("proxy", QString()); }