]> git.sesse.net Git - kdenlive/blobdiff - src/kdenlivedoc.cpp
Initial support for keyframes in track effects (WIP)
[kdenlive] / src / kdenlivedoc.cpp
index f57e9efc34bc47ef37e6aa80e969a6f207925158..aaa022eb1c0aafdca1df7473162062b8a06068fc 100644 (file)
@@ -311,6 +311,7 @@ QDomDocument KdenliveDoc::createEmptyDocument(int videotracks, int audiotracks)
         audioTrack.isBlind = true;
         audioTrack.isLocked = false;
         audioTrack.trackName = QString("Audio ") + QString::number(audiotracks - i);
+        audioTrack.duration = 0;
         m_tracksList.append(audioTrack);
 
     }
@@ -321,6 +322,7 @@ QDomDocument KdenliveDoc::createEmptyDocument(int videotracks, int audiotracks)
         videoTrack.isBlind = false;
         videoTrack.isLocked = false;
         videoTrack.trackName = QString("Video ") + QString::number(videotracks - i);
+        videoTrack.duration = 0;
         m_tracksList.append(videoTrack);
     }
     return createEmptyDocument(m_tracksList);
@@ -1219,6 +1221,16 @@ void KdenliveDoc::switchTrackVideo(int ix, bool hide)
     m_tracksList[ix].isBlind = hide; // !m_tracksList.at(ix).isBlind;
 }
 
+int KdenliveDoc::trackDuration(int ix)
+{
+    return m_tracksList.at(ix).duration; 
+}
+
+void KdenliveDoc::setTrackDuration(int ix, int duration)
+{
+    m_tracksList[ix].duration = duration;
+}
+
 void KdenliveDoc::insertTrack(int ix, TrackInfo type)
 {
     if (ix == -1) m_tracksList << type;
@@ -1459,6 +1471,11 @@ bool KdenliveDoc::saveCustomEffects(QDomNodeList customeffects)
 
 void KdenliveDoc::updateProjectFolderPlacesEntry()
 {
+    /*
+     * For similar and more code have a look at kfileplacesmodel.cpp and the included files:
+     * http://websvn.kde.org/trunk/KDE/kdelibs/kfile/kfileplacesmodel.cpp?view=markup
+     */
+
     const QString file = KStandardDirs::locateLocal("data", "kfileplaces/bookmarks.xml");
     KBookmarkManager *bookmarkManager = KBookmarkManager::managerForFile(file, "kfilePlaces");
     KBookmarkGroup root = bookmarkManager->root();
@@ -1488,9 +1505,9 @@ void KdenliveDoc::updateProjectFolderPlacesEntry()
 
     // if entry does not exist yet (was not found), well, create it then
     if (!exists) {
-        KBookmark newBookmark = root.addBookmark(i18n("Project Folder"), documentLocation, "folder-favorites");
+        bookmark = root.addBookmark(i18n("Project Folder"), documentLocation, "folder-favorites");
         // Make this user selectable ?
-        newBookmark.setMetaDataItem("OnlyInApp", kdenliveName);
+        bookmark.setMetaDataItem("OnlyInApp", kdenliveName);
         bookmarkManager->emitChanged(root);
     }
 }