X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftrackview.cpp;h=9c45abbdba7641361d6eb64a80667deb0a62c2ba;hb=eb9f7923ad07e099949a76d57bd6fc2c2719ee86;hp=8117e5eb1f18429e1bbd301e0c7fa8b1733f9095;hpb=fec8582bed2d80df94168b3b808f2bd13d3e4b9c;p=kdenlive diff --git a/src/trackview.cpp b/src/trackview.cpp index 8117e5eb..9c45abbd 100644 --- a/src/trackview.cpp +++ b/src/trackview.cpp @@ -136,8 +136,9 @@ void TrackView::parseDocument(QDomDocument doc) { QDomElement e; QDomElement p; bool videotrack; - kDebug() << "//////////// TIMELINE FOUND: " << m_projectTracks << " tracks"; + int pos = m_projectTracks - 1; + for (int i = 0; i < m_projectTracks; i++) { e = tracks.item(i).toElement(); QString playlist_name = e.attribute("producer"); @@ -153,10 +154,16 @@ void TrackView::parseDocument(QDomDocument doc) { pos--; kDebug() << " PRO DUR: " << trackduration << ", TRACK DUR: " << duration; if (trackduration > duration) duration = trackduration; - } else pos--; + } else { + // background black track + int black_clips = e.childNodes().count(); + for (int i = 0; i < black_clips; i++) + m_doc->loadingProgressed(); + qApp->processEvents(); + pos--; + } } - // parse transitions QDomNodeList transitions = doc.elementsByTagName("transition"); int projectTransitions = transitions.count(); @@ -283,6 +290,8 @@ int TrackView::slotAddProjectTrack(int ix, QDomElement xml, bool videotrack) { if (elem.tagName() == "blank") { position += elem.attribute("length").toInt(); } else if (elem.tagName() == "entry") { + m_doc->loadingProgressed(); + qApp->processEvents(); // Found a clip int in = elem.attribute("in").toInt(); int id = elem.attribute("producer").toInt();