]> git.sesse.net Git - kdenlive/commitdiff
Another patch for issue 0000358: Resize clip in timeline from clip end causes clip...
authorMads Bondo Dydensborg <mads@dydensborg.dk>
Thu, 18 Dec 2008 11:09:02 +0000 (11:09 +0000)
committerMads Bondo Dydensborg <mads@dydensborg.dk>
Thu, 18 Dec 2008 11:09:02 +0000 (11:09 +0000)
svn path=/branches/KDE4/; revision=2804

src/kdenlivedoc.cpp

index f8b950562dfb3c99bd4a4668487ab295a3e10541..022f67be59aa986550b68fb98bf0fabcb52b97b7 100644 (file)
@@ -337,8 +337,10 @@ void KdenliveDoc::convertDocument(double version) {
         int max = tracks.count();
         for (int i = 0; i < max; i++) {
             QDomElement t = tracks.at(i).toElement();
-            if (t.attribute("hide") == "video") tracksOrder.append('a');
-            else tracksOrder.append('v');
+            if (t.attribute("hide") == "video")
+                               tracksOrder.append('a');
+            else if (t.attribute("producer") != "black_track")
+                               tracksOrder.append('v');
         }
         QDomNode kdenlivedoc = m_document.elementsByTagName("kdenlivedoc").at(0);
         QDomElement infoXml = kdenlivedoc.toElement();
@@ -355,7 +357,6 @@ void KdenliveDoc::convertDocument(double version) {
         return;
     }
 
-    QString tracksOrder;
     QDomNode westley = m_document.elementsByTagName("westley").at(1);
     QDomNode tractor = m_document.elementsByTagName("tractor").at(0);
     QDomNode kdenlivedoc = m_document.elementsByTagName("kdenlivedoc").at(0);
@@ -363,13 +364,10 @@ void KdenliveDoc::convertDocument(double version) {
     QDomNode multitrack = m_document.elementsByTagName("multitrack").at(0);
     QDomNodeList playlists = m_document.elementsByTagName("playlist");
 
-    //m_startPos = kdenlivedoc.toElement().attribute("timeline_position").toInt();
-
     QDomNode props = m_document.elementsByTagName("properties").at(0).toElement();
     QString profile = props.toElement().attribute("videoprofile");
     m_startPos = props.toElement().attribute("timeline_position").toInt();
     if (profile == "dv_wide") profile = "dv_pal_wide";
-    //setProfilePath(profile);
 
     // move playlists outside of tractor and add the tracks instead
     int max = playlists.count();
@@ -379,11 +377,8 @@ void KdenliveDoc::convertDocument(double version) {
         QDomElement pl = n.toElement();
         QDomElement track = m_document.createElement("track");
         QString trackType = pl.attribute("hide");
-        if (!trackType.isEmpty()) {
+        if (!trackType.isEmpty())
             track.setAttribute("hide", trackType);
-            if (trackType == "video") tracksOrder.append('a');
-            else tracksOrder.append('v');
-        } else tracksOrder.append('v');
         QString playlist_id =  pl.attribute("id");
         if (playlist_id.isEmpty()) {
             playlist_id = "black_track";
@@ -434,6 +429,17 @@ void KdenliveDoc::convertDocument(double version) {
     }
     tractor.removeChild(multitrack);
 
+       // write tracks order now that they've been sorted
+    QString tracksOrder;
+    QDomNodeList tracks = m_document.elementsByTagName("track");
+       for (int i = 0; i < tracks.count(); ++i) {
+               QDomElement track = tracks.at(i).toElement();
+        if (track.attribute("hide") == "video")
+                       tracksOrder.append('a');
+               else if (track.attribute("producer") != "black_track")
+                       tracksOrder.append('v');
+       }
+
     // audio track mixing transitions should not be added to track view, so add required attribute
     QDomNodeList transitions = m_document.elementsByTagName("transition");
     max = transitions.count();