+ if (e.hasAttribute("proxy") && e.attribute("proxy") != "-") {
+ KUrl src(e.attribute("proxy"));
+ KUrl dest = m_replacementList.value(src);
+ if (!dest.isEmpty()) e.setAttribute("proxy", dest.path());
+ }
+ }
+
+ // process mlt producers
+ prods = mlt.elementsByTagName("producer");
+ for (int i = 0; i < prods.count(); i++) {
+ QDomElement e = prods.item(i).toElement();
+ if (e.isNull()) continue;
+ QString src = EffectsList::property(e, "resource");
+ if (!src.isEmpty()) {
+ if (!src.startsWith('/')) src.prepend(root);
+ KUrl srcUrl(src);
+ KUrl dest = m_replacementList.value(src);
+ if (!dest.isEmpty()) EffectsList::setProperty(e, "resource", dest.path());
+ }
+ }
+
+ // process mlt transitions (for luma files)
+ prods = mlt.elementsByTagName("transition");
+ QString attribute;
+ for (int i = 0; i < prods.count(); i++) {
+ QDomElement e = prods.item(i).toElement();
+ if (e.isNull()) continue;
+ attribute = "resource";
+ QString src = EffectsList::property(e, attribute);
+ if (src.isEmpty()) attribute = "luma";
+ src = EffectsList::property(e, attribute);
+ if (!src.isEmpty()) {
+ if (!src.startsWith('/')) src.prepend(root);
+ KUrl srcUrl(src);
+ KUrl dest = m_replacementList.value(src);
+ if (!dest.isEmpty()) EffectsList::setProperty(e, attribute, dest.path());
+ }