]> git.sesse.net Git - kdenlive/blobdiff - src/clipmanager.cpp
Merge branch 'next' into audioAlign
[kdenlive] / src / clipmanager.cpp
index 160d3375676eda4d678899de79f71aa3c532350a..25d5a092eaf009b1920e13c2ac20e050163b4185 100644 (file)
@@ -282,6 +282,8 @@ void ClipManager::slotGetAudioThumbs()
             kDebug() << "++++++++  INVALID CLIP: " << url.path();
             continue;
         }
+        
+        producer.set("video_index", "-1");
 
         if (KdenliveSettings::normaliseaudiothumbs()) {
             Mlt::Filter m_convert(prof, "volume");
@@ -303,7 +305,7 @@ void ClipManager::slotGetAudioThumbs()
             producer.seek(z);
             mlt_frame = producer.get_frame();
             if (mlt_frame && mlt_frame->is_valid()) {
-                int samples = mlt_sample_calculator(framesPerSecond, frequency, mlt_frame_get_position(mlt_frame->get_frame()));
+                int samples = mlt_sample_calculator(framesPerSecond, frequency, mlt_frame->get_position());
                 qint16* pcm = static_cast<qint16*>(mlt_frame->get_audio(audioFormat, frequency, channels, samples));
                 for (int c = 0; c < channels; c++) {
                     QByteArray audioArray;
@@ -460,7 +462,7 @@ void ClipManager::resetProducersList(const QList <Mlt::Producer *> prods, bool d
     emit checkAllClips(displayRatioChanged, fpsChanged, brokenClips);
 }
 
-void ClipManager::slotAddClipList(const KUrl::List urls, const QString &group, const QString &groupId)
+void ClipManager::slotAddClipList(const KUrl::List urls, const QString &group, const QString &groupId, const QString &comment)
 {
     QUndoCommand *addClips = new QUndoCommand();
     foreach(const KUrl & file, urls) {
@@ -476,6 +478,7 @@ void ClipManager::slotAddClipList(const KUrl::List urls, const QString &group, c
             prod.setAttribute("resource", file.path());
             uint id = m_clipIdCounter++;
             prod.setAttribute("id", QString::number(id));
+            if (!comment.isEmpty()) prod.setAttribute("description", comment);
             if (!group.isEmpty()) {
                 prod.setAttribute("groupname", group);
                 prod.setAttribute("groupid", groupId);
@@ -536,9 +539,9 @@ void ClipManager::slotAddClipList(const KUrl::List urls, const QString &group, c
     }
 }
 
-void ClipManager::slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId)
+void ClipManager::slotAddClipFile(const KUrl &url, const QString &group, const QString &groupId, const QString &comment)
 {
-    slotAddClipList(KUrl::List(url), group, groupId);
+    slotAddClipList(KUrl::List(url), group, groupId, comment);
 }
 
 void ClipManager::slotAddXmlClipFile(const QString &name, const QDomElement &xml, const QString &group, const QString &groupId)