const double DOCUMENTVERSION = 0.85;
-KdenliveDoc::KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, QString profileName, const QPoint tracks, Render *render, KTextEdit *notes, MainWindow *parent, KProgressDialog *progressDialog) :
+KdenliveDoc::KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup *undoGroup, QString profileName, QMap <QString, QString> properties, const QPoint tracks, Render *render, KTextEdit *notes, MainWindow *parent, KProgressDialog *progressDialog) :
QObject(parent),
m_autosave(NULL),
m_url(url),
m_documentProperties["verticalzoom"] = "1";
m_documentProperties["zonein"] = "0";
m_documentProperties["zoneout"] = "100";
-
+ m_documentProperties["enableproxy"] = QString::number((int) KdenliveSettings::enableproxy());
+ m_documentProperties["proxyparams"] = KdenliveSettings::proxyparams();
+ m_documentProperties["proxyextension"] = KdenliveSettings::proxyextension();
+ m_documentProperties["generateproxy"] = QString::number((int) KdenliveSettings::generateproxy());
+ m_documentProperties["proxyminsize"] = QString::number(KdenliveSettings::proxyminsize());
+ m_documentProperties["generateimageproxy"] = QString::number((int) KdenliveSettings::generateimageproxy());
+ m_documentProperties["proxyimageminsize"] = QString::number(KdenliveSettings::proxyimageminsize());
+
+ // Load properties
+ QMapIterator<QString, QString> i(properties);
+ while (i.hasNext()) {
+ i.next();
+ m_documentProperties[i.key()] = i.value();
+ }
+
if (!url.isEmpty()) {
QString tmpFile;
success = KIO::NetAccess::download(url.path(), tmpFile, parent);
}
mlt.removeChild(tracksinfo);
}
-
+ QStringList expandedFolders;
QDomNodeList folders = m_document.elementsByTagName("folder");
for (int i = 0; i < folders.count(); i++) {
e = folders.item(i).cloneNode().toElement();
+ if (e.hasAttribute("opened")) expandedFolders.append(e.attribute("id"));
m_clipManager->addFolder(e.attribute("id"), e.attribute("name"));
}
+ m_documentProperties["expandedfolders"] = expandedFolders.join(";");
const int infomax = infoproducers.count();
QDomNodeList producers = m_document.elementsByTagName("producer");
KStandardDirs::makeDir(m_projectFolder.path(KUrl::AddTrailingSlash) + "titles/");
KStandardDirs::makeDir(m_projectFolder.path(KUrl::AddTrailingSlash) + "thumbs/");
KStandardDirs::makeDir(m_projectFolder.path(KUrl::AddTrailingSlash) + "ladspa/");
+ KStandardDirs::makeDir(m_projectFolder.path(KUrl::AddTrailingSlash) + "proxy/");
updateProjectFolderPlacesEntry();
kDebug() << "ERROR; CANNOT CREATE AUTOSAVE FILE";
}
kDebug() << "// AUTOSAVE FILE: " << m_autosave->fileName();
- saveSceneList(m_autosave->fileName(), m_render->sceneList());
+ saveSceneList(m_autosave->fileName(), m_render->sceneList(), QStringList());
}
}
return QPoint(m_documentProperties.value("zonein").toInt(), m_documentProperties.value("zoneout").toInt());
}
-bool KdenliveDoc::saveSceneList(const QString &path, const QString &scene)
+bool KdenliveDoc::saveSceneList(const QString &path, const QString &scene, const QStringList expandedFolders)
{
QDomDocument sceneList;
sceneList.setContent(scene, true);
QDomElement folder = sceneList.createElement("folder");
folder.setAttribute("id", f.key());
folder.setAttribute("name", f.value());
+ if (expandedFolders.contains(f.key())) folder.setAttribute("opened", "1");
addedXml.appendChild(folder);
}
if (path.isEmpty()) path = KdenliveSettings::default_profile();
if (path.isEmpty()) path = "dv_pal";
m_profile = ProfilesDialog::getVideoProfile(path);
- bool current_fps = m_fps;
+ double current_fps = m_fps;
if (m_profile.path.isEmpty()) {
// Profile not found, use embedded profile
QDomElement profileInfo = m_document.elementsByTagName("profileinfo").at(0).toElement();
//break;
}
}
+
+ if (effect.attribute("id") == "crop") {
+ // default use_profile to 1 for clips with proxies to avoid problems when rendering
+ if (e.attribute("name") == "use_profile" && getDocumentProperty("enableproxy") == "1")
+ e.setAttribute("value", "1");
+ }
}
m_tracksList[ix].effectsList.append(effect);
}
}
+QStringList KdenliveDoc::getExpandedFolders()
+{
+ QStringList result = m_documentProperties.value("expandedfolders").split(';');
+ // this property is only needed once when opening project, so clear it now
+ m_documentProperties.remove("expandedfolders");
+ return result;
+}
+
#include "kdenlivedoc.moc"