]> git.sesse.net Git - kdenlive/blobdiff - src/kdenlivedoc.cpp
Fix title clip duration has 1 frame offset: http://www.kdenlive.org/mantis/view.php...
[kdenlive] / src / kdenlivedoc.cpp
index be19ccfd08d8890f4094980567a42ec696b576e6..e74fbfaf1883a0c1bf835a6972c598889b4a844e 100644 (file)
@@ -282,8 +282,12 @@ KdenliveDoc::KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup
                                     int maxchild = markerslist.count();
                                     for (int k = 0; k < maxchild; k++) {
                                         e = markerslist.at(k).toElement();
-                                        if (e.tagName() == "marker")
-                                            m_clipManager->getClipById(e.attribute("id"))->addSnapMarker(GenTime(e.attribute("time").toDouble()), e.attribute("comment"));
+                                        if (e.tagName() == "marker") {
+                                           CommentedTime marker(GenTime(e.attribute("time").toDouble()), e.attribute("comment"), e.attribute("type").toInt());
+                                           DocClipBase *baseClip = m_clipManager->getClipById(e.attribute("id"));
+                                            if (baseClip) baseClip->addSnapMarker(marker);
+                                           else kDebug()<< " / / Warning, missing clip: "<< e.attribute("id");
+                                       }
                                     }
                                     infoXml.removeChild(markers);
                                 }
@@ -725,6 +729,7 @@ QDomDocument KdenliveDoc::xmlSceneList(const QString &scene, const QStringList &
             marker.setAttribute("time", marks.at(j).time().ms() / 1000);
             marker.setAttribute("comment", marks.at(j).comment());
             marker.setAttribute("id", e.attribute("id"));
+           marker.setAttribute("type", marks.at(j).markerType());
             markers.appendChild(marker);
         }
     }
@@ -1269,7 +1274,7 @@ void KdenliveDoc::slotCreateTextClip(QString group, const QString &groupId, cons
     KStandardDirs::makeDir(titlesFolder);
     QPointer<TitleWidget> dia_ui = new TitleWidget(templatePath, m_timecode, titlesFolder, m_render, kapp->activeWindow());
     if (dia_ui->exec() == QDialog::Accepted) {
-        m_clipManager->slotAddTextClipFile(i18n("Title clip"), dia_ui->outPoint(), dia_ui->xml().toString(), group, groupId);
+        m_clipManager->slotAddTextClipFile(i18n("Title clip"), dia_ui->duration(), dia_ui->xml().toString(), group, groupId);
         setModified(true);
         emit selectLastAddedClip(QString::number(m_clipManager->lastClipId()));
     }