+ // TODO: convert 0.7 (0.5?) files to the new document format.
+ return false;
+ }
+
+ setModified(true);
+
+ if (version == 0.81) {
+ // Add correct tracks info
+ QDomNode kdenlivedoc = m_document.elementsByTagName("kdenlivedoc").at(0);
+ QDomElement infoXml = kdenlivedoc.toElement();
+ infoXml.setAttribute("version", current_version);
+ QString currentTrackOrder = infoXml.attribute("tracks");
+ QDomElement tracksinfo = m_document.createElement("tracksinfo");
+ for (int i = 0; i < currentTrackOrder.size(); i++) {
+ QDomElement trackinfo = m_document.createElement("trackinfo");
+ if (currentTrackOrder.data()[i] == 'a') {
+ trackinfo.setAttribute("type", "audio");
+ trackinfo.setAttribute("blind", true);
+ } else trackinfo.setAttribute("blind", false);
+ trackinfo.setAttribute("mute", false);
+ trackinfo.setAttribute("locked", false);
+ tracksinfo.appendChild(trackinfo);
+ }
+ infoXml.appendChild(tracksinfo);
+ return true;
+ }
+
+ if (version == 0.8) {
+ // Add the tracks information
+ QDomNodeList tracks = m_document.elementsByTagName("track");
+ int max = tracks.count();
+
+ QDomNode kdenlivedoc = m_document.elementsByTagName("kdenlivedoc").at(0);
+ QDomElement infoXml = kdenlivedoc.toElement();
+ infoXml.setAttribute("version", current_version);
+ QDomElement tracksinfo = m_document.createElement("tracksinfo");
+
+ for (int i = 0; i < max; i++) {
+ QDomElement trackinfo = m_document.createElement("trackinfo");
+ QDomElement t = tracks.at(i).toElement();
+ if (t.attribute("hide") == "video") {
+ trackinfo.setAttribute("type", "audio");
+ trackinfo.setAttribute("blind", true);
+ } else trackinfo.setAttribute("blind", false);
+ trackinfo.setAttribute("mute", false);
+ trackinfo.setAttribute("locked", false);
+ if (t.attribute("producer") != "black_track") tracksinfo.appendChild(trackinfo);
+ }
+ infoXml.appendChild(tracksinfo);
+ return true;